/**
 * Main stylesheet.
 *
 * Provides a small responsive layer for the base IWS Framework theme. Global
 * colours, spacing, typography, and widths are controlled in theme.json.
 */

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

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	text-rendering: optimizeLegibility;
}

:where(.wp-block-heading, p) {
	overflow-wrap: break-word;
}

.iws-skip-link {
	background: var(--wp--preset--color--ink);
	border-radius: 0 0 8px 0;
	color: var(--wp--preset--color--base);
	font-weight: 800;
	left: 0;
	padding: 0.75rem 1rem;
	position: fixed;
	top: 0;
	transform: translateY(-120%);
	transition: transform 160ms ease;
	z-index: 10000;
}

.iws-skip-link:focus {
	color: var(--wp--preset--color--base);
	transform: translateY(0);
}

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

img {
	height: auto;
}

.iws-site-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.iws-header-inner,
.iws-footer-inner {
	min-height: 76px;
}

.iws-site-main {
	min-height: 60vh;
}

.iws-page-header {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.iws-content-area {
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.iws-site-footer {
	border-top: 1px solid var(--wp--preset--color--line);
}

.iws-muted-text {
	color: color-mix(in srgb, var(--wp--preset--color--ink) 70%, white);
}

.wp-block-button__link {
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
}

.wp-block-button__link:focus-visible,
a:focus-visible {
	outline: 3px solid var(--wp--preset--color--signal-gold);
	outline-offset: 3px;
}

.wp-block-post-featured-image img {
	border-radius: 8px;
	object-fit: cover;
}

/**
 * Phase 2 pattern styles.
 */

.iws-section {
	padding-block: clamp(3rem, 7vw, 6.5rem);
}

.iws-section-heading {
	margin-bottom: var(--wp--preset--spacing--50);
}

.iws-eyebrow {
	color: var(--wp--preset--color--digital-teal);
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.iws-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
	height: 100%;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.iws-card > :first-child,
.iws-faq-item > :first-child,
.iws-stat > :first-child {
	margin-top: 0;
}

.iws-card > :last-child,
.iws-faq-item > :last-child,
.iws-stat > :last-child {
	margin-bottom: 0;
}

.iws-card-grid,
.iws-process-grid,
.iws-stats-grid,
.iws-split {
	gap: var(--wp--preset--spacing--40);
}

.iws-image-frame img,
.iws-post-card .wp-block-post-featured-image img,
.iws-gallery-grid img {
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	object-fit: cover;
	width: 100%;
}

.iws-hero-image img {
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.16);
}

.iws-icon-pill {
	align-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--digital-teal) 12%, white);
	border-radius: 999px;
	color: var(--wp--preset--color--digital-teal);
	display: inline-flex;
	font-weight: 800;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}

.iws-check-list {
	padding-left: 1.2rem;
}

.iws-check-list li::marker {
	color: var(--wp--preset--color--digital-teal);
}

.iws-faq-grid {
	gap: var(--wp--preset--spacing--30);
}

.iws-faq-item {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: 1.1rem 1.25rem;
}

.iws-faq-item summary {
	cursor: pointer;
	font-weight: 800;
}

.iws-faq-item summary:focus-visible,
.iws-contact-form :is(input, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--signal-gold);
	outline-offset: 3px;
}

.iws-quote {
	font-family: var(--wp--preset--font-family--display-serif);
	line-height: 1.45;
}

.iws-contact-form {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
	display: grid;
	gap: var(--wp--preset--spacing--30);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.iws-contact-form label {
	display: grid;
	font-weight: 700;
	gap: 0.4rem;
}

.iws-contact-form input,
.iws-contact-form textarea {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	color: var(--wp--preset--color--ink);
	font: inherit;
	padding: 0.85rem 0.95rem;
	width: 100%;
}

.iws-contact-form textarea {
	min-height: 9rem;
	resize: vertical;
}

.iws-contact-form button {
	background: var(--wp--preset--color--studio-blue);
	border: 0;
	border-radius: 8px;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	padding: 0.85rem 1.1rem;
}

.iws-logo-strip-section {
	padding-block: var(--wp--preset--spacing--50);
}

.iws-logo-strip {
	background: var(--wp--preset--color--cloud);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.iws-logo-row {
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

.iws-logo-image img {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	margin-inline: auto;
	max-height: 70px;
	object-fit: contain;
	width: min(100%, 180px);
}

.iws-stat {
	border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 28%, transparent);
	padding-left: var(--wp--preset--spacing--30);
}

.iws-stat h3 {
	color: var(--wp--preset--color--signal-gold);
}

.iws-gallery-grid {
	gap: var(--wp--preset--spacing--30);
}

.iws-gallery-grid .wp-block-image {
	margin: 0;
}

/**
 * Phase 3 premium component styles.
 */

body.iws-sticky-header-enabled .iws-site-header {
	background: color-mix(in srgb, var(--wp--preset--color--base) 94%, transparent);
	position: sticky;
	top: 0;
	transition: box-shadow 180ms ease, border-color 180ms ease;
	z-index: 900;
}

body.admin-bar.iws-sticky-header-enabled .iws-site-header {
	top: 32px;
}

body.iws-has-scrolled .iws-site-header {
	border-color: transparent;
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.1);
}

@supports ((-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px))) {
	body.iws-sticky-header-enabled .iws-site-header {
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
	}
}

.iws-whatsapp-button,
.iws-back-to-top {
	align-items: center;
	border: 0;
	border-radius: 999px;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	position: fixed;
	right: clamp(1rem, 3vw, 1.5rem);
	z-index: 950;
}

.iws-whatsapp-button {
	background: transparent;
	bottom: 5.25rem;
	height: 5rem;
	padding: 0;
	text-decoration: none;
	transition: filter 180ms ease, transform 180ms ease;
	width: 5rem;
}

.iws-whatsapp-button:hover {
	background: transparent;
	filter: brightness(1.08);
	transform: translateY(-3px) scale(1.03);
}

.iws-whatsapp-icon {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.iws-back-to-top {
	background: var(--wp--preset--color--ink);
	bottom: 1.25rem;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	height: 3rem;
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.5rem);
	transition: opacity 160ms ease, transform 160ms ease;
	width: 3rem;
}

.iws-back-to-top.iws-is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.iws-back-to-top:focus-visible,
.iws-whatsapp-button:focus-visible,
.iws-slider-button:focus-visible,
.iws-lightbox-close:focus-visible {
	outline: 3px solid var(--wp--preset--color--signal-gold);
	outline-offset: 3px;
}

.iws-faq-accordion .iws-faq-item summary {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.iws-faq-accordion .iws-faq-item summary::after {
	content: "+";
	font-weight: 800;
	margin-left: 1rem;
}

.iws-faq-accordion .iws-faq-item[open] summary::after {
	content: "-";
}

.iws-js .iws-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 520ms ease, transform 520ms ease;
}

.iws-js .iws-reveal.iws-is-visible {
	opacity: 1;
	transform: translateY(0);
}

.iws-slider-controls {
	display: none;
}

.iws-js .iws-slider-ready .iws-slider-controls {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--30);
	justify-content: center;
	margin-top: var(--wp--preset--spacing--40);
}

.iws-js .iws-slider-ready .iws-testimonials-track {
	display: block;
}

.iws-js .iws-slider-ready .iws-testimonials-track > .wp-block-column {
	display: none;
}

.iws-js .iws-slider-ready .iws-testimonials-track > .wp-block-column.iws-active-slide {
	display: block;
}

.iws-slider-button {
	background: var(--wp--preset--color--studio-blue);
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	padding: 0.7rem 1rem;
}

.iws-slider-status {
	margin: 0;
}

.iws-google-reviews {
	background: var(--wp--preset--color--cloud);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	margin-top: var(--wp--preset--spacing--60);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.iws-google-reviews-header {
	margin-bottom: var(--wp--preset--spacing--40);
}

.iws-review-rating {
	color: var(--wp--preset--color--studio-blue);
	font-weight: 900;
}

.iws-review-card {
	box-shadow: none;
}

.iws-lightbox-gallery img {
	cursor: zoom-in;
}

.iws-lightbox {
	align-items: center;
	background: rgba(15, 23, 42, 0.88);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: clamp(1rem, 4vw, 3rem);
	position: fixed;
	z-index: 9999;
}

.iws-lightbox img {
	border-radius: 10px;
	max-height: 86vh;
	object-fit: contain;
	width: auto;
}

.iws-lightbox-close {
	background: var(--wp--preset--color--base);
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	font: inherit;
	font-weight: 900;
	height: 2.75rem;
	position: absolute;
	right: clamp(1rem, 3vw, 2rem);
	top: clamp(1rem, 3vw, 2rem);
	width: 2.75rem;
}

/**
 * Phase 5 component library styles.
 */

.iws-component-grid {
	gap: var(--wp--preset--spacing--30);
}

.iws-mini-card,
.iws-team-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

.iws-service-card,
.iws-team-premium-card,
.iws-pricing-card {
	position: relative;
}

.iws-dark-proof-card {
	background: color-mix(in srgb, var(--wp--preset--color--base) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 18%, transparent);
	border-radius: 10px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.iws-feature-row + .iws-feature-row {
	margin-top: var(--wp--preset--spacing--60);
}

.iws-masonry-grid {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iws-masonry-feature {
	grid-column: span 2;
	grid-row: span 2;
}

.iws-cta-minimal-section,
.iws-cta-banner {
	padding-block: var(--wp--preset--spacing--40);
}

.iws-cta-minimal {
	background: var(--wp--preset--color--cloud);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: var(--wp--preset--spacing--40);
}

.iws-featured-quote {
	font-family: var(--wp--preset--font-family--display-serif);
	line-height: 1.25;
}

.iws-gallery-masonry {
	columns: 3 16rem;
	column-gap: var(--wp--preset--spacing--30);
}

.iws-gallery-masonry .wp-block-image {
	break-inside: avoid;
	margin: 0 0 var(--wp--preset--spacing--30);
}

.iws-before-after-label {
	background: var(--wp--preset--color--ink);
	border-radius: 999px;
	color: var(--wp--preset--color--base);
	display: inline-block;
	font-weight: 800;
	margin-bottom: var(--wp--preset--spacing--20);
	padding: 0.35rem 0.8rem;
}

.iws-team-card .iws-image-frame img,
.iws-team-premium-card .iws-image-frame img {
	aspect-ratio: 1 / 1;
}

.iws-pricing-grid {
	align-items: stretch;
}

.iws-pricing-featured {
	border-color: var(--wp--preset--color--studio-blue);
	box-shadow: 0 22px 70px rgba(18, 60, 105, 0.14);
}

.iws-price {
	color: var(--wp--preset--color--studio-blue);
	font-weight: 900;
}

.iws-comparison-table {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	overflow-x: auto;
}

.iws-comparison-table table {
	margin: 0;
}

.iws-comparison-table th {
	background: var(--wp--preset--color--cloud);
	text-align: left;
}

.iws-comparison-table th,
.iws-comparison-table td {
	border-color: var(--wp--preset--color--line);
	padding: 1rem;
}

.iws-header-transparent {
	background: transparent;
	border-bottom-color: color-mix(in srgb, var(--wp--preset--color--line) 60%, transparent);
}

.iws-header-centered-inner {
	padding-block: var(--wp--preset--spacing--30);
}

.iws-header-centered-logo .wp-block-navigation {
	margin-top: var(--wp--preset--spacing--20);
}

.iws-footer-minimal,
.iws-footer-agency,
.iws-footer-large {
	border-top: 1px solid var(--wp--preset--color--line);
}

.iws-footer-large a {
	color: var(--wp--preset--color--base);
}

@media (min-width: 782px) and (max-width: 900px) {
	.iws-autohub-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container-open {
		color: var(--heading);
		display: flex !important;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--bg-secondary);
		color: var(--heading);
		display: flex !important;
		height: 100dvh;
		inset: 0;
		padding: 1.5rem;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: flex-start;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 4rem;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		gap: .65rem;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		color: var(--heading) !important;
		font-size: 1rem;
		padding-block: .55rem;
	}
}

@media (max-width: 781px) {
	.has-display-font-size {
		font-size: 2.35rem !important;
		line-height: 1.08;
	}

	.has-heading-font-size {
		font-size: 1.9rem !important;
	}

	.has-large-font-size {
		font-size: 1.125rem !important;
	}

	.iws-page-header .alignwide,
	.iws-section .alignwide {
		max-width: calc(100vw - 2rem) !important;
		min-width: 0;
		width: 100% !important;
	}

	.iws-page-header .wp-block-group,
	.iws-section .wp-block-group,
	.wp-block-column {
		min-width: 0;
	}

	.iws-page-header :where(.wp-block-heading, p),
	.iws-section :where(.wp-block-heading, p) {
		max-width: calc(100vw - 2rem) !important;
	}

	.iws-header-inner,
	.iws-footer-inner {
		align-items: flex-start;
		gap: var(--wp--preset--spacing--30);
		min-height: auto;
		padding-block: var(--wp--preset--spacing--30);
	}

	.iws-page-header,
	.iws-content-area {
		padding-block: var(--wp--preset--spacing--60);
	}

	.iws-section {
		padding-block: var(--wp--preset--spacing--60);
	}

	.iws-card {
		padding: var(--wp--preset--spacing--40);
	}

	.iws-logo-row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.admin-bar.iws-sticky-header-enabled .iws-site-header {
		top: 46px;
	}

	.iws-whatsapp-button {
		bottom: max(1rem, env(safe-area-inset-bottom));
		height: 4rem;
		padding: 0;
		right: max(0.75rem, env(safe-area-inset-right));
		width: 4rem;
	}

	.iws-masonry-grid {
		grid-template-columns: 1fr;
	}

	.iws-masonry-feature {
		grid-column: auto;
		grid-row: auto;
	}

	.iws-gallery-masonry {
		columns: 1;
	}
}

@media (max-width: 480px) {
	.has-display-font-size {
		font-size: 1.9rem !important;
	}
}

/* AutoHub services page */
.iws-packages-section{background:var(--bg-primary);padding:clamp(3rem,6vw,5rem) max(1rem,calc((100% - 1320px)/2))}.iws-packages-hero{background:linear-gradient(90deg,rgba(11,15,18,.98),rgba(11,15,18,.7)),url("/wp-content/uploads/2026/07/autohub-car-wash-detailing-foam-wash.jpeg") right center/cover no-repeat;min-height:300px;padding:clamp(2rem,4vw,3.5rem)}.iws-packages-hero>div{max-width:560px}.iws-packages-hero h2{font-size:clamp(2.2rem,4vw,3.6rem)}.iws-packages-hero h2 span,.iws-packages-cta h3 span{color:var(--primary)}.iws-booking-steps{border:1px solid var(--border);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0 1.5rem}.iws-booking-steps p{align-items:center;display:grid;gap:.75rem;grid-template-columns:auto 1fr;margin:0!important;padding:1rem}.iws-booking-steps strong{align-items:center;background:var(--primary);border-radius:50%;color:var(--bg-primary);display:flex;height:2rem;justify-content:center;width:2rem}.iws-booking-steps b,.iws-booking-steps span{display:block}.iws-booking-steps span{font-size:.75rem}.iws-package-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.iws-package-card{background:var(--bg-secondary);border:1px solid var(--border);display:flex;flex-direction:column;margin:0!important;padding:clamp(1.25rem,3vw,2rem)}.iws-package-card h3{font-family:var(--font-display);font-size:1.65rem;text-align:center;text-transform:uppercase}.iws-package-card ul{columns:2;flex:1;list-style:none;padding:0}.iws-package-card li{break-inside:avoid;font-size:.82rem;padding:.3rem 0}.iws-package-card li::before{color:var(--primary);content:"✓";margin-right:.5rem}.iws-package-prices{border-top:1px solid var(--border);display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:1rem}.iws-package-prices p{border:1px solid var(--border);margin:0!important;padding:.75rem;text-align:center}.iws-package-prices span,.iws-package-prices strong{display:block}.iws-package-prices span{font-size:.65rem;text-transform:uppercase}.iws-package-prices strong{color:var(--heading);font-family:var(--font-display);font-size:1.45rem}.iws-package-book{background:var(--primary);border-radius:4px;color:var(--bg-primary)!important;font-weight:700;margin-top:1rem;padding:.85rem;text-align:center;text-decoration:none;text-transform:uppercase}.iws-package-card small{color:var(--text-muted);margin-top:.7rem;text-align:center}.iws-package-extras{margin-top:2rem}.iws-package-extras>div:first-child{align-items:baseline;display:flex;gap:1rem}.iws-package-extras>div:last-child{display:grid;gap:.75rem;grid-template-columns:repeat(6,minmax(0,1fr))}.iws-package-extras article{background:var(--bg-card);border:1px solid var(--border);display:grid;gap:.5rem;padding:1rem;text-align:center}.iws-package-extras .dashicons{color:var(--primary);font-size:2rem;height:2rem;margin:auto;width:2rem}.iws-package-extras b{border:1px solid var(--primary);color:var(--primary);padding:.35rem}.iws-packages-cta{align-items:center;background:var(--bg-section);border:1px solid var(--border);display:grid;gap:2rem;grid-template-columns:1fr auto;margin-top:2rem;padding:clamp(1.5rem,4vw,3rem)}.iws-packages-cta h3{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.7rem)}
@media(max-width:1024px){.iws-package-extras>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:781px){.iws-booking-steps,.iws-package-grid{grid-template-columns:1fr}.iws-packages-cta{grid-template-columns:1fr}.iws-package-card ul{columns:1}}
@media(max-width:520px){.iws-package-prices,.iws-package-extras>div:last-child{grid-template-columns:1fr}.iws-package-extras>div:first-child{align-items:flex-start;flex-direction:column}}

.iws-certifications-page{background:var(--bg-primary)}.iws-certifications-hero{min-height:34rem;overflow:hidden;position:relative}.iws-certifications-hero::after{background:linear-gradient(90deg,rgba(11,15,18,.98),rgba(11,15,18,.82) 44%,rgba(11,15,18,.12));content:"";inset:0;position:absolute}.iws-certifications-hero figure,.iws-certifications-hero img{height:100%;inset:0;margin:0;object-fit:cover;position:absolute;width:100%}.iws-certifications-hero-inner{margin-inline:auto;max-width:1320px;min-height:34rem;position:relative;width:100%;z-index:1}.iws-certifications-hero-inner>div{max-width:620px;padding-block:clamp(3rem,4vw,4rem)}.iws-certifications-hero h1{font-size:clamp(2.8rem,5vw,4.8rem);line-height:1.05;margin:.7rem 0 1.2rem}.iws-certifications-intro{background:var(--bg-secondary);border-block:1px solid var(--border);padding-block:2rem}.iws-certifications-intro>div{align-items:center;display:grid;gap:2rem;grid-template-columns:auto 1fr;margin-inline:auto;max-width:1040px;padding-inline:1rem}.iws-certifications-intro .dashicons{color:var(--primary);font-size:4rem;height:4rem;width:4rem}.iws-certifications-intro h2{font-size:1.7rem;margin-bottom:.4rem}.iws-certifications-gallery{background:var(--bg-primary)}.iws-certifications-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.iws-certificate-card{background:var(--bg-card);border:1px solid var(--border);display:flex;flex-direction:column;margin:0!important;padding:.75rem;text-align:center}.iws-certificate-card a{background:#eef1f3;display:block;overflow:hidden}.iws-certificate-card img{aspect-ratio:1/1.28;display:block;object-fit:contain;transition:transform .25s ease;width:100%}.iws-certificate-card:hover img{transform:scale(1.02)}.iws-certificate-card h3{font-size:.84rem;margin:.8rem 0 .2rem}.iws-certificate-card p{font-size:.72rem;margin:0}.iws-certificate-card:nth-child(9){grid-column:2}.iws-certifications-pdf{text-align:center}.iws-certifications-trust{background:var(--bg-section);border-block:1px solid var(--border);padding-block:1.5rem}.iws-certifications-trust>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.iws-certifications-trust p{border-left:1px solid var(--border);margin:0!important;padding:0 1.5rem}.iws-certifications-trust p:first-child{border-left:0}.iws-certifications-trust strong{color:var(--primary);display:block}.iws-certifications-cta{background:var(--bg-secondary);padding-block:clamp(2.5rem,5vw,4rem)}.iws-certifications-cta>div{align-items:center;display:grid;gap:2rem;grid-template-columns:1fr auto}.iws-certifications-cta h2{font-size:clamp(1.8rem,3vw,2.7rem)}
.iws-certifications-cta > div {
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1fr) auto;
	margin-inline: auto;
	max-width: 1320px;
	width: calc(100% - 2rem);
}

.iws-certifications-cta h2 {
	max-width: 980px;
}

.iws-certifications-cta p {
	max-width: 900px;
}

@media(max-width:1024px){.iws-certifications-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.iws-certificate-card:nth-child(9){grid-column:auto}}
@media(max-width:781px){.iws-certifications-hero-inner>div{padding-inline:1rem}.iws-certifications-grid,.iws-certifications-trust>div{grid-template-columns:repeat(2,minmax(0,1fr))}.iws-certifications-cta>div{grid-template-columns:1fr}.iws-certifications-intro>div{grid-template-columns:1fr}.iws-certifications-trust p:nth-child(3){border-left:0}}
@media(max-width:520px){.iws-certifications-hero::after{background:rgba(11,15,18,.8)}.iws-certifications-grid,.iws-certifications-trust>div{grid-template-columns:1fr}.iws-certifications-trust p{border-left:0;border-top:1px solid var(--border);padding-block:1rem}}

.iws-contact-hero{min-height:34rem;overflow:hidden;position:relative}.iws-contact-hero::after{background:linear-gradient(90deg,rgba(11,15,18,.98),rgba(11,15,18,.78) 45%,rgba(11,15,18,.08));content:"";inset:0;position:absolute}.iws-contact-hero figure,.iws-contact-hero figure img{height:100%;inset:0;margin:0;object-fit:cover;position:absolute;width:100%}.iws-contact-hero-inner{margin-inline:auto;max-width:1320px;min-height:34rem;position:relative;width:100%;z-index:1}.iws-contact-hero-inner>div{max-width:620px;padding-block:clamp(3rem,4vw,4rem)}.iws-contact-hero h1{font-size:clamp(2.7rem,5vw,4.7rem);line-height:1.05;margin:.7rem 0 1rem}.iws-contact-hero h1 span{color:var(--primary)}.iws-contact-hero-points{display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.iws-contact-hero-points strong,.iws-contact-details strong{color:var(--heading);display:block}.iws-contact-main{background:var(--bg-primary)}.iws-contact-panel{border:1px solid var(--border);display:grid;grid-template-columns:.8fr 1.7fr}.iws-contact-details,.iws-contact-form-wrap{padding:clamp(1.5rem,4vw,3rem)}.iws-contact-details{border-right:1px solid var(--border)}.iws-contact-details h2{font-size:1.7rem}.iws-contact-details p{margin-bottom:1.3rem}.iws-contact-details a{display:block}.iws-autohub-contact-form label{color:var(--heading);display:block;font-size:.82rem;font-weight:600;margin-bottom:.35rem}.iws-contact-fields{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.iws-contact-fields p{margin:0}.iws-contact-message,.iws-contact-consent{grid-column:1/-1}.iws-autohub-contact-form input:not([type=checkbox]),.iws-autohub-contact-form select,.iws-autohub-contact-form textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:3px;color:var(--heading);font:inherit;padding:.85rem;width:100%}.iws-autohub-contact-form textarea{resize:vertical}.iws-autohub-contact-form input:focus,.iws-autohub-contact-form select:focus,.iws-autohub-contact-form textarea:focus{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent)}.iws-contact-consent label{color:var(--text);font-weight:400}.iws-contact-honeypot{left:-9999px;position:absolute}.iws-autohub-contact-form button{background:var(--primary);border:0;border-radius:6px;color:var(--bg-primary);font-weight:700;margin-top:1rem;padding:.9rem 1.4rem}.iws-contact-notice{border:1px solid var(--primary);padding:1rem}.iws-contact-error{border-color:#d66}.iws-contact-location{background:var(--bg-secondary)}.iws-contact-location>div{align-items:stretch;border:1px solid var(--border);display:grid;grid-template-columns:1.35fr 1fr}.iws-contact-location figure{margin:0;min-height:330px}.iws-contact-location img{height:100%;object-fit:cover;width:100%}.iws-contact-location>div>div{align-self:center;padding:clamp(1.5rem,4vw,3rem)}
@media(max-width:781px){.iws-contact-hero-inner>div{padding-inline:1rem}.iws-contact-panel,.iws-contact-location>div{grid-template-columns:1fr}.iws-contact-details{border-bottom:1px solid var(--border);border-right:0}.iws-contact-fields{grid-template-columns:1fr}.iws-contact-message,.iws-contact-consent{grid-column:auto}}
@media(max-width:520px){.iws-contact-hero::after{background:rgba(11,15,18,.8)}.iws-contact-hero-points{grid-template-columns:1fr}}

.iws-service-detail-hero { min-height: 34rem; overflow: hidden; position: relative; }
.iws-service-detail-hero::after { background: linear-gradient(90deg,rgba(11,15,18,.97),rgba(11,15,18,.78) 42%,rgba(11,15,18,.08)); content:""; inset:0; position:absolute; }
.iws-service-detail-hero figure,.iws-service-detail-hero img { height:100%; inset:0; margin:0; object-fit:cover; position:absolute; width:100%; }
.iws-service-detail-hero-inner { margin-inline:auto; max-width:1320px; min-height:34rem; position:relative; width:100%; z-index:1; }
.iws-service-detail-hero-inner > div { max-width:620px; padding-block:clamp(3rem,4vw,4rem); }
.iws-service-detail-hero h1 { font-size:clamp(2.7rem,5vw,4.7rem); line-height:1.05; margin:.7rem 0 1rem; }
.iws-service-detail-hero h1 span,.iws-service-detail-cta h2 span { color:var(--primary); }
.iws-service-detail-trust { background:var(--bg-secondary); border-block:1px solid var(--border); padding-block:1.4rem; }
.iws-service-detail-trust > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.iws-service-detail-trust p { border-left:1px solid var(--border); margin:0!important; padding:0 1.5rem; }
.iws-service-detail-trust p:first-child { border-left:0; }
.iws-service-detail-trust strong { color:var(--heading); display:block; }
.iws-service-detail-standard { background:var(--bg-section); }
.iws-service-detail-standard > div { display:grid; gap:clamp(2rem,6vw,6rem); grid-template-columns:.85fr 1.4fr; }
.iws-service-detail-included { background:var(--bg-primary); text-align:center; }
.iws-service-detail-grid { display:grid; gap:.75rem; grid-template-columns:repeat(6,minmax(0,1fr)); }
.iws-service-detail-card { background:var(--bg-card); border:1px solid var(--border); height:100%; margin:0!important; padding:1.4rem 1rem; }
.iws-service-detail-card .dashicons { color:var(--primary); font-size:2rem; height:2rem; width:2rem; }
.iws-service-detail-card h3 { font-size:.92rem; margin-top:1rem; }
.iws-service-detail-process { background:var(--bg-section); text-align:center; }
.iws-service-detail-steps { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.iws-service-detail-step { background:var(--bg-card); border:1px solid var(--border); margin:0!important; padding:1.4rem; text-align:left; }
.iws-service-detail-step > strong { color:var(--primary); font-size:1.5rem; }
.iws-service-detail-faq { background:var(--bg-primary); text-align:center; }
.iws-service-detail-faq > div { display:grid; gap:.75rem; grid-template-columns:repeat(2,minmax(0,1fr)); text-align:left; }
.iws-service-detail-faq details { background:var(--bg-card); border:1px solid var(--border); margin:0!important; padding:1rem; }
.iws-service-detail-faq summary { color:var(--heading); cursor:pointer; font-weight:700; }
.iws-service-detail-related { background:var(--bg-secondary); text-align:center; }
.iws-service-detail-related-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); text-align:left; }
.iws-service-detail-related article { background:var(--bg-card); border:1px solid var(--border); display:flex; flex-direction:column; height:100%; margin:0!important; padding:1.5rem; }
.iws-service-detail-related article p:last-child { margin-top:auto; }
.iws-service-detail-related a { color:var(--primary); font-weight:700; }
.iws-service-detail-related a:hover,.iws-service-detail-related a:focus-visible { color:var(--primary-hover); }
.iws-autohub-service-card h3 a { color:inherit; text-decoration:none; }
.iws-autohub-service-card h3 a:hover,.iws-autohub-service-card h3 a:focus-visible { color:var(--primary-hover); }
.iws-service-detail-cta { background:var(--bg-section); border-top:1px solid var(--border); padding-block:clamp(3rem,6vw,5rem); }
.iws-service-detail-cta > div { max-width:900px; }
.iws-service-detail-cta .wp-block-buttons {
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:.75rem;
}
.iws-service-detail-cta .wp-block-button__link {
	background:var(--primary);
	border:2px solid var(--primary);
	border-radius:6px;
	color:var(--bg-primary) !important;
	font-family:var(--font-body);
	font-size:.82rem;
	font-weight:var(--font-weight-bold);
	letter-spacing:.03em;
	padding:.78rem 1.2rem;
	text-transform:uppercase;
}
.iws-service-detail-cta .wp-block-button.is-style-outline .wp-block-button__link {
	background:transparent;
	border-color:var(--primary);
	color:var(--heading) !important;
}
.iws-service-detail-cta .wp-block-button__link:hover,
.iws-service-detail-cta .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background:var(--primary-hover);
	border-color:var(--primary-hover);
	color:var(--bg-primary) !important;
}
.iws-service-detail-cta .wp-block-button__link:focus-visible {
	outline:3px solid var(--primary-hover);
	outline-offset:3px;
}
@media(max-width:1024px){.iws-service-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:781px){.iws-service-detail-hero-inner>div{padding-inline:1rem}.iws-service-detail-trust>div,.iws-service-detail-standard>div,.iws-service-detail-steps,.iws-service-detail-faq>div,.iws-service-detail-related-grid{grid-template-columns:1fr}.iws-service-detail-trust p{border-left:0;border-top:1px solid var(--border);padding-block:1rem}.iws-service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.iws-service-detail-grid{grid-template-columns:1fr}.iws-service-detail-hero::after{background:rgba(11,15,18,.78)}}

.iws-autohub-about-page { background: var(--bg-primary); }
.iws-autohub-about-hero { min-height: clamp(34rem, 60vw, 46rem); overflow: hidden; position: relative; }
.iws-autohub-about-hero::after { background: linear-gradient(90deg, rgba(11,15,18,.98), rgba(11,15,18,.82) 42%, rgba(11,15,18,.12)); content: ""; inset: 0; position: absolute; z-index: 1; }
.iws-autohub-about-hero-image,
.iws-autohub-about-hero-image img { height: 100%; inset: 0; margin: 0; object-fit: cover; object-position: center; position: absolute; width: 100%; }
.iws-autohub-about-hero-inner { align-items: flex-start; display: flex; margin-inline: auto !important; max-width: 1320px; min-height: clamp(34rem, 60vw, 46rem); padding-block: 0; padding-inline: 0; position: relative; width: 100%; z-index: 2; }
.iws-autohub-about-hero-copy { margin-left: 0 !important; margin-right: auto !important; padding-block: clamp(3rem,4vw,4rem); padding-inline: 0; }
.iws-autohub-about-hero h1 { font-size: clamp(2.75rem,5.4vw,5rem); line-height: 1.08; margin-block: .65rem 1.35rem; }
.iws-autohub-about-hero p { max-width: 600px; }
.iws-autohub-about-trust { background: var(--bg-secondary); border-block: 1px solid var(--border); padding-block: 1.4rem; }
.iws-autohub-about-trust-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.iws-autohub-about-trust-grid > * { align-items: center; border-left: 1px solid var(--border); display: grid; gap: 1rem; grid-template-columns: auto 1fr; margin: 0 !important; padding-inline: clamp(1rem,3vw,2.5rem); }
.iws-autohub-about-trust-grid > *:first-child { border-left: 0; }
.iws-autohub-about-trust-grid .dashicons { color: var(--primary); font-size: 2rem; height: 2rem; width: 2rem; }
.iws-autohub-about-trust-grid strong,
.iws-autohub-about-trust-grid span:last-child { display: block; }
.iws-autohub-about-trust-grid span:last-child { color: var(--text-muted); font-size: .78rem; }
.iws-autohub-story-section { background: var(--bg-primary); }
.iws-autohub-story-grid { gap: clamp(2rem,6vw,5rem); }
.iws-autohub-story-image img { aspect-ratio: .92 / 1; border: 1px solid var(--border); border-radius: 4px; object-fit: cover; width: 100%; }
.iws-autohub-community-panel { background: var(--bg-secondary); border: 1px solid var(--border); display: grid; gap: clamp(1.5rem,4vw,4rem); grid-template-columns: .8fr 1.7fr; margin-top: clamp(2.5rem,5vw,4.5rem); padding: clamp(1.5rem,4vw,3rem); }
.iws-autohub-community-panel > * { margin-block: 0 !important; }
.iws-autohub-about-values { background: var(--bg-secondary); border-block: 1px solid var(--border); }
.iws-autohub-about-values-grid { display: grid; gap: .8rem; grid-template-columns: repeat(6,minmax(0,1fr)); }
.iws-autohub-about-values-grid > * { background: var(--bg-card); border: 1px solid var(--border); display: flex; flex-direction: column; height: 100%; margin: 0 !important; padding: 1.35rem 1rem; text-align: center; }
.iws-autohub-about-values-grid .dashicons { color: var(--primary); font-size: 2.15rem; height: 2.15rem; margin: 0 auto 1rem; width: 2.15rem; }
.iws-autohub-about-values-grid h3 { font-size: .95rem; min-height: 2.5em; }
.iws-autohub-about-values-grid p { font-size: .76rem; line-height: 1.6; }
.iws-autohub-about-stats { background: var(--bg-primary); border-bottom: 1px solid var(--border); padding-block: 2rem; }
.iws-autohub-about-stats-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.iws-autohub-about-stats-grid > * { border-left: 1px solid var(--border); margin: 0 !important; padding: 0 1.5rem; text-align: center; }
.iws-autohub-about-stats-grid > *:first-child { border-left: 0; }
.iws-autohub-about-stats-grid strong,
.iws-autohub-about-stats-grid span { display: block; }
.iws-autohub-about-stats-grid strong { color: var(--heading); font-family: var(--font-display); font-size: clamp(2rem,4vw,3.25rem); }
.iws-autohub-about-stats-grid span { color: var(--text-muted); font-size: .78rem; }
.iws-autohub-about-promise { background: var(--bg-section) url("/wp-content/uploads/2026/07/autohub-carousel-black-bmw-detailing-bay.jpeg") right center / 48% auto no-repeat; }
.iws-autohub-about-promise > div { margin-left: 0 !important; margin-right: auto !important; max-width: 760px; }
.iws-autohub-about-promise-list { display: grid; gap: .5rem 2rem; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; padding: 0; }
.iws-autohub-about-promise-list li::before { color: var(--primary); content: "\2713"; margin-right: .6rem; }
.iws-autohub-about-cta { background: var(--bg-primary); padding-block: clamp(3rem,6vw,5rem); text-align: center; }
.iws-autohub-about-cta-inner { max-width: 760px; }
.iws-autohub-about-cta .wp-block-buttons { justify-content: center; }
@media (max-width: 1024px) { .iws-autohub-about-values-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 781px) { .iws-autohub-about-trust-grid,.iws-autohub-about-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .iws-autohub-about-trust-grid > *:nth-child(3),.iws-autohub-about-stats-grid > *:nth-child(3) { border-left: 0; } .iws-autohub-community-panel { grid-template-columns: 1fr; } .iws-autohub-about-promise { background-image: none; } }
@media (max-width: 520px) { .iws-autohub-about-hero::after { background: rgba(11,15,18,.78); } .iws-autohub-about-trust-grid,.iws-autohub-about-values-grid,.iws-autohub-about-stats-grid,.iws-autohub-about-promise-list { grid-template-columns: 1fr; } .iws-autohub-about-trust-grid > *, .iws-autohub-about-stats-grid > * { border-left: 0; border-top: 1px solid var(--border); padding-block: 1rem; } }

.iws-autohub-services-page {
	background: var(--bg-primary);
}

.iws-autohub-services-hero {
	background: var(--bg-primary);
	min-height: clamp(32rem, 58vw, 44rem);
	overflow: hidden;
	position: relative;
}

.iws-autohub-services-hero::after {
	background: linear-gradient(90deg, rgba(11, 15, 18, 0.98) 0%, rgba(11, 15, 18, 0.88) 37%, rgba(11, 15, 18, 0.3) 68%, rgba(11, 15, 18, 0.08) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.iws-autohub-services-hero-image,
.iws-autohub-services-hero-image img {
	height: 100%;
	inset: 0;
	margin: 0;
	object-fit: cover;
	object-position: center 54%;
	position: absolute;
	width: 100%;
}

.iws-autohub-services-hero-inner {
	align-items: flex-start;
	display: flex;
	margin-inline: auto !important;
	max-width: 1320px;
	min-height: clamp(32rem, 58vw, 44rem);
	padding-block: 0;
	padding-inline: 0;
	position: relative;
	width: 100%;
	z-index: 2;
}

.iws-autohub-services-hero-copy {
	margin-left: 0 !important;
	margin-right: auto !important;
	padding-block: clamp(3rem, 4vw, 4rem);
	padding-inline: 0;
}

.iws-autohub-services-hero-copy h1 {
	font-family: var(--font-display);
	font-size: clamp(2.75rem, 5.6vw, 5rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.04;
	margin-block: 0.6rem 1.35rem;
	max-width: 760px;
}

.iws-autohub-services-lead {
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.75;
	max-width: 590px;
}

.iws-autohub-services-trust {
	background: var(--bg-secondary);
	border-block: 1px solid var(--border);
	padding-block: 1.25rem;
}

.iws-autohub-services-trust .iws-autohub-trust-strip {
	margin-block: 0;
	padding-block: 0;
}

.iws-autohub-services-catalogue {
	background: var(--bg-primary);
}

.iws-autohub-services-catalogue .iws-autohub-service-card:nth-child(5) {
	grid-column: span 2;
}

.iws-autohub-services-catalogue .iws-autohub-service-card h3 {
	min-height: 2.65em;
}

.iws-autohub-services-proof {
	align-items: center;
	background: var(--bg-secondary);
	border: 1px solid var(--border);
	border-radius: 4px;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr));
	margin-top: clamp(2rem, 4vw, 3rem);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.iws-autohub-services-proof > * {
	margin-block: 0 !important;
	min-width: 0;
}

.iws-autohub-services-proof h2 {
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	margin-bottom: 0.6rem;
}

.iws-autohub-services-proof-copy p {
	font-size: 0.9rem;
	margin-bottom: 1rem;
}

.iws-autohub-services-checklist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.iws-autohub-services-checklist li {
	color: var(--text);
	font-size: 0.84rem;
	line-height: 1.45;
	padding: 0.45rem 0 0.45rem 1.8rem;
	position: relative;
}

.iws-autohub-services-checklist li::before {
	align-items: center;
	border: 1px solid var(--primary);
	border-radius: 50%;
	color: var(--primary);
	content: "\2713";
	display: flex;
	font-size: 0.65rem;
	height: 1.15rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0.45rem;
	width: 1.15rem;
}

.iws-autohub-services-cta {
	background: var(--bg-section) url("/wp-content/uploads/2026/07/autohub-carousel-black-bmw-detailing-bay.jpeg") left center / min(48vw, 760px) auto no-repeat;
	border-top: 1px solid var(--border);
	padding-block: clamp(3.5rem, 7vw, 6rem);
	position: relative;
}

.iws-autohub-services-cta::before {
	background: linear-gradient(90deg, rgba(26, 35, 43, 0.28), var(--bg-section) 55%);
	content: "";
	inset: 0;
	position: absolute;
}

.iws-autohub-services-cta-inner {
	margin-left: auto !important;
	margin-right: 0 !important;
	max-width: 720px;
	position: relative;
}

.iws-autohub-services-cta h2 {
	font-size: clamp(2rem, 4vw, 3.25rem);
	margin-bottom: 0.5rem;
}

.iws-autohub-services-cta p {
	margin-bottom: 1.25rem;
}

@media (max-width: 900px) {
	.iws-autohub-services-hero::after {
		background: linear-gradient(90deg, rgba(11, 15, 18, 0.96), rgba(11, 15, 18, 0.62));
	}

	.iws-autohub-services-proof {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iws-autohub-services-proof-copy {
		grid-column: 1 / -1;
	}

	.iws-autohub-services-cta {
		background-position: center;
		background-size: cover;
	}

	.iws-autohub-services-cta::before {
		background: rgba(11, 15, 18, 0.84);
	}

	.iws-autohub-services-cta-inner {
		margin-inline: auto !important;
		text-align: center;
	}

	.iws-autohub-services-cta .wp-block-buttons {
		justify-content: center;
	}
}

@media (max-width: 520px) {
	.iws-autohub-services-hero,
	.iws-autohub-services-hero-inner {
		min-height: 36rem;
	}

	.iws-autohub-services-hero-image img {
		object-position: 62% center;
	}

	.iws-autohub-services-hero-copy h1 {
		font-size: clamp(2.35rem, 12vw, 3.2rem);
	}

	.iws-autohub-services-proof {
		grid-template-columns: 1fr;
	}

	.iws-autohub-services-proof-copy {
		grid-column: auto;
	}

	.iws-autohub-services-catalogue .iws-autohub-service-card h3 {
		min-height: 0;
	}
}

/* AutoHub Gallery */
.iws-autohub-gallery-template,
.iws-autohub-gallery-page {
	background: var(--bg-primary);
	color: var(--text);
}

.iws-autohub-gallery-page button,
.iws-autohub-gallery-page select {
	font-family: var(--font-body);
}

.iws-autohub-gallery-shell {
	margin-inline: auto;
	max-width: 1320px;
	padding-inline: clamp(1rem, 3vw, 2rem);
	width: 100%;
}

.iws-autohub-gallery-hero {
	border-bottom: 1px solid var(--border);
	min-height: clamp(34rem, 54vw, 47rem);
	overflow: hidden;
	position: relative;
}

.iws-autohub-gallery-hero-image {
	height: 100%;
	inset: 0;
	margin: 0;
	object-fit: cover;
	object-position: center 42%;
	position: absolute;
	width: 100%;
}

.iws-autohub-gallery-hero-overlay {
	background: linear-gradient(90deg, var(--bg-primary) 4%, color-mix(in srgb, var(--bg-primary) 88%, transparent) 42%, color-mix(in srgb, var(--bg-primary) 18%, transparent) 76%), linear-gradient(0deg, var(--bg-primary), transparent 42%);
	inset: 0;
	position: absolute;
}

.iws-autohub-gallery-hero-inner {
	align-items: flex-start;
	display: flex;
	min-height: inherit;
	position: relative;
	z-index: 1;
}

.iws-autohub-gallery-hero-copy {
	max-width: 720px;
	padding-block: clamp(3rem, 4vw, 4rem);
}

.iws-autohub-gallery-hero h1 {
	font-family: var(--font-display);
	font-size: clamp(3rem, 5.4vw, 5.3rem);
	font-weight: var(--font-weight-extrabold);
	line-height: 1.02;
	margin: .75rem 0 1.25rem;
	max-width: 820px;
}

.iws-autohub-gallery-hero h1 span,
.iws-autohub-gallery-cta h2 span {
	color: var(--primary);
}

.iws-autohub-gallery-hero-copy > p:not(.iws-eyebrow) {
	font-size: clamp(1rem, 1.6vw, 1.2rem);
	line-height: 1.7;
	max-width: 620px;
}

.iws-autohub-gallery-stats {
	display: flex;
	gap: .75rem;
	margin-top: 2rem;
}

.iws-autohub-gallery-stats p {
	align-items: center;
	background: color-mix(in srgb, var(--bg-secondary) 88%, transparent);
	border: 1px solid var(--border);
	display: grid;
	gap: .2rem .75rem;
	grid-template-columns: auto auto;
	margin: 0;
	min-width: 158px;
	padding: .85rem 1rem;
}

.iws-autohub-gallery-stats .dashicons {
	color: var(--primary);
	font-size: 1.75rem;
	grid-row: 1 / 3;
	height: 1.75rem;
	width: 1.75rem;
}

.iws-autohub-gallery-stats strong {
	color: var(--heading);
	font-size: 1.35rem;
	line-height: 1;
}

.iws-autohub-gallery-stats span:last-child {
	color: var(--text-muted);
	font-size: .75rem;
}

.iws-autohub-gallery-videos,
.iws-autohub-gallery-library,
.iws-autohub-gallery-transformations {
	padding-block: clamp(3rem, 6vw, 5.5rem);
}

.iws-autohub-gallery-videos {
	background: var(--bg-secondary);
	border-bottom: 1px solid var(--border);
}

.iws-autohub-gallery-heading {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
	margin-bottom: 1.75rem;
}

.iws-autohub-gallery-heading > * {
	margin: 0;
}

.iws-autohub-gallery-heading h2 {
	font-size: clamp(2.1rem, 4vw, 3.6rem);
	line-height: 1.08;
	margin: .35rem 0 0;
}

.iws-autohub-gallery-heading > p {
	color: var(--text-muted);
	line-height: 1.7;
}

.iws-autohub-featured-video {
	background: var(--bg-primary);
	border: 1px solid var(--border);
	color: var(--heading);
	cursor: pointer;
	display: block;
	min-height: clamp(28rem, 51vw, 43rem);
	overflow: hidden;
	padding: 0;
	position: relative;
	text-align: left;
	width: 100%;
}

.iws-autohub-featured-video > img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform .4s ease;
	width: 100%;
}

.iws-autohub-featured-video:hover > img {
	transform: scale(1.025);
}

.iws-autohub-video-shade {
	background: linear-gradient(0deg, color-mix(in srgb, var(--bg-primary) 94%, transparent), transparent 58%);
	inset: 0;
	position: absolute;
}

.iws-autohub-video-play {
	align-items: center;
	display: grid;
	gap: .75rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	justify-items: center;
}

.iws-autohub-video-play .dashicons {
	align-items: center;
	background: color-mix(in srgb, var(--bg-primary) 75%, transparent);
	border: 2px solid var(--heading);
	border-radius: 50%;
	display: flex;
	font-size: 2.5rem;
	height: 5rem;
	justify-content: center;
	transition: background-color .2s ease, border-color .2s ease;
	width: 5rem;
}

.iws-autohub-featured-video:hover .iws-autohub-video-play .dashicons {
	background: var(--primary);
	border-color: var(--primary);
}

.iws-autohub-video-play b {
	font-size: .8rem;
	text-transform: uppercase;
}

.iws-autohub-video-copy {
	bottom: 2rem;
	display: grid;
	left: 2rem;
	position: absolute;
	right: 2rem;
}

.iws-autohub-video-copy small {
	color: var(--primary);
	font-weight: 700;
	text-transform: uppercase;
}

.iws-autohub-video-copy strong {
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 3vw, 2.7rem);
}

.iws-autohub-video-copy span {
	color: var(--text);
	margin-top: .25rem;
}

.iws-autohub-video-strip {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1rem;
}

.iws-autohub-video-strip button {
	background: var(--bg-card);
	border: 1px solid var(--border);
	color: var(--heading);
	cursor: pointer;
	display: grid;
	grid-template-columns: 112px auto 1fr;
	min-height: 88px;
	overflow: hidden;
	padding: 0;
	text-align: left;
}

.iws-autohub-video-strip button:hover {
	border-color: var(--primary);
}

.iws-autohub-video-strip img {
	height: 100%;
	object-fit: cover;
	width: 112px;
}

.iws-autohub-video-strip .dashicons {
	align-self: center;
	color: var(--primary);
	font-size: 1.7rem;
	height: 1.7rem;
	margin-inline: .75rem;
	width: 1.7rem;
}

.iws-autohub-video-strip strong {
	align-self: center;
	font-size: .82rem;
	line-height: 1.35;
	padding-right: .75rem;
}

.iws-autohub-gallery-library {
	background: var(--bg-primary);
}

.iws-autohub-gallery-toolbar {
	align-items: center;
	border-block: 1px solid var(--border);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding-block: 1rem;
}

.iws-autohub-gallery-filters {
	display: flex;
	gap: .5rem;
	overflow-x: auto;
	padding-block: .2rem;
	scrollbar-width: thin;
}

.iws-autohub-gallery-filters button,
.iws-autohub-gallery-tools button {
	background: transparent;
	border: 1px solid var(--border);
	color: var(--text);
	cursor: pointer;
	min-height: 42px;
	padding: .55rem .85rem;
	white-space: nowrap;
}

.iws-autohub-gallery-filters button:hover,
.iws-autohub-gallery-filters button[aria-pressed="true"],
.iws-autohub-gallery-tools button:hover,
.iws-autohub-gallery-tools button.is-active {
	background: var(--primary);
	border-color: var(--primary);
	color: var(--bg-primary);
}

.iws-autohub-gallery-tools,
.iws-autohub-gallery-tools > div {
	align-items: center;
	display: flex;
	gap: .5rem;
}

.iws-autohub-gallery-tools label {
	align-items: center;
	color: var(--text-muted);
	display: flex;
	font-size: .75rem;
	gap: .5rem;
}

.iws-autohub-gallery-tools select {
	background: var(--bg-card);
	border: 1px solid var(--border);
	color: var(--heading);
	min-height: 42px;
	padding-inline: .7rem 2rem;
}

.iws-autohub-gallery-tools button {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: .4rem;
	width: 42px;
}

.iws-autohub-gallery-count {
	color: var(--text-muted);
	font-size: .76rem;
	margin: 1rem 0;
}

.iws-autohub-gallery-grid {
	display: grid;
	gap: .65rem;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.iws-autohub-gallery-grid.is-wide {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iws-autohub-gallery-item {
	background: var(--bg-card);
	border: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
	overflow: hidden;
}

.iws-autohub-gallery-item[hidden] {
	display: none !important;
}

.iws-autohub-gallery-item > button {
	background: var(--bg-secondary);
	border: 0;
	cursor: zoom-in;
	display: block;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.iws-autohub-gallery-item img {
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	transition: transform .3s ease;
	width: 100%;
}

.iws-autohub-gallery-item:hover {
	border-color: var(--primary);
}

.iws-autohub-gallery-item:hover img {
	transform: scale(1.035);
}

.iws-autohub-gallery-item-icon {
	align-items: center;
	background: color-mix(in srgb, var(--bg-primary) 78%, transparent);
	bottom: .5rem;
	color: var(--primary);
	display: flex;
	height: 2rem;
	justify-content: center;
	position: absolute;
	right: .5rem;
	width: 2rem;
}

.iws-autohub-gallery-item figcaption {
	display: grid;
	gap: .2rem;
	min-height: 4.4rem;
	padding: .7rem .8rem;
}

.iws-autohub-gallery-item figcaption strong {
	color: var(--heading);
	font-size: .72rem;
	line-height: 1.4;
}

.iws-autohub-gallery-item figcaption span {
	color: var(--primary);
	font-size: .62rem;
	font-weight: 700;
	text-transform: uppercase;
}

.iws-autohub-gallery-load {
	display: grid;
	justify-items: center;
	margin-top: 2rem;
}

.iws-autohub-gallery-load button {
	align-items: center;
	display: flex;
	gap: .5rem;
}

.iws-autohub-gallery-load p {
	color: var(--text-muted);
	font-size: .72rem;
	margin: .5rem 0 0;
}

.iws-autohub-gallery-transformations {
	background: var(--bg-secondary);
	border-block: 1px solid var(--border);
}

.iws-autohub-gallery-heading-centered {
	display: block;
	text-align: center;
}

.iws-autohub-before-after-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iws-autohub-before-after-card {
	background: var(--bg-card);
	border: 1px solid var(--border);
}

.iws-autohub-before-after-card > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iws-autohub-before-after-card figure {
	margin: 0;
	overflow: hidden;
	position: relative;
}

.iws-autohub-before-after-card figure + figure {
	border-left: 1px solid var(--border);
}

.iws-autohub-before-after-card img {
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.iws-autohub-before-after-card figure span {
	background: var(--primary);
	bottom: .6rem;
	color: var(--bg-primary);
	font-size: .62rem;
	font-weight: 800;
	left: .6rem;
	padding: .3rem .45rem;
	position: absolute;
	text-transform: uppercase;
	z-index: 1;
}

.iws-autohub-before-after-card h3 {
	font-family: var(--font-body);
	font-size: 1rem;
	margin: 0;
	padding: .9rem;
	text-align: center;
}

.iws-autohub-gallery-cta {
	background: var(--bg-section);
	padding-block: clamp(3rem, 6vw, 5rem);
}

.iws-autohub-gallery-cta > div {
	align-items: center;
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr auto;
}

.iws-autohub-gallery-cta h2 {
	font-size: clamp(2rem, 4vw, 3.4rem);
	margin: .35rem 0 .65rem;
}

.iws-autohub-gallery-cta p {
	margin-block: 0;
}

.iws-autohub-gallery-cta > div > div:last-child {
	display: flex;
	gap: .75rem;
}

.iws-autohub-gallery-cta .wp-element-button {
	align-items: center;
	background: var(--primary);
	border: 2px solid var(--primary);
	color: var(--bg-primary) !important;
	display: inline-flex;
	font-family: var(--font-body);
	font-weight: var(--font-weight-bold);
	justify-content: center;
	min-height: 3.75rem;
	padding: .85rem 1.4rem;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.iws-autohub-gallery-cta .wp-element-button:hover {
	background: var(--primary-hover);
	border-color: var(--primary-hover);
	color: var(--bg-primary) !important;
	transform: translateY(-2px);
}

.iws-autohub-gallery-cta .wp-element-button.is-style-outline {
	background: transparent;
	border-color: var(--primary);
	color: var(--heading) !important;
}

.iws-autohub-gallery-cta .wp-element-button.is-style-outline:hover {
	background: var(--primary);
	border-color: var(--primary);
	color: var(--bg-primary) !important;
}

.iws-contact-location .wp-element-button {
	background: var(--primary);
	border: 2px solid var(--primary);
	color: var(--bg-primary) !important;
	display: inline-flex;
	font-family: var(--font-body);
	font-weight: var(--font-weight-bold);
	justify-content: center;
	min-height: 3.75rem;
	padding: .85rem 1.4rem;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.iws-contact-location .wp-element-button:hover {
	background: var(--primary-hover);
	border-color: var(--primary-hover);
	color: var(--bg-primary) !important;
	transform: translateY(-2px);
}

.iws-autohub-video-modal,
.iws-autohub-image-modal {
	background: var(--bg-primary);
	inset: 0;
	position: fixed;
	z-index: 10020;
}

.iws-autohub-video-modal[hidden],
.iws-autohub-image-modal[hidden] {
	display: none;
}

.iws-autohub-video-modal {
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	height: 100dvh;
	width: 100vw;
}

.iws-autohub-video-modal video {
	background: var(--bg-primary);
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.iws-autohub-video-modal > button,
.iws-autohub-image-modal > button {
	align-items: center;
	background: color-mix(in srgb, var(--bg-primary) 80%, transparent);
	border: 1px solid var(--border);
	color: var(--heading);
	cursor: pointer;
	display: flex;
	height: 48px;
	justify-content: center;
	position: absolute;
	width: 48px;
	z-index: 2;
}

.iws-autohub-video-modal > button,
.iws-autohub-image-modal [data-gallery-image-close] {
	right: max(1rem, env(safe-area-inset-right));
	top: max(1rem, env(safe-area-inset-top));
}

.iws-autohub-video-modal > button:hover,
.iws-autohub-image-modal > button:hover {
	background: var(--primary);
	border-color: var(--primary);
	color: var(--bg-primary);
}

.iws-autohub-video-modal > p {
	background: var(--bg-secondary);
	color: var(--heading);
	font-weight: 700;
	margin: 0;
	padding: .8rem 1rem calc(.8rem + env(safe-area-inset-bottom));
	text-align: center;
}

.iws-autohub-image-modal {
	align-items: center;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: clamp(1rem, 4vw, 4rem);
}

.iws-autohub-image-modal figure {
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	height: 100%;
	margin: 0;
	min-height: 0;
	place-items: center;
}

.iws-autohub-image-modal img {
	max-height: calc(100dvh - 9rem);
	object-fit: contain;
	width: auto;
}

.iws-autohub-image-modal figcaption {
	display: grid;
	gap: .25rem;
	padding-top: .75rem;
	text-align: center;
}

.iws-autohub-image-modal figcaption strong {
	color: var(--heading);
}

.iws-autohub-image-modal figcaption span {
	color: var(--text-muted);
	font-size: .75rem;
}

.iws-autohub-image-modal [data-gallery-image-previous] {
	left: max(1rem, env(safe-area-inset-left));
	top: 50%;
}

.iws-autohub-image-modal [data-gallery-image-next] {
	right: max(1rem, env(safe-area-inset-right));
	top: 50%;
}

body.iws-gallery-modal-open {
	overflow: hidden;
}

.iws-autohub-gallery-page button:focus-visible,
.iws-autohub-gallery-page select:focus-visible,
.iws-autohub-gallery-page a:focus-visible {
	outline: 3px solid var(--primary-hover);
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.iws-autohub-gallery-hero-overlay {
		background: linear-gradient(90deg, color-mix(in srgb, var(--bg-primary) 96%, transparent), color-mix(in srgb, var(--bg-primary) 58%, transparent) 68%), linear-gradient(0deg, var(--bg-primary), transparent 46%);
	}
	.iws-autohub-gallery-heading {
		align-items: start;
		grid-template-columns: 1fr;
	}
	.iws-autohub-video-strip button {
		grid-template-columns: 88px auto 1fr;
	}
	.iws-autohub-video-strip img {
		width: 88px;
	}
	.iws-autohub-gallery-toolbar {
		align-items: stretch;
		flex-direction: column;
	}
	.iws-autohub-gallery-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.iws-autohub-gallery-hero {
		min-height: 39rem;
	}
	.iws-autohub-gallery-hero-image {
		object-position: 64% center;
	}
	.iws-autohub-gallery-hero-overlay {
		background: linear-gradient(0deg, var(--bg-primary) 8%, color-mix(in srgb, var(--bg-primary) 82%, transparent) 70%, color-mix(in srgb, var(--bg-primary) 48%, transparent));
	}
	.iws-autohub-gallery-hero h1 {
		font-size: clamp(2.35rem, 10vw, 3.35rem);
	}
	.iws-autohub-gallery-stats {
		width: 100%;
	}
	.iws-autohub-gallery-stats p {
		min-width: 0;
		width: 50%;
	}
	.iws-autohub-featured-video {
		min-height: 31rem;
	}
	.iws-autohub-featured-video > img {
		object-position: center;
	}
	.iws-autohub-video-copy {
		bottom: 1rem;
		left: 1rem;
		right: 1rem;
	}
	.iws-autohub-video-strip {
		grid-template-columns: 1fr;
	}
	.iws-autohub-gallery-tools {
		justify-content: space-between;
	}
	.iws-autohub-gallery-grid,
	.iws-autohub-gallery-grid.is-wide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.iws-autohub-before-after-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
	.iws-autohub-before-after-card {
		flex: 0 0 min(86vw, 430px);
		scroll-snap-align: start;
	}
	.iws-autohub-gallery-cta > div {
		grid-template-columns: 1fr;
	}
	.iws-autohub-gallery-cta > div > div:last-child {
		flex-wrap: wrap;
	}
	.iws-autohub-image-modal {
		grid-template-columns: 1fr;
		padding: 4.5rem 1rem 5rem;
	}
	.iws-autohub-image-modal [data-gallery-image-previous],
	.iws-autohub-image-modal [data-gallery-image-next] {
		bottom: 1rem;
		top: auto;
	}
}

@media (max-width: 520px) {
	.iws-autohub-gallery-shell {
		padding-inline: .8rem;
	}
	.iws-autohub-gallery-stats p {
		grid-template-columns: auto 1fr;
		padding-inline: .7rem;
	}
	.iws-autohub-gallery-stats .dashicons {
		font-size: 1.4rem;
		height: 1.4rem;
		width: 1.4rem;
	}
	.iws-autohub-gallery-stats strong {
		font-size: 1.1rem;
	}
	.iws-autohub-gallery-tools {
		align-items: stretch;
		flex-direction: column;
	}
	.iws-autohub-gallery-tools label {
		justify-content: space-between;
	}
	.iws-autohub-gallery-tools select {
		flex: 1;
	}
	.iws-autohub-gallery-grid,
	.iws-autohub-gallery-grid.is-wide {
		gap: .5rem;
	}
	.iws-autohub-gallery-item figcaption {
		padding: .6rem;
	}
	.iws-autohub-gallery-item figcaption strong {
		font-size: .66rem;
	}
}

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

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

	.iws-js .iws-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/**
 * AutoHubCPT homepage build.
 */

.iws-autohub-site-header {
	background: var(--wp--preset--color--ink);
	border-bottom: 0;
	color: var(--wp--preset--color--base);
	margin-block-end: 0;
	position: relative;
	z-index: 1000;
}

.wp-site-blocks > .iws-autohub-site-header + .iws-autohub-page,
.wp-site-blocks > .iws-site-main.iws-autohub-page {
	margin-block-start: 0;
}

.iws-site-main.iws-autohub-page > .entry-content,
.iws-site-main.iws-autohub-page > .entry-content > .iws-autohub-page {
	margin-block-start: 0;
}

.iws-site-main.iws-autohub-page > .entry-content {
	font-size: var(--wp--preset--font-size--base);
}

.iws-site-main.iws-autohub-page > .entry-content > .iws-autohub-page {
	font-size: var(--wp--preset--font-size--base);
}

.iws-autohub-topbar {
	background: var(--wp--preset--color--studio-blue);
	color: var(--wp--preset--color--base);
	font-size: 0.82rem;
	font-weight: 700;
}

.iws-autohub-topbar-inner {
	gap: 0.75rem 1.4rem;
	min-height: 42px;
}

.iws-autohub-topbar p,
.iws-autohub-mainnav p {
	margin: 0;
}

.iws-autohub-topbar a,
.iws-autohub-footer a {
	color: inherit;
	text-decoration: none;
}

.iws-autohub-topbar a:hover,
.iws-autohub-footer a:hover {
	color: var(--wp--preset--color--base);
	text-decoration: underline;
}

.iws-autohub-mainnav {
	background: rgba(4, 17, 16, 0.94);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.iws-autohub-mainnav-inner {
	gap: 1.25rem;
	min-height: 86px;
}

.iws-autohub-logo img,
.iws-autohub-footer-logo img {
	height: auto;
	object-fit: contain;
}

.iws-autohub-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.iws-autohub-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--digital-teal);
}

.iws-autohub-header-cta .wp-block-button__link,
.iws-autohub-primary .wp-block-button__link,
.iws-button-whatsapp .wp-block-button__link {
	background: var(--wp--preset--color--studio-blue);
	color: var(--wp--preset--color--base);
}

.iws-autohub-secondary .wp-block-button__link {
	background: transparent;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--digital-teal) 72%, white);
	color: var(--wp--preset--color--base);
}

.iws-autohub-page {
	background: var(--wp--preset--color--base);
}

.iws-autohub-page > * {
	margin-block-start: 0;
}

.iws-autohub-hero {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	min-height: clamp(560px, 72vw, 820px);
	overflow: hidden;
	padding: 0;
	position: relative;
}

.iws-autohub-hero-media,
.iws-autohub-hero-overlay,
.iws-autohub-hero-fallback {
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	position: absolute;
	width: 100% !important;
}

.iws-autohub-hero-video,
.iws-autohub-hero-fallback,
.iws-autohub-hero-video video,
.iws-autohub-hero-fallback img {
	height: 100%;
	margin: 0;
	max-width: none;
	width: 100%;
}

.iws-autohub-hero-video video,
.iws-autohub-hero-fallback img {
	object-fit: cover;
}

.iws-autohub-hero .iws-autohub-hero-fallback {
	display: none;
}

.iws-autohub-hero-video,
.iws-autohub-hero-video .wp-block-video {
	margin: 0;
}

.iws-autohub-hero-overlay {
	background:
		linear-gradient(90deg, rgba(4, 17, 16, 0.96) 0%, rgba(4, 17, 16, 0.8) 36%, rgba(4, 17, 16, 0.26) 76%),
		linear-gradient(180deg, rgba(4, 17, 16, 0.25) 0%, rgba(4, 17, 16, 0.82) 100%);
	z-index: 1;
}

.iws-autohub-hero-inner {
	min-height: clamp(560px, 72vw, 820px);
	position: relative;
	z-index: 2;
}

.iws-autohub-hero-content {
	max-width: 680px;
	padding-block: clamp(5rem, 10vw, 9rem);
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.iws-autohub-hero h1 {
	font-size: 5rem;
	font-weight: 900;
	line-height: 1.02;
	margin: 0 0 1.4rem;
	max-width: 100%;
	text-wrap: balance;
	text-transform: uppercase;
}

.iws-autohub-highlight {
	color: var(--wp--preset--color--digital-teal);
	display: block;
}

.iws-autohub-lead {
	max-width: 520px;
}

.iws-autohub-trust-strip {
	background: rgba(2, 12, 12, 0.74);
	border: 1px solid rgba(64, 194, 183, 0.28);
	border-radius: 8px;
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.24);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(2rem, 4vw, 3.5rem);
	overflow: hidden;
	position: relative;
	z-index: 4;
}

.iws-autohub-trust-item {
	align-items: center;
	display: flex;
	gap: 0.9rem;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

.iws-autohub-trust-icon,
.iws-autohub-service-icon,
.iws-autohub-proof-icon {
	align-items: center;
	border: 1px solid var(--wp--preset--color--digital-teal);
	border-radius: 999px;
	color: var(--wp--preset--color--digital-teal);
	display: inline-flex;
	flex: 0 0 auto;
	font-weight: 900;
	height: 3rem;
	justify-content: center;
	width: 3rem;
}

.iws-autohub-trust-item strong,
.iws-autohub-proof-card strong {
	color: var(--wp--preset--color--base);
	display: block;
	font-size: 0.92rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.iws-autohub-trust-item span:not(.iws-autohub-trust-icon) {
	color: color-mix(in srgb, var(--wp--preset--color--base) 78%, transparent);
	font-size: 0.84rem;
}

.iws-autohub-carousel-section {
	background: var(--wp--preset--color--ink);
	padding-block: clamp(3.5rem, 6vw, 6rem);
}

.iws-autohub-carousel {
	position: relative;
}

.iws-autohub-carousel-viewport {
	overflow: hidden;
}

.iws-autohub-carousel-track {
	display: flex;
	gap: 1rem;
	transition: transform 520ms ease;
	will-change: transform;
}

.iws-autohub-carousel-slide {
	border-radius: 8px;
	flex: 0 0 min(78vw, 440px);
	margin: 0;
	overflow: hidden;
}

.iws-autohub-carousel-slide img {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	object-fit: cover;
	width: 100%;
}

.iws-autohub-carousel-controls {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 1.25rem;
}

.iws-autohub-carousel-button {
	background: var(--wp--preset--color--studio-blue);
	border: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	font: inherit;
	font-weight: 900;
	height: 2.75rem;
	width: 2.75rem;
}

.iws-autohub-carousel-dots {
	display: flex;
	gap: 0.45rem;
}

.iws-autohub-carousel-dot {
	background: color-mix(in srgb, var(--wp--preset--color--base) 32%, transparent);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: 0.6rem;
	width: 0.6rem;
}

.iws-autohub-carousel-dot.iws-is-active {
	background: var(--wp--preset--color--digital-teal);
	width: 1.3rem;
}

.iws-autohub-section-heading {
	margin-inline: auto;
	max-width: 760px;
	text-align: center;
}

.iws-autohub-section-heading .iws-eyebrow {
	margin-bottom: 0.35rem;
}

.iws-autohub-services-grid {
	display: grid;
	gap: 1.4rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.iws-autohub-service-card {
	background: var(--wp--preset--color--base);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--line) 72%, white);
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(4, 17, 16, 0.08);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.iws-autohub-service-card:hover {
	box-shadow: 0 24px 60px rgba(4, 17, 16, 0.14);
	transform: translateY(-3px);
}

.iws-autohub-service-card figure {
	margin: 0;
}

.iws-autohub-service-card img {
	aspect-ratio: 1.45 / 1;
	object-fit: cover;
	width: 100%;
}

.iws-autohub-service-body {
	padding: 0 1.35rem 1.4rem;
	position: relative;
}

.iws-autohub-service-icon {
	background: var(--wp--preset--color--studio-blue);
	border-color: color-mix(in srgb, var(--wp--preset--color--base) 42%, transparent);
	color: var(--wp--preset--color--base);
	margin-top: -1.5rem;
}

.iws-autohub-service-card h3 {
	font-size: 1.05rem;
	line-height: 1.25;
	margin-top: 0.8rem;
}

.iws-autohub-learn-more {
	color: var(--wp--preset--color--studio-blue);
	font-size: 0.82rem;
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
}

.iws-autohub-learn-more:hover {
	color: var(--wp--preset--color--ink);
}

.iws-autohub-dark-band {
	background:
		linear-gradient(135deg, rgba(4, 17, 16, 0.96), rgba(3, 36, 33, 0.96)),
		var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
}

.iws-autohub-dark-band p {
	color: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
}

.iws-autohub-proof-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iws-autohub-proof-card {
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	display: grid;
	gap: 0.8rem;
	grid-template-columns: auto 1fr;
	padding: 1.2rem 0;
}

.iws-autohub-before-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iws-autohub-before-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	box-shadow: 0 16px 44px rgba(4, 17, 16, 0.07);
	overflow: hidden;
}

.iws-autohub-before-card img {
	aspect-ratio: 1.55 / 1;
	object-fit: cover;
	width: 100%;
}

.iws-autohub-before-card p {
	margin: 0;
	padding: 1rem;
}

.iws-autohub-process-grid,
.iws-autohub-reviews-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.iws-autohub-process-card,
.iws-autohub-review-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	box-shadow: 0 16px 44px rgba(4, 17, 16, 0.07);
	padding: clamp(1.2rem, 2.4vw, 1.65rem);
}

.iws-autohub-review-card {
	text-align: center;
}

.iws-autohub-stars {
	color: var(--wp--preset--color--signal-gold);
	font-weight: 900;
	margin-bottom: 0.65rem;
}

.iws-autohub-location-grid {
	display: grid;
	gap: 0;
	grid-template-columns: 0.85fr 1.15fr;
	overflow: hidden;
}

.iws-autohub-location-panel {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	padding: clamp(2rem, 5vw, 4rem);
}

.iws-autohub-location-panel p {
	color: color-mix(in srgb, var(--wp--preset--color--base) 82%, transparent);
}

.iws-autohub-location-image figure,
.iws-autohub-location-image img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.iws-autohub-location-image img {
	object-fit: cover;
}

.iws-autohub-faq .iws-faq-item {
	border-radius: 8px;
}

.iws-autohub-final-cta {
	background: var(--wp--preset--color--studio-blue);
	color: var(--wp--preset--color--base);
}

.iws-autohub-final-cta .wp-block-button__link {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
}

.iws-autohub-footer {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--base);
	padding-block: clamp(2.5rem, 6vw, 4.5rem) 1.25rem;
}

.iws-autohub-footer-grid {
	gap: clamp(1.5rem, 4vw, 3rem);
}

.iws-autohub-footer h3 {
	color: var(--wp--preset--color--digital-teal);
	font-size: 0.86rem;
	text-transform: uppercase;
}

.iws-autohub-footer p,
.iws-autohub-footer li {
	color: color-mix(in srgb, var(--wp--preset--color--base) 78%, transparent);
}

.iws-autohub-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.iws-autohub-footer-links li + li {
	margin-top: 0.35rem;
}

.iws-autohub-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	margin-top: clamp(2rem, 5vw, 3rem);
	padding-top: 1rem;
}

@media (max-width: 1200px) {
	.iws-autohub-hero h1 {
		font-size: 4.25rem;
	}
}

@media (max-width: 1024px) {
	.iws-autohub-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iws-autohub-process-grid,
	.iws-autohub-reviews-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iws-autohub-before-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 781px) {
	.iws-autohub-topbar-inner {
		justify-content: center;
		text-align: center;
	}

	.iws-autohub-topbar-inner p:nth-child(n+3) {
		display: none;
	}

	.iws-autohub-mainnav-inner {
		align-items: center;
		min-height: 74px;
	}

	.iws-autohub-header-cta {
		display: none;
	}

	.iws-autohub-hero {
		min-height: auto;
	}

	.iws-autohub-hero-video {
		display: none;
	}

	.iws-autohub-hero .iws-autohub-hero-fallback {
		display: block;
	}

	.iws-autohub-hero-overlay {
		background: linear-gradient(180deg, rgba(4, 17, 16, 0.88) 0%, rgba(4, 17, 16, 0.96) 100%);
	}

	.iws-autohub-hero-inner {
		min-height: auto;
	}

	.iws-autohub-hero-content {
		padding-block: 5rem 7rem;
		padding-inline: 1rem;
	}

	.iws-autohub-hero h1 {
		font-size: 2.2rem;
	}

	.iws-autohub-trust-strip {
		grid-template-columns: 1fr;
		margin-top: -3rem;
	}

	.iws-autohub-carousel-slide {
		flex-basis: 84vw;
	}

	.iws-autohub-services-grid,
	.iws-autohub-proof-grid,
	.iws-autohub-process-grid,
	.iws-autohub-reviews-grid,
	.iws-autohub-location-grid {
		grid-template-columns: 1fr;
	}

	.iws-autohub-location-image img {
		aspect-ratio: 4 / 3;
		height: auto;
	}
}

@media (max-width: 480px) {
	.iws-autohub-logo img {
		max-width: 170px;
	}

	.iws-autohub-hero h1 {
		font-size: 1.9rem;
	}

	.iws-autohub-service-body {
		padding-inline: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iws-autohub-carousel-track,
	.iws-autohub-service-card {
		transition: none;
	}

	.iws-autohub-service-card:hover {
		transform: none;
	}
}

/**
 * AutoHub homepage redesign.
 * Brand tokens are the single source of truth for all customer-facing colour.
 */

@font-face {
	font-display: swap;
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400 700;
	src: url("../fonts/montserrat-latin.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Playfair Display";
	font-style: normal;
	font-weight: 700 800;
	src: url("../fonts/playfair-display-latin.woff2") format("woff2");
}

:root {
	--primary: #35BAC1;
	--primary-hover: #49CCD3;
	--primary-active: #24979D;
	--bg-primary: #0B0F12;
	--bg-secondary: #12181D;
	--bg-section: #1A232B;
	--bg-card: #202B33;
	--border: #2D3B45;
	--heading: #FFFFFF;
	--text: #C9D2D6;
	--text-muted: #8B959C;
	--font-display: "Playfair Display", Georgia, "Times New Roman", serif;
	--font-body: "Montserrat", Arial, Helvetica, sans-serif;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;
	--text-xs: 0.75rem;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 2rem;
	--text-4xl: 2.75rem;
	--text-5xl: 3.75rem;
	--text-6xl: 5rem;
	--wp--preset--color--base: var(--bg-primary);
	--wp--preset--color--ink: var(--heading);
	--wp--preset--color--cloud: var(--bg-secondary);
	--wp--preset--color--line: var(--border);
	--wp--preset--color--studio-blue: var(--primary);
	--wp--preset--color--digital-teal: var(--primary-hover);
	--wp--preset--color--signal-gold: var(--primary);
}

html {
	background: var(--bg-primary);
	scroll-behavior: auto;
	scroll-padding-top: 9rem;
}

body {
	background: var(--bg-primary);
	color: var(--text);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--font-weight-regular);
	line-height: 1.7;
}

body,
.wp-site-blocks {
	overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
	color: var(--heading);
	letter-spacing: 0;
}

h1,
.iws-autohub-page h2 {
	font-family: var(--font-display);
}

.iws-autohub-page h2 {
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.1;
	margin-block: 0.35rem 1rem;
}

.iws-autohub-page h3 {
	font-family: var(--font-body);
	font-size: clamp(1.1rem, 1.5vw, 1.35rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.28;
}

.iws-autohub-page p {
	color: var(--text);
}

.iws-autohub-page a {
	color: var(--primary);
}

.iws-autohub-page a:hover {
	color: var(--primary-hover);
}

.iws-autohub-page a:active {
	color: var(--primary-active);
}

.iws-eyebrow {
	color: var(--primary) !important;
	font-family: var(--font-body);
	font-size: var(--text-xs) !important;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.15em !important;
	line-height: 1.4;
	margin: 0;
	text-transform: uppercase;
}

.iws-autohub-site-header {
	background: var(--bg-primary);
	color: var(--heading);
	font-family: var(--font-body);
	position: relative;
}

.iws-autohub-topbar {
	background: var(--bg-primary);
	border-bottom: 1px solid var(--border);
	color: var(--text);
	font-size: 0.72rem;
	font-weight: var(--font-weight-medium);
}

.iws-autohub-topbar-inner {
	gap: 0;
	min-height: 36px;
}

.iws-autohub-topbar-item {
	align-items: center;
	display: flex;
	gap: 0.45rem;
	padding-inline: 1rem;
	white-space: nowrap;
}

.iws-autohub-topbar-item + .iws-autohub-topbar-item {
	border-left: 1px solid var(--border);
}

.iws-autohub-topbar-item .dashicons {
	color: var(--primary);
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

.iws-autohub-contact-separator {
	color: var(--border);
	margin-inline: 0.15rem;
}

.iws-autohub-topbar a,
.iws-autohub-footer a {
	color: inherit;
}

.iws-autohub-topbar a:hover,
.iws-autohub-footer a:hover {
	color: var(--primary-hover);
	text-decoration: none;
}

.iws-autohub-mainnav {
	background: var(--bg-secondary);
	border-bottom: 1px solid var(--border);
}

.iws-autohub-mainnav-inner {
	gap: clamp(1rem, 2.2vw, 2rem);
	min-height: 90px;
}

.iws-autohub-logo {
	flex: 0 0 auto;
}

.iws-autohub-logo img {
	max-height: 58px;
	width: 225px !important;
}

.iws-autohub-navigation {
	margin-left: auto;
}

.iws-autohub-navigation .wp-block-navigation__container {
	gap: clamp(1.05rem, 2vw, 2rem);
}

.iws-autohub-navigation .wp-block-navigation-item__content {
	color: var(--heading);
	font-family: var(--font-body);
	font-size: 0.76rem;
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.02em;
	padding-block: 0.8rem;
	position: relative;
	text-transform: uppercase;
}

.iws-autohub-navigation .wp-block-navigation-item__content::after {
	background: var(--primary);
	bottom: 0.25rem;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
	width: 100%;
}

.iws-autohub-navigation .wp-block-navigation-item__content:hover,
.iws-autohub-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: var(--primary-hover);
}

.iws-autohub-navigation .wp-block-navigation-item__content:hover::after,
.iws-autohub-navigation .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}

.iws-autohub-header-cta .wp-block-button__link,
.iws-autohub-primary .wp-block-button__link,
.iws-button-whatsapp .wp-block-button__link {
	background: var(--primary);
	border: 2px solid var(--primary);
	border-radius: 6px;
	color: var(--bg-primary);
	font-family: var(--font-body);
	font-size: 0.82rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.03em;
	padding: 0.78rem 1.2rem;
	text-transform: uppercase;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.iws-autohub-header-cta .wp-block-button__link:hover,
.iws-autohub-primary .wp-block-button__link:hover,
.iws-button-whatsapp .wp-block-button__link:hover {
	background: var(--primary-hover);
	border-color: var(--primary-hover);
	color: var(--bg-primary);
	transform: translateY(-1px);
}

.iws-autohub-header-cta .wp-block-button__link:active,
.iws-autohub-primary .wp-block-button__link:active,
.iws-button-whatsapp .wp-block-button__link:active {
	background: var(--primary-active);
	border-color: var(--primary-active);
	transform: translateY(0);
}

.iws-autohub-secondary .wp-block-button__link {
	background: transparent;
	border: 2px solid var(--primary);
	border-radius: 6px;
	color: var(--heading);
	font-family: var(--font-body);
	font-size: 0.82rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.03em;
	padding: 0.78rem 1.2rem;
	text-transform: uppercase;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.iws-autohub-secondary .wp-block-button__link:hover {
	background: var(--primary);
	color: var(--bg-primary);
	transform: translateY(-1px);
}

.iws-autohub-page {
	background: var(--bg-primary);
	color: var(--text);
}

.iws-autohub-page > * {
	margin-block: 0;
}

.iws-js .iws-autohub-page .iws-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

.iws-autohub-hero {
	background: var(--bg-primary);
	border-bottom: 1px solid var(--border);
	color: var(--heading);
	min-height: clamp(520px, 38vw, 600px);
	overflow: hidden;
	padding: 0;
	position: relative;
}

.iws-autohub-hero-media {
	bottom: 0;
	height: 100%;
	left: auto !important;
	margin: 0 !important;
	max-width: none !important;
	position: absolute;
	right: 0;
	top: 0;
	width: 62% !important;
}

.iws-autohub-hero-video,
.iws-autohub-hero-video video,
.iws-autohub-hero-fallback,
.iws-autohub-hero-fallback img {
	height: 100%;
	margin: 0;
	max-width: none;
	width: 100%;
}

.iws-autohub-hero-video video,
.iws-autohub-hero-fallback img {
	object-fit: cover;
	object-position: 50% 34%;
}

.iws-autohub-hero .iws-autohub-hero-fallback {
	display: none;
}

.iws-autohub-hero-overlay {
	background: rgba(11, 15, 18, 0.26);
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	position: absolute;
	width: 100% !important;
	z-index: 1;
}

.iws-autohub-hero::after {
	background: var(--bg-primary);
	content: "";
	height: 100%;
	left: 0;
	opacity: 0.96;
	position: absolute;
	top: 0;
	width: 43%;
	z-index: 1;
}

.iws-autohub-hero-inner {
	align-items: flex-start !important;
	min-height: clamp(520px, 38vw, 600px);
	position: relative;
	z-index: 2;
}

.iws-autohub-hero-content {
	margin-left: 0 !important;
	max-width: 620px;
	padding-block: clamp(3rem, 4vw, 4rem);
	padding-inline: 0;
}

.iws-autohub-hero h1 {
	color: var(--heading);
	font-family: var(--font-display);
	font-size: clamp(2.75rem, 4.4vw, 4.4rem);
	font-weight: var(--font-weight-extrabold);
	line-height: 1.02;
	margin: 0 0 1.35rem;
	max-width: 760px;
	text-transform: uppercase;
}

.iws-autohub-highlight {
	color: var(--primary);
}

.iws-autohub-hero .iws-autohub-highlight {
	display: block;
}

.iws-autohub-lead {
	color: var(--text) !important;
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.65;
	margin-bottom: 1.75rem;
	max-width: 540px;
}

.iws-autohub-video-control {
	align-items: center;
	background: rgba(11, 15, 18, 0.8);
	border: 1px solid var(--primary);
	border-radius: 50%;
	color: var(--heading);
	cursor: pointer;
	display: flex;
	height: 3.5rem;
	justify-content: center;
	position: absolute;
	right: clamp(1.5rem, 16vw, 15rem);
	top: 50%;
	transform: translateY(-50%);
	width: 3.5rem;
	z-index: 3;
}

.iws-autohub-video-control:hover {
	background: var(--primary);
	color: var(--bg-primary);
}

.iws-autohub-carousel-section {
	background: var(--bg-primary);
	padding-block: 0 clamp(2.5rem, 4vw, 4rem);
}

.iws-autohub-carousel {
	margin-top: 0;
	padding-top: 0.5rem;
	position: relative;
}

.iws-autohub-carousel-viewport {
	overflow: hidden;
}

.iws-autohub-carousel-track {
	display: flex;
	gap: 0.65rem;
	transition: transform 520ms ease;
	will-change: transform;
}

.iws-autohub-carousel-slide {
	border: 1px solid var(--border);
	border-radius: 0;
	flex: 0 0 calc((100% - 2.6rem) / 5);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.iws-autohub-carousel-slide img {
	aspect-ratio: 1.38 / 1;
	border-radius: 0;
	display: block;
	object-fit: cover;
	transition: transform 300ms ease;
	width: 100%;
}

.iws-autohub-carousel-slide:hover {
	border-color: var(--primary);
}

.iws-autohub-carousel-slide:hover img {
	transform: scale(1.035);
}

.iws-autohub-carousel-slide figcaption {
	background: rgba(11, 15, 18, 0.84);
	bottom: 0;
	color: var(--heading);
	font-size: 0.7rem;
	font-weight: var(--font-weight-bold);
	left: 0;
	margin: 0;
	padding: 0.65rem 0.8rem;
	position: absolute;
	text-transform: uppercase;
	width: 100%;
}

.iws-autohub-carousel-controls {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 1rem;
}

.iws-autohub-carousel-button {
	align-items: center;
	background: var(--primary);
	border: 0;
	border-radius: 50%;
	color: var(--bg-primary);
	cursor: pointer;
	display: inline-flex;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}

.iws-autohub-carousel-button:hover {
	background: var(--primary-hover);
}

.iws-autohub-carousel-dots {
	display: flex;
	gap: 0.38rem;
}

.iws-autohub-carousel-dot {
	background: var(--border);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	height: 0.48rem;
	padding: 0;
	width: 0.48rem;
}

.iws-autohub-carousel-dot.iws-is-active {
	background: var(--primary);
	width: 1.15rem;
}

.iws-autohub-trust-strip {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	overflow: visible;
}

.iws-autohub-trust-item {
	align-items: center;
	border-left: 1px solid var(--border);
	display: flex;
	gap: 0.85rem;
	margin: 0;
	padding: 0.5rem clamp(1rem, 2vw, 1.5rem);
}

.iws-autohub-trust-item:first-child {
	border-left: 0;
}

.iws-autohub-trust-icon,
.iws-autohub-service-icon,
.iws-autohub-proof-icon {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--primary);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 2rem;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}

.iws-autohub-trust-item strong,
.iws-autohub-proof-card strong {
	color: var(--heading);
	display: block;
	font-size: 0.82rem;
	font-weight: var(--font-weight-bold);
	line-height: 1.3;
	text-transform: uppercase;
}

.iws-autohub-trust-item span:not(.dashicons) {
	color: var(--text-muted);
	font-size: 0.74rem;
	line-height: 1.45;
}

.iws-section {
	padding-block: clamp(3rem, 4.5vw, 4.5rem);
}

.iws-autohub-services-section {
	background: var(--bg-secondary);
	border-top: 1px solid var(--border);
}

.iws-autohub-section-heading {
	margin-inline: auto;
	margin-bottom: clamp(1.75rem, 3vw, 2.35rem);
	max-width: 760px;
	text-align: center;
}

.iws-autohub-section-heading > p:last-child {
	margin-inline: auto;
	max-width: 680px;
}

.iws-autohub-services-grid {
	align-items: stretch;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(8, minmax(0, 1fr));
}

/* WordPress flow layouts add margins to later children. Grid gap owns spacing here. */
.iws-autohub-services-grid > *,
.iws-autohub-proof-grid > *,
.iws-autohub-before-grid > *,
.iws-autohub-reviews-grid > *,
.iws-autohub-process-grid > * {
	box-sizing: border-box;
	height: 100%;
	margin-block: 0 !important;
	min-width: 0;
}

.iws-autohub-service-card {
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 3px;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	padding: 0;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
	grid-column: span 2;
}

.iws-autohub-service-card[data-service-url] {
	cursor: pointer;
}

.iws-autohub-service-card[data-service-url]:focus-visible {
	border-color: var(--primary-hover);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 45%, transparent);
	outline: 0;
}

.iws-autohub-service-card:nth-child(5) {
	grid-column: 2 / span 2;
}

.iws-autohub-service-card:hover {
	border-color: var(--primary);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.24);
	transform: translateY(-3px);
}

.iws-autohub-service-card figure {
	margin: 0;
	overflow: hidden;
}

.iws-autohub-service-card img {
	aspect-ratio: 2.15 / 1;
	display: block;
	object-fit: cover;
	transition: transform 300ms ease;
	width: 100%;
}

.iws-autohub-service-card:hover img {
	transform: scale(1.035);
}

.iws-autohub-service-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.45rem 1rem 1rem;
	position: relative;
}

.iws-autohub-service-body > .iws-autohub-service-icon {
	background: var(--primary);
	border: 0;
	border-radius: 50%;
	color: var(--bg-primary);
	font-size: 1.2rem;
	height: 2.4rem;
	left: 1rem;
	margin: 0;
	position: absolute;
	top: -1.2rem;
	width: 2.4rem;
}

.iws-autohub-service-card h3 {
	font-size: 1.05rem;
	line-height: 1.3;
	margin: 0.45rem 0 0.65rem;
	min-height: 2.6em;
}

.iws-autohub-service-card p {
	color: var(--text);
	font-size: 0.82rem;
	line-height: 1.48;
	margin-block: 0 1rem;
}

.iws-autohub-service-card p:last-child {
	margin-top: auto;
	margin-bottom: 0;
}

.iws-autohub-learn-more {
	color: var(--primary) !important;
	font-size: 0.72rem;
	font-weight: var(--font-weight-bold);
	text-decoration: none;
	text-transform: uppercase;
}

.iws-autohub-learn-more:hover {
	color: var(--primary-hover) !important;
}

.iws-autohub-dark-band {
	background: var(--bg-primary);
	border-block: 1px solid var(--border);
	color: var(--heading);
}

.iws-autohub-dark-band p {
	color: var(--text);
}

.iws-autohub-dark-band .iws-split {
	gap: clamp(2.5rem, 6vw, 6rem);
}

.iws-autohub-proof-grid {
	display: grid;
	gap: 0.6rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iws-autohub-proof-card {
	background: var(--bg-secondary);
	border: 1px solid var(--border);
	border-radius: 3px;
	display: grid;
	gap: 1rem;
	grid-template-columns: auto 1fr;
	margin: 0;
	padding: 1.2rem;
}

.iws-autohub-proof-card span:last-child {
	color: var(--text);
	font-size: 0.82rem;
	line-height: 1.55;
}

.iws-autohub-before-section {
	background: var(--bg-section);
}

.iws-autohub-before-grid {
	align-items: stretch;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 1.4rem;
}

.iws-autohub-before-card {
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 3px;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.iws-autohub-before-pair {
	display: grid;
	flex: 1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iws-autohub-before-pair figure {
	margin: 0;
	overflow: hidden;
	position: relative;
}

.iws-autohub-before-pair figure + figure {
	border-left: 1px solid var(--border);
}

.iws-autohub-before-pair img {
	aspect-ratio: 1.35 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 300ms ease;
	width: 100%;
}

.iws-autohub-before-card:hover img {
	transform: scale(1.03);
}

.iws-autohub-before-pair span {
	background: var(--primary);
	bottom: 0.55rem;
	color: var(--bg-primary);
	font-size: 0.65rem;
	font-weight: var(--font-weight-bold);
	padding: 0.25rem 0.5rem;
	position: absolute;
	right: 0.55rem;
	text-transform: uppercase;
}

.iws-autohub-before-card > p {
	align-items: center;
	color: var(--heading);
	display: flex;
	justify-content: center;
	margin: 0;
	min-height: 4rem;
	padding: 0.85rem 1rem;
	text-align: center;
}

.iws-autohub-reviews-section {
	background: var(--bg-secondary);
	border-top: 1px solid var(--border);
}

.iws-autohub-reviews-grid {
	align-items: stretch;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iws-autohub-review-card {
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 3px;
	box-shadow: none;
	display: grid;
	grid-template-rows: auto minmax(4.2rem, auto) auto auto;
	justify-items: center;
	padding: clamp(1.4rem, 3vw, 2rem);
	text-align: center;
}

.iws-autohub-quote-icon {
	align-items: center;
	background: var(--primary);
	border-radius: 50%;
	color: var(--bg-primary);
	display: inline-flex;
	height: 2.5rem;
	justify-content: center;
	margin-bottom: 1rem;
	margin-top: 0;
	width: 2.5rem;
}

.iws-autohub-review-card > p {
	font-size: 0.9rem;
	margin-block: 0 0.8rem;
}

.iws-autohub-review-card > p:last-child {
	color: var(--heading);
	margin-bottom: 0;
}

.iws-autohub-stars {
	color: var(--primary) !important;
	line-height: 1;
}

.iws-autohub-stars .dashicons {
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

@media (max-width: 600px) {
	.iws-autohub-service-card h3,
	.iws-autohub-before-card > p {
		min-height: 0;
	}

	.iws-autohub-review-card {
		grid-template-rows: auto auto auto auto;
	}
}

.iws-autohub-contact-section {
	background: var(--bg-primary);
	border-top: 1px solid var(--border);
}

.iws-autohub-contact-grid {
	gap: 1rem;
}

.iws-autohub-faq,
.iws-autohub-location-grid {
	height: 100%;
}

.iws-autohub-faq {
	background: var(--bg-secondary);
	border: 1px solid var(--border);
	padding: 1.4rem;
}

.iws-autohub-faq .iws-eyebrow {
	margin-bottom: 1rem;
}

.iws-autohub-faq .iws-faq-item {
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 0;
	color: var(--heading);
	margin-block: 0.5rem;
	padding: 0;
}

.iws-autohub-faq .iws-faq-item summary {
	color: var(--heading);
	font-size: 0.82rem;
	font-weight: var(--font-weight-semibold);
	padding: 0.8rem 2.2rem 0.8rem 0.9rem;
}

.iws-autohub-faq .iws-faq-item p {
	color: var(--text);
	font-size: 0.82rem;
	padding: 0 0.9rem 0.9rem;
}

.iws-autohub-location-grid {
	background: var(--bg-section);
	border: 1px solid var(--border);
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	overflow: hidden;
}

.iws-autohub-location-panel {
	background: var(--bg-section);
	color: var(--heading);
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
}

.iws-autohub-location-panel h2 {
	font-size: clamp(1.8rem, 3vw, 2.65rem);
}

.iws-autohub-location-panel p {
	color: var(--text);
	font-size: 0.82rem;
	line-height: 1.65;
}

.iws-autohub-location-panel .dashicons {
	color: var(--primary);
	font-size: 1rem;
	height: 1rem;
	width: 1rem;
}

.iws-autohub-location-image,
.iws-autohub-location-image a,
.iws-autohub-location-image img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.iws-autohub-location-image img {
	display: block;
	object-fit: cover;
}

.iws-autohub-final-cta {
	background: var(--bg-section);
	border-block: 1px solid var(--border);
	color: var(--heading);
	overflow: hidden;
}

.iws-autohub-cta-grid {
	gap: clamp(2rem, 6vw, 5rem);
	margin-block: 0;
}

.iws-autohub-cta-grid figure,
.iws-autohub-cta-grid img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.iws-autohub-cta-grid img {
	display: block;
	min-height: 220px;
	object-fit: cover;
}

.iws-autohub-cta-grid h2 {
	font-family: var(--font-display);
	font-size: clamp(2rem, 3.4vw, 3.25rem);
	margin-bottom: 0.45rem;
	text-transform: uppercase;
}

.iws-autohub-cta-grid p {
	color: var(--text);
	font-size: var(--text-lg);
	margin-top: 0;
}

.iws-autohub-footer {
	background: var(--bg-primary);
	border-top: 0;
	color: var(--text);
	font-family: var(--font-body);
	padding-block: clamp(2.5rem, 5vw, 4rem) 1.25rem;
}

.iws-autohub-footer-grid {
	gap: clamp(1.5rem, 4vw, 3rem);
}

.iws-autohub-footer h3 {
	color: var(--primary);
	font-family: var(--font-body);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.iws-autohub-footer p,
.iws-autohub-footer li {
	color: var(--text-muted);
	font-size: 0.8rem;
}

.iws-autohub-footer-bottom {
	border-color: var(--border);
}

.iws-back-to-top {
	background: var(--primary);
	color: var(--bg-primary);
}

.iws-back-to-top:hover {
	background: var(--primary-hover);
}

@media (max-width: 1120px) {
	.iws-autohub-topbar-item {
		padding-inline: 0.65rem;
	}

	.iws-autohub-topbar-item:nth-child(3) {
		display: none;
	}

	.iws-autohub-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iws-autohub-service-card,
	.iws-autohub-service-card:nth-child(5) {
		grid-column: auto;
	}

	.iws-autohub-carousel-slide {
		flex-basis: calc((100% - 1.3rem) / 3);
	}
}

@media (max-width: 900px) {
	.iws-autohub-mainnav-inner {
		flex-wrap: nowrap;
	}

	.iws-autohub-header-cta {
		display: none !important;
	}

	.iws-autohub-hero::after {
		width: 52%;
	}

	.iws-autohub-hero-media {
		width: 62% !important;
	}

	.iws-autohub-hero h1 {
		font-size: clamp(2.7rem, 7vw, 4rem);
	}

	.iws-autohub-proof-grid,
	.iws-autohub-before-grid,
	.iws-autohub-reviews-grid {
		grid-template-columns: 1fr;
	}

	.iws-autohub-before-pair img {
		aspect-ratio: 1.35 / 1;
	}

	.iws-autohub-contact-grid {
		flex-wrap: wrap !important;
	}

	.iws-autohub-contact-grid > .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media (max-width: 781px) {
	html {
		scroll-padding-top: 5rem;
	}

	.iws-autohub-topbar-inner {
		flex-wrap: nowrap !important;
		justify-content: center;
	}

	.iws-autohub-topbar-item {
		display: none;
	}

	.iws-autohub-topbar-item:first-child {
		border: 0;
		display: flex;
	}

	.iws-autohub-mainnav-inner {
		min-height: 72px;
	}

	.iws-autohub-logo img {
		max-height: 46px;
		width: 180px !important;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--bg-secondary);
		color: var(--heading);
		padding: 1.5rem;
	}

	.iws-autohub-navigation .wp-block-navigation__responsive-container-close,
	.iws-autohub-navigation .wp-block-navigation__responsive-container-open {
		color: var(--heading);
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		background: var(--bg-secondary) !important;
		color: var(--heading) !important;
		height: 100dvh !important;
		inset: 0 !important;
		padding: 1.5rem !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		padding-top: 4rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: flex-start;
		gap: 0.65rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		color: var(--heading) !important;
		font-size: 1rem;
		padding-block: 0.55rem;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		align-items: center;
		background: var(--primary);
		border-radius: 50%;
		color: var(--heading) !important;
		display: flex;
		height: 2.75rem;
		justify-content: center;
		right: 1rem;
		top: 1rem;
		width: 2.75rem;
	}

	.iws-autohub-hero,
	.iws-autohub-hero-inner {
		min-height: 630px;
	}

	.iws-autohub-hero-media {
		display: block;
		inset: 0;
		width: 100% !important;
	}

	.iws-autohub-hero-video {
		display: block;
	}

	.iws-autohub-hero-video video {
		object-position: 50% 35%;
	}

	.iws-autohub-hero-overlay {
		background: rgba(11, 15, 18, 0.72);
	}

	.iws-autohub-hero::after {
		display: none;
	}

	.iws-autohub-hero-content {
		padding: 5rem 1rem 4rem;
		width: 100%;
	}

	.iws-autohub-hero h1 {
		font-size: clamp(2.25rem, 10vw, 3.25rem);
		line-height: 1.04;
	}

	.iws-autohub-lead {
		font-size: 1rem;
	}

	.iws-autohub-video-control {
		bottom: 1.25rem;
		right: 1.25rem;
		top: auto;
		transform: none;
	}

	.iws-autohub-trust-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iws-autohub-trust-item,
	.iws-autohub-trust-item:first-child {
		border-left: 1px solid var(--border);
		border-top: 1px solid var(--border);
		padding-block: 0.9rem;
	}

	.iws-autohub-carousel-slide {
		flex-basis: calc((100% - 0.65rem) / 2);
	}

	.iws-autohub-services-grid,
	.iws-autohub-proof-grid,
	.iws-autohub-location-grid {
		grid-template-columns: 1fr;
	}

	.iws-autohub-dark-band .iws-split {
		gap: 2rem;
	}

	.iws-autohub-location-image img {
		aspect-ratio: 16 / 10;
		height: auto;
	}

	.iws-autohub-cta-grid {
		gap: 0;
	}

	.iws-autohub-cta-grid > .wp-block-column:last-child {
		padding: 2rem 0 2.5rem;
	}
}

@media (max-width: 520px) {
	.iws-autohub-topbar-item:first-child {
		font-size: 0.66rem;
		gap: 0.3rem;
		padding-inline: 0;
	}

	.iws-autohub-logo img {
		width: 160px !important;
	}

	.iws-autohub-hero,
	.iws-autohub-hero-inner {
		min-height: 600px;
	}

	.iws-autohub-hero .wp-block-buttons,
	.iws-autohub-final-cta .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
	}

	.iws-autohub-hero .wp-block-button,
	.iws-autohub-final-cta .wp-block-button {
		width: 100%;
	}

	.iws-autohub-hero .wp-block-button__link,
	.iws-autohub-final-cta .wp-block-button__link {
		text-align: center;
		width: 100%;
	}

	.iws-autohub-carousel-slide {
		flex-basis: 84vw;
	}

	.iws-autohub-carousel-dots {
		display: none;
	}

	.iws-back-to-top {
		display: none !important;
	}

	.iws-autohub-trust-strip {
		grid-template-columns: 1fr;
	}

	.iws-autohub-trust-item {
		border-left: 0;
	}

	.iws-section {
		padding-block: 3.75rem;
	}

	.iws-autohub-services-grid {
		grid-template-columns: 1fr;
	}

	.iws-autohub-service-card img {
		aspect-ratio: 1.6 / 1;
	}

	.iws-autohub-before-pair img {
		aspect-ratio: 1 / 0.9;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iws-autohub-carousel-track,
	.iws-autohub-service-card,
	.iws-autohub-service-card img,
	.iws-autohub-carousel-slide img,
	.iws-autohub-before-card img {
		transition: none;
	}
}


/* AutoHub Car Care Journal */
.iws-autohub-blog-page .iws-site-main,
.iws-autohub-blog-page .iws-content-area {
	max-width: none !important;
	padding: 0 !important;
	width: 100%;
}

.iws-autohub-blog-page .iws-page-header,
.iws-autohub-blog-page .wp-block-post-title {
	display: none;
}

.iws-autohub-blog-page .iws-site-main,
.iws-autohub-blog-page .iws-content-area,
.iws-autohub-blog-page .iws-autohub-blog {
	margin-block: 0 !important;
}

.iws-autohub-blog {
	background: var(--bg-primary);
	color: var(--text);
	font-family: var(--font-body);
	overflow: clip;
}

.iws-blog-container {
	margin-inline: auto;
	max-width: 1320px;
	padding-inline: clamp(1rem, 3vw, 2rem);
	width: 100%;
}

.iws-blog-hero {
	background-color: var(--bg-primary);
	background-image: linear-gradient(90deg, var(--bg-primary) 0%, color-mix(in srgb, var(--bg-primary) 90%, transparent) 40%, color-mix(in srgb, var(--bg-primary) 24%, transparent) 72%), var(--iws-blog-hero);
	background-position: center;
	background-size: cover;
	border-bottom: 1px solid var(--border);
	min-height: clamp(34rem, 54vw, 44rem);
}

.iws-blog-hero__inner {
	align-items: flex-start;
	display: flex;
	min-height: clamp(34rem, 54vw, 44rem);
}

.iws-blog-hero__copy {
	max-width: 760px;
	padding-block: clamp(3rem, 5vw, 5rem);
}

.iws-blog-eyebrow {
	color: var(--primary);
	font-size: var(--text-sm, .875rem);
	font-weight: var(--font-weight-bold, 700);
	letter-spacing: .14em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.iws-blog-hero h1,
.iws-blog-section-heading h2,
.iws-blog-cta h2 {
	color: var(--heading);
	font-family: var(--font-display);
	font-weight: var(--font-weight-bold, 700);
	letter-spacing: 0;
}

.iws-blog-hero h1 {
	font-size: clamp(3rem, 6vw, 5.5rem);
	line-height: 1.02;
	margin: 0 0 1.35rem;
}

.iws-blog-hero h1 span,
.iws-blog-cta h2 span {
	color: var(--primary);
}

.iws-blog-lead {
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.7;
	margin: 0;
	max-width: 650px;
}

.iws-blog-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .9rem;
	margin-top: 2rem;
}

.iws-blog-button {
	align-items: center;
	border: 2px solid var(--primary);
	border-radius: 8px;
	display: inline-flex;
	font-size: .9rem;
	font-weight: var(--font-weight-bold, 700);
	justify-content: center;
	letter-spacing: .03em;
	min-height: 3.5rem;
	padding: .85rem 1.4rem;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.iws-blog-button--primary {
	background: var(--primary);
	color: var(--bg-primary) !important;
}

.iws-blog-button--secondary {
	background: transparent;
	color: var(--heading) !important;
}

.iws-blog-button:hover,
.iws-blog-button:focus-visible {
	background: var(--primary-hover);
	border-color: var(--primary-hover);
	color: var(--bg-primary) !important;
	transform: translateY(-2px);
}

.iws-blog-topics,
.iws-blog-latest,
.iws-blog-cta {
	padding-block: clamp(4rem, 7vw, 7rem);
}

.iws-blog-topics {
	background: var(--bg-secondary);
}

.iws-blog-section-heading {
	align-items: end;
	display: grid;
	gap: clamp(1.5rem, 5vw, 5rem);
	grid-template-columns: 1.2fr .8fr;
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.iws-blog-section-heading--compact {
	grid-template-columns: 1fr;
}

.iws-blog-section-heading h2,
.iws-blog-cta h2 {
	font-size: clamp(2.1rem, 4vw, 3.6rem);
	line-height: 1.1;
	margin: 0;
}

.iws-blog-section-heading > p,
.iws-blog-cta p {
	line-height: 1.7;
	margin: 0;
}

.iws-blog-topic-grid,
.iws-blog-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.iws-blog-topic {
	aspect-ratio: 4 / 5;
	border: 1px solid var(--border);
	color: var(--heading) !important;
	display: block;
	min-height: 0;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.iws-blog-topic img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: transform .45s ease;
	width: 100%;
}

.iws-blog-topic__overlay {
	background: linear-gradient(180deg, color-mix(in srgb, var(--bg-primary) 4%, transparent), color-mix(in srgb, var(--bg-primary) 94%, transparent));
	inset: 0;
	position: absolute;
}

.iws-blog-topic__content {
	display: flex;
	flex-direction: column;
	inset: auto 0 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	position: absolute;
}

.iws-blog-topic small {
	color: var(--primary);
	font-size: .75rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .12em;
}

.iws-blog-topic strong {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	line-height: 1.3;
	margin-block: .7rem 1.25rem;
}

.iws-blog-topic em {
	color: var(--primary);
	font-size: .86rem;
	font-style: normal;
	font-weight: 700;
}

.iws-blog-topic:hover img,
.iws-blog-topic:focus-visible img {
	transform: scale(1.035);
}

.iws-blog-topic:hover,
.iws-blog-topic:focus-visible,
.iws-blog-card:hover {
	border-color: var(--primary);
}

.iws-blog-latest {
	background: var(--bg-section);
}

.iws-blog-card {
	background: var(--bg-card);
	border: 1px solid var(--border);
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	min-width: 0;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.iws-blog-card:hover {
	box-shadow: 0 18px 35px color-mix(in srgb, var(--bg-primary) 55%, transparent);
	transform: translateY(-4px);
}

.iws-blog-card__media {
	aspect-ratio: 16 / 10;
	background: var(--bg-secondary);
	display: block;
	overflow: hidden;
}

.iws-blog-card__media img {
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
	width: 100%;
}

.iws-blog-card:hover .iws-blog-card__media img {
	transform: scale(1.025);
}

.iws-blog-card__fallback {
	background: linear-gradient(135deg, var(--bg-card), var(--bg-secondary));
	display: block;
	height: 100%;
	width: 100%;
}

.iws-blog-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.5rem;
}

.iws-blog-card__meta {
	color: var(--text-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: .72rem;
	font-weight: 600;
	gap: .45rem .9rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.iws-blog-card__meta span:first-child {
	color: var(--primary);
}

.iws-blog-card h2 {
	font-family: var(--font-body);
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.3;
	margin: 1rem 0 .75rem;
}

.iws-blog-card h2 a {
	color: var(--heading);
	text-decoration: none;
}

.iws-blog-card p {
	font-size: .92rem;
	line-height: 1.65;
	margin: 0 0 1.5rem;
}

.iws-blog-text-link {
	color: var(--primary) !important;
	font-size: .82rem;
	font-weight: 700;
	margin-top: auto;
	text-decoration: none;
	text-transform: uppercase;
}

.iws-blog-empty {
	align-items: center;
	background: var(--bg-card);
	border: 1px solid var(--border);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: auto 1fr auto;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.iws-blog-empty__mark {
	align-items: center;
	border: 2px solid var(--primary);
	border-radius: 50%;
	color: var(--primary);
	display: flex;
	font-family: var(--font-display);
	font-size: 1.6rem;
	font-weight: 800;
	height: 4rem;
	justify-content: center;
	width: 4rem;
}

.iws-blog-empty h3 {
	color: var(--heading);
	font-size: 1.25rem;
	margin: 0 0 .45rem;
}

.iws-blog-empty p {
	margin: 0;
}

.iws-blog-cta {
	background: var(--bg-secondary);
	border-top: 1px solid var(--border);
}

.iws-blog-cta__inner {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 6vw, 5rem);
	grid-template-columns: 1.25fr auto;
}

.iws-blog-cta .iws-blog-actions {
	margin-top: 0;
}

@media (max-width: 960px) {
	.iws-blog-section-heading,
	.iws-blog-cta__inner {
		grid-template-columns: 1fr;
	}

	.iws-blog-topic-grid,
	.iws-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.iws-blog-topic:last-child {
		grid-column: 1 / -1;
		aspect-ratio: 2 / 1;
	}
}

@media (max-width: 640px) {
	.iws-blog-hero {
		background-image: linear-gradient(color-mix(in srgb, var(--bg-primary) 84%, transparent), color-mix(in srgb, var(--bg-primary) 92%, transparent)), var(--iws-blog-hero);
		background-position: 62% center;
	}

	.iws-blog-hero h1 {
		font-size: clamp(2.5rem, 13vw, 3.5rem);
	}

	.iws-blog-topic-grid,
	.iws-blog-grid {
		grid-template-columns: 1fr;
	}

	.iws-blog-topic,
	.iws-blog-topic:last-child {
		aspect-ratio: 4 / 4.5;
		grid-column: auto;
	}

	.iws-blog-empty {
		grid-template-columns: 1fr;
	}

	.iws-blog-actions,
	.iws-blog-button {
		width: 100%;
	}

	.iws-blog-button {
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iws-blog-button,
	.iws-blog-topic img,
	.iws-blog-card,
	.iws-blog-card__media img {
		transition: none;
	}
}


/* AutoHub journal navigation alignment */
@media (min-width: 1201px) {
	.iws-autohub-mainnav-inner { flex-wrap: nowrap !important; gap: .75rem; }
	.iws-autohub-logo img { width: 190px !important; }
	.iws-autohub-navigation .wp-block-navigation__container { gap: .8rem; }
	.iws-autohub-header-cta .wp-block-button__link { font-size: .72rem; padding: .7rem .85rem; white-space: nowrap; }
}
@media (min-width: 901px) and (max-width: 1200px) {
	.iws-autohub-mainnav-inner { flex-wrap: nowrap !important; gap: .65rem; }
	.iws-autohub-logo img { width: 180px !important; }
	.iws-autohub-navigation .wp-block-navigation__container { gap: .6rem; }
	.iws-autohub-navigation .wp-block-navigation-item__content { font-size: .68rem; }
	.iws-autohub-header-cta { display: none !important; }
}


/* AutoHub compact navigation through tablet */
@media (max-width: 1200px) {
	.iws-autohub-mainnav-inner { flex-wrap: nowrap !important; }
	.iws-autohub-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.iws-autohub-navigation .wp-block-navigation__responsive-container-open { color: var(--heading); display: flex !important; }
	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open { background: var(--bg-secondary); color: var(--heading); display: flex !important; height: 100dvh; inset: 0; padding: 1.5rem; }
	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; }
	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; }
	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .65rem; }
	.iws-autohub-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--heading) !important; font-size: 1rem; padding-block: .55rem; }
}
