/* ============================================================
   Swift Tree & Landscape — Layout & Section Styles
   Loaded alongside brand-tokens.css. Provides all section,
   header, footer, card, and FAQ layout.
   ============================================================ */

/* ---------- Reset bits ---------- */
* { box-sizing: border-box; }
html, body { overflow-x: hidden; max-width: 100%; }
.site-main { display: block; max-width: 100vw; overflow-x: clip; }

/* Defensive: any section using decorative shapes must clip them at section edge
   so they never trigger horizontal page scroll on mobile. */
.swift-has-shapes { overflow: hidden; max-width: 100%; }
.swift-has-shapes > .swift-shape { max-width: 100%; }

/* iframes shouldn't overflow their parent at any viewport */
iframe { max-width: 100%; }

/* Elementor-injected content (renders below the custom flagship sections on every page) */
.swift-elementor-content { padding: clamp(40px, 5vw, 80px) 0; }
.swift-elementor-content:empty { display: none; }
.swift-elementor-content > .swift-container > .elementor { width: 100%; }

/* ---------- Override Hello Elementor's narrow max-width wrappers ----------
   Hello Elementor caps .site-main, .site-header .header-inner, and .site-footer .footer-inner
   at 3 separate media query breakpoints (768px, 992px, 1200px). Override all of them so
   our own .swift-container controls the inner width consistently. */
@media (min-width: 768px) {
	.page-header .entry-title,
	.site-footer .footer-inner,
	.site-footer:not(.dynamic-footer),
	.site-header .header-inner,
	.site-header:not(.dynamic-header),
	body:not([class*="elementor-page-"]) .site-main {
		max-width: 100% !important;
	}
}
@media (min-width: 992px) {
	.page-header .entry-title,
	.site-footer .footer-inner,
	.site-footer:not(.dynamic-footer),
	.site-header .header-inner,
	.site-header:not(.dynamic-header),
	body:not([class*="elementor-page-"]) .site-main {
		max-width: 100% !important;
	}
}
@media (min-width: 1200px) {
	.page-header .entry-title,
	.site-footer .footer-inner,
	.site-footer:not(.dynamic-footer),
	.site-header .header-inner,
	.site-header:not(.dynamic-header),
	body:not([class*="elementor-page-"]) .site-main {
		max-width: 100% !important;
	}
}
body:not([class*="elementor-page-"]) .site-main { padding: 0 !important; }
.site-header:not(.dynamic-header),
.site-footer:not(.dynamic-footer) { padding: 0 !important; }

/* ---------- Container ---------- */
.swift-container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 32px;
}
.swift-container-narrow { max-width: 820px; }
.swift-center { text-align: center; }
@media (max-width: 767px) {
	.swift-container { padding: 0 20px; }
}

/* ============================================================
   HEADER
   ============================================================ */

/* Floating-pill header (Growmile-style)
   - Fixed-position rounded pill constrained to the container max-width
   - Centered horizontally; cream margin on either side at wide viewports
   - Always opaque (white/cream) so logo + menu read on any hero
   - On scroll: slightly tighter padding + deeper shadow */
.swift-site-header {
	position: fixed;
	top: 14px;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 32px);
	max-width: 1080px;
	z-index: 100;
	background: rgba(255, 252, 245, 0.96);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-radius: 999px;
	box-shadow: 0 4px 16px rgba(13, 47, 38, 0.08), 0 1px 0 rgba(20, 70, 58, 0.05);
	color: var(--color-primary);
	transition:
		top .35s cubic-bezier(.45,0,.15,1),
		box-shadow .35s cubic-bezier(.45,0,.15,1),
		background-color .35s cubic-bezier(.45,0,.15,1);
}
.swift-site-header.is-scrolled {
	top: 8px;
	box-shadow: 0 10px 30px -8px rgba(13, 47, 38, 0.18), 0 1px 0 rgba(20, 70, 58, 0.05);
	background: rgba(255, 252, 245, 0.99);
}
.swift-pill-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 8px 24px 8px 32px;
	max-width: 100%;
}
/* Absolutely-positioned nav so it's true-centered in the pill regardless of left/right widths */
.swift-pill-inner .swift-primary-nav {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
@media (max-width: 1023px) {
	/* Mobile / tablet: logo on far left — phone-button + hamburger tightly grouped on far right */
	.swift-pill-inner {
		justify-content: flex-start;
		gap: 0;
		padding: 8px 12px 8px 20px;
	}
	.swift-pill-inner .swift-logo {
		margin-right: auto;
	}
	.swift-pill-actions {
		margin-right: 6px;
	}
	.swift-pill-inner .swift-primary-nav {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		transform: none;
	}
}
body { padding-top: 0 !important; }
.swift-header-inner {
	display: flex;
	align-items: center;
	gap: 24px;
	padding-top: 12px;
	padding-bottom: 12px;
	min-height: 80px;
}
.swift-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: var(--color-primary);
	flex-shrink: 0;
	padding: 0;
	transition: opacity .25s var(--ease);
}
.swift-logo:hover { opacity: 0.85; }
/* Logo in floating pill — always transparent bg, sits naturally */
.swift-logo-image {
	display: inline-flex;
	align-items: center;
	background: transparent;
	padding: 0;
}
.swift-logo-image img {
	display: block;
	height: 85px;
	width: auto;
	/* max-width: 215px; */
	object-fit: contain;
}
@media (max-width: 1023px) {
	.swift-logo-image img { height: 58px; }
}
.swift-logo-mark {
	display: inline-flex;
	width: 56px;
	height: 56px;
	background: var(--color-birch-bark);
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	padding: 4px;
	flex-shrink: 0;
}
.swift-logo-mark svg { width: 100%; height: 100%; }
.swift-logo-text { display: flex; flex-direction: column; line-height: 1; }
.swift-logo-mark-text {
	font-family: var(--ff-display);
	font-weight: 900;
	font-size: 1.65rem;
	letter-spacing: -0.03em;
	color: var(--color-birch-bark);
	line-height: 1;
}
.swift-logo-sub {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	color: var(--color-accent);
	text-transform: uppercase;
	margin-top: 4px;
}
@media (max-width: 1023px) {
	.swift-logo-mark { width: 44px; height: 44px; }
	.swift-logo-mark-text { font-size: 1.4rem; }
	.swift-logo-sub { font-size: 0.65rem; }
	.swift-logo-image img { height: 48px; }
}

.swift-primary-nav {
	display: flex;
	justify-content: center;
}
.swift-menu {
	display: flex;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
}
.swift-menu > li { position: relative; }
.swift-menu > li > a {
	color: var(--color-primary);
	text-decoration: none;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.88rem;
	letter-spacing: -0.005em;
	padding: 8px 12px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	gap: 4px;
	transition: background-color .25s var(--ease), color .25s var(--ease);
	position: relative;
	white-space: nowrap;
}
/* ============================================================
   Premium active-menu underline (desktop + laptop + mac retina)
   Crisp 3px gold line, scales from center, sized to text width
   ============================================================ */
@media (min-width: 1024px) {
	.swift-menu > li > a {
		/* Strip the rounded-pill background scaffolding so the line is the only state cue */
		border-radius: 0;
		padding-top: 8px;
		padding-bottom: 4px;
	}
	.swift-menu > li > a::after {
		display: block;
		content: "";
		position: absolute;
		left: 12px;
		right: 12px;
		bottom: -2px;
		height: 3px;
		background: var(--color-accent);
		border-radius: 2px;
		transform: scaleX(0);
		transform-origin: center;
		transition: transform .35s cubic-bezier(.4, 0, .2, 1);
	}
	.swift-menu > li:hover > a::after,
	.swift-menu > li.current-menu-item > a::after,
	.swift-menu > li.current-menu-parent > a::after,
	.swift-menu > li.current-menu-ancestor > a::after {
		transform: scaleX(1);
	}
	.swift-menu > li:hover > a,
	.swift-menu > li.current-menu-item > a,
	.swift-menu > li.current-menu-parent > a,
	.swift-menu > li.current-menu-ancestor > a {
		background: transparent;
		color: var(--color-primary-dk);
	}
	/* Retina / high-DPI: bump line to 4px so it doesn't read as hairline on macs */
	@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		.swift-menu > li > a::after { height: 4px; }
	}
}

/* Below 1024px (mobile/tablet burger menu) — original pill behavior, untouched */
@media (max-width: 1023px) {
	.swift-menu > li > a::after { display: none; }
	.swift-menu > li:hover > a {
		background: rgba(20, 70, 58, 0.08);
		color: var(--color-primary-dk);
	}
	.swift-menu > li.current-menu-item > a {
		background: var(--color-primary);
		color: var(--color-birch-bark);
	}
}

.swift-caret { font-size: 0.7em; opacity: 0.7; }

/* Dropdowns */
.swift-sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	padding: 8px;
	min-width: 240px;
	background: var(--color-white);
	border: 1px solid rgba(20, 70, 58, 0.1);
	border-radius: 12px;
	box-shadow: 0 20px 40px -10px rgba(20, 70, 58, 0.18);
	padding: 8px;
	list-style: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
	z-index: 200;
}
.swift-has-children:hover > .swift-sub-menu,
.swift-has-children:focus-within > .swift-sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.swift-sub-menu li { margin: 0; }
.swift-sub-menu li + li { border-top: 1px solid rgba(13, 47, 38, 0.06); }
.swift-sub-menu a {
	display: block;
	padding: 14px 22px;
	color: var(--color-text);
	font-size: 0.92rem;
	line-height: 1.35;
	border-radius: 8px;
	text-decoration: none;
	font-family: var(--ff-body);
	font-size: 0.9rem;
	font-weight: 500;
	border-radius: 8px;
	transition: background-color .15s var(--ease), color .15s var(--ease);
}
.swift-sub-menu a:hover,
.swift-sub-menu .current-menu-item > a {
	background: rgba(20, 70, 58, 0.08);
	color: var(--color-primary);
}

/* Desktop compaction */
@media (max-width: 1439px) {
	.swift-menu > li > a { padding: 8px 10px 4px; font-size: 0.86rem; }
}
@media (max-width: 1279px) {
	.swift-menu { gap: 0; }
	.swift-menu > li > a { padding: 8px 8px 4px; font-size: 0.82rem; letter-spacing: -0.01em; }
	.swift-menu > li > a::after { left: 8px; right: 8px; }
}
/* Below 1080 — hide header CTA already; logo wordmark can compress */
@media (max-width: 1079px) {
	.swift-menu > li > a {
		padding: 4px 6px;
		font-size: 0.78rem;
	}
}

/* Right-side actions inside the floating pill */
.swift-pill-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.swift-pill-phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.84rem;
	color: var(--color-primary);
	text-decoration: none;
	border-radius: 999px;
	transition: background-color .25s var(--ease), color .25s var(--ease);
	white-space: nowrap;
}
.swift-pill-phone svg { width: 15px; height: 15px; flex-shrink: 0; }
.swift-pill-phone:hover { background: rgba(20, 70, 58, 0.06); color: var(--color-primary-dk); }
.swift-pill-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.88rem;
	letter-spacing: -0.005em;
	text-decoration: none;
	border-radius: 999px;
	transition: background-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease), gap .25s var(--ease);
	white-space: nowrap;
}
.swift-pill-cta svg { width: 15px; height: 15px; transition: transform .25s var(--ease); }
.swift-pill-cta:hover {
	background: #f5ac00;
	transform: translateY(-1px);
	gap: 12px;
	box-shadow: 0 8px 20px -6px rgba(255, 185, 29, 0.5);
}
.swift-pill-cta:hover svg { transform: translateX(3px); }

/* Desktop/tablet only: the full "Get Free Estimate" CTA + (optionally) the phone link */
.swift-pill-cta-mobile {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	border-radius: 50%;
	text-decoration: none;
	transition: background-color .25s var(--ease), transform .2s var(--ease), box-shadow .25s var(--ease);
	box-shadow: 0 4px 12px -4px rgba(255, 185, 29, 0.5);
}
.swift-pill-cta-mobile svg { width: 20px; height: 20px; }
.swift-pill-cta-mobile:hover,
.swift-pill-cta-mobile:active {
	background: #f5ac00;
	transform: scale(1.05);
}

/* Phone link removed from desktop entirely. Phone CTA shows only on tablet + mobile as the gold round button. */
.swift-pill-phone { display: none !important; }

@media (max-width: 1023px) {
	/* Hide the "Get Free Estimate" arrow CTA on mobile — replaced by phone button */
	.swift-pill-cta { display: none; }
	.swift-pill-cta-mobile { display: inline-flex; }
}

.swift-header-cta {
	padding: 10px 18px;
	font-size: 0.85rem;
	white-space: nowrap;
}

.swift-nav-toggle {
	display: none;
	background: transparent !important;
	border: 0 !important;
	outline: none;
	cursor: pointer;
	padding: 8px 10px !important;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
	border-radius: 10px;
	transition: background-color .25s var(--ease);
}
.swift-nav-toggle:focus,
.swift-nav-toggle:active,
.swift-nav-toggle:hover {
	background: rgba(20, 70, 58, 0.08) !important;
	outline: none !important;
}
.swift-nav-toggle::before,
.swift-nav-toggle::after { display: none !important; content: none !important; }
.swift-nav-toggle span {
	display: block;
	width: 26px;
	height: 3px;
	background: var(--color-primary);
	margin: 5px 0;
	border-radius: 2px;
	transition: transform .2s var(--ease), opacity .2s var(--ease), background-color .25s var(--ease);
}

@media (max-width: 1023px) {
	.swift-header-cta { display: none; }
}

@media (max-width: 1023px) {
	.swift-pill-inner { padding: 8px 8px 8px 18px; gap: 12px; grid-template-columns: 1fr auto auto; }
	.swift-nav-toggle { display: block; order: 99; }
	.swift-primary-nav {
		display: none;
		position: absolute;
		top: calc(100% + 12px);
		left: 0; right: 0;
		background: #FFFCF5;
		padding: 16px;
		border-radius: 24px;
		box-shadow: 0 18px 36px -10px rgba(20, 70, 58, 0.2);
		max-height: calc(100vh - 120px);
		overflow-y: auto;
	}
	.swift-primary-nav.is-open { display: block; }
	.swift-menu {
		flex-direction: column;
		gap: 2px;
		align-items: stretch;
	}
	.swift-menu > li { position: static; width: 100%; }
	.swift-menu > li > a {
		padding: 14px 18px !important;
		font-size: 1rem !important;
		font-weight: 600 !important;
		border-radius: 14px !important;
		border-bottom: none !important;
		justify-content: space-between !important;
		color: var(--color-primary) !important;
		background: transparent !important;
		width: 100%;
		gap: 8px !important;
	}
	.swift-menu > li:hover > a {
		background: rgba(20, 70, 58, 0.06) !important;
	}
	.swift-menu > li.current-menu-item > a {
		background: var(--color-primary) !important;
		color: var(--color-birch-bark) !important;
	}
	.swift-menu > li > a::after { display: none; }
	.swift-caret { font-size: 1rem !important; opacity: 0.6; }

	.swift-sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		background: rgba(20, 70, 58, 0.04);
		border: 0;
		box-shadow: none;
		border-radius: 12px;
		padding: 6px;
		margin: 4px 0 4px 16px;
		display: none;
	}
	.swift-sub-menu a {
		color: var(--color-text) !important;
		padding: 10px 14px !important;
		font-size: 0.92rem !important;
		border-radius: 10px !important;
	}
	.swift-sub-menu a:hover {
		background: rgba(20, 70, 58, 0.08) !important;
		color: var(--color-primary) !important;
	}
	.swift-has-children.is-open > .swift-sub-menu { display: block; }
	.swift-has-children > a { cursor: pointer; }
	.swift-has-children.is-open > a .swift-caret { transform: rotate(180deg); }
	.swift-caret { transition: transform .25s var(--ease); display: inline-block; }
}

/* ============================================================
   HERO
   ============================================================ */

.swift-hero {
	min-height: 85vh; /* desktop homepage hero — was 96vh */
	display: flex;
	align-items: center;
	color: var(--color-birch-bark);
	background-color: var(--color-pine-needle);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
	position: relative;
	padding-top: 140px; /* clears the floating pill (~86px tall + 14px top + breathing) */
	padding-bottom: 40px;
}
@media (max-width: 767px) {
	.swift-hero { min-height: 82vh; padding-top: 116px; padding-bottom: 32px; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.swift-hero-slide { animation: none; opacity: 1; }
	.swift-hero-slide:not(.swift-hero-slide-1) { opacity: 0; }
}
.swift-hero-inner {
	position: relative;
	z-index: 2;
	padding-top: 32px;
	padding-bottom: 32px;
	max-width: 100%;
	text-align: center;
	margin: 0 auto;
}
.swift-eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	color: var(--color-accent);
	background: rgba(255, 185, 29, 0.14);
	border: 1px solid rgba(255, 185, 29, 0.32);
	padding: 10px 20px;
	border-radius: var(--radius-pill);
	margin-bottom: 24px;
	text-transform: uppercase;
	line-height: 1;
	vertical-align: middle;
}
/* Favicon-icon-before treatment shared across every eyebrow variant used in the site.
   Selectors enumerated AND a catch-all so any class containing "-eyebrow" gets the
   icon (covers hero/page-hero overrides + any future variant). */
.swift-eyebrow::before,
.swift-eyebrow-dark::before,
.swift-city-focus-eyebrow::before,
.swift-city-hero-eyebrow::before,
.swift-county-eyebrow::before,
.swift-ministry-eyebrow::before,
.swift-services-eyebrow::before,
.swift-svc-category-eyebrow::before,
.swift-why-flex-eyebrow::before,
.swift-tr-why-eyebrow::before,
[class*="-eyebrow"]::before,
[class$="-eyebrow"]::before {
	content: "" !important;
	display: inline-block !important;
	width: 25px !important;
	height: 25px !important;
	flex-shrink: 0;
	background-image: url("../img/favicon.png") !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	align-self: center;
	vertical-align: middle;
	margin-right: 3px;
}
/* Make sure the variant eyebrows are also flex so the icon centers cleanly */
.swift-city-focus-eyebrow,
.swift-county-eyebrow,
.swift-ministry-eyebrow,
.swift-services-eyebrow,
.swift-svc-category-eyebrow,
.swift-why-flex-eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	gap: 3px;
}
.swift-hero-h1 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.1;
	color: var(--color-birch-bark);
	margin: 0 auto 20px;
	letter-spacing: -0.025em;
	max-width: 1100px;
	/* Prevent ugly mid-word breaks like "Same-Da y" — let whole words wrap instead. */
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}
.swift-hero-sub {
	font-size: clamp(0.98rem, 1.15vw, 1.15rem);
	color: #ffffff;
	margin: 0 auto 24px;
	max-width: 720px;
	line-height: 1.55;
}

/* Hero trust rating — 5 stars + meta */
.swift-hero-rating {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	background: rgba(13, 47, 38, 0.45);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 185, 29, 0.30);
	padding: 10px 18px;
	border-radius: var(--radius-pill);
	margin: 0 auto 28px;
}
.swift-hero-rating-stars {
	display: inline-flex;
	gap: 3px;
	color: var(--color-accent);
}
.swift-hero-rating-stars svg { width: 18px; height: 18px; }
.swift-hero-rating-meta {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	font-family: var(--ff-display);
}
.swift-hero-rating-meta strong {
	color: var(--color-accent);
	font-weight: 800;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
}
.swift-hero-rating-meta span {
	color: #ffffff;
	font-size: 0.88rem;
	font-weight: 500;
	letter-spacing: 0.005em;
}
@media (max-width: 539px) {
	.swift-hero-rating {
		flex-direction: column;
		gap: 6px;
		padding: 10px 18px 12px;
		border-radius: var(--radius-card);
	}
	.swift-hero-rating-meta { gap: 6px; }
	.swift-hero-rating-meta span { font-size: 0.82rem; text-align: center; }
}
.swift-hero-ctas {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
}

@media (max-width: 767px) {
	.swift-hero { min-height: 64vh; }
	.swift-hero-inner { padding-top: 48px; padding-bottom: 48px; }
	.swift-hero-h1 { font-size: clamp(1.5rem, 6vw, 2rem); }
}

/* ============================================================
   TRUST STRIP
   ============================================================ */

.swift-trust-strip {
	background: var(--color-birch-bark);
	padding: 24px 0;
	border-bottom: 1px solid var(--color-border);
}

/* Desktop (>=1024px): all 5 badges in a single row */
.swift-trust-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
	color: var(--color-primary);
	align-items: center;
}
.swift-trust-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: center;
	text-align: left;
	line-height: 1.3;
	white-space: nowrap;
}
@media (max-width: 1199px) {
	.swift-trust-list { font-size: 0.78rem; gap: 12px 16px; }
}
.swift-trust-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--color-white);
	border: 1px solid rgba(20, 70, 58, 0.18);
	color: var(--color-primary);
	flex-shrink: 0;
	box-shadow: 0 1px 2px rgba(13, 47, 38, 0.06);
	transition: background-color .2s var(--ease), transform .2s var(--ease), border-color .2s var(--ease);
}
.swift-trust-icon svg { width: 20px; height: 20px; display: block; }
.swift-trust-list li:hover .swift-trust-icon {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-pine-needle);
	transform: scale(1.05);
}
.swift-trust-text {
	font-weight: 600;
	letter-spacing: -0.005em;
}

/* Tablet (768–1023px): 3 badges row 1, 2 badges row 2 (centered) */
@media (max-width: 1023px) {
	.swift-trust-list {
		grid-template-columns: repeat(6, 1fr);
		row-gap: 18px;
	}
	.swift-trust-list li {
		grid-column: span 2;
	}
	/* Last two badges: each spans 3 cols, so 2 × 3 = 6 → centered automatically */
	.swift-trust-list li:nth-child(4),
	.swift-trust-list li:nth-child(5) {
		grid-column: span 3;
	}
	.swift-trust-list { font-size: 0.85rem; }
}

/* Mobile (<768px): one per row, centered, stacked */
@media (max-width: 767px) {
	.swift-trust-list {
		grid-template-columns: 1fr;
		row-gap: 14px;
	}
	.swift-trust-list li,
	.swift-trust-list li:nth-child(4),
	.swift-trust-list li:nth-child(5) {
		grid-column: 1;
		justify-content: flex-start;
		white-space: normal;
	}
	.swift-trust-list { font-size: 0.9rem; }
}

/* ============================================================
   GENERIC SECTION
   ============================================================ */

.swift-section {
	padding: clamp(56px, 7vw, 88px) 0;
}
.swift-section + .swift-section { border-top: 1px solid transparent; }
.swift-section-h2 {
	text-align: center;
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	color: var(--color-primary);
	letter-spacing: -0.02em;
	margin: 0 0 16px;
	position: relative;
	padding-bottom: 16px;
	line-height: 1.15;
}
.swift-section-h2::after {
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	background: var(--color-accent);
	margin: 16px auto 0;
	border-radius: 2px;
}
.swift-section-lead {
	text-align: center;
	font-size: 1.05rem;
	color: var(--color-text-muted);
	max-width: 760px;
	margin: 0 auto 48px;
}

.swift-grid {
	display: grid;
	gap: 24px;
}
.swift-grid-2 { grid-template-columns: repeat(2, 1fr); }
.swift-grid-3 { grid-template-columns: repeat(3, 1fr); }
.swift-grid-4 { grid-template-columns: repeat(4, 1fr); }
.swift-grid-5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 1023px) {
	.swift-grid-4, .swift-grid-5 { grid-template-columns: repeat(2, 1fr); }
	.swift-grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
	.swift-grid-2, .swift-grid-3, .swift-grid-4, .swift-grid-5 { grid-template-columns: 1fr; }
}

.swift-link-arrow {
	display: inline-block;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	color: var(--color-primary);
	text-transform: uppercase;
	text-decoration: none;
	margin-top: 12px;
	border-bottom: 2px solid var(--color-accent);
	padding-bottom: 2px;
	transition: color .2s var(--ease), transform .2s var(--ease);
}
.swift-link-arrow:hover {
	color: var(--color-primary-dk);
	transform: translateX(4px);
}

/* ============================================================
   FIVE WEDGES — Premium section
   ============================================================ */

.swift-wedges-section {
	position: relative;
	padding: clamp(72px, 9vw, 120px) 0;
	background: linear-gradient(180deg, #0c2620 0%, var(--color-pine-needle) 100%);
	color: var(--color-birch-bark);
	overflow: hidden;
}
.swift-wedges-bg {
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 20% 20%, rgba(255, 185, 29, 0.08), transparent 40%),
		radial-gradient(circle at 80% 80%, rgba(255, 185, 29, 0.06), transparent 40%);
	pointer-events: none;
}
.swift-wedges-section > .swift-container { position: relative; z-index: 1; }

.swift-wedges-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto clamp(40px, 5vw, 64px);
}
.swift-eyebrow-dark {
	background: rgba(255, 185, 29, 0.12);
	border: 1px solid rgba(255, 185, 29, 0.28);
	color: var(--color-accent);
	display: inline-block;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	padding: 8px 18px;
	border-radius: var(--radius-pill);
	margin-bottom: 20px;
	text-transform: uppercase;
}
.swift-wedges-h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.85rem, 3.2vw, 2.75rem);
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--color-birch-bark);
	margin: 0 0 16px;
}
.swift-wedges-lead {
	font-size: clamp(0.98rem, 1.15vw, 1.1rem);
	color: rgba(253, 236, 213, 0.78);
	margin: 0;
	line-height: 1.6;
}

/* 6 wedges → Desktop: 3 across × 2 rows · Tablet: 2 across × 3 rows · Mobile: 1 across × 6 rows */
.swift-wedges-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.swift-wedges-grid > article { grid-column: auto !important; }

@media (max-width: 1023px) {
	.swift-wedges-grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
}

@media (max-width: 639px) {
	.swift-wedges-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

.swift-wedge-premium {
	position: relative;
	background: rgba(253, 236, 213, 0.04);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(253, 236, 213, 0.12);
	border-radius: 16px;
	padding: 32px 24px 28px;
	display: flex;
	flex-direction: column;
	transition: transform .35s var(--ease), border-color .35s var(--ease), background-color .35s var(--ease), box-shadow .35s var(--ease);
	overflow: hidden;
	isolation: isolate;
}
.swift-wedge-premium::before {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--color-accent), transparent);
	opacity: 0;
	transition: opacity .35s var(--ease);
}
.swift-wedge-premium:hover {
	transform: translateY(-6px);
	border-color: rgba(255, 185, 29, 0.35);
	background: rgba(253, 236, 213, 0.07);
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.6);
}
.swift-wedge-premium:hover::before { opacity: 1; }

.swift-wedge-num-bg {
	position: absolute;
	top: 4px;
	right: 12px;
	font-family: var(--ff-display);
	font-weight: 900;
	font-size: 5.5rem;
	color: rgba(255, 185, 29, 0.07);
	line-height: 1;
	letter-spacing: -0.05em;
	user-select: none;
	pointer-events: none;
	z-index: 0;
}

.swift-wedge-icon-wrap {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(255, 185, 29, 0.14);
	border: 1px solid rgba(255, 185, 29, 0.3);
	color: var(--color-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
	transition: background-color .3s var(--ease), transform .3s var(--ease);
}
.swift-wedge-icon-wrap svg { width: 26px; height: 26px; display: block; }
.swift-wedge-premium:hover .swift-wedge-icon-wrap {
	background: var(--color-accent);
	color: var(--color-pine-needle);
	transform: scale(1.05);
}

.swift-wedge-badge {
	display: inline-block;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent);
	background: rgba(255, 185, 29, 0.08);
	border: 1px solid rgba(255, 185, 29, 0.25);
	padding: 5px 12px;
	border-radius: var(--radius-pill);
	margin-bottom: 14px;
	width: max-content;
	max-width: 100%;
	position: relative;
	z-index: 1;
}

.swift-wedge-premium h3 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--color-birch-bark);
	margin: 0 0 12px;
	line-height: 1.3;
	letter-spacing: -0.015em;
	position: relative;
	z-index: 1;
}

.swift-wedge-premium p {
	font-size: 0.93rem;
	color: rgba(253, 236, 213, 0.72);
	line-height: 1.6;
	margin: 0 0 16px;
	flex: 1;
	position: relative;
	z-index: 1;
}

.swift-wedge-link {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	color: var(--color-accent);
	text-decoration: none;
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: gap .25s var(--ease);
	position: relative;
	z-index: 1;
}
.swift-wedge-link:hover { gap: 12px; }

/* Premium pill button used on every wedge card */
.swift-wedge-cta {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding: 11px 18px;
	background: rgba(255, 185, 29, 0.08);
	border: 1px solid rgba(255, 185, 29, 0.28);
	border-radius: 10px;
	color: var(--color-accent);
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: -0.005em;
	text-decoration: none;
	transition: background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
	position: relative;
	z-index: 1;
	align-self: flex-start;
}
.swift-wedge-cta-arrow {
	display: inline-block;
	transition: transform .25s var(--ease);
	font-size: 1.05em;
	line-height: 1;
}
.swift-wedge-cta:hover {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-pine-needle);
}
.swift-wedge-cta:hover .swift-wedge-cta-arrow {
	transform: translateX(4px);
}
.swift-wedge-premium:hover .swift-wedge-cta {
	background: rgba(255, 185, 29, 0.16);
	border-color: rgba(255, 185, 29, 0.5);
}

/* ============================================================
   SERVICES SECTION — Premium reference design
   ============================================================ */

.swift-services-section {
	padding: clamp(64px, 8vw, 104px) 0;
	background: var(--color-white);
}

.swift-services-header {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 24px;
	margin-bottom: clamp(32px, 4vw, 56px);
}

/* Bottom-center slider nav — visible at all viewports */
.swift-services-nav-bottom {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: clamp(32px, 4vw, 48px);
}

.swift-services-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin-bottom: 16px;
}
.swift-services-eyebrow svg { width: 18px; height: 18px; }

.swift-services-h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.85rem, 3.4vw, 3rem);
	line-height: 1.1;
	color: var(--color-primary);
	letter-spacing: -0.025em;
	margin: 0;
}

.swift-services-nav {
	display: flex;
	gap: 12px;
}
.swift-services-arrow {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1.5px solid var(--color-primary);
	background: transparent;
	color: var(--color-primary);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .15s var(--ease);
	padding: 0;
}
.swift-services-arrow:hover {
	background: var(--color-primary);
	color: var(--color-white);
}
.swift-services-arrow:active { transform: scale(0.95); }
.swift-services-arrow svg { width: 20px; height: 20px; }
.swift-services-arrow:disabled { opacity: 0.35; cursor: not-allowed; }

/* ============================================================
   Services V2 — static premium grid (image → title → para → CTA)
   ============================================================ */

/* Centered single-column variant — collapses the 2-col grid in .swift-services-header */
.swift-services-header.swift-services-header-centered {
	display: block;
	grid-template-columns: none;
	text-align: center;
	max-width: 820px;
	margin: 0 auto;
}
.swift-services-header.swift-services-header-centered .swift-services-eyebrow {
	justify-content: center;
	margin: 0 0 14px;
}
.swift-services-header.swift-services-header-centered .swift-services-h2 {
	margin: 0 auto;
	text-align: center;
}
.swift-services-lead {
	font-size: clamp(0.98rem, 1.1vw, 1.05rem);
	color: var(--color-text-muted);
	margin: 16px auto 0;
	line-height: 1.6;
	max-width: 720px;
}

/* Carousel-style slider: 3 visible desktop / 2 tablet / 1 mobile */
.swift-services-track-wrap {
	overflow: hidden;
	position: relative;
	margin-top: clamp(40px, 5vw, 56px);
}
.swift-services-track {
	display: flex;
	gap: 24px;
	transition: transform .6s cubic-bezier(.4, 0, .2, 1);
	will-change: transform;
}
.swift-services-track > .swift-svc-card-v2 {
	flex: 0 0 calc((100% - 48px) / 3); /* 3 cards visible with 2 gaps of 24px = 48px */
	min-width: 0;
}
@media (max-width: 1023px) {
	.swift-services-track > .swift-svc-card-v2 {
		flex: 0 0 calc((100% - 20px) / 2); /* 2 cards visible */
	}
	.swift-services-track { gap: 20px; }
}
@media (max-width: 639px) {
	.swift-services-track > .swift-svc-card-v2 {
		flex: 0 0 100%; /* 1 card visible */
	}
}

.swift-svc-card-v2 {
	background: var(--color-white);
	border: 1px solid rgba(20, 70, 58, 0.08);
	border-radius: 18px;
	overflow: hidden;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.swift-svc-card-v2:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px -20px rgba(13, 47, 38, 0.25);
	border-color: rgba(20, 70, 58, 0.2);
}
.swift-svc-card-v2-link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.swift-svc-card-v2-img {
	aspect-ratio: 16/11;
	background-size: cover;
	background-position: center;
	background-color: var(--color-birch-bark);
	transition: transform .5s var(--ease);
}
.swift-svc-card-v2:hover .swift-svc-card-v2-img { transform: scale(1.04); }
.swift-svc-card-v2-body {
	padding: 22px 22px 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.swift-svc-card-v2-title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: -0.015em;
	line-height: 1.25;
	color: var(--color-primary);
	margin: 0 0 10px;
}
.swift-svc-card-v2-desc {
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0 0 18px;
	flex: 1;
}
.swift-svc-card-v2-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--color-primary);
	letter-spacing: 0.01em;
	margin-top: auto;
	border-bottom: 2px solid var(--color-accent);
	padding-bottom: 4px;
	width: max-content;
	transition: gap .25s var(--ease), color .25s var(--ease);
}
.swift-svc-card-v2-cta svg { width: 16px; height: 16px; transition: transform .25s var(--ease); }
.swift-svc-card-v2:hover .swift-svc-card-v2-cta { gap: 12px; color: var(--color-primary-dk); }
.swift-svc-card-v2:hover .swift-svc-card-v2-cta svg { transform: translateX(2px); }

/* Legacy slider styles below are unused but kept for fallback */
.swift-services-track-wrap {
	overflow: hidden;
	position: relative;
}
.swift-services-track {
	display: flex;
	gap: 20px;
	transition: transform .6s cubic-bezier(.4, 0, .2, 1);
	will-change: transform;
}
.swift-services-track > .swift-svc-card {
	flex: 0 0 calc((100% - 60px) / 4); /* 4 visible with 3 gaps of 20px = 60px */
	min-width: 0;
}
@media (max-width: 1199px) {
	.swift-services-track > .swift-svc-card {
		flex: 0 0 calc((100% - 40px) / 3); /* 3 visible */
	}
}
@media (max-width: 767px) {
	.swift-services-track { gap: 16px; }
	.swift-services-track > .swift-svc-card {
		flex: 0 0 calc((100% - 16px) / 2); /* 2 visible */
	}
}
@media (max-width: 479px) {
	.swift-services-track > .swift-svc-card {
		flex: 0 0 100%; /* 1 visible */
	}
}

.swift-svc-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: #EEF5DE;
	border-radius: 18px;
	padding: 28px 24px 24px;
	color: var(--color-primary);
	text-decoration: none;
	position: relative;
	overflow: hidden;
	transition: background-color .35s var(--ease), color .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease);
	min-height: 380px;
}
.swift-svc-card:hover {
	background: var(--color-primary);
	color: var(--color-birch-bark);
	transform: translateY(-4px);
	box-shadow: 0 18px 36px -16px rgba(13, 47, 38, 0.4);
}
/* is-featured (auto-active) state removed — hover-only per design */

.swift-svc-icon {
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary);
	transition: color .35s var(--ease);
}
.swift-svc-icon svg { width: 40px; height: 40px; }
.swift-svc-card:hover .swift-svc-icon { color: var(--color-accent); }

.swift-svc-title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: -0.015em;
	line-height: 1.2;
	color: inherit;
	margin: 0;
}

.swift-svc-desc {
	font-size: 0.92rem;
	line-height: 1.5;
	color: inherit;
	opacity: 0.78;
	margin: 0;
	flex: 1;
}

.swift-svc-img {
	margin-top: auto;
	aspect-ratio: 16/11;
	background-size: cover;
	background-position: center;
	background-color: rgba(13, 47, 38, 0.1);
	border-radius: 12px;
}
.swift-svc-card:hover .swift-svc-img {
	box-shadow: 0 0 0 1px rgba(255, 185, 29, 0.2);
}

/* ============================================================
   SERVICE AREAS — Premium section
   ============================================================ */

.swift-areas-section {
	position: relative;
	padding: clamp(72px, 9vw, 120px) 0;
	background: var(--color-surface);
	overflow: hidden;
}
.swift-areas-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.9;
}
.swift-areas-bg svg { width: 100%; height: 100%; }
.swift-areas-section > .swift-container { position: relative; z-index: 1; }

.swift-areas-header {
	max-width: 760px;
	margin: 0 auto clamp(40px, 5vw, 56px);
	text-align: center;
}
.swift-areas-h2-accent {
	color: var(--color-accent);
	font-weight: 800;
	font-style: italic;
}
.swift-areas-lead {
	font-size: clamp(0.98rem, 1.15vw, 1.1rem);
	color: var(--color-text);
	opacity: 0.85;
	margin: 16px auto 24px;
	line-height: 1.6;
}
.swift-areas-counties {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 32px;
	padding: 14px 28px;
	background: var(--color-white);
	border-radius: var(--radius-pill);
	box-shadow: 0 2px 8px rgba(13, 47, 38, 0.06);
	font-size: 0.92rem;
	color: var(--color-text-muted);
	font-weight: 500;
}
.swift-areas-counties strong {
	color: var(--color-primary);
	font-weight: 800;
	font-size: 1.05rem;
	margin-right: 4px;
}

/* County card grid — matches the reference image */
.swift-counties-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
@media (max-width: 1023px) { .swift-counties-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px)  { .swift-counties-grid { grid-template-columns: 1fr; } }

.swift-county-card {
	background: var(--color-white);
	border-radius: 18px;
	padding: 32px 28px 28px;
	min-height: 280px;
	display: flex;
	flex-direction: column;
	transition: transform .35s var(--ease), box-shadow .35s var(--ease);
	border: 1px solid rgba(20, 70, 58, 0.08);
}
.swift-county-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px -20px rgba(13, 47, 38, 0.28);
}
.swift-county-card.is-featured {
	background: linear-gradient(150deg, var(--color-primary) 0%, var(--color-primary-dk) 100%);
	border-color: transparent;
	color: var(--color-birch-bark);
	box-shadow: 0 22px 44px -20px rgba(13, 47, 38, 0.4);
}

.swift-county-card-top {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 32px;
}
.swift-county-num {
	width: 56px;
	height: 56px;
	border-radius: var(--radius-pill);
	background: var(--color-surface);
	color: var(--color-cedar-ember);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.swift-county-num svg { width: 28px; height: 28px; }
.swift-county-card:hover .swift-county-num {
	background: var(--color-accent);
	color: var(--color-pine-needle);
	transform: scale(1.05);
}
.swift-county-card.is-featured .swift-county-num {
	background: var(--color-accent);
	color: var(--color-pine-needle);
}
.swift-county-card.is-featured:hover .swift-county-num {
	background: var(--color-pine-needle);
	color: var(--color-accent);
}
.swift-county-eyebrow {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	padding-left: 14px;
	border-left: 1px solid rgba(20, 70, 58, 0.15);
	margin-left: auto;
}
.swift-county-card.is-featured .swift-county-eyebrow {
	color: rgba(253, 236, 213, 0.7);
	border-left-color: rgba(253, 236, 213, 0.2);
}
.swift-county-name {
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 700;
	font-size: 1.55rem;
	letter-spacing: -0.01em;
	color: var(--color-primary);
	margin: 0 0 16px;
	line-height: 1.2;
}
.swift-county-card.is-featured .swift-county-name { color: var(--color-birch-bark); }
.swift-county-cities {
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--color-text-muted);
	margin: 0;
	flex: 1;
}
.swift-county-cities a {
	color: var(--color-primary);
	text-decoration: underline;
	text-decoration-color: rgba(20, 70, 58, 0.25);
	text-underline-offset: 3px;
	transition: text-decoration-color .2s var(--ease), color .2s var(--ease);
}
.swift-county-cities a:hover {
	text-decoration-color: var(--color-accent);
	color: var(--color-primary-dk);
}
.swift-county-card.is-featured .swift-county-cities { color: rgba(253, 236, 213, 0.85); }
.swift-county-card.is-featured .swift-county-cities a {
	color: var(--color-birch-bark);
	text-decoration-color: rgba(253, 236, 213, 0.4);
}
.swift-county-card.is-featured .swift-county-cities a:hover {
	color: var(--color-accent);
	text-decoration-color: var(--color-accent);
}

.swift-counties-cta {
	text-align: center;
	margin-top: clamp(32px, 4vw, 48px);
}
.swift-counties-cta-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-primary);
	text-decoration: none;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--color-accent);
	transition: gap .25s var(--ease), color .25s var(--ease);
}
.swift-counties-cta-link svg { width: 18px; height: 18px; transition: transform .25s var(--ease); }
.swift-counties-cta-link:hover { gap: 16px; color: var(--color-primary-dk); }
.swift-counties-cta-link:hover svg { transform: translateX(4px); }

.swift-areas-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 1023px) {
	.swift-areas-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
	.swift-areas-grid { grid-template-columns: 1fr; }
}

.swift-area-premium {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 28px 24px 24px;
	background: var(--color-white);
	border-radius: 18px;
	border: 1px solid rgba(13, 47, 38, 0.08);
	color: var(--color-text);
	text-decoration: none;
	transition: transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease), background-color .35s var(--ease);
	overflow: hidden;
	min-height: 220px;
}
.swift-area-premium::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-accent), transparent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--ease);
}
.swift-area-premium:hover {
	transform: translateY(-6px);
	border-color: rgba(20, 70, 58, 0.25);
	box-shadow: 0 24px 48px -24px rgba(13, 47, 38, 0.35);
}
.swift-area-premium:hover::before { transform: scaleX(1); }

.swift-area-premium.is-featured {
	background: linear-gradient(140deg, var(--color-primary) 0%, var(--color-primary-dk) 100%);
	border-color: var(--color-primary);
	color: var(--color-birch-bark);
}
.swift-area-premium.is-featured::before {
	transform: scaleX(1);
	background: linear-gradient(90deg, var(--color-accent), rgba(255, 185, 29, 0.3));
}

.swift-area-num {
	position: absolute;
	top: 18px;
	right: 22px;
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 0.85rem;
	color: var(--color-text-muted);
	opacity: 0.45;
	letter-spacing: 0.08em;
}
.swift-area-premium.is-featured .swift-area-num {
	color: var(--color-accent);
	opacity: 0.85;
}

.swift-area-county {
	font-family: var(--ff-display);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin-bottom: 4px;
}
.swift-area-premium.is-featured .swift-area-county {
	color: var(--color-accent);
}

.swift-area-name {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.6rem;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin: 0 0 12px;
	color: var(--color-primary);
}
.swift-area-premium.is-featured .swift-area-name {
	color: var(--color-birch-bark);
}

.swift-area-distinctive {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--color-text-muted);
	margin: 0 0 20px;
	flex: 1;
}
.swift-area-premium.is-featured .swift-area-distinctive {
	color: rgba(253, 236, 213, 0.85);
}

.swift-area-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid rgba(13, 47, 38, 0.08);
}
.swift-area-premium.is-featured .swift-area-footer {
	border-top-color: rgba(253, 236, 213, 0.15);
}

.swift-area-stat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--ff-display);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--color-primary);
}
.swift-area-stat svg { width: 14px; height: 14px; }
.swift-area-premium.is-featured .swift-area-stat { color: var(--color-accent); }

.swift-area-arrow {
	font-family: var(--ff-display);
	font-size: 1.4rem;
	color: var(--color-primary);
	transition: transform .25s var(--ease);
	line-height: 1;
}
.swift-area-premium:hover .swift-area-arrow { transform: translateX(6px); }
.swift-area-premium.is-featured .swift-area-arrow { color: var(--color-accent); }

/* "Surrounding communities" card variant */
.swift-area-premium-all {
	background: linear-gradient(140deg, var(--color-cedar-ember) 0%, #5a3f26 100%);
	color: var(--color-birch-bark);
	border-color: transparent;
}
.swift-area-premium-all::before {
	transform: scaleX(1);
	background: linear-gradient(90deg, var(--color-accent), rgba(255, 185, 29, 0.3));
}
.swift-area-premium-all .swift-area-name { color: var(--color-birch-bark); }
.swift-area-premium-all .swift-area-distinctive { color: rgba(253, 236, 213, 0.78); }
.swift-area-premium-all .swift-area-stat,
.swift-area-premium-all .swift-area-arrow { color: var(--color-accent); }
.swift-area-premium-all .swift-area-footer { border-top-color: rgba(253, 236, 213, 0.15); }
.swift-area-all-icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(255, 185, 29, 0.15);
	border: 1px solid rgba(255, 185, 29, 0.3);
	color: var(--color-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.swift-area-all-icon svg { width: 22px; height: 22px; }

/* ============================================================
   HURRICANE SUBSCRIPTION — Premium tier cards
   ============================================================ */

.swift-section-dark {
	background: var(--color-pine-needle);
	color: var(--color-birch-bark);
}
.swift-section-dark .swift-section-h2 { color: var(--color-birch-bark); }
.swift-section-dark .swift-section-lead { color: rgba(253, 236, 213, 0.85); }

.swift-subscription-section {
	position: relative;
	padding: clamp(72px, 9vw, 120px) 0;
	background: linear-gradient(180deg, var(--color-pine-needle) 0%, #081a14 100%);
	color: var(--color-birch-bark);
	overflow: hidden;
}
.swift-subscription-bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 80% at 100% 0%, rgba(255, 185, 29, 0.06), transparent 60%),
		radial-gradient(ellipse 80% 60% at 0% 100%, rgba(255, 185, 29, 0.04), transparent 60%);
	pointer-events: none;
}
.swift-subscription-section > .swift-container { position: relative; z-index: 1; }

.swift-subscription-header {
	max-width: 760px;
	margin: 0 auto clamp(40px, 5vw, 56px);
	text-align: center;
}
.swift-subscription-h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.85rem, 3.4vw, 3rem);
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--color-birch-bark);
	margin: 0 0 16px;
}
.swift-subscription-lead {
	font-size: clamp(0.98rem, 1.15vw, 1.1rem);
	color: rgba(253, 236, 213, 0.8);
	margin: 0;
	line-height: 1.6;
}

.swift-tier-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: stretch;
}
@media (max-width: 1023px) {
	.swift-tier-grid { grid-template-columns: 1fr; gap: 20px; max-width: 520px; margin-left: auto; margin-right: auto; }
}

.swift-tier-premium {
	position: relative;
	background: rgba(253, 236, 213, 0.04);
	border: 1px solid rgba(253, 236, 213, 0.12);
	border-radius: 20px;
	padding: 36px 28px 28px;
	display: flex;
	flex-direction: column;
	transition: transform .35s var(--ease), border-color .35s var(--ease), background-color .35s var(--ease), box-shadow .35s var(--ease);
}
.swift-tier-premium:hover {
	transform: translateY(-6px);
	border-color: rgba(255, 185, 29, 0.35);
	background: rgba(253, 236, 213, 0.06);
	box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.6);
}
.swift-tier-premium.is-featured {
	background: linear-gradient(180deg, rgba(255, 185, 29, 0.12) 0%, rgba(255, 185, 29, 0.04) 100%);
	border-color: rgba(255, 185, 29, 0.55);
	box-shadow: 0 0 0 1px rgba(255, 185, 29, 0.2), 0 24px 48px -20px rgba(255, 185, 29, 0.15);
	transform: scale(1.02);
}
@media (max-width: 1023px) {
	.swift-tier-premium.is-featured { transform: none; }
}

.swift-tier-badge {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-accent);
	color: var(--color-pine-needle);
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 7px 18px;
	border-radius: var(--radius-pill);
	box-shadow: 0 6px 18px -4px rgba(255, 185, 29, 0.5);
	white-space: nowrap;
}

.swift-tier-head { margin-bottom: 20px; }
.swift-tier-name {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	color: var(--color-birch-bark);
	margin: 0 0 4px;
}
.swift-tier-tagline {
	font-size: 0.88rem;
	color: rgba(253, 236, 213, 0.65);
	margin: 0;
}

.swift-tier-price-block {
	padding: 18px 0;
	border-top: 1px solid rgba(253, 236, 213, 0.1);
	border-bottom: 1px solid rgba(253, 236, 213, 0.1);
	margin-bottom: 20px;
}
.swift-tier-price-amount {
	display: flex;
	align-items: baseline;
	gap: 4px;
	margin-bottom: 6px;
}
.swift-tier-currency {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--color-accent);
}
.swift-tier-amount {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 3.25rem;
	color: var(--color-birch-bark);
	line-height: 1;
	letter-spacing: -0.03em;
}
.swift-tier-per {
	font-size: 0.95rem;
	color: rgba(253, 236, 213, 0.65);
	margin-left: 4px;
}
.swift-tier-savings {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--color-accent);
	background: rgba(255, 185, 29, 0.1);
	padding: 4px 10px;
	border-radius: var(--radius-pill);
	margin-bottom: 8px;
}
.swift-tier-lot {
	font-size: 0.85rem;
	color: rgba(253, 236, 213, 0.72);
	font-weight: 500;
}

.swift-tier-features {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.swift-tier-features li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 0.92rem;
	line-height: 1.45;
	color: rgba(253, 236, 213, 0.85);
}
.swift-tier-features li.is-excluded { color: rgba(253, 236, 213, 0.38); }
.swift-tier-features strong { color: var(--color-birch-bark); font-weight: 700; }
.swift-tier-features li.is-excluded strong { color: rgba(253, 236, 213, 0.42); }
.swift-tier-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	flex-shrink: 0;
	margin-top: 1px;
}
.swift-tier-features li.is-included .swift-tier-check {
	background: rgba(255, 185, 29, 0.18);
	color: var(--color-accent);
}
.swift-tier-features li.is-excluded .swift-tier-check {
	background: rgba(253, 236, 213, 0.08);
	color: rgba(253, 236, 213, 0.4);
}
.swift-tier-check svg { width: 12px; height: 12px; }

.swift-tier-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 20px;
	background: transparent;
	border: 1.5px solid rgba(255, 185, 29, 0.4);
	color: var(--color-accent);
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.9rem;
	letter-spacing: -0.005em;
	text-decoration: none;
	border-radius: 12px;
	transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), gap .25s var(--ease);
}
.swift-tier-cta:hover {
	background: var(--color-accent);
	color: var(--color-pine-needle);
	border-color: var(--color-accent);
	gap: 14px;
}
.swift-tier-premium.is-featured .swift-tier-cta {
	background: var(--color-accent);
	color: var(--color-pine-needle);
	border-color: var(--color-accent);
}
.swift-tier-premium.is-featured .swift-tier-cta:hover {
	background: #f5ac00;
	border-color: #f5ac00;
}

/* Offer pillars row */
.swift-subscription-offers {
	margin-top: 48px;
	padding: 32px;
	background: rgba(253, 236, 213, 0.04);
	border: 1px solid rgba(253, 236, 213, 0.1);
	border-radius: 16px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
@media (max-width: 1023px) {
	.swift-subscription-offers { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 539px) {
	.swift-subscription-offers { grid-template-columns: 1fr; }
}
.swift-offer-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: 0.88rem;
	color: rgba(253, 236, 213, 0.75);
	line-height: 1.5;
}
.swift-offer-item svg {
	width: 32px;
	height: 32px;
	color: var(--color-accent);
	flex-shrink: 0;
	padding: 6px;
	background: rgba(255, 185, 29, 0.12);
	border-radius: 8px;
	box-sizing: content-box;
}
.swift-offer-item strong {
	display: block;
	color: var(--color-birch-bark);
	font-weight: 700;
	margin-bottom: 2px;
}

/* ============================================================
   WHY SWIFT EXISTS — Premium
   ============================================================ */

.swift-why-section {
	padding: clamp(72px, 9vw, 120px) 0;
	background: var(--color-surface);
	position: relative;
	overflow: hidden;
}
.swift-why-section::before {
	content: "";
	position: absolute;
	top: 0; right: 0;
	width: 40%;
	height: 100%;
	background:
		radial-gradient(ellipse at top right, rgba(255, 185, 29, 0.08), transparent 60%);
	pointer-events: none;
}
.swift-why-section > .swift-container { position: relative; z-index: 1; }

/* Desktop: image left (spanning both rows), heading top-right, body bottom-right */
.swift-why-grid {
	display: grid;
	grid-template-columns: 0.85fr 1fr;
	grid-template-rows: auto 1fr;
	column-gap: 64px;
	row-gap: 24px;
	align-items: start;
}
.swift-why-media   { grid-column: 1; grid-row: 1 / span 2; }
.swift-why-heading { grid-column: 2; grid-row: 1; }
.swift-why-body    { grid-column: 2; grid-row: 2; }

/* Mobile: title → image → body (with button at end) */
@media (max-width: 1023px) {
	.swift-why-grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		row-gap: 28px;
	}
	.swift-why-heading { grid-column: 1; grid-row: 1; }
	.swift-why-media   { grid-column: 1; grid-row: 2; }
	.swift-why-body    { grid-column: 1; grid-row: 3; }
	.swift-why-heading { text-align: center; }

	/* Detach the photo meta + stat card from the image — render as block-level cards BELOW the image, stacked.
	   !important is used to defeat the desktop absolute-positioning rules unconditionally. */
	.swift-why-media {
		display: flex !important;
		flex-direction: column !important;
		padding: 0 !important;
		gap: 14px !important;
		position: relative;
	}
	.swift-why-img {
		aspect-ratio: 4/3 !important;
		border-radius: 16px !important;
		margin: 0 !important;
		width: 100%;
	}
	.swift-why-media .swift-why-photo-meta {
		position: static !important;
		inset: auto !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		background: var(--color-pine-needle) !important;
		color: var(--color-birch-bark) !important;
		padding: 18px 22px !important;
		border-radius: 14px !important;
		border: 1px solid rgba(255, 185, 29, 0.25) !important;
		text-align: left !important;
		width: 100%;
		margin: 0 !important;
	}
	.swift-why-photo-names { font-size: 1.05rem; }
	.swift-why-photo-names strong { font-size: 1.1rem; }
	.swift-why-photo-role { font-size: 0.85rem; }

	.swift-why-media .swift-why-stat-card {
		position: static !important;
		inset: auto !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		padding: 18px 22px !important;
		border-radius: 14px !important;
		text-align: left !important;
		width: 100%;
		margin: 0 !important;
	}
	.swift-why-stat-num { font-size: 1.75rem; }
	.swift-why-stat-lbl { font-size: 0.78rem; margin-top: 2px; }
}

/* MEDIA SIDE */
.swift-why-media {
	position: relative;
	padding-bottom: 40px;
	padding-right: 32px;
}
.swift-why-img {
	width: 100%;
	height: auto;
	aspect-ratio: 4/5;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 24px 56px -16px rgba(13, 47, 38, 0.35);
	display: block;
}
.swift-why-photo-meta {
	position: absolute;
	bottom: 28px;
	left: 28px;
	right: 60px;
	background: rgba(13, 47, 38, 0.92);
	color: var(--color-birch-bark);
	backdrop-filter: blur(8px);
	padding: 16px 20px;
	border-radius: 14px;
	border: 1px solid rgba(255, 185, 29, 0.2);
}
.swift-why-photo-names {
	font-family: var(--ff-display);
	font-size: 1rem;
	line-height: 1.2;
}
.swift-why-photo-names strong {
	color: var(--color-accent);
	font-weight: 700;
	display: block;
}
.swift-why-photo-names span {
	color: var(--color-birch-bark);
	font-weight: 500;
	font-size: 0.92rem;
}
.swift-why-photo-role {
	font-size: 0.78rem;
	color: rgba(253, 236, 213, 0.65);
	margin-top: 4px;
	letter-spacing: 0.02em;
}

.swift-why-stat-card {
	position: absolute;
	bottom: 0;
	right: 0;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	padding: 18px 24px;
	border-radius: 14px;
	box-shadow: 0 12px 28px -8px rgba(255, 185, 29, 0.45);
	text-align: center;
}
.swift-why-stat-num {
	font-family: var(--ff-display);
	font-weight: 900;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: -0.02em;
}
.swift-why-stat-lbl {
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-top: 4px;
	color: var(--color-pine-needle);
	opacity: 0.85;
}

/* CONTENT SIDE */
.swift-why-content .swift-eyebrow {
	background: rgba(20, 70, 58, 0.08);
	border: 1px solid rgba(20, 70, 58, 0.18);
	color: var(--color-primary);
}
.swift-why-content .swift-eyebrow svg { width: 14px; height: 14px; }

.swift-why-h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(2rem, 3.6vw, 3rem);
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--color-primary);
	margin: 0 0 20px;
}
.swift-why-h2-accent { color: var(--color-accent); font-style: italic; font-weight: 800; }

.swift-why-intro {
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0 0 32px;
}
.swift-why-intro strong { color: var(--color-primary); font-weight: 700; }

.swift-why-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 32px;
}
@media (max-width: 539px) {
	.swift-why-pillars { grid-template-columns: 1fr; }
}

.swift-why-pillar {
	background: var(--color-white);
	border: 1px solid rgba(20, 70, 58, 0.1);
	border-radius: 14px;
	padding: 20px 18px;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.swift-why-pillar:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px -12px rgba(13, 47, 38, 0.2);
	border-color: rgba(255, 185, 29, 0.4);
}
.swift-why-pillar-icon {
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: rgba(255, 185, 29, 0.15);
	color: var(--color-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.swift-why-pillar-icon svg { width: 22px; height: 22px; }
.swift-why-pillar h3 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--color-primary);
	letter-spacing: -0.01em;
	margin: 0 0 6px;
}
.swift-why-pillar p {
	font-size: 0.88rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	margin: 0;
}
.swift-why-pillar p strong { color: var(--color-primary); }

.swift-why-quote {
	position: relative;
	background: var(--color-white);
	border-left: 4px solid var(--color-accent);
	border-radius: 0 14px 14px 0;
	padding: 24px 28px 24px 32px;
	margin: 0 0 32px;
	box-shadow: 0 8px 24px -12px rgba(13, 47, 38, 0.15);
}
.swift-why-quote p {
	font-size: 1.05rem;
	font-style: italic;
	line-height: 1.55;
	color: var(--color-primary);
	margin: 0 0 12px;
	font-weight: 500;
}
.swift-why-quote footer {
	font-size: 0.85rem;
	color: var(--color-text-muted);
	font-weight: 600;
}
.swift-why-quote-mark {
	position: absolute;
	top: 18px;
	right: 24px;
	width: 36px;
	height: 36px;
	color: var(--color-accent);
	opacity: 0.5;
}

/* ============================================================
   CONTACT + MAP — Premium request-estimate section
   ============================================================ */

.swift-contact-section {
	padding: clamp(72px, 9vw, 120px) 0;
	background: var(--color-white);
	position: relative;
}

.swift-contact-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto clamp(40px, 5vw, 56px);
}
.swift-contact-h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.85rem, 3.4vw, 2.75rem);
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--color-primary);
	margin: 12px 0 16px;
}
.swift-contact-lead {
	font-size: clamp(0.98rem, 1.15vw, 1.1rem);
	line-height: 1.6;
	color: var(--color-text-muted);
	margin: 0;
}

.swift-contact-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 32px;
	align-items: stretch;
	max-width: 100%;
}
.swift-contact-grid > * { min-width: 0; }
@media (max-width: 1023px) { .swift-contact-grid { grid-template-columns: 1fr; gap: 24px; } }

/* --- Success / Error banners --- */
.swift-contact-success,
.swift-contact-error {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px 22px;
	border-radius: 14px;
	margin-bottom: 20px;
}
.swift-contact-success {
	background: rgba(46, 125, 50, 0.08);
	border: 1px solid rgba(46, 125, 50, 0.25);
	color: #1b5e20;
}
.swift-contact-error {
	background: rgba(183, 28, 28, 0.06);
	border: 1px solid rgba(183, 28, 28, 0.22);
	color: #b71c1c;
}
.swift-contact-success svg,
.swift-contact-error svg { width: 26px; height: 26px; flex-shrink: 0; margin-top: 2px; }
.swift-contact-success strong,
.swift-contact-error strong { display: block; font-size: 1rem; margin-bottom: 4px; }
.swift-contact-success p,
.swift-contact-error p { margin: 0; font-size: 0.92rem; line-height: 1.5; }
.swift-contact-success a,
.swift-contact-error a { color: inherit; font-weight: 700; }

/* --- Form fields inside any contact form wrap inherit consistent max-width --- */
.swift-contact-form-wrap input,
.swift-contact-form-wrap select,
.swift-contact-form-wrap textarea,
.swift-form-wrap input,
.swift-form-wrap select,
.swift-form-wrap textarea { max-width: 100%; box-sizing: border-box; }

/* Stronger global form mobile rules — applies to homepage, contact, estimate, city pages */
@media (max-width: 767px) {
	.swift-contact-section .swift-container,
	.swift-contact-form-wrap,
	.swift-elementor-form-wrap,
	.elementor-form { width: 100%; max-width: 100%; box-sizing: border-box; }
	.swift-contact-grid { grid-template-columns: 1fr !important; gap: 22px !important; }
	.swift-contact-grid > * { width: 100%; min-width: 0; }
	.swift-contact-map,
	.swift-contact-map iframe { width: 100%; min-height: 280px; }
}
@media (max-width: 479px) {
	.elementor-form .elementor-field { padding: 11px 13px; }
	.elementor-form .elementor-field-group .elementor-field-textual,
	.elementor-form .elementor-field-textual,
	.elementor-form .elementor-field,
	.elementor-form input,
	.elementor-form select,
	.elementor-form textarea { max-width: 100%; width: 100%; box-sizing: border-box; }
	.elementor-form .elementor-button { width: 100%; max-width: 100%; box-sizing: border-box; justify-content: center; padding: 14px 18px; }
}

.swift-contact-form { display: flex; flex-direction: column; gap: 18px; }
.swift-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 639px) { .swift-form-row { grid-template-columns: 1fr; } }

.swift-form-field { display: flex; flex-direction: column; gap: 6px; }
.swift-form-field-full { width: 100%; }
.swift-form-field label {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--color-primary);
	letter-spacing: -0.005em;
}
.swift-form-field label span[aria-hidden="true"] { color: var(--color-accent); margin-left: 2px; }

.swift-form-field input[type="text"],
.swift-form-field input[type="email"],
.swift-form-field input[type="tel"],
.swift-form-field select,
.swift-form-field textarea {
	width: 100%;
	padding: 12px 14px;
	font-family: var(--ff-body);
	font-size: 0.95rem;
	color: var(--color-text);
	background: var(--color-white);
	border: 1.5px solid rgba(20, 70, 58, 0.15);
	border-radius: 10px;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.swift-form-field textarea { resize: vertical; min-height: 110px; }
.swift-form-field select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314463A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	padding-right: 40px;
}
.swift-form-field input:focus,
.swift-form-field select:focus,
.swift-form-field textarea:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 4px rgba(255, 185, 29, 0.18);
}
.swift-form-field.has-error input,
.swift-form-field.has-error select,
.swift-form-field.has-error textarea {
	border-color: #b71c1c;
	background-color: rgba(183, 28, 28, 0.03);
}

/* Radio + checkbox */
.swift-form-radio-group { display: flex; flex-wrap: wrap; gap: 8px; }
.swift-radio {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	background: var(--color-surface-soft);
	border: 1.5px solid transparent;
	border-radius: var(--radius-pill);
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--color-text);
	cursor: pointer;
	transition: background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.swift-radio input { position: absolute; opacity: 0; pointer-events: none; }
.swift-radio:hover { background: rgba(255, 185, 29, 0.1); }
.swift-radio:has(input:checked) {
	background: var(--color-primary);
	color: var(--color-birch-bark);
	border-color: var(--color-primary);
}

.swift-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--color-text-muted);
	cursor: pointer;
}
.swift-checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--color-primary);
	flex-shrink: 0;
}
.swift-checkbox span[aria-hidden] { color: var(--color-accent); }

/* Honeypot — visually hidden but not display:none (some bots skip display:none) */
.swift-hp-field {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Submit button */
.swift-form-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 16px 28px;
	font-size: 0.98rem;
	margin-top: 8px;
	transition: background-color .25s var(--ease), gap .25s var(--ease), transform .15s var(--ease);
}
.swift-form-submit svg { width: 20px; height: 20px; }
.swift-form-submit:hover { gap: 14px; }
.swift-form-submit:active { transform: scale(0.98); }

.swift-form-meta {
	font-size: 0.85rem;
	color: var(--color-text-muted);
	text-align: center;
	margin: 8px 0 0;
	line-height: 1.5;
}
.swift-form-meta a { color: var(--color-primary); text-decoration: none; }
.swift-form-meta a:hover { color: var(--color-primary-dk); }

/* --- Aside: map only, stretched to match form height --- */
.swift-contact-aside {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	max-width: 100%;
	min-width: 0;
}
.swift-contact-map {
	border-radius: 20px;
	overflow: hidden;
	flex: 1 1 auto;
	min-height: 480px;
	box-shadow: 0 6px 24px rgba(13, 47, 38, 0.12);
	border: 1px solid rgba(20, 70, 58, 0.1);
}
.swift-contact-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 480px;
}
@media (max-width: 1023px) {
	.swift-contact-map { min-height: 360px; }
	.swift-contact-map iframe { min-height: 360px; }
}

/* ============================================================
   REVIEWS V2 — Premium professional layout
   ============================================================ */

.swift-reviews-section {
	padding: clamp(72px, 9vw, 120px) 0;
	background: var(--color-white);
	position: relative;
}
.swift-reviews-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at bottom right, rgba(255, 185, 29, 0.04), transparent 60%);
	pointer-events: none;
}
.swift-reviews-section > .swift-container { position: relative; z-index: 1; }

.swift-reviews-header {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: center;
	margin-bottom: clamp(36px, 4vw, 52px);
}
@media (max-width: 767px) {
	.swift-reviews-header { grid-template-columns: 1fr; text-align: center; }
}

.swift-reviews-h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.85rem, 3.2vw, 2.5rem);
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--color-primary);
	margin: 0;
}
.swift-reviews-rating {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--color-white);
	border: 1px solid rgba(20, 70, 58, 0.1);
	border-radius: 14px;
	padding: 16px 22px;
	box-shadow: 0 2px 10px rgba(13, 47, 38, 0.05);
}
@media (max-width: 767px) { .swift-reviews-rating { justify-content: center; } }
.swift-reviews-rating-num {
	font-family: var(--ff-display);
	font-weight: 900;
	font-size: 2.5rem;
	color: var(--color-primary);
	line-height: 1;
	letter-spacing: -0.03em;
}
.swift-reviews-rating-stars {
	color: var(--color-accent);
	font-size: 1.05rem;
	letter-spacing: 2px;
	line-height: 1.1;
}
.swift-reviews-rating-meta {
	font-size: 0.78rem;
	color: var(--color-text-muted);
	line-height: 1.4;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.swift-reviews-rating-meta-platforms { white-space: nowrap; }
.swift-reviews-rating-meta strong { color: var(--color-primary); font-weight: 700; }
@media (max-width: 479px) {
	.swift-reviews-rating { flex-wrap: wrap; justify-content: center; text-align: center; gap: 10px 16px; }
	.swift-reviews-rating-meta { width: 100%; align-items: center; }
	.swift-reviews-rating-meta-platforms { white-space: normal; }
}

.swift-reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 1023px) { .swift-reviews-grid { grid-template-columns: 1fr; max-width: 580px; margin: 0 auto; } }

.swift-review-card-v2 {
	position: relative;
	background: var(--color-surface);
	border-radius: 18px;
	padding: 28px 26px;
	box-shadow: 0 4px 18px rgba(13, 47, 38, 0.06);
	border: 1px solid rgba(20, 70, 58, 0.08);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.swift-review-card-v2:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px -16px rgba(13, 47, 38, 0.18);
}
.swift-review-card-v2.is-featured {
	background: linear-gradient(155deg, var(--color-white) 0%, #FFF7E0 100%);
	border-color: rgba(255, 185, 29, 0.3);
}

.swift-review-card-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.swift-review-stars-v2 {
	display: inline-flex;
	gap: 2px;
	color: var(--color-accent);
}
.swift-review-stars-v2 svg { width: 18px; height: 18px; }

.swift-review-verified {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.72rem;
	color: #2E7D32;
	background: rgba(46, 125, 50, 0.1);
	padding: 4px 10px;
	border-radius: var(--radius-pill);
	letter-spacing: 0.04em;
}
.swift-review-verified svg { width: 14px; height: 14px; }

.swift-review-body-v2 {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0;
	border: 0;
	padding: 0;
	flex: 1;
	font-weight: 400;
	position: relative;
}
.swift-review-body-v2::before {
	content: "\201C";
	font-family: Georgia, serif;
	font-size: 3.5rem;
	color: var(--color-accent);
	opacity: 0.25;
	position: absolute;
	top: -16px;
	left: -8px;
	line-height: 1;
	pointer-events: none;
}

.swift-review-author-row {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 12px;
	padding-top: 16px;
	border-top: 1px solid rgba(20, 70, 58, 0.1);
}
.swift-review-avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dk));
	color: var(--color-accent);
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 0.95rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.02em;
}
.swift-review-author-meta { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.swift-review-author-meta strong { color: var(--color-primary); font-weight: 700; font-size: 0.95rem; }
.swift-review-author-meta span { color: var(--color-text-muted); font-size: 0.82rem; margin-top: 2px; }

.swift-review-platform {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(20, 70, 58, 0.04);
}
.swift-review-platform svg { width: 18px; height: 18px; }
.swift-review-platform span {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.7rem;
	color: var(--platform-color, var(--color-primary));
	letter-spacing: 0.05em;
}

.swift-reviews-cta { text-align: center; margin-top: clamp(32px, 4vw, 48px); }

/* Legacy review card kept for compatibility */
.swift-review-card {
	background: var(--color-white);
	border-radius: var(--radius-card);
	padding: 28px 24px;
	box-shadow: var(--shadow-card);
	display: flex;
	flex-direction: column;
}
.swift-review-stars {
	color: var(--color-accent);
	font-size: 1.25rem;
	letter-spacing: 2px;
	margin-bottom: 12px;
}
.swift-review-body {
	font-style: italic;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--color-text);
	margin: 0 0 20px;
	border: 0;
	padding: 0;
	flex: 1;
}
.swift-review-meta {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--color-border);
	padding-top: 12px;
}
.swift-review-meta strong { color: var(--color-primary); font-size: 0.95rem; }
.swift-review-meta span { color: var(--color-text-muted); font-size: 0.85rem; }

/* ============================================================
   PROCESS — How it works, with dashed-arrow connectors
   ============================================================ */

.swift-process-section {
	padding: clamp(72px, 9vw, 120px) 0;
	background: var(--color-white);
}
.swift-process-header {
	text-align: center;
	max-width: 920px;
	margin: 0 auto clamp(40px, 5vw, 64px);
}
.swift-process-header .swift-section-h2 {
	white-space: nowrap;
	font-size: clamp(1.25rem, 2.6vw, 2.25rem);
}
@media (max-width: 767px) {
	.swift-process-header .swift-section-h2 {
		white-space: normal;
		font-size: clamp(1.3rem, 5vw, 1.75rem);
	}
}

.swift-process-steps {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 0;
}
.swift-process-step {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	gap: 0;
	min-width: 0;
}
.swift-process-step-inner {
	flex: 1 1 0;
	text-align: center;
	padding: 24px 16px;
	background: var(--color-white);
	border: 1px solid rgba(20, 70, 58, 0.1);
	border-radius: 16px;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
	min-width: 0;
}
.swift-process-step-inner:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 185, 29, 0.5);
	box-shadow: 0 16px 32px -16px rgba(13, 47, 38, 0.25);
}

.swift-process-num {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dk) 100%);
	color: var(--color-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	box-shadow: 0 0 0 4px rgba(20, 70, 58, 0.08);
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	transition: transform .25s var(--ease);
	position: relative;
}
.swift-process-num::before {
	content: "";
	position: absolute;
	inset: -6px;
	border-radius: 50%;
	border: 1.5px dashed rgba(255, 185, 29, 0.4);
}
.swift-process-step-inner:hover .swift-process-num { transform: scale(1.08); }

.swift-process-title {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
	color: var(--color-primary);
	margin: 0 0 8px;
}
.swift-process-body {
	font-size: 0.88rem;
	color: var(--color-text-muted);
	line-height: 1.5;
	margin: 0;
}

/* The arrow connector between steps — high-contrast on white section */
.swift-process-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary);
	flex-shrink: 0;
	width: 80px;
	height: 44px;
	padding: 8px 10px;
	margin: 0 -4px;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 185, 29, 0.18) 50%, transparent 100%);
	border-radius: 22px;
	position: relative;
	z-index: 2;
}
.swift-process-arrow svg {
	width: 100%;
	height: 24px;
	filter: drop-shadow(0 1px 0 rgba(20, 70, 58, 0.15));
}

/* Tablet */
@media (max-width: 1023px) {
	.swift-process-arrow { width: 52px; height: 36px; padding: 6px; }
}

/* Mobile: stack vertically with downward arrows */
@media (max-width: 767px) {
	.swift-process-steps { flex-direction: column; }
	.swift-process-step { flex-direction: column; }
	.swift-process-arrow {
		width: 44px;
		height: 52px;
		padding: 8px 0;
		margin: -4px 0;
		transform: rotate(90deg);
		background: radial-gradient(ellipse at center, rgba(255, 185, 29, 0.22) 0%, transparent 70%);
	}
}

/* ============================================================
   FAQ
   ============================================================ */

.swift-faq { display: flex; flex-direction: column; gap: 12px; }
.swift-faq-item {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 0 24px;
	transition: box-shadow .2s var(--ease);
}
.swift-faq-item[open] { box-shadow: var(--shadow-card); border-color: var(--color-primary); }
.swift-faq-item summary {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 1.1rem;
	color: var(--color-primary);
	padding: 20px 0;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 40px;
	letter-spacing: -0.005em;
}
.swift-faq-item summary::-webkit-details-marker { display: none; }
.swift-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-accent);
	font-size: 1.5rem;
	font-weight: 700;
	transition: transform .2s var(--ease);
}
.swift-faq-item summary::after {
	transition: transform .3s cubic-bezier(.4,0,.2,1), color .3s ease;
}
.swift-faq-item[open] summary::after {
	content: "+";
	transform: translateY(-50%) rotate(45deg);
	color: var(--color-primary);
}
.swift-faq-body {
	padding: 0 0 20px;
	color: var(--color-text);
	line-height: 1.6;
	overflow: hidden;
	opacity: 1;
}
.swift-faq-item:not([open]) .swift-faq-body {
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
	opacity: 0;
}

/* ============================================================
   FINAL CTA BANNER
   ============================================================ */

.swift-cta-final {
	background: linear-gradient(135deg, var(--color-forest-oak) 0%, var(--color-pine-needle) 100%);
	color: var(--color-birch-bark);
	padding: clamp(56px, 7vw, 88px) 0;
	text-align: center;
	border-top: 4px solid var(--color-accent);
	border-bottom: 1px solid rgba(255, 185, 29, 0.2);
	margin-bottom: 0;
}
.swift-cta-h2 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--color-birch-bark);
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 12px;
}
.swift-cta-sub {
	font-size: 1.05rem;
	color: rgba(253, 236, 213, 0.85);
	margin: 0 0 32px;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.swift-cta-final .swift-hero-ctas { justify-content: center; }

/* ============================================================
   PAGE TEMPLATES (generic, service, breadcrumb)
   ============================================================ */

.swift-page-hero {
	background: linear-gradient(135deg, var(--color-forest-oak), var(--color-pine-needle));
	color: var(--color-birch-bark);
	padding: 72px 0 56px;
	text-align: center;
	border-bottom: 4px solid var(--color-accent);
}
.swift-page-h1 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	color: var(--color-birch-bark);
	margin: 0;
	letter-spacing: -0.02em;
	line-height: 1.1;
}
.swift-page-hero p {
	color: rgba(253, 236, 213, 0.85);
	margin-top: 12px;
	font-size: 1.05rem;
}

.swift-service-hero {
	background-color: var(--color-pine-needle);
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
	color: var(--color-birch-bark);
	padding: 96px 0;
	position: relative;
}
.swift-service-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, rgba(13, 47, 38, 0.9) 0%, rgba(13, 47, 38, 0.55) 100%);
}
.swift-service-hero > * { position: relative; z-index: 2; }
.swift-service-hero .swift-container > * { position: relative; z-index: 2; }

.swift-breadcrumb {
	font-size: 0.85rem;
	color: rgba(253, 236, 213, 0.75);
	margin-bottom: 16px;
}
.swift-breadcrumb a {
	color: var(--color-accent);
	text-decoration: none;
}
.swift-service-price {
	font-family: var(--ff-display);
	color: var(--color-accent);
	font-size: 1.1rem;
	margin: 16px 0 24px;
}

.swift-prose h2 { font-size: 1.75rem; margin-top: 2em; }
.swift-prose h3 { font-size: 1.25rem; margin-top: 1.5em; }
.swift-prose p, .swift-prose li { font-size: 1.05rem; line-height: 1.7; }
.swift-prose ul, .swift-prose ol { padding-left: 1.5em; }

/* ============================================================
   FOOTER
   ============================================================ */

.swift-site-footer {
	background: #081a14;
	color: var(--color-birch-bark);
	padding: 72px 0 24px;
	margin-top: 0;
	position: relative;
}
.swift-site-footer::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 185, 29, 0.3), transparent);
}
.swift-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 40px;
	margin-bottom: 48px;
}
@media (max-width: 1023px) {
	.swift-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 639px) {
	.swift-footer-grid { grid-template-columns: 1fr; }
}

.swift-footer-brand { margin-bottom: 12px; }
.swift-footer-slogan {
	font-family: var(--ff-display);
	color: var(--color-accent);
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.swift-footer-address {
	font-style: normal;
	line-height: 1.7;
	margin-bottom: 16px;
	color: rgba(253, 236, 213, 0.85);
}
.swift-footer-address a {
	color: var(--color-birch-bark);
	text-decoration: none;
}
.swift-footer-address a:hover { color: var(--color-accent); }
.swift-footer-licenses {
	font-size: 0.78rem;
	color: rgba(253, 236, 213, 0.6);
	margin: 0;
}

.swift-footer-col h4 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--color-accent);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 16px;
}
.swift-footer-col ul,
.swift-footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}
.swift-footer-col li,
.swift-footer-menu li { margin-bottom: 10px; }
.swift-footer-col a,
.swift-footer-menu a {
	color: rgba(253, 236, 213, 0.85);
	text-decoration: none;
	font-size: 0.9rem;
	transition: color .2s var(--ease);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	line-height: 1.4;
}
.swift-footer-col a:hover,
.swift-footer-menu a:hover { color: var(--color-accent); }
.swift-footer-col a:hover .swift-footer-icon { color: var(--color-accent); transform: translateX(2px); }
.swift-footer-icon {
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	color: var(--color-accent);
	transition: transform .2s var(--ease), color .2s var(--ease);
}

.swift-footer-logo {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	margin-bottom: 8px;
}
.swift-footer-logo-image {
	display: inline-flex;
	/* background: var(--color-birch-bark); */
	/* padding: 16px 24px; */
	/* border-radius: 16px; */
	/* margin-bottom: 16px; */
	/* box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2); */
}
.swift-footer-logo-image img {
	display: block;
	height: 70px;
	/* width: auto; */
	/* max-width: 240px; */
	/* object-fit: contain; */
}
.swift-footer-logo .swift-logo-mark-text {
	color: var(--color-accent);
	font-size: 1.65rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}
.swift-footer-logo .swift-logo-sub {
	color: var(--color-birch-bark);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	margin-top: 4px;
}

.swift-footer-bottom {
	border-top: 1px solid rgba(253, 236, 213, 0.12);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.85rem;
	color: rgba(253, 236, 213, 0.7);
	flex-wrap: wrap;
	gap: 12px;
}
.swift-footer-utility a {
	color: rgba(253, 236, 213, 0.7);
	text-decoration: none;
	margin: 0 4px;
}
.swift-footer-utility a:hover { color: var(--color-accent); }

/* ============================================================
   ABOUT PAGE & SHARED SECONDARY-PAGE COMPONENTS
   Added for page-about.php. Reusable across services hub,
   service-areas, about, reviews, faq, contact, financing.
   ============================================================ */

/* ---------- Page hero (lighter than homepage swift-hero) -------------- */
.swift-page-hero {
	position: relative;
	background-color: #000000;
	background-image:
		linear-gradient(135deg, rgba(6, 6, 6, 0.82) 0%, rgba(0, 0, 0, 0.72) 60%, rgba(4, 4, 4, 0.78) 100%),
		var(--swift-hero-img, linear-gradient(135deg, #000000 0%, #000000 100%));
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: var(--color-birch-bark);
	padding: clamp(140px, 16vw, 180px) 0 clamp(64px, 9vw, 96px);
	overflow: hidden;
	isolation: isolate;
}
@media (max-width: 1023px) {
	.swift-page-hero { padding-top: 150px; }
}
@media (max-width: 767px) {
	.swift-page-hero { padding-top: 140px; padding-bottom: 56px; }
	.swift-page-hero .swift-breadcrumb { margin-bottom: 18px; }
}
@media (max-width: 479px) {
	.swift-page-hero { padding-top: 130px; }
}
.swift-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(800px 400px at 90% 20%, rgba(255, 185, 29, 0.10), transparent 60%),
		radial-gradient(600px 300px at 10% 90%, rgba(253, 236, 213, 0.06), transparent 60%);
	z-index: -1;
}
.swift-page-hero-inner {
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}
.swift-page-hero .swift-eyebrow {
	color: var(--color-accent);
	background: rgba(255, 185, 29, 0.10);
	padding: 10px 20px;
	border-radius: var(--radius-pill);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 18px;
}
.swift-page-hero-h1 {
	font-size: var(--fs-h1);
	color: var(--color-birch-bark);
	margin: 0 auto 22px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: var(--lh-tight);
}
.swift-page-hero-h1 em { font-style: normal; color: var(--color-accent); }
.swift-page-hero-lede,
.swift-page-hero-lede strong,
.swift-page-hero-lede em,
.swift-page-hero-lede span {
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: var(--lh-body);
	color: #ffffff !important;
	margin: 0 auto 32px;
	max-width: 720px;
}
.swift-page-hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 8px;
	justify-content: center;
}
@media (max-width: 539px) {
	.swift-page-hero-ctas { flex-direction: column; align-items: stretch; gap: 12px; }
	.swift-page-hero-ctas .swift-btn { width: 100%; justify-content: center; }
}

/* ---------- Breadcrumb (pairs with BreadcrumbList JSON-LD) ------------ */
.swift-breadcrumb { font-size: var(--fs-small); margin: 0 0 22px; }
.swift-breadcrumb ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px 8px; justify-content: center; }
.swift-breadcrumb li + li::before { content: "›"; margin-right: 8px; color: var(--color-accent); opacity: 0.7; }
.swift-page-hero .swift-breadcrumb,
.swift-page-hero .swift-breadcrumb a,
.swift-page-hero .swift-breadcrumb li,
.swift-page-hero .swift-breadcrumb [aria-current="page"] { color: #ffffff !important; text-decoration: none; }
.swift-page-hero .swift-breadcrumb a:hover { color: var(--color-accent) !important; }
.swift-page-hero .swift-breadcrumb li + li::before { color: #ffffff !important; opacity: 0.8; }

/* ---------- Page-brief / at-a-glance panel --------------------------- */
.swift-page-brief {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-card);
	padding: 32px 36px;
	margin: -60px auto var(--space-block);
	max-width: 980px;
	box-shadow: var(--shadow-card-hover);
	position: relative;
	z-index: 3;
}
.swift-page-brief-title {
	font-family: var(--ff-display);
	font-size: 0.85rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: 0.1em;
	color: var(--color-cedar-ember);
	margin: 0 0 14px;
}
.swift-page-brief-meta {
	display: grid;
	grid-template-columns: minmax(160px, 200px) 1fr;
	gap: 12px 24px;
	font-size: 0.95rem;
	margin: 0;
}
.swift-page-brief-meta dt {
	font-family: var(--ff-display);
	font-weight: 700;
	color: var(--color-primary);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.swift-page-brief-meta dd { margin: 0; color: var(--color-text); }
.swift-page-brief-meta dd strong { color: var(--color-primary); }
@media (max-width: 767px) {
	.swift-page-brief { padding: 24px 22px; margin: -36px 16px var(--space-block); max-width: none; }
	.swift-page-brief-meta { grid-template-columns: 1fr; gap: 4px 0; }
	.swift-page-brief-meta dt { margin-top: 10px; font-size: 0.78rem; }
	.swift-page-brief-meta dt:first-child { margin-top: 0; }
	.swift-page-brief-meta dd { font-size: 0.95rem; }
}

/* ---------- Callout boxes -------------------------------------------- */
.swift-callout {
	background: var(--color-surface);
	border-left: 4px solid var(--color-accent);
	padding: 18px 22px;
	margin: 24px 0;
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	display: flex; gap: 16px; align-items: flex-start;
}
.swift-callout > svg { flex-shrink: 0; width: 24px; height: 24px; color: var(--color-accent); margin-top: 2px; }
.swift-callout > :not(svg) { flex: 1; }
.swift-callout-title { font-family: var(--ff-display); font-weight: 700; color: var(--color-primary); display: block; margin-bottom: 4px; }
.swift-callout p:last-child { margin-bottom: 0; }
.swift-callout.is-warn { border-left-color: var(--color-emergency); background: #fcefef; }
.swift-callout.is-warn > svg { color: var(--color-emergency); }
.swift-callout.is-note { border-left-color: var(--color-primary); }
.swift-callout.is-note > svg { color: var(--color-primary); }

/* ============================================================
   ABOUT PAGE — Premium decorative shape library
   Used to layer blobs, dots, leaves and accents under sections
   so the design feels like a senior-developer build, not a
   plain content-only WordPress page.
   ============================================================ */

/* All decorations must sit BEHIND content. Sections that contain
   shapes need position:relative + overflow:hidden to clip them. */
.swift-has-shapes { position: relative; overflow: hidden; }
.swift-shape {
	position: absolute;
	pointer-events: none;
	z-index: 0;
}
.swift-has-shapes > .swift-container { position: relative; z-index: 1; }

/* ---------- Soft amorphous blobs ------------------------------------- */
.swift-shape-blob {
	border-radius: 50%;
	filter: blur(40px);
	opacity: 0.55;
}
.swift-shape-blob.is-gold      { background: radial-gradient(circle at 30% 30%, rgba(255, 185, 29, 0.55), transparent 65%); }
.swift-shape-blob.is-forest    { background: radial-gradient(circle at 30% 30%, rgba(20, 70, 58, 0.45), transparent 65%); }
.swift-shape-blob.is-cream     { background: radial-gradient(circle at 30% 30%, rgba(253, 236, 213, 0.7), transparent 65%); }

/* ---------- Dot grid (CSS-only) -------------------------------------- */
.swift-shape-dots {
	background-image: radial-gradient(circle, var(--color-cedar-ember) 1.5px, transparent 1.5px);
	background-size: 22px 22px;
	opacity: 0.18;
}
.swift-shape-dots.is-dark {
	background-image: radial-gradient(circle, rgba(255, 185, 29, 0.5) 1.5px, transparent 1.5px);
	opacity: 0.45;
}

/* ---------- Diagonal stripe band ------------------------------------- */
.swift-shape-stripes {
	background-image: repeating-linear-gradient(
		135deg,
		transparent 0px,
		transparent 14px,
		rgba(116, 82, 51, 0.10) 14px,
		rgba(116, 82, 51, 0.10) 16px
	);
}

/* ---------- Concentric ring (SVG) ------------------------------------ */
.swift-shape-rings {
	width: 280px; height: 280px;
	border-radius: 50%;
	border: 1px dashed rgba(116, 82, 51, 0.30);
	display: flex;
	align-items: center;
	justify-content: center;
}
.swift-shape-rings::before, .swift-shape-rings::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	border: 1px dashed rgba(116, 82, 51, 0.20);
}
.swift-shape-rings::before { width: 200px; height: 200px; }
.swift-shape-rings::after  { width: 120px; height: 120px; }

/* ---------- Leaf accent (SVG inline) --------------------------------- */
.swift-shape-leaf {
	width: 140px; height: 140px;
	opacity: 0.18;
	color: var(--color-forest-oak);
}
.swift-shape-leaf svg { width: 100%; height: 100%; }

/* ---------- Quote-mark decoration ------------------------------------ */
.swift-shape-quote {
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 18rem;
	line-height: 1;
	font-weight: 700;
	color: var(--color-accent);
	opacity: 0.10;
	user-select: none;
}

/* ---------- Sparkle/star scatter ------------------------------------- */
.swift-shape-sparkle svg {
	width: 18px; height: 18px;
	color: var(--color-accent);
	opacity: 0.6;
}

/* ---------- Wave divider (curve at section bottom) ------------------- */
.swift-wave-divider {
	display: block;
	width: 100%;
	height: 60px;
	margin-bottom: -1px;
	color: inherit;
}
.swift-wave-divider svg { display: block; width: 100%; height: 100%; }

/* ---------- Side image (paired with content) ------------------------- */
.swift-side-image {
	position: relative;
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-card-hover);
	width: 100%;
	height: 100%;
	min-height: 420px;
}
.swift-side-image img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.swift-side-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(13, 47, 38, 0.55) 100%);
	pointer-events: none;
}
.swift-side-image-tag {
	position: absolute;
	left: 24px; bottom: 24px;
	right: 24px;
	color: var(--color-birch-bark);
	font-family: var(--ff-display);
	font-weight: 700;
	z-index: 2;
	font-size: 1.05rem;
	line-height: 1.35;
}
.swift-side-image-tag small {
	display: block;
	font-weight: 600;
	font-size: 0.78rem;
	color: var(--color-accent);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
@media (max-width: 1023px) {
	.swift-side-image { min-height: 320px; aspect-ratio: 16 / 10; }
}

/* ---------- Why-section grid (text + side image) --------------------- */
.swift-why-flex {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 48px;
	align-items: stretch;
	margin-bottom: var(--space-block);
}
.swift-why-flex > * { min-width: 0; }
.swift-why-flex-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 18px;
}
.swift-why-flex-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-cedar-ember);
	background: rgba(255, 185, 29, 0.14);
	border: 1px solid rgba(255, 185, 29, 0.32);
	padding: 10px 20px;
	border-radius: var(--radius-pill);
	margin: 0 0 4px;
	line-height: 1;
}
.swift-why-flex-h3 {
	font-family: var(--ff-display);
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
	font-weight: 800;
	color: var(--color-primary);
	letter-spacing: -0.015em;
	line-height: 1.2;
	margin: 0;
}
.swift-why-flex-h3 em { font-style: normal; color: var(--color-accent); }
.swift-why-flex-lead {
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--color-text);
	margin: 0;
}
.swift-why-flex-list {
	list-style: none;
	padding: 0;
	margin: 8px 0 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.swift-why-flex-list li {
	position: relative;
	padding-left: 36px;
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--color-text);
}
.swift-why-flex-list li::before {
	content: "";
	position: absolute;
	left: 0; top: 2px;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: var(--color-accent) no-repeat center/14px 14px
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D2F26' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.swift-why-flex-list li strong { color: var(--color-primary); font-weight: 700; }
.swift-why-flex-signoff {
	margin: 18px 0 0;
	padding: 16px 20px;
	background: var(--color-surface);
	border-left: 4px solid var(--color-accent);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	font-size: 0.95rem;
	color: var(--color-text-muted);
	font-style: italic;
	line-height: 1.55;
}
.swift-why-flex-signoff strong { color: var(--color-primary); font-style: normal; }
@media (max-width: 1023px) {
	.swift-why-flex { grid-template-columns: 1fr; gap: 28px; }
	.swift-why-flex-text { justify-content: flex-start; }
}

/* ---------- Ministry decorative photo column ------------------------- */
.swift-ministry-photo {
	position: relative;
	border-radius: var(--radius-card);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
	border: 1px solid rgba(255, 185, 29, 0.30);
}
.swift-ministry-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.swift-ministry-photo::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 40%, rgba(13, 47, 38, 0.65) 100%);
}
@media (max-width: 1023px) {
	.swift-ministry-photo { aspect-ratio: 16 / 10; max-height: 300px; }
}

/* ---------- Decorated section number badges (about page) ------------- */
.swift-pillar-badge {
	position: absolute;
	top: 20px; right: 22px;
	font-family: Georgia, 'Times New Roman', serif;
	font-style: italic;
	font-size: 2.5rem;
	color: var(--color-accent);
	opacity: 0.25;
	line-height: 1;
	pointer-events: none;
}
.swift-why-pillar { position: relative; }

/* ---------- Founders banner photo ------------------------------------ */
.swift-founders-banner {
	margin: 0 auto var(--space-block);
	max-width: 1100px;
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-card-hover);
	position: relative;
	aspect-ratio: 16 / 7;
	background: linear-gradient(135deg, var(--color-pine-needle), var(--color-forest-oak));
}
.swift-founders-banner img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.swift-founders-banner figcaption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	background: linear-gradient(180deg, transparent 0%, rgba(13, 47, 38, 0.85) 100%);
	color: var(--color-birch-bark);
	padding: 40px 28px 22px;
	font-family: var(--ff-display);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.swift-founders-banner figcaption strong { font-size: 1.1rem; font-weight: 700; color: var(--color-white); }
.swift-founders-banner figcaption span { font-size: 0.92rem; color: rgba(253, 236, 213, 0.85); font-weight: 500; }
@media (max-width: 639px) {
	.swift-founders-banner { aspect-ratio: 4 / 3; }
	.swift-founders-banner figcaption { padding: 28px 20px 18px; }
	.swift-founders-banner figcaption strong { font-size: 1rem; }
}

/* ---------- Founders grid -------------------------------------------- */
.swift-founders-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 32px; }
@media (max-width: 767px) { .swift-founders-grid { grid-template-columns: 1fr; gap: 22px; } }
.swift-founder-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
	display: flex; flex-direction: column;
}
.swift-founder-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.swift-founder-photo {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--color-forest-oak), var(--color-pine-needle));
	background-size: cover; background-position: center;
	position: relative;
}
.swift-founder-photo::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(13, 47, 38, 0.55) 100%);
}
.swift-founder-photo-initials {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--ff-display);
	font-size: 4rem; font-weight: 800;
	color: rgba(255, 185, 29, 0.85);
	letter-spacing: -0.04em;
}
.swift-founder-body { padding: 24px 26px 28px; }
.swift-founder-name {
	font-family: var(--ff-display);
	font-size: 1.35rem; font-weight: 800;
	color: var(--color-primary);
	margin: 0 0 8px;
	letter-spacing: -0.01em;
}
.swift-founder-role {
	display: inline-block;
	font-family: var(--ff-display);
	font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--color-accent);
	background: var(--color-pine-needle);
	padding: 4px 10px; border-radius: var(--radius-pill);
	margin-bottom: 14px;
}
.swift-founder-bio { margin: 0 0 16px; color: var(--color-text); }
.swift-founder-quote {
	border-top: 1px solid var(--color-border);
	padding-top: 14px; margin: 0;
	font-style: italic;
	color: var(--color-text-muted);
	font-size: 0.95rem; line-height: var(--lh-snug);
}
.swift-founder-quote::before {
	content: "\201C";
	font-family: Georgia, serif;
	color: var(--color-accent);
	font-size: 2rem; line-height: 0;
	vertical-align: -10px; margin-right: 4px;
}

/* ---------- Team grid (About page) ---------------------------------- */
.swift-team-subhead {
	font-family: var(--ff-display);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 36px 0 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--color-border);
}
.swift-team-grid { display: grid; gap: 22px; }
.swift-team-grid-4 { grid-template-columns: repeat(4, 1fr); }
.swift-team-grid-2 { grid-template-columns: repeat(2, 1fr); max-width: 620px; }
@media (max-width: 1023px) { .swift-team-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 539px)  {
	.swift-team-grid-4, .swift-team-grid-2 { grid-template-columns: 1fr; }
}
.swift-team-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 22px 18px 20px;
	text-align: center;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.swift-team-card:hover {
	transform: translateY(-3px);
	border-color: var(--color-accent);
	box-shadow: var(--shadow-card-hover);
}
.swift-team-avatar {
	width: 88px;
	height: 88px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--color-forest-oak), var(--color-pine-needle));
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.swift-team-avatar-alt {
	background: linear-gradient(135deg, var(--color-accent), #d99a1a);
}
.swift-team-avatar-initials {
	font-family: var(--ff-display);
	font-size: 1.7rem;
	font-weight: 800;
	color: rgba(255, 255, 255, 0.95);
	letter-spacing: -0.02em;
}
.swift-team-avatar-alt .swift-team-avatar-initials {
	color: var(--color-primary);
}
.swift-team-name {
	font-family: var(--ff-display);
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--color-primary);
	margin: 0 0 4px;
	letter-spacing: -0.01em;
}
.swift-team-role {
	font-family: var(--ff-display);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	margin: 0;
}

/* ---------- Sister-brand grid ---------------------------------------- */
.swift-sister-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 28px; }
@media (max-width: 1023px) { .swift-sister-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 479px)  { .swift-sister-grid { grid-template-columns: 1fr; } }
.swift-sister-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 22px;
	text-decoration: none; color: var(--color-text);
	display: flex; flex-direction: column; gap: 10px;
	transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.swift-sister-card:hover { transform: translateY(-3px); border-color: var(--color-primary); box-shadow: var(--shadow-card-hover); }
.swift-sister-card-icon {
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	background: var(--color-surface);
	border-radius: var(--radius-sm);
	color: var(--color-primary);
}
.swift-sister-card-icon svg { width: 24px; height: 24px; }
.swift-sister-card-name { font-family: var(--ff-display); font-weight: 800; color: var(--color-primary); font-size: 1.05rem; margin: 0; }
.swift-sister-card-desc { font-size: 0.9rem; color: var(--color-text-muted); line-height: var(--lh-snug); margin: 0; flex: 1; }
.swift-sister-card-link {
	font-family: var(--ff-display); font-weight: 700;
	font-size: 0.78rem; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--color-primary);
	display: inline-flex; align-items: center; gap: 6px;
	margin-top: auto;
	transition: gap .25s var(--ease), color .25s var(--ease);
}
.swift-sister-card:hover .swift-sister-card-link { gap: 10px; color: var(--color-pine-needle); }
.swift-sister-card-link svg { width: 14px; height: 14px; }

/* ---------- Credentials grid ----------------------------------------- */
.swift-creds-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }
@media (max-width: 1023px) { .swift-creds-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 479px)  { .swift-creds-grid { grid-template-columns: 1fr; } }
.swift-cred-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 22px 24px;
	display: flex; gap: 16px; align-items: flex-start;
	transition: border-color .25s var(--ease), transform .25s var(--ease);
}
.swift-cred-card:hover { border-color: var(--color-accent); transform: translateY(-2px); }
.swift-cred-icon {
	flex-shrink: 0; width: 44px; height: 44px;
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	color: var(--color-primary);
	display: flex; align-items: center; justify-content: center;
}
.swift-cred-icon svg { width: 24px; height: 24px; }
.swift-cred-title { font-family: var(--ff-display); font-weight: 700; color: var(--color-primary); margin: 0 0 4px; font-size: 1rem; }
.swift-cred-detail { font-size: 0.9rem; color: var(--color-text-muted); margin: 0; line-height: var(--lh-snug); }

/* ---------- Ministry block (dark feature section) -------------------- */
.swift-ministry {
	background: linear-gradient(120deg, var(--color-pine-needle) 0%, var(--color-forest-oak) 100%);
	color: var(--color-birch-bark);
	padding: var(--space-section) 0;
	position: relative;
	overflow: hidden;
}
.swift-ministry::before {
	content: ""; position: absolute; inset: 0;
	background-image:
		radial-gradient(circle at 85% 25%, rgba(255, 185, 29, 0.14), transparent 35%),
		radial-gradient(circle at 15% 80%, rgba(253, 236, 213, 0.06), transparent 35%);
	pointer-events: none;
}
.swift-ministry-grid {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 48px;
	align-items: center;
	position: relative;
}
@media (max-width: 1023px) { .swift-ministry-grid { grid-template-columns: 1fr; gap: 32px; } }
.swift-ministry-eyebrow {
	display: inline-block;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	font-family: var(--ff-display);
	font-weight: 700; font-size: 0.75rem;
	letter-spacing: 0.1em; text-transform: uppercase;
	padding: 6px 14px; border-radius: var(--radius-pill);
	margin-bottom: 16px;
}
.swift-ministry-h2 {
	font-family: var(--ff-display);
	font-size: clamp(1.75rem, 3.5vw, 2.6rem);
	color: var(--color-birch-bark);
	margin: 0 0 18px;
	font-weight: 800; letter-spacing: -0.02em;
	line-height: 1.12;
}
.swift-ministry-h2 em { font-style: normal; color: var(--color-accent); }
.swift-ministry-body { font-size: 1.05rem; line-height: 1.7; color: rgba(253, 236, 213, 0.92); margin: 0 0 16px; }
.swift-ministry-stat-card {
	background: rgba(13, 47, 38, 0.55);
	border: 1px solid rgba(255, 185, 29, 0.30);
	border-radius: var(--radius-card);
	padding: 32px;
	backdrop-filter: blur(6px);
}
.swift-ministry-stat-num {
	font-family: var(--ff-display);
	font-size: clamp(2.8rem, 6vw, 4.2rem);
	font-weight: 800;
	color: var(--color-accent);
	line-height: 1;
	letter-spacing: -0.03em;
	margin: 0 0 6px;
}
.swift-ministry-stat-lbl {
	font-family: var(--ff-display);
	font-weight: 700; letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.85rem;
	color: var(--color-birch-bark);
	margin: 0 0 14px;
}
.swift-ministry-stat-desc { font-size: 0.95rem; color: rgba(253, 236, 213, 0.78); margin: 0; line-height: var(--lh-snug); }

/* ---------- Mascot (Felix) block ------------------------------------- */
.swift-mascot { background: var(--color-surface-soft); padding: var(--space-section) 0; }
.swift-mascot-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 48px; align-items: center; }
@media (max-width: 767px) {
	.swift-mascot-grid { grid-template-columns: 1fr; gap: 24px; }
	.swift-mascot-grid > .swift-mascot-visual { order: 2; }
	.swift-mascot-grid > .swift-mascot-text { order: 1; }
}
.swift-mascot-visual {
	background: linear-gradient(135deg, var(--color-accent) 0%, #f5ac00 100%);
	border-radius: var(--radius-card);
	padding: 48px 32px;
	display: flex; align-items: center; justify-content: center;
	min-height: 240px;
	box-shadow: var(--shadow-card);
	color: var(--color-pine-needle);
}
.swift-mascot-visual svg { width: 100%; max-width: 220px; height: auto; }
.swift-mascot-visual-photo {
	padding: 0;
	overflow: hidden;
	min-height: 320px;
	position: relative;
}
.swift-mascot-visual-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .6s var(--ease);
}
.swift-mascot-visual-photo:hover img { transform: scale(1.04); }
@media (max-width: 767px) { .swift-mascot-visual-photo { min-height: 260px; aspect-ratio: 4 / 3; } }
/* Transparent character mascot variant — no card bg, full-height contain, white pixels blended out */
.swift-mascot-visual.is-character {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
	min-height: 460px;
	overflow: visible;
}
.swift-mascot-visual.is-character img {
	position: relative;
	inset: auto;
	width: auto;
	max-width: 100%;
	height: 100%;
	min-height: 460px;
	max-height: 620px;
	object-fit: contain;
	object-position: center bottom;
	mix-blend-mode: normal;
	filter: none;
	transition: transform .6s var(--ease);
}
.swift-mascot-visual.is-character:hover img { transform: scale(1.03) translateY(-4px); }
@media (max-width: 767px) {
	.swift-mascot-visual.is-character { min-height: 380px; aspect-ratio: auto; }
	.swift-mascot-visual.is-character img { min-height: 380px; max-height: 480px; }
}
.swift-mascot h2 { font-size: var(--fs-h2); margin: 0 0 14px; }
.swift-mascot-body { font-size: 1.02rem; line-height: var(--lh-body); margin: 0 0 18px; color: var(--color-text); }
.swift-mascot-facts { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.swift-mascot-facts li { position: relative; padding-left: 30px; font-size: .98rem; line-height: 1.55; color: var(--color-text); }
.swift-mascot-facts li::before {
	content: "";
	position: absolute;
	left: 0; top: .35em;
	width: 18px; height: 18px;
	border-radius: 50%;
	background: var(--color-accent);
	box-shadow: 0 0 0 4px rgba(245,172,0,.18);
}
.swift-mascot-facts li strong { color: var(--color-pine-needle); }

/* ============================================================
   SERVICES HUB + SINGLE SERVICE PAGE COMPONENTS
   ============================================================ */

/* ---------- Hub: category grouping ---------------------------------- */
.swift-svc-category {
	margin-bottom: var(--space-block);
	scroll-margin-top: 140px;
}
.swift-svc-category-head {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 22px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--color-border);
}
.swift-svc-category-eyebrow {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-cedar-ember);
}
.swift-svc-category-title {
	font-family: var(--ff-display);
	font-size: clamp(1.4rem, 2.6vw, 1.85rem);
	font-weight: 800;
	color: var(--color-primary);
	margin: 0;
	letter-spacing: -0.015em;
	line-height: 1.2;
}
.swift-svc-hub-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
@media (max-width: 1023px) { .swift-svc-hub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px)  { .swift-svc-hub-grid { grid-template-columns: 1fr; } }

/* ---------- Single-service page: "What's included" checklist ------- */
.swift-svc-included {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-card);
	padding: 32px 36px;
	box-shadow: var(--shadow-card);
	max-width: 960px;
	margin: 0 auto;
}
.swift-svc-included h3 {
	font-family: var(--ff-display);
	font-size: 1.2rem;
	color: var(--color-primary);
	margin: 0 0 16px;
}
.swift-svc-included-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 24px;
}
@media (max-width: 639px) { .swift-svc-included-list { grid-template-columns: 1fr; } }
.swift-svc-included-list li {
	position: relative;
	padding-left: 34px;
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--color-text);
}
.swift-svc-included-list li::before {
	content: "";
	position: absolute;
	left: 0; top: 2px;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--color-accent) no-repeat center/13px 13px
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D2F26' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.swift-svc-included-list li strong { color: var(--color-primary); font-weight: 700; }

/* ---------- Split layout: service image + checklist ----------------- */
.swift-svc-included-split {
	display: grid;
	grid-template-columns: minmax(280px, 0.85fr) 1.3fr;
	gap: 36px;
	align-items: stretch;
	max-width: 1100px;
	padding: 24px 26px 26px 24px;
}
.swift-svc-included-split.is-no-img {
	grid-template-columns: 1fr;
	padding: 32px 36px;
}
.swift-svc-included-split .swift-svc-included-list {
	grid-template-columns: 1fr;
	align-self: center;
}
@media (min-width: 900px) {
	.swift-svc-included-split .swift-svc-included-list { grid-template-columns: 1fr 1fr; }
}
.swift-svc-included-img {
	position: relative;
	border-radius: calc(var(--radius-card) - 4px);
	overflow: hidden;
	background: var(--color-cream, #f6f1e7);
	min-height: 280px;
	box-shadow: var(--shadow-card);
}
.swift-svc-included-img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .55s var(--ease);
}
.swift-svc-included-split:hover .swift-svc-included-img img { transform: scale(1.03); }
@media (max-width: 767px) {
	.swift-svc-included-split {
		grid-template-columns: 1fr;
		gap: 22px;
		padding: 20px 22px 24px;
	}
	.swift-svc-included-img { min-height: 220px; aspect-ratio: 4 / 3; }
}

/* ---------- Process step grid (4 steps) ----------------------------- */
.swift-svc-process-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 32px;
}
@media (max-width: 1023px) { .swift-svc-process-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 539px)  { .swift-svc-process-grid { grid-template-columns: 1fr; } }
.swift-svc-process-step {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 24px;
	position: relative;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.swift-svc-process-step:hover {
	transform: translateY(-3px);
	border-color: var(--color-accent);
	box-shadow: var(--shadow-card-hover);
}
.swift-svc-process-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1rem;
	margin-bottom: 14px;
}
.swift-svc-process-step h3 {
	font-family: var(--ff-display);
	font-size: 1.05rem;
	color: var(--color-primary);
	margin: 0 0 8px;
}
.swift-svc-process-step p {
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--color-text-muted);
	margin: 0;
}

/* ---------- Detail cards (species / depth tiers / etc.) ------------- */
.swift-svc-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-top: 24px;
}
@media (max-width: 639px) { .swift-svc-detail-grid { grid-template-columns: 1fr; } }
.swift-svc-detail-card {
	background: var(--color-surface);
	border-radius: var(--radius-card);
	padding: 22px 24px;
	border-left: 3px solid var(--color-cedar-ember);
}
.swift-svc-detail-card.is-warn { border-left-color: var(--color-emergency); background: #fcefef; }
.swift-svc-detail-card.is-strong { border-left-color: var(--color-primary); }
.swift-svc-detail-card h3 {
	font-family: var(--ff-display);
	font-size: 1rem;
	color: var(--color-primary);
	margin: 0 0 8px;
}
.swift-svc-detail-card p { margin: 0; font-size: 0.93rem; line-height: 1.55; color: var(--color-text); }
.swift-svc-detail-card p:not(:last-child) { margin-bottom: 8px; }

/* ---------- Related services rail (cross-link strip) ---------------- */
.swift-svc-related {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
@media (max-width: 1023px) { .swift-svc-related { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 539px)  { .swift-svc-related { grid-template-columns: 1fr; } }
.swift-svc-related-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 22px;
	text-decoration: none;
	color: var(--color-text);
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow: hidden;
	transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.swift-svc-related-card-img {
	width: calc(100% + 44px);
	margin: -22px -22px 6px -22px;
	aspect-ratio: 16 / 10;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: var(--radius-card) var(--radius-card) 0 0;
	transition: transform .35s var(--ease);
}
.swift-svc-related-card:hover .swift-svc-related-card-img { transform: scale(1.04); }
.swift-svc-related-card:hover {
	transform: translateY(-3px);
	border-color: var(--color-accent);
	box-shadow: var(--shadow-card-hover);
}
.swift-svc-related-card-name {
	font-family: var(--ff-display);
	font-weight: 800;
	color: var(--color-primary);
	font-size: 1.05rem;
	margin: 0;
}
.swift-svc-related-card-desc { font-size: 0.9rem; color: var(--color-text-muted); margin: 0; line-height: 1.5; flex: 1; }
.swift-svc-related-card-link {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-primary);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	transition: gap .25s var(--ease);
}
.swift-svc-related-card:hover .swift-svc-related-card-link { gap: 10px; color: var(--color-pine-needle); }
.swift-svc-related-card-link svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	stroke-width: 2.2;
}

/* ============================================================
   CITY PAGE — Image-card services grid (homepage-style)
   ============================================================ */
.swift-city-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin-top: 28px;
}
@media (max-width: 1023px) { .swift-city-services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px)  { .swift-city-services-grid { grid-template-columns: 1fr; } }

.swift-city-service-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	overflow: hidden;
	text-decoration: none;
	color: var(--color-text);
	display: flex;
	flex-direction: column;
	box-shadow: var(--shadow-card);
	transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.swift-city-service-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-card-hover);
	border-color: var(--color-accent);
}
.swift-city-service-card-img {
	aspect-ratio: 16 / 10;
	background-color: var(--color-surface);
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
}
.swift-city-service-card-img::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(13, 47, 38, 0.4) 100%);
}
.swift-city-service-card-body {
	padding: 22px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.swift-city-service-card-body h3 {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.15rem;
	color: var(--color-primary);
	margin: 0;
	letter-spacing: -0.005em;
}
.swift-city-service-card-body p {
	font-size: 0.93rem;
	line-height: 1.55;
	color: var(--color-text-muted);
	margin: 0;
	flex: 1;
}
.swift-city-service-card-cta {
	margin-top: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	padding: 10px 18px;
	border-radius: var(--radius-pill);
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: gap .25s var(--ease), background-color .25s var(--ease);
}
.swift-city-service-card:hover .swift-city-service-card-cta {
	gap: 10px;
	background: var(--color-pine-needle);
	color: var(--color-accent);
}
.swift-city-service-card-cta svg { width: 14px; height: 14px; }

/* ============================================================
   CITY PAGE — Reviews section (3-up)
   ============================================================ */
.swift-city-reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 28px;
}
@media (max-width: 1023px) { .swift-city-reviews-grid { grid-template-columns: 1fr; max-width: 580px; margin-left: auto; margin-right: auto; } }

/* ============================================================
   CITY PAGE — Swift Difference (compact wedges)
   ============================================================ */
.swift-city-wedges-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	margin-top: 28px;
}
@media (max-width: 1199px) { .swift-city-wedges-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 639px)  { .swift-city-wedges-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 419px)  { .swift-city-wedges-grid { grid-template-columns: 1fr; } }

.swift-city-wedge {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 22px 18px;
	text-align: center;
	transition: transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
	position: relative;
	overflow: hidden;
}
.swift-city-wedge::before {
	content: "";
	position: absolute; top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--color-accent);
	transform: scaleX(0);
	transition: transform .35s var(--ease);
}
.swift-city-wedge:hover { transform: translateY(-3px); border-color: var(--color-accent); box-shadow: var(--shadow-card-hover); }
.swift-city-wedge:hover::before { transform: scaleX(1); }
.swift-city-wedge-num {
	font-family: var(--ff-display);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--color-cedar-ember);
	margin: 0 0 8px;
}
.swift-city-wedge-icon {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--color-surface);
	color: var(--color-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
}
.swift-city-wedge-icon svg { width: 22px; height: 22px; }
.swift-city-wedge h3 {
	font-family: var(--ff-display);
	font-size: 0.95rem;
	color: var(--color-primary);
	margin: 0 0 6px;
	letter-spacing: -0.005em;
}
.swift-city-wedge p {
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--color-text-muted);
	margin: 0;
}

/* ============================================================
   ELEMENTOR-style form (visual mimic of Elementor Pro form widget)
   Applied to .elementor-form wrapper class on our existing handler.
   ============================================================ */
.swift-elementor-form-wrap,
.swift-contact-form-wrap,
.elementor-form,
.elementor-form .elementor-form-fields-wrapper,
.elementor-form .elementor-field-row,
.elementor-form .elementor-field-group { text-align: left; }
.swift-elementor-form-wrap,
.elementor-form,
.elementor-form .elementor-form-fields-wrapper {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
/* Defensive: any city/contact form section must never overflow its container */
#city-quote, #city-quote .swift-container,
.swift-contact-section, .swift-contact-section .swift-container {
	max-width: 100%;
	overflow-x: hidden;
}
.elementor-form .elementor-field,
.elementor-form .elementor-field-textual,
.elementor-form input,
.elementor-form select,
.elementor-form textarea { text-align: left; }
.elementor-form .elementor-field-group {
	display: flex;
	flex-direction: column;
	margin-bottom: 18px;
	align-items: stretch;
	text-align: left;
}
.elementor-form .elementor-field-group label {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--color-primary);
	margin-bottom: 6px;
	text-align: left;
	align-self: flex-start;
}
.elementor-form .elementor-field,
.elementor-form input,
.elementor-form select,
.elementor-form textarea {
	padding: 13px 16px;
	border: 1.5px solid var(--color-border);
	border-radius: 6px;
	background: var(--color-white);
	font-family: var(--ff-body);
	font-size: 1rem;
	color: var(--color-text);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	display: block;
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.elementor-form textarea { resize: vertical; min-height: 120px; line-height: 1.5; }
.elementor-form .elementor-field:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(255, 185, 29, 0.18);
}
.elementor-form .elementor-field-textual { line-height: 1.4; }
.elementor-form .elementor-field-textarea { resize: vertical; min-height: 110px; }
.elementor-form .elementor-button {
	background: var(--color-accent);
	color: var(--color-pine-needle);
	border: 2px solid var(--color-accent);
	font-family: var(--ff-display);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 14px 28px;
	border-radius: 4px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: transform .3s var(--ease), background-color .3s var(--ease), border-color .3s var(--ease);
}
.elementor-form .elementor-button:hover {
	background: #f5ac00;
	border-color: #f5ac00;
	transform: translateY(-2px);
}
.elementor-form .elementor-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.elementor-form .elementor-field-row > .elementor-field-group { margin-bottom: 0; }
@media (max-width: 767px) {
	.elementor-form .elementor-field-row { grid-template-columns: 1fr; gap: 0; margin-bottom: 0; }
	.elementor-form .elementor-field-row > .elementor-field-group { margin-bottom: 18px; }
}

/* ---------- Mobile-safety overrides for form + map layout ----------- */
@media (max-width: 1023px) {
	.swift-form-map-grid,
	.swift-contact-grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
	.swift-form-wrap,
	.swift-elementor-form-wrap,
	.swift-contact-form-wrap { width: 100%; max-width: 100%; box-sizing: border-box; }
	.swift-form-aside { width: 100%; }
	.swift-form-map,
	.swift-form-map iframe,
	.swift-contact-map,
	.swift-contact-map iframe { width: 100%; max-width: 100%; min-height: 320px; }
}
@media (max-width: 639px) {
	.swift-form-wrap { padding: 20px 16px; }
	.swift-elementor-form-wrap { padding: 0; }
	.elementor-form .elementor-field { padding: 12px 14px; font-size: 0.98rem; }
	.swift-form-map,
	.swift-form-map iframe,
	.swift-contact-map,
	.swift-contact-map iframe { min-height: 260px; }
}
.elementor-form .elementor-form-fields-wrapper { display: flex; flex-direction: column; gap: 0; }
.elementor-form .elementor-field-type-checkbox label {
	flex-direction: row;
	gap: 10px;
	align-items: flex-start;
	font-weight: 400;
	font-size: 0.92rem;
	color: var(--color-text);
}
.elementor-form .elementor-field-type-checkbox input[type="checkbox"] {
	width: 18px; height: 18px;
	margin-top: 3px;
	accent-color: var(--color-primary);
}
.elementor-form .has-error .elementor-field {
	border-color: var(--color-emergency);
	background: #fff7f7;
}

/* ============================================================
   SERVICE-AREAS HUB — Compact city grid (28 cities, no descriptions)
   ============================================================ */
.swift-area-city-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 28px;
}
@media (max-width: 1023px) { .swift-area-city-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 479px)  { .swift-area-city-grid { grid-template-columns: 1fr; } }

.swift-area-city-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 18px 22px;
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: var(--color-text);
	transition:
		transform .3s cubic-bezier(.4,0,.2,1),
		border-color .3s var(--ease),
		box-shadow .3s var(--ease),
		background-color .3s var(--ease);
	position: relative;
	overflow: hidden;
}
.swift-area-city-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: var(--color-accent);
	transform: scaleY(0);
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.swift-area-city-card:hover {
	transform: translateY(-3px);
	border-color: var(--color-accent);
	box-shadow: var(--shadow-card-hover);
}
.swift-area-city-card:hover::before { transform: scaleY(1); }

.swift-area-city-card-pin {
	flex-shrink: 0;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--color-surface);
	color: var(--color-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.swift-area-city-card:hover .swift-area-city-card-pin {
	background: var(--color-accent);
	color: var(--color-pine-needle);
	transform: scale(1.08);
}
.swift-area-city-card-pin svg { width: 18px; height: 18px; }

.swift-area-city-card-name {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--color-primary);
	letter-spacing: -0.005em;
	line-height: 1.25;
	flex: 1;
}
.swift-area-city-card-tag {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-pine-needle);
	background: var(--color-accent);
	padding: 3px 8px;
	border-radius: var(--radius-pill);
	flex-shrink: 0;
}
.swift-area-city-card-arrow {
	flex-shrink: 0;
	color: var(--color-text-muted);
	display: inline-flex;
	transition: color .3s var(--ease), transform .3s var(--ease);
}
.swift-area-city-card-arrow svg { width: 16px; height: 16px; }
.swift-area-city-card:hover .swift-area-city-card-arrow {
	color: var(--color-primary);
	transform: translateX(4px);
}

/* ============================================================
   SERVICE-AREA PAGE — Premium "About Swift in {City}" section
   ============================================================ */
.swift-about-city {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 48px;
	align-items: center;
	max-width: 1180px;
	margin: 0 auto;
}
.swift-about-city > * { min-width: 0; }
@media (max-width: 1023px) {
	.swift-about-city { grid-template-columns: 1fr; gap: 32px; }
}

.swift-about-city-text { display: flex; flex-direction: column; gap: 16px; }
.swift-about-city-text .swift-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-cedar-ember);
	background: var(--color-surface);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	align-self: flex-start;
}
.swift-about-city-text h2 {
	font-family: var(--ff-display);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 800;
	color: var(--color-primary);
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0;
}
.swift-about-city-text h2 em { font-style: normal; color: var(--color-accent); }
.swift-about-city-text p {
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--color-text);
	margin: 0;
}
.swift-about-city-text p strong { color: var(--color-primary); font-weight: 700; }
.swift-about-city-cta { margin-top: 8px; align-self: flex-start; }

/* Founder + stats card stack on the right */
.swift-about-city-aside {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.swift-about-city-founders {
	background: var(--color-pine-needle);
	color: var(--color-birch-bark);
	border-radius: var(--radius-card);
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	box-shadow: 0 16px 40px rgba(13, 47, 38, 0.25);
	position: relative;
	overflow: hidden;
}
.swift-about-city-founders::before {
	content: "";
	position: absolute;
	top: -40px; right: -40px;
	width: 180px; height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 185, 29, 0.18), transparent 70%);
	pointer-events: none;
}
.swift-about-city-founders-label {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 0;
	position: relative;
}
.swift-about-city-founders-row {
	display: flex;
	gap: 14px;
	align-items: center;
	position: relative;
}
.swift-about-city-founder-avatar {
	flex-shrink: 0;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.1rem;
	letter-spacing: -0.02em;
}
.swift-about-city-founder-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.swift-about-city-founder-meta strong {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1rem;
	color: var(--color-birch-bark);
	letter-spacing: -0.005em;
}
.swift-about-city-founder-meta span {
	font-size: 0.82rem;
	color: rgba(253, 236, 213, 0.75);
	letter-spacing: 0.02em;
}

.swift-about-city-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.swift-about-city-stat {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 20px;
	text-align: center;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.swift-about-city-stat:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-card-hover);
}
.swift-about-city-stat-num {
	font-family: var(--ff-display);
	font-size: clamp(1.4rem, 2.5vw, 1.8rem);
	font-weight: 800;
	color: var(--color-accent);
	line-height: 1;
	margin: 0 0 6px;
	letter-spacing: -0.02em;
}
.swift-about-city-stat-lbl {
	font-size: 0.8rem;
	color: var(--color-text-muted);
	margin: 0;
	line-height: 1.4;
	letter-spacing: 0.02em;
}

/* 3 pillar mini-cards below the 2-col grid */
.swift-about-city-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: var(--space-block);
}
@media (max-width: 767px) { .swift-about-city-pillars { grid-template-columns: 1fr; } }

.swift-about-city-pillar {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 24px;
	box-shadow: var(--shadow-card);
	transition: transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
	position: relative;
	overflow: hidden;
}
.swift-about-city-pillar::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 4px;
	background: var(--color-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}
.swift-about-city-pillar:hover {
	transform: translateY(-3px);
	border-color: var(--color-accent);
	box-shadow: var(--shadow-card-hover);
}
.swift-about-city-pillar:hover::before { transform: scaleX(1); }
.swift-about-city-pillar-icon {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: var(--color-surface);
	color: var(--color-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}
.swift-about-city-pillar-icon svg { width: 22px; height: 22px; }
.swift-about-city-pillar h3 {
	font-family: var(--ff-display);
	font-size: 1.05rem;
	color: var(--color-primary);
	margin: 0 0 8px;
	letter-spacing: -0.005em;
}
.swift-about-city-pillar p {
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--color-text-muted);
	margin: 0;
}

/* ============================================================
   SERVICE-AREA PAGE — Premium Neighborhoods + "What sets us apart"
   ============================================================ */

/* ---------- Neighborhoods grid (replaces chip strip) ---------------- */
.swift-nbhd-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 32px;
}
@media (max-width: 1023px) { .swift-nbhd-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px)  { .swift-nbhd-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 479px)  { .swift-nbhd-grid { grid-template-columns: 1fr; } }

.swift-nbhd-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 22px 20px;
	display: flex;
	align-items: center;
	gap: 14px;
	transition:
		transform .3s cubic-bezier(.4,0,.2,1),
		border-color .3s var(--ease),
		box-shadow .3s var(--ease),
		background-color .3s var(--ease);
	position: relative;
	overflow: hidden;
}
.swift-nbhd-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: var(--color-accent);
	transform: scaleY(0);
	transform-origin: center;
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.swift-nbhd-card:hover {
	transform: translateY(-3px);
	border-color: var(--color-accent);
	box-shadow: var(--shadow-card-hover);
}
.swift-nbhd-card:hover::before { transform: scaleY(1); }

.swift-nbhd-card-pin {
	flex-shrink: 0;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--color-surface);
	color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
}
.swift-nbhd-card:hover .swift-nbhd-card-pin {
	background: var(--color-accent);
	color: var(--color-pine-needle);
	transform: scale(1.08);
}
.swift-nbhd-card-pin svg { width: 18px; height: 18px; }

.swift-nbhd-card-name {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.98rem;
	color: var(--color-primary);
	line-height: 1.3;
	margin: 0;
	letter-spacing: -0.005em;
}

/* ---------- "What sets us apart" — premium 2-col layout ------------- */
.swift-apart-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	margin-top: 32px;
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 1023px) {
	.swift-apart-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* All apart content centered now */
.swift-apart-text {
	display: flex;
	flex-direction: column;
	gap: 18px;
	text-align: center;
	align-items: center;
}
.swift-apart-text p {
	font-size: 1.05rem;
	line-height: 1.7;
	margin: 0;
	color: var(--color-text);
	max-width: 540px;
}
.swift-apart-text p strong { color: var(--color-primary); font-weight: 700; }
.swift-apart-stats { max-width: 540px; }
.swift-apart-stat { text-align: center; align-items: center; }
.swift-apart-stat-icon { margin-left: auto; margin-right: auto; }

.swift-apart-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.swift-apart-stat {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 22px;
	box-shadow: var(--shadow-card);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.swift-apart-stat:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-card-hover);
}
.swift-apart-stat-icon {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
}
.swift-apart-stat-icon svg { width: 18px; height: 18px; }
.swift-apart-stat-num {
	font-family: var(--ff-display);
	font-size: clamp(1.5rem, 2.4vw, 1.85rem);
	font-weight: 800;
	color: var(--color-primary);
	line-height: 1;
	margin: 0;
	letter-spacing: -0.02em;
}
.swift-apart-stat-lbl {
	font-size: 0.85rem;
	color: var(--color-text-muted);
	margin: 0;
	line-height: 1.4;
}

/* ============================================================
   FAQ PAGE — Category nav + grouped accordion styling
   ============================================================ */
.swift-faq-categories {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	max-width: 980px;
	margin: 0 auto var(--space-block);
}
.swift-faq-categories a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-primary);
	background: var(--color-white);
	border: 1.5px solid var(--color-border);
	padding: 8px 16px;
	border-radius: var(--radius-pill);
	text-decoration: none;
	transition: all .25s var(--ease);
}
.swift-faq-categories a:hover {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-pine-needle);
	transform: translateY(-2px);
}
.swift-faq-categories a span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--color-surface);
	color: var(--color-primary);
	font-size: 0.7rem;
	font-weight: 800;
}
.swift-faq-categories a:hover span {
	background: var(--color-pine-needle);
	color: var(--color-accent);
}

.swift-faq-category {
	margin-bottom: var(--space-block);
	scroll-margin-top: 140px;
}
.swift-faq-category-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--color-border);
}
.swift-faq-category-num {
	flex-shrink: 0;
	width: 48px; height: 48px;
	border-radius: 50%;
	background: var(--color-accent);
	color: var(--color-pine-needle);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 1.2rem;
	letter-spacing: -0.01em;
}
.swift-faq-category-title {
	font-family: var(--ff-display);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 800;
	color: var(--color-primary);
	margin: 0;
	letter-spacing: -0.015em;
	line-height: 1.2;
}
.swift-faq-category-count {
	font-family: var(--ff-display);
	font-weight: 600;
	color: var(--color-text-muted);
	font-size: 0.85rem;
	margin-left: auto;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
@media (max-width: 539px) {
	.swift-faq-category-count { display: none; }
	.swift-faq-category-num { width: 40px; height: 40px; font-size: 1rem; }
}

/* Tighten existing .swift-faq-item for the FAQ page (more items per screen) */
.swift-faq-category .swift-faq { display: flex; flex-direction: column; gap: 12px; }
.swift-faq-category .swift-faq-item summary strong { color: var(--color-accent); font-weight: 700; }

/* ---------- Reusable section header --------------------------------- */
.swift-section-header { text-align: center; max-width: 760px; margin: 0 auto var(--space-block); }
.swift-section-header.is-left { text-align: left; margin-left: 0; }
.swift-section-header .swift-eyebrow { margin-bottom: 12px; }
.swift-section-header .swift-section-h2 { margin: 0 0 12px; }
.swift-section-header .swift-section-lead { margin: 0; color: var(--color-text-muted); }

/* ============================================================
   REVIEWS PAGE COMPONENTS
   ============================================================ */

/* ---------- Big aggregate-rating block ------------------------------- */
.swift-rating-hero {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 36px 40px;
	box-shadow: var(--shadow-card);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 32px;
	align-items: center;
	max-width: 900px;
	margin: 0 auto;
}
@media (max-width: 639px) {
	.swift-rating-hero { grid-template-columns: 1fr; padding: 28px 24px; gap: 20px; text-align: center; }
}
.swift-rating-big {
	font-family: var(--ff-display);
	font-size: clamp(3.2rem, 7vw, 5rem);
	font-weight: 800;
	color: var(--color-primary);
	line-height: 1;
	letter-spacing: -0.03em;
	margin: 0;
}
.swift-rating-stars-big {
	display: flex;
	gap: 4px;
	color: var(--color-accent);
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	margin: 8px 0 0;
}
@media (max-width: 639px) { .swift-rating-stars-big { justify-content: center; } }
.swift-rating-meta { font-family: var(--ff-display); }
.swift-rating-meta h3 { font-size: 1.25rem; margin: 0 0 8px; color: var(--color-primary); }
.swift-rating-meta p { font-size: 0.95rem; margin: 0; color: var(--color-text-muted); }
.swift-rating-platforms {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 14px;
}
@media (max-width: 639px) { .swift-rating-platforms { justify-content: center; } }
.swift-rating-platforms span {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.85rem;
	color: var(--color-primary);
	letter-spacing: 0.02em;
}

/* ---------- Review-policy callout grid ------------------------------- */
.swift-policy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 24px; }
@media (max-width: 1023px) { .swift-policy-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 539px)  { .swift-policy-grid { grid-template-columns: 1fr; } }
.swift-policy-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-top: 4px solid var(--color-accent);
	border-radius: var(--radius-card);
	padding: 22px 24px;
}
.swift-policy-card-num {
	font-family: var(--ff-display);
	font-size: 2rem;
	font-weight: 800;
	color: var(--color-accent);
	line-height: 1;
	margin: 0 0 8px;
	letter-spacing: -0.02em;
}
.swift-policy-card h3 { font-size: 1rem; margin: 0 0 6px; color: var(--color-primary); }
.swift-policy-card p { font-size: 0.92rem; color: var(--color-text-muted); margin: 0; line-height: var(--lh-snug); }

/* Reviews grid override for full page (wider) */
.swift-reviews-page-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 1023px) { .swift-reviews-page-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px)  { .swift-reviews-page-grid { grid-template-columns: 1fr; } }

/* ---------- "Leave a review" platform-button row --------------------- */
.swift-leave-review {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 28px;
}
.swift-platform-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--color-white);
	border: 2px solid var(--color-border);
	border-radius: var(--radius-pill);
	padding: 12px 20px;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--color-primary);
	text-decoration: none;
	transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.swift-platform-btn:hover {
	border-color: var(--color-accent);
	transform: translateY(-2px);
	box-shadow: var(--shadow-card-hover);
}
.swift-platform-btn svg { width: 20px; height: 20px; }

/* ============================================================
   CONTACT PAGE COMPONENTS
   ============================================================ */

/* ---------- Service-routing tiles ------------------------------------ */
.swift-route-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin: 0 auto;
	max-width: 1100px;
}
@media (max-width: 1023px) { .swift-route-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px)  { .swift-route-grid { grid-template-columns: 1fr; } }
.swift-route-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 28px;
	box-shadow: var(--shadow-card);
	transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: var(--color-text);
	position: relative;
	overflow: hidden;
}
.swift-route-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0;
	width: 4px; height: 100%;
	background: var(--color-accent);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform .35s var(--ease);
}
.swift-route-card:hover::before { transform: scaleY(1); }
.swift-route-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-card-hover);
	border-color: var(--color-accent);
}
.swift-route-card.is-emergency { border-color: rgba(183, 28, 28, 0.25); }
.swift-route-card.is-emergency::before { background: var(--color-emergency); }
.swift-route-card.is-emergency:hover { border-color: var(--color-emergency); }
.swift-route-card-icon {
	width: 56px; height: 56px;
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}
.swift-route-card.is-emergency .swift-route-card-icon {
	background: rgba(183, 28, 28, 0.08);
	color: var(--color-emergency);
}
.swift-route-card-icon svg { width: 28px; height: 28px; }
.swift-route-card-eyebrow {
	font-family: var(--ff-display);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-cedar-ember);
	margin: 0 0 6px;
}
.swift-route-card.is-emergency .swift-route-card-eyebrow { color: var(--color-emergency); }
.swift-route-card h3 {
	font-family: var(--ff-display);
	font-size: 1.2rem;
	color: var(--color-primary);
	margin: 0 0 10px;
	letter-spacing: -0.01em;
}
.swift-route-card p { margin: 0 0 18px; color: var(--color-text-muted); font-size: 0.95rem; line-height: var(--lh-snug); }
.swift-route-card-link {
	margin-top: auto;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	color: var(--color-primary);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: gap .25s var(--ease);
}
.swift-route-card:hover .swift-route-card-link { gap: 12px; }
.swift-route-card.is-emergency .swift-route-card-link { color: var(--color-emergency); }
.swift-route-card-link svg { width: 16px; height: 16px; }

/* ---------- Contact details + hours grid ----------------------------- */
.swift-details-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 32px;
	margin: 0 auto;
	max-width: 1100px;
}
@media (max-width: 1023px) { .swift-details-grid { grid-template-columns: 1fr; } }
.swift-details-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	padding: 32px;
	box-shadow: var(--shadow-card);
}
.swift-details-card h3 {
	font-size: 1.1rem;
	margin: 0 0 6px;
	color: var(--color-primary);
	font-family: var(--ff-display);
}
.swift-details-row {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 18px 0;
	border-bottom: 1px solid var(--color-border);
}
.swift-details-row:last-child { border-bottom: 0; padding-bottom: 0; }
.swift-details-row:first-of-type { padding-top: 0; }
.swift-details-icon {
	flex-shrink: 0;
	width: 40px; height: 40px;
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}
.swift-details-icon svg { width: 22px; height: 22px; }
.swift-details-content { flex: 1; min-width: 0; }
.swift-details-content a {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--color-primary);
	text-decoration: none;
	display: block;
	word-break: break-word;
}
.swift-details-content a:hover { color: var(--color-accent); }
.swift-details-content small { color: var(--color-text-muted); font-size: 0.85rem; }

/* Hours list inside details card */
.swift-hours-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.swift-hours-list li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.95rem;
}
.swift-hours-list li:last-child { border-bottom: 0; }
.swift-hours-list .day { font-family: var(--ff-display); font-weight: 600; color: var(--color-primary); }
.swift-hours-list .time { color: var(--color-text-muted); text-align: right; }
.swift-hours-list .time.is-emergency { color: var(--color-emergency); font-weight: 600; }

/* ---------- Map full-width strip ------------------------------------- */
.swift-map-strip {
	margin-top: var(--space-block);
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow-card);
	border: 1px solid var(--color-border);
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.swift-map-strip iframe {
	display: block;
	width: 100%;
	height: 380px;
	border: 0;
}
@media (max-width: 639px) {
	.swift-map-strip iframe { height: 300px; }
}

/* ---------- Form + Map combined grid --------------------------------- */
.swift-form-map-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 32px;
	max-width: 1180px;
	margin: 0 auto;
	align-items: stretch;
	width: 100%;
	min-width: 0;
}
.swift-form-map-grid > * { min-width: 0; }
@media (max-width: 1023px) {
	.swift-form-map-grid { grid-template-columns: 1fr; gap: 28px; }
}
/* City-page form wrap mirrors the Contact-page form wrap exactly */
.swift-form-wrap,
.swift-contact-form-wrap {
	background: var(--color-white);
	border: 1px solid rgba(20, 70, 58, 0.1);
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(13, 47, 38, 0.06);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
}
@media (max-width: 767px) {
	.swift-form-wrap,
	.swift-contact-form-wrap { padding: 24px 18px; width: 100%; }
}
@media (max-width: 479px) {
	.swift-form-wrap,
	.swift-contact-form-wrap { padding: 20px 14px; border-radius: 14px; }
}
.swift-form-aside {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
/* City-page map mirrors Contact-page map exactly */
.swift-form-map,
.swift-contact-map {
	flex: 1;
	min-height: 420px;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid rgba(20, 70, 58, 0.1);
	box-shadow: 0 4px 20px rgba(13, 47, 38, 0.06);
	background: var(--color-surface);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.swift-form-map iframe,
.swift-contact-map iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	min-height: 420px;
	border: 0;
}
@media (max-width: 1023px) {
	.swift-form-map, .swift-contact-map,
	.swift-form-map iframe, .swift-contact-map iframe { min-height: 340px; }
}
@media (max-width: 479px) {
	.swift-form-map, .swift-contact-map { border-radius: 14px; }
	.swift-form-map, .swift-contact-map,
	.swift-form-map iframe, .swift-contact-map iframe { min-height: 260px; }
}
@media (max-width: 1023px) {
	.swift-form-map, .swift-form-map iframe { min-height: 320px; }
}
.swift-form-map-caption {
	background: var(--color-pine-needle);
	color: var(--color-birch-bark);
	border-radius: var(--radius-card);
	padding: 20px 22px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.swift-form-map-caption svg {
	flex-shrink: 0;
	width: 22px; height: 22px;
	color: var(--color-accent);
	margin-top: 2px;
}
.swift-form-map-caption strong {
	display: block;
	font-family: var(--ff-display);
	font-size: 1rem;
	margin-bottom: 2px;
	color: var(--color-birch-bark);
}
.swift-form-map-caption div { font-size: 0.92rem; line-height: var(--lh-snug); color: rgba(253, 236, 213, 0.85); }

/* ---------- Form field styling --------------------------------------- */
.swift-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 18px;
}
@media (max-width: 639px) { .swift-form-row { grid-template-columns: 1fr; gap: 14px; } }
.swift-form-field { display: flex; flex-direction: column; gap: 6px; }
.swift-form-field-full { margin-bottom: 18px; }
.swift-form-field label {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--color-primary);
	letter-spacing: 0.01em;
}
.swift-form-field label span[aria-hidden] { color: var(--color-emergency); margin-left: 2px; }
.swift-form-field input,
.swift-form-field select,
.swift-form-field textarea {
	font-family: var(--ff-body);
	font-size: 1rem;
	padding: 12px 14px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-white);
	color: var(--color-text);
	transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
	width: 100%;
}
.swift-form-field textarea { resize: vertical; min-height: 110px; line-height: var(--lh-body); }
.swift-form-field input:focus,
.swift-form-field select:focus,
.swift-form-field textarea:focus {
	outline: none;
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(255, 185, 29, 0.18);
}
.swift-form-field.has-error input,
.swift-form-field.has-error select,
.swift-form-field.has-error textarea {
	border-color: var(--color-emergency);
	background: #fff7f7;
}
.swift-hp-field { position: absolute; left: -9999px; opacity: 0; pointer-events: none; height: 0; width: 0; overflow: hidden; }
.swift-checkbox {
	display: flex; gap: 10px; align-items: flex-start;
	font-weight: 400 !important; font-size: 0.92rem !important;
	color: var(--color-text) !important; cursor: pointer;
	letter-spacing: 0 !important;
}
.swift-checkbox input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--color-primary); }
.swift-form-submit { margin-top: 8px; width: 100%; }
@media (min-width: 540px) { .swift-form-submit { width: auto; } }

/* Success / error banners */
.swift-contact-success,
.swift-contact-error {
	display: flex; gap: 14px; align-items: flex-start;
	padding: 16px 20px;
	border-radius: var(--radius-card);
	margin-bottom: 22px;
}
.swift-contact-success { background: #ecf6ef; border: 1px solid #b8dcc4; color: #205c34; }
.swift-contact-success svg { color: #2e8b57; flex-shrink: 0; width: 28px; height: 28px; }
.swift-contact-error { background: #fcefef; border: 1px solid #f0c1c1; color: #7a1f1f; }
.swift-contact-error svg { color: var(--color-emergency); flex-shrink: 0; width: 28px; height: 28px; }
.swift-contact-success strong, .swift-contact-error strong { display: block; margin-bottom: 4px; font-family: var(--ff-display); }
.swift-contact-success p, .swift-contact-error p { margin: 0; font-size: 0.95rem; }
.swift-contact-success a, .swift-contact-error a { color: inherit; font-weight: 600; }


/* ============================================================
   FINAL FORM-PARITY OVERRIDE (Swift v3.9.0)
   Every form on the site renders identically to /contact/ on mobile.
   Loaded LAST so it wins specificity / source-order battles.
   ============================================================ */

/* Unified form card — homepage, contact, free-estimate, all city pages */
.swift-form-wrap,
.swift-contact-form-wrap,
.swift-elementor-form-wrap {
	background: #fff;
	border: 1px solid rgba(20, 70, 58, 0.1);
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(13, 47, 38, 0.06);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
}
@media (max-width: 767px) {
	.swift-form-wrap,
	.swift-contact-form-wrap,
	.swift-elementor-form-wrap { padding: 24px 18px; border-radius: 18px; }
}
@media (max-width: 479px) {
	.swift-form-wrap,
	.swift-contact-form-wrap,
	.swift-elementor-form-wrap { padding: 20px 14px; border-radius: 14px; }
}

/* Every form element inside any wrapper renders identically */
.swift-form-wrap .elementor-form,
.swift-contact-form-wrap .elementor-form,
.swift-elementor-form-wrap .elementor-form,
.elementor-form {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	display: block;
}
.elementor-form .elementor-form-fields-wrapper { width: 100%; max-width: 100%; box-sizing: border-box; }

.elementor-form .elementor-field-group:not(.elementor-field-type-checkbox):not(.elementor-field-type-submit) {
	display: flex;
	flex-direction: column;
	margin-bottom: 18px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* All text-style inputs, selects, textareas — identical sizing */
.elementor-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.elementor-form select,
.elementor-form textarea,
.elementor-form .elementor-field,
.elementor-form .elementor-field-textual {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	display: block !important;
	padding: 13px 16px;
	border: 1.5px solid var(--color-border, #d8d2c4);
	border-radius: 8px;
	background: #fff;
	font-family: var(--ff-body, inherit);
	font-size: 16px;
	color: var(--color-text, #1f2124);
	line-height: 1.45;
}

/* Placeholder text — fixed at 16px across every form, every browser. */
.elementor-form input::placeholder,
.elementor-form textarea::placeholder,
.elementor-form select::placeholder,
.elementor-form .elementor-field::placeholder,
.elementor-form .elementor-field-textual::placeholder,
.swift-contact-form input::placeholder,
.swift-contact-form textarea::placeholder,
.swift-contact-form select::placeholder,
input::placeholder,
textarea::placeholder { font-size: 16px !important; opacity: .65; }
.elementor-form input::-webkit-input-placeholder,
.elementor-form textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { font-size: 16px !important; }
.elementor-form input::-moz-placeholder,
.elementor-form textarea::-moz-placeholder,
input::-moz-placeholder,
textarea::-moz-placeholder { font-size: 16px !important; opacity: .65; }
.elementor-form input:-ms-input-placeholder,
.elementor-form textarea:-ms-input-placeholder,
input:-ms-input-placeholder,
textarea:-ms-input-placeholder { font-size: 16px !important; }
.elementor-form textarea { min-height: 120px; resize: vertical; }

/* Two-column field rows */
.elementor-form .elementor-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-bottom: 18px;
	width: 100%;
	box-sizing: border-box;
}
.elementor-form .elementor-field-row > .elementor-field-group { margin-bottom: 0; }
@media (max-width: 767px) {
	.elementor-form .elementor-field-row { grid-template-columns: 1fr; gap: 0; margin-bottom: 0; }
	.elementor-form .elementor-field-row > .elementor-field-group { margin-bottom: 18px; }
}

/* Submit button — responsive: full-width container on desktop, fluid on mobile */
.elementor-form .elementor-button,
.elementor-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--color-accent, #ffb91d);
	color: var(--color-primary, #0d2f26);
	border: 0;
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.95rem;
	padding: 16px 32px;
	border-radius: 10px;
	cursor: pointer;
	width: 100%;
	max-width: 100%;
	min-height: 52px;
	box-sizing: border-box;
	white-space: normal;
	text-align: center;
	line-height: 1.2;
	transition: transform .15s ease, background .2s ease;
}
.elementor-form .elementor-button:hover,
.elementor-form button[type="submit"]:hover { background: #ffc940; transform: translateY(-1px); }
.elementor-form .elementor-button:active,
.elementor-form button[type="submit"]:active { transform: translateY(0); }
.elementor-form .elementor-button svg { width: 20px; height: 20px; flex-shrink: 0; }
@media (max-width: 767px) {
	.elementor-form .elementor-button,
	.elementor-form button[type="submit"] {
		padding: 15px 20px;
		font-size: 0.9rem;
		letter-spacing: 0.04em;
		min-height: 50px;
	}
}
@media (max-width: 479px) {
	.elementor-form .elementor-button,
	.elementor-form button[type="submit"] {
		padding: 14px 14px;
		font-size: 0.82rem;
		letter-spacing: 0.03em;
		gap: 8px;
		min-height: 48px;
	}
	.elementor-form .elementor-button svg { width: 18px; height: 18px; }
}

/* Checkbox row — natural sizing for the checkbox */
.elementor-form .elementor-field-type-checkbox {
	margin: 6px 0 18px;
	width: 100%;
}
.elementor-form .elementor-field-type-checkbox label,
.elementor-form .swift-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.95rem;
	color: var(--color-text, #1f2124);
	line-height: 1.5;
	cursor: pointer;
}
.elementor-form .elementor-field-type-checkbox input[type="checkbox"] {
	flex-shrink: 0;
	width: 20px !important;
	height: 20px !important;
	margin: 2px 0 0 !important;
	accent-color: var(--color-accent, #ffb91d);
}

/* Map mirrors form card sizing — never overflows viewport */
.swift-form-map,
.swift-contact-map {
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid rgba(20, 70, 58, 0.1);
	box-shadow: 0 4px 20px rgba(13, 47, 38, 0.06);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.swift-form-map iframe,
.swift-contact-map iframe { width: 100% !important; max-width: 100% !important; display: block; border: 0; }
@media (max-width: 767px) {
	.swift-form-map, .swift-contact-map { border-radius: 16px; }
	.swift-form-map, .swift-form-map iframe,
	.swift-contact-map, .swift-contact-map iframe { min-height: 300px; }
}
@media (max-width: 479px) {
	.swift-form-map, .swift-contact-map { border-radius: 14px; }
	.swift-form-map, .swift-form-map iframe,
	.swift-contact-map, .swift-contact-map iframe { min-height: 240px; }
}

/* Hard fail-safe: city/contact/homepage sections never scroll sideways on mobile */
#city-quote, #contact, .swift-contact-section { max-width: 100%; overflow-x: hidden; }
#city-quote .swift-container, #contact .swift-container,
.swift-contact-section .swift-container { max-width: 100%; min-width: 0; }
@media (max-width: 1023px) {
	.swift-form-map-grid, .swift-contact-grid {
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}
}

/* ============================================================
   SERVICE AREA — 5 DESIGN TEMPLATES (per city style)
   Coastal / Heritage / Acreage / Suburban / Waterfront
   Applied via body class set in single-service_area.php
   ============================================================ */

.swift-city-hero {
	position: relative;
	padding: clamp(72px, 9vw, 140px) 0 clamp(72px, 9vw, 120px);
	background: linear-gradient(135deg, var(--color-primary, #0d2f26) 0%, var(--color-pine-needle, #14463A) 100%);
	color: #fdecd5;
	overflow: hidden;
	isolation: isolate;
}
.swift-city-hero::before {
	content: "";
	position: absolute; inset: 0;
	background-image: var(--swift-hero-img);
	background-size: cover; background-position: center;
	opacity: .28;
	z-index: -1;
}
.swift-city-hero::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(13, 47, 38, 0.10) 0%, rgba(13, 47, 38, 0.55) 100%);
	z-index: -1;
}
.swift-city-hero-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 56px;
	align-items: center;
	max-width: 1240px;
	margin: 0 auto;
	width: 100%;
}
@media (max-width: 1023px) {
	.swift-city-hero-grid { grid-template-columns: 1fr; gap: 32px; }
}
.swift-city-hero-content .swift-breadcrumb {
	margin-bottom: 18px;
	text-align: left !important;
	justify-content: flex-start !important;
}
.swift-city-hero-content .swift-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}
.swift-city-hero-content .swift-breadcrumb a,
.swift-city-hero-content .swift-breadcrumb span { color: rgba(253, 236, 213, 0.85); }
.swift-city-hero-eyebrow {
	color: var(--color-accent, #ffb91d);
	display: inline-block;
	margin-bottom: 16px;
}
.swift-city-hero-h1 {
	font-family: var(--ff-display, inherit);
	font-weight: 900;
	font-size: clamp(2rem, 5vw, 3.6rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 14px;
	color: #fff;
}
.swift-city-hero-h1 em {
	font-style: normal;
	color: var(--color-accent, #ffb91d);
	background: linear-gradient(180deg, transparent 64%, rgba(255, 185, 29, 0.22) 64%);
	padding: 0 4px;
}
.swift-city-hero-tagline {
	font-family: var(--ff-display, inherit);
	font-weight: 700;
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	color: var(--color-accent, #ffb91d);
	margin: 0 0 18px;
	letter-spacing: 0.01em;
}
.swift-city-hero-lede {
	font-size: clamp(1rem, 1.3vw, 1.12rem);
	line-height: 1.6;
	margin: 0 0 28px;
	color: rgba(253, 236, 213, 0.95);
	max-width: 56ch;
}
/* Hero CTAs locked to the left — never centered */
.swift-city-hero-content .swift-page-hero-ctas {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	align-items: center;
	gap: 14px;
	margin-top: 4px;
}
.swift-city-hero-content { text-align: left; }
.swift-city-hero-panel {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 185, 29, 0.25);
	backdrop-filter: blur(8px);
	border-radius: 20px;
	padding: 28px 28px 24px;
	color: #fff;
}
.swift-city-hero-panel-badge {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(255, 185, 29, 0.25);
}
.swift-city-hero-panel-badge-county {
	font-family: var(--ff-display, inherit);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent, #ffb91d);
	font-weight: 700;
}
.swift-city-hero-panel-badge-h {
	font-family: var(--ff-display, inherit);
	font-size: 1.65rem;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: #fff;
	line-height: 1.1;
}
.swift-city-hero-panel-meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0 0 18px;
}
.swift-city-hero-panel-meta dt {
	font-family: var(--ff-display, inherit);
	font-size: 0.70rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-accent, #ffb91d);
	font-weight: 700;
	margin: 0 0 3px;
}
.swift-city-hero-panel-meta dd {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.92);
}
.swift-city-hero-panel-footer {
	font-size: 0.82rem;
	color: rgba(253, 236, 213, 0.78);
	margin: 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 185, 29, 0.20);
}

/* COASTAL — cyan / sand */
.is-style-coastal .swift-city-hero {
	background: linear-gradient(135deg, #0a3a4a 0%, #1e6478 60%, #2a8b9e 100%);
}
.is-style-coastal .swift-city-hero-eyebrow,
.is-style-coastal .swift-city-hero-tagline,
.is-style-coastal .swift-city-hero-h1 em,
.is-style-coastal .swift-city-hero-panel-badge-county,
.is-style-coastal .swift-city-hero-panel-meta dt { color: #7fd0e0; }
.is-style-coastal .swift-city-hero-h1 em { background: linear-gradient(180deg, transparent 64%, rgba(127, 208, 224, 0.22) 64%); }
.is-style-coastal .swift-city-hero-panel { border-color: rgba(127, 208, 224, 0.35); }

/* HERITAGE — deep green / oak */
.is-style-heritage .swift-city-hero {
	background: linear-gradient(135deg, #0b2a1f 0%, #14463A 50%, #1d6048 100%);
}
.is-style-heritage .swift-city-hero-eyebrow,
.is-style-heritage .swift-city-hero-tagline,
.is-style-heritage .swift-city-hero-h1 em,
.is-style-heritage .swift-city-hero-panel-badge-county,
.is-style-heritage .swift-city-hero-panel-meta dt { color: #c9a35a; }
.is-style-heritage .swift-city-hero-h1 em { background: linear-gradient(180deg, transparent 64%, rgba(201, 163, 90, 0.25) 64%); }
.is-style-heritage .swift-city-hero-panel { border-color: rgba(201, 163, 90, 0.40); background: rgba(11, 42, 31, 0.45); }

/* ACREAGE — earth tones */
.is-style-acreage .swift-city-hero {
	background: linear-gradient(135deg, #2d2017 0%, #4a3624 50%, #6a5238 100%);
}
.is-style-acreage .swift-city-hero-eyebrow,
.is-style-acreage .swift-city-hero-tagline,
.is-style-acreage .swift-city-hero-h1 em,
.is-style-acreage .swift-city-hero-panel-badge-county,
.is-style-acreage .swift-city-hero-panel-meta dt { color: #e8c87a; }
.is-style-acreage .swift-city-hero-h1 em { background: linear-gradient(180deg, transparent 64%, rgba(232, 200, 122, 0.22) 64%); }
.is-style-acreage .swift-city-hero-panel { border-color: rgba(232, 200, 122, 0.35); }

/* WATERFRONT — deep blue / aqua */
.is-style-waterfront .swift-city-hero {
	background: linear-gradient(135deg, #0a2540 0%, #143d6f 60%, #1f5aa1 100%);
}
.is-style-waterfront .swift-city-hero-eyebrow,
.is-style-waterfront .swift-city-hero-tagline,
.is-style-waterfront .swift-city-hero-h1 em,
.is-style-waterfront .swift-city-hero-panel-badge-county,
.is-style-waterfront .swift-city-hero-panel-meta dt { color: #8fc4f5; }
.is-style-waterfront .swift-city-hero-h1 em { background: linear-gradient(180deg, transparent 64%, rgba(143, 196, 245, 0.22) 64%); }
.is-style-waterfront .swift-city-hero-panel { border-color: rgba(143, 196, 245, 0.35); }

/* SUBURBAN uses the default green hero (no override needed). */

/* ---------- LOCAL CONDITIONS — magazine-style intro + 3 wide cards ---------- */
.swift-city-focus {
	padding: clamp(64px, 8vw, 110px) 0;
	background: var(--color-birch-bark, #fdecd5);
	position: relative;
	overflow: hidden;
}
.swift-city-focus-intro {
	max-width: 880px;
	margin: 0 auto 48px;
	text-align: center;
}
.swift-city-focus-eyebrow {
	display: inline-block;
	font-family: var(--ff-display, inherit);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent, #ffb91d);
	background: rgba(255, 185, 29, 0.12);
	border: 1px solid rgba(255, 185, 29, 0.30);
	padding: 8px 16px;
	border-radius: 999px;
	margin-bottom: 22px;
}
.swift-city-focus-h2 {
	font-family: var(--ff-display, inherit);
	font-weight: 900;
	font-size: clamp(1.8rem, 3.5vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 22px;
}
.swift-city-focus-body p {
	color: var(--color-text, #1f2124);
	font-size: 1.05rem;
	line-height: 1.7;
	margin: 0 0 14px;
}
.swift-city-focus-body p strong { color: var(--color-primary, #0d2f26); font-weight: 700; }

/* 3-column feature card grid */
.swift-city-focus-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1180px;
	margin: 0 auto;
}
@media (max-width: 1023px) {
	.swift-city-focus-cards { grid-template-columns: 1fr; gap: 18px; }
}
.swift-city-focus-card {
	position: relative;
	background: #fff;
	border-radius: 18px;
	padding: 32px 28px 28px;
	box-shadow: 0 4px 16px rgba(13, 47, 38, 0.06);
	border: 1px solid rgba(20, 70, 58, 0.08);
	transition: transform .28s cubic-bezier(.4,0,.2,1), box-shadow .28s cubic-bezier(.4,0,.2,1);
	overflow: hidden;
}
.swift-city-focus-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: var(--color-accent, #ffb91d);
}
.swift-city-focus-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(13, 47, 38, 0.12);
}
.swift-city-focus-card-num {
	position: absolute;
	top: 18px;
	right: 22px;
	font-family: var(--ff-display, inherit);
	font-weight: 900;
	font-size: 1.4rem;
	color: rgba(13, 47, 38, 0.10);
	letter-spacing: -0.02em;
}
.swift-city-focus-card-ico {
	width: 56px; height: 56px;
	border-radius: 14px;
	background: var(--color-accent, #ffb91d);
	color: var(--color-primary, #0d2f26);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 18px;
}
.swift-city-focus-card-ico svg { width: 28px; height: 28px; }
.swift-city-focus-card-title {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1.18rem;
	line-height: 1.25;
	color: var(--color-primary, #0d2f26);
	letter-spacing: -0.005em;
	margin: 0 0 10px;
}
.swift-city-focus-card-body {
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--color-text, #1f2124);
	margin: 0;
}

/* Per-style backgrounds + accent colors for the focus section */
.swift-city-focus-coastal { background: linear-gradient(180deg, #e6f3f6 0%, #d4ebef 100%); }
.swift-city-focus-coastal    .swift-city-focus-eyebrow { color: #1e6478; background: rgba(42, 139, 158, 0.10); border-color: rgba(42, 139, 158, 0.30); }
.swift-city-focus-coastal    .swift-city-focus-card::before { background: #2a8b9e; }
.swift-city-focus-coastal    .swift-city-focus-card-ico { background: #2a8b9e; color: #fff; }

.swift-city-focus-heritage { background: linear-gradient(180deg, #f5efe1 0%, #ebe0c6 100%); }
.swift-city-focus-heritage   .swift-city-focus-eyebrow { color: #a07d3a; background: rgba(160, 125, 58, 0.10); border-color: rgba(160, 125, 58, 0.30); }
.swift-city-focus-heritage   .swift-city-focus-card::before { background: #a07d3a; }
.swift-city-focus-heritage   .swift-city-focus-card-ico { background: #a07d3a; color: #fff; }

.swift-city-focus-acreage { background: linear-gradient(180deg, #efe7d8 0%, #ddd2bf 100%); }
.swift-city-focus-acreage    .swift-city-focus-eyebrow { color: #6a5238; background: rgba(106, 82, 56, 0.10); border-color: rgba(106, 82, 56, 0.30); }
.swift-city-focus-acreage    .swift-city-focus-card::before { background: #6a5238; }
.swift-city-focus-acreage    .swift-city-focus-card-ico { background: #6a5238; color: #fff; }

.swift-city-focus-waterfront { background: linear-gradient(180deg, #e3edf8 0%, #c9dcef 100%); }
.swift-city-focus-waterfront .swift-city-focus-eyebrow { color: #1f5aa1; background: rgba(31, 90, 161, 0.10); border-color: rgba(31, 90, 161, 0.30); }
.swift-city-focus-waterfront .swift-city-focus-card::before { background: #1f5aa1; }
.swift-city-focus-waterfront .swift-city-focus-card-ico { background: #1f5aa1; color: #fff; }

/* SUBURBAN inherits the default gold accent. */

@media (max-width: 767px) {
	.swift-city-hero { padding: 56px 0; }
	.swift-city-hero-panel { padding: 22px 20px; }
	.swift-city-hero-panel-badge-h { font-size: 1.4rem; }
	.swift-city-focus { padding: 56px 0; }
	.swift-city-focus-intro { margin-bottom: 36px; }
	.swift-city-focus-card { padding: 26px 22px 22px; }
	.swift-city-focus-card-ico { width: 48px; height: 48px; }
	.swift-city-focus-card-ico svg { width: 24px; height: 24px; }
}

/* ============================================================
   TREE REMOVAL — flagship-page extra sections
   ============================================================ */

/* WHEN TO CALL — alert-style warning grid */
.swift-tr-when-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	max-width: 1100px;
	margin: 36px auto 0;
}
@media (max-width: 767px) { .swift-tr-when-grid { grid-template-columns: 1fr; } }
.swift-tr-when-item {
	background: #fff;
	border: 1px solid rgba(20, 70, 58, 0.08);
	border-left: 4px solid #d94a3d;
	border-radius: 12px;
	padding: 18px 22px;
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 14px;
	align-items: center;
	box-shadow: 0 2px 10px rgba(13, 47, 38, 0.05);
}
.swift-tr-when-mark {
	width: 36px; height: 36px;
	border-radius: 10px;
	background: rgba(217, 74, 61, 0.12);
	color: #d94a3d;
	display: flex; align-items: center; justify-content: center;
}
.swift-tr-when-mark svg { width: 20px; height: 20px; }
.swift-tr-when-item p {
	margin: 0;
	font-size: 0.96rem;
	line-height: 1.5;
	color: var(--color-text, #1f2124);
}
.swift-tr-when-item p strong { color: var(--color-primary, #0d2f26); font-weight: 700; }

/* GANODERMA — disease-focus, 2-col with red-banded sidebar.
   All children explicitly left-aligned to override any inherited center-align.
   Sidebar is vertically centered so empty space is balanced top + bottom. */
.swift-tr-ganoderma { text-align: left; }
.swift-tr-ganoderma .swift-container { text-align: left; }
.swift-tr-ganoderma-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 48px;
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
	text-align: left;
}
@media (max-width: 1023px) { .swift-tr-ganoderma-grid { grid-template-columns: 1fr; gap: 28px; } }
.swift-tr-ganoderma-body { text-align: left; }
.swift-tr-ganoderma-body .swift-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-bottom: 18px;
	text-align: left;
}
.swift-tr-ganoderma-body h2 {
	text-align: left !important;
	margin: 0 0 18px;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--color-primary, #0d2f26);
}
/* Force the gold underline accent to sit left, not centered, on this left-aligned H2 */
.swift-tr-ganoderma-body h2::after {
	margin-left: 0 !important;
	margin-right: auto !important;
}
.swift-tr-ganoderma-lead {
	font-size: 1.08rem;
	font-weight: 700;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 18px;
	line-height: 1.45;
	text-align: left;
}
.swift-tr-ganoderma-note {
	color: var(--color-text, #1f2124);
	line-height: 1.65;
	margin: 0;
	text-align: left;
	font-size: 1rem;
}
.swift-tr-ganoderma-note a {
	color: var(--color-primary, #0d2f26);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.swift-tr-ganoderma-symptoms {
	background: #fff;
	border-left: 4px solid #d94a3d;
	border-radius: 16px;
	padding: 28px 30px;
	box-shadow: 0 6px 24px rgba(13, 47, 38, 0.08);
	text-align: left;
	align-self: center;
}
.swift-tr-ganoderma-symptoms-h {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	color: #d94a3d;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.76rem;
	margin: 0 0 16px;
	text-align: left;
}
.swift-tr-ganoderma-symptoms ul {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
}
.swift-tr-ganoderma-symptoms li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 12px;
	font-size: 0.96rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	text-align: left;
}
.swift-tr-ganoderma-symptoms li:last-child { margin-bottom: 0; }
.swift-tr-ganoderma-symptoms li::before {
	content: "";
	position: absolute;
	left: 0; top: 9px;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #d94a3d;
}
.swift-tr-ganoderma-symptoms li strong { color: var(--color-primary, #0d2f26); font-weight: 700; }

/* AFTER THE TREE IS DOWN — numbered cards.
   Flex layout auto-centers any number of items (5 on Tree Removal, 3 on Stump Grinding, etc.) */
.swift-tr-after-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 18px;
	max-width: 1240px;
	margin: 32px auto 0;
}
.swift-tr-after-item {
	flex: 1 1 220px;
	max-width: 320px;
	background: #fff;
	border-radius: 14px;
	padding: 22px 20px 18px;
	border-top: 4px solid var(--color-accent, #ffb91d);
	box-shadow: 0 3px 12px rgba(13, 47, 38, 0.05);
}
.swift-tr-after-num {
	font-family: var(--ff-display, inherit);
	font-weight: 900;
	font-size: 1.6rem;
	color: var(--color-accent, #ffb91d);
	letter-spacing: -0.02em;
	margin: 0 0 8px;
}
.swift-tr-after-item h3 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1.02rem;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 8px;
	line-height: 1.25;
}
.swift-tr-after-item p {
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	margin: 0;
}

/* WHY CHOOSE SWIFT — 2-col checklist + image (competitor-pattern redesign) */
.swift-tr-why-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 60px;
	align-items: center;
	max-width: 1220px;
	margin: 0 auto;
}
@media (max-width: 1023px) {
	.swift-tr-why-grid { grid-template-columns: 1fr; gap: 36px; }
}
.swift-tr-why-content { text-align: left; }
.swift-tr-why-eyebrow {
	display: inline-block;
	margin-bottom: 18px;
}
.swift-tr-why-h2 {
	font-family: var(--ff-display, inherit);
	font-weight: 900;
	font-size: clamp(1.7rem, 3.2vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 28px;
	text-align: left;
}
.swift-tr-why-list {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.swift-tr-why-list li {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 14px;
	align-items: center;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
}
.swift-tr-why-list li strong { color: var(--color-primary, #0d2f26); font-weight: 700; }
.swift-tr-why-check {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--color-accent, #ffb91d);
	color: var(--color-primary, #0d2f26);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
	box-shadow: 0 2px 6px rgba(255, 185, 29, 0.25);
}
.swift-tr-why-check svg { width: 14px; height: 14px; }
.swift-tr-why-body {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-text, #1f2124);
	margin: 0 0 28px;
}
.swift-tr-why-body strong { color: var(--color-primary, #0d2f26); font-weight: 700; }
.swift-tr-why-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.swift-tr-why-cta svg { width: 18px; height: 18px; }

/* Media side — rounded photo with subtle shadow */
.swift-tr-why-media {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 16px 48px rgba(13, 47, 38, 0.18);
	aspect-ratio: 4 / 5;
	max-height: 640px;
	background: var(--color-cream, #f6f1e7);
}
.swift-tr-why-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .55s var(--ease, ease);
}
.swift-tr-why-media:hover img { transform: scale(1.03); }

@media (max-width: 1023px) {
	.swift-tr-why-media { aspect-ratio: 16 / 11; max-height: 480px; }
}
@media (max-width: 639px) {
	.swift-tr-why-list li { font-size: 0.96rem; gap: 12px; }
	.swift-tr-why-check { width: 26px; height: 26px; }
	.swift-tr-why-check svg { width: 13px; height: 13px; }
	.swift-tr-why-media { aspect-ratio: 4 / 3; }
}

/* STORM EMERGENCY — dark callout strip */
.swift-tr-storm-card {
	background: linear-gradient(135deg, #0d2f26 0%, #14463A 100%);
	color: #fdecd5;
	border-radius: 22px;
	padding: 48px 44px;
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	box-shadow: 0 16px 40px rgba(13, 47, 38, 0.20);
}
.swift-tr-storm-card .swift-eyebrow { color: var(--color-accent, #ffb91d); }
.swift-tr-storm-card h2 {
	color: #fff;
	margin: 12px 0 14px;
}
.swift-tr-storm-card p {
	color: rgba(253, 236, 213, 0.92);
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0 0 24px;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.swift-tr-storm-card p a { color: var(--color-accent, #ffb91d); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.swift-tr-storm-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 24px;
}
@media (max-width: 767px) {
	.swift-tr-storm-card { padding: 36px 24px; border-radius: 18px; }
	.swift-tr-storm-ctas { flex-direction: column; align-items: stretch; }
	.swift-tr-storm-ctas .swift-btn { width: 100%; justify-content: center; }
}

/* ============================================================
   TREE TRIMMING — flagship-page extra sections
   ============================================================ */

/* 5 ANSI A300 PRUNING TYPES — staggered 5-card grid */
.swift-tt-ansi-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
	max-width: 1240px;
	margin: 36px auto 0;
}
@media (max-width: 1199px) { .swift-tt-ansi-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px)  { .swift-tt-ansi-grid { grid-template-columns: 1fr; } }
.swift-tt-ansi-card {
	background: #fff;
	border-radius: 16px;
	padding: 28px 22px 24px;
	box-shadow: 0 4px 14px rgba(13, 47, 38, 0.06);
	border: 1px solid rgba(20, 70, 58, 0.08);
	position: relative;
	transition: transform .25s ease, box-shadow .25s ease;
}
.swift-tt-ansi-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(13, 47, 38, 0.10); }
.swift-tt-ansi-card::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: var(--color-accent, #ffb91d);
	border-top-left-radius: 16px;
	border-top-right-radius: 16px;
}
.swift-tt-ansi-num {
	font-family: var(--ff-display, inherit);
	font-weight: 900;
	font-size: 1.8rem;
	color: var(--color-accent, #ffb91d);
	letter-spacing: -0.03em;
	line-height: 1;
	margin-bottom: 10px;
}
.swift-tt-ansi-card h3 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1.04rem;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 8px;
	line-height: 1.25;
}
.swift-tt-ansi-card p {
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	margin: 0;
}

/* TOPPING REFUSAL — strong red-banded "we refuse" card */
.swift-tt-refusal { padding: clamp(56px, 7vw, 100px) 0; }
.swift-tt-refusal-card {
	background: linear-gradient(135deg, #fff5f3 0%, #ffebe7 100%);
	border: 2px solid rgba(217, 74, 61, 0.30);
	border-left: 6px solid #d94a3d;
	border-radius: 20px;
	padding: 40px 44px;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	box-shadow: 0 8px 28px rgba(217, 74, 61, 0.10);
}
.swift-tt-refusal-stamp {
	position: absolute;
	top: 28px;
	right: 32px;
	width: 64px; height: 64px;
	border-radius: 50%;
	background: #d94a3d;
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 16px rgba(217, 74, 61, 0.35);
}
.swift-tt-refusal-stamp svg { width: 32px; height: 32px; }
.swift-tt-refusal-card .swift-eyebrow {
	color: #d94a3d;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-bottom: 14px;
}
.swift-tt-refusal-card h2 {
	color: var(--color-primary, #0d2f26);
	margin: 0 0 14px;
	max-width: 70%;
	text-align: left !important;
}
.swift-tt-refusal-card h2::after {
	margin-left: 0 !important;
	margin-right: auto !important;
	background: #d94a3d;
}
.swift-tt-refusal-lead {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 28px;
	line-height: 1.5;
}
.swift-tt-refusal-reasons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
@media (max-width: 767px) { .swift-tt-refusal-reasons { grid-template-columns: 1fr; } }
.swift-tt-refusal-reason {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 14px;
	align-items: start;
}
.swift-tt-refusal-x {
	width: 32px; height: 32px;
	border-radius: 50%;
	background: #d94a3d;
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.swift-tt-refusal-x svg { width: 18px; height: 18px; }
.swift-tt-refusal-reason h3 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1.02rem;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 6px;
	line-height: 1.3;
}
.swift-tt-refusal-reason p {
	font-size: 0.93rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	margin: 0;
}
.swift-tt-refusal-reason p strong { color: #d94a3d; }
@media (max-width: 767px) {
	.swift-tt-refusal-card { padding: 32px 24px; }
	.swift-tt-refusal-stamp { width: 48px; height: 48px; top: 20px; right: 20px; }
	.swift-tt-refusal-stamp svg { width: 24px; height: 24px; }
	.swift-tt-refusal-card h2 { max-width: 100%; padding-right: 60px; }
}

/* BEST TIME OF YEAR — seasonal-window timeline cards.
   Flex layout auto-centers regardless of item count (3 on Hurricane Prep, 4 on Tree Trimming). */
.swift-tt-best-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 20px;
	max-width: 1180px;
	margin: 32px auto 24px;
}
.swift-tt-best-window {
	flex: 1 1 240px;
	max-width: 290px;
	background: #fff;
	border-radius: 14px;
	padding: 24px 22px 22px;
	box-shadow: 0 4px 14px rgba(13, 47, 38, 0.06);
	border: 1px solid rgba(20, 70, 58, 0.08);
	transition: transform .25s ease;
}
@media (max-width: 539px) {
	.swift-tt-best-window { max-width: 100%; flex-basis: 100%; }
}
.swift-tt-best-window:hover { transform: translateY(-3px); }
.swift-tt-best-when {
	display: inline-block;
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 0.78rem;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--color-primary, #0d2f26);
	background: var(--color-accent, #ffb91d);
	padding: 6px 12px;
	border-radius: 999px;
	margin-bottom: 14px;
}
.swift-tt-best-what {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1.08rem;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 8px;
	line-height: 1.25;
}
.swift-tt-best-detail {
	font-size: 0.93rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	margin: 0;
}
.swift-tt-best-detail a { color: var(--color-primary, #0d2f26); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.swift-tt-best-note {
	max-width: 1180px;
	margin: 0 auto;
	text-align: center;
	font-size: 0.95rem;
	color: var(--color-text-muted, #5a5e62);
	font-style: italic;
	padding: 14px 20px;
	border-top: 1px dashed rgba(20, 70, 58, 0.20);
}
.swift-tt-best-note a { color: var(--color-primary, #0d2f26); font-weight: 600; }

/* PERMITS CALLOUT — info banner with icon */
.swift-tt-permits { padding: 48px 0; }
.swift-tt-permits-card {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 24px;
	align-items: center;
	background: #fff;
	border: 1px solid rgba(20, 70, 58, 0.10);
	border-radius: 18px;
	padding: 32px 36px;
	max-width: 1100px;
	margin: 0 auto;
	box-shadow: 0 4px 16px rgba(13, 47, 38, 0.05);
	text-align: left;
}
.swift-tt-permits-ico {
	width: 72px; height: 72px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--color-primary, #0d2f26), var(--color-pine-needle, #14463A));
	color: var(--color-accent, #ffb91d);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.swift-tt-permits-ico svg { width: 32px; height: 32px; }
.swift-tt-permits-card .swift-eyebrow { display: inline-flex; align-items: center; gap: 3px; margin-bottom: 8px; }
.swift-tt-permits-h2 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	color: var(--color-primary, #0d2f26);
	margin: 0 0 10px;
	line-height: 1.3;
}
.swift-tt-permits-card p {
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--color-text, #1f2124);
	margin: 0;
}
.swift-tt-permits-card p a { color: var(--color-primary, #0d2f26); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 639px) {
	.swift-tt-permits-card { grid-template-columns: 1fr; padding: 26px 22px; gap: 16px; }
	.swift-tt-permits-ico { width: 56px; height: 56px; }
}

/* ============================================================
   LAND & LOT CLEARING — flagship-page extra sections
   ============================================================ */

/* AUDIENCES — 5-up icon-tile grid */
.swift-lc-audiences-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	max-width: 1240px;
	margin: 36px auto 0;
}
@media (max-width: 1199px) { .swift-lc-audiences-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 639px)  { .swift-lc-audiences-grid { grid-template-columns: 1fr; } }
.swift-lc-aud-card {
	background: #fff;
	border-radius: 16px;
	padding: 26px 22px 22px;
	box-shadow: 0 4px 14px rgba(13, 47, 38, 0.06);
	border: 1px solid rgba(20, 70, 58, 0.08);
	transition: transform .25s ease, box-shadow .25s ease;
}
.swift-lc-aud-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(13, 47, 38, 0.10); }
.swift-lc-aud-ico {
	width: 52px; height: 52px;
	border-radius: 14px;
	background: var(--color-accent, #ffb91d);
	color: var(--color-primary, #0d2f26);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}
.swift-lc-aud-ico svg { width: 26px; height: 26px; }
.swift-lc-aud-card h3 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1.05rem;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 8px;
	line-height: 1.25;
}
.swift-lc-aud-card p {
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	margin: 0;
}

/* BUILDER & B2B TERMS — numbered horizontal list */
.swift-lc-builder-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
	max-width: 1240px;
	margin: 36px auto 24px;
}
@media (max-width: 1199px) { .swift-lc-builder-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 539px)  { .swift-lc-builder-grid { grid-template-columns: 1fr; } }
.swift-lc-builder-item {
	background: #fff;
	border-radius: 14px;
	padding: 22px 20px 20px;
	border-top: 4px solid var(--color-accent, #ffb91d);
	box-shadow: 0 4px 12px rgba(13, 47, 38, 0.05);
}
.swift-lc-builder-num {
	font-family: var(--ff-display, inherit);
	font-weight: 900;
	font-size: 1.5rem;
	color: var(--color-accent, #ffb91d);
	letter-spacing: -0.02em;
	margin-bottom: 8px;
	line-height: 1;
}
.swift-lc-builder-item h3 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1rem;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 6px;
	line-height: 1.25;
}
.swift-lc-builder-item p {
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	margin: 0;
}
.swift-lc-builder-note {
	max-width: 1180px;
	margin: 0 auto;
	text-align: center;
	font-size: 0.96rem;
	color: var(--color-text, #1f2124);
	padding: 18px 24px;
	background: rgba(13, 47, 38, 0.04);
	border-radius: 12px;
}
.swift-lc-builder-note strong { color: var(--color-primary, #0d2f26); font-weight: 700; }

/* INVASIVE SPECIES — 3-card warning grid */
.swift-lc-invasives-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	max-width: 1180px;
	margin: 36px auto 0;
}
@media (max-width: 1023px) { .swift-lc-invasives-grid { grid-template-columns: 1fr; } }
.swift-lc-inv-card {
	background: #fff;
	border: 1px solid rgba(217, 74, 61, 0.20);
	border-left: 4px solid #d94a3d;
	border-radius: 14px;
	padding: 26px 26px 22px;
	box-shadow: 0 4px 14px rgba(13, 47, 38, 0.06);
}
.swift-lc-inv-ico {
	width: 44px; height: 44px;
	border-radius: 12px;
	background: rgba(217, 74, 61, 0.12);
	color: #d94a3d;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 14px;
}
.swift-lc-inv-ico svg { width: 22px; height: 22px; }
.swift-lc-inv-card h3 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1.15rem;
	color: var(--color-primary, #0d2f26);
	margin: 0 0 4px;
	line-height: 1.2;
}
.swift-lc-inv-sci {
	font-size: 0.88rem;
	color: var(--color-text-muted, #5a5e62);
	margin: 0 0 12px;
}
.swift-lc-inv-body {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--color-text, #1f2124);
	margin: 0;
}
.swift-lc-inv-body strong { color: #d94a3d; }
.swift-lc-inv-body a { color: var(--color-primary, #0d2f26); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* EQUIPMENT — 5-up dark-accented fleet cards */
.swift-lc-equipment-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	max-width: 1240px;
	margin: 36px auto 0;
}
@media (max-width: 1199px) { .swift-lc-equipment-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 639px)  { .swift-lc-equipment-grid { grid-template-columns: 1fr; } }
.swift-lc-eq-card {
	background: linear-gradient(135deg, #0d2f26 0%, #14463A 100%);
	border-radius: 14px;
	padding: 22px 20px 20px;
	color: #fdecd5;
	transition: transform .25s ease, box-shadow .25s ease;
}
.swift-lc-eq-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(13, 47, 38, 0.25); }
.swift-lc-eq-ico {
	width: 44px; height: 44px;
	border-radius: 12px;
	background: var(--color-accent, #ffb91d);
	color: var(--color-primary, #0d2f26);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 14px;
}
.swift-lc-eq-ico svg { width: 22px; height: 22px; }
.swift-lc-eq-card h3 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: 1rem;
	color: #fff;
	margin: 0 0 6px;
	line-height: 1.25;
}
.swift-lc-eq-card p {
	font-size: 0.9rem;
	line-height: 1.5;
	color: rgba(253, 236, 213, 0.85);
	margin: 0;
}

/* SPECIMEN PROTECTION — single 2-col callout */
.swift-lc-specimen { padding: clamp(48px, 6vw, 80px) 0; }
.swift-lc-specimen-card {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 28px;
	align-items: center;
	background: linear-gradient(135deg, #ecf2ee 0%, #f5efe1 100%);
	border-left: 6px solid #14463A;
	border-radius: 18px;
	padding: 36px 40px;
	max-width: 1100px;
	margin: 0 auto;
	box-shadow: 0 6px 20px rgba(13, 47, 38, 0.08);
	text-align: left;
}
.swift-lc-specimen-ico {
	width: 88px; height: 88px;
	border-radius: 18px;
	background: var(--color-primary, #0d2f26);
	color: var(--color-accent, #ffb91d);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.swift-lc-specimen-ico svg { width: 40px; height: 40px; }
.swift-lc-specimen-card .swift-eyebrow { display: inline-flex; align-items: center; gap: 3px; margin-bottom: 10px; }
.swift-lc-specimen-h2 {
	font-family: var(--ff-display, inherit);
	font-weight: 800;
	font-size: clamp(1.3rem, 2.4vw, 1.8rem);
	color: var(--color-primary, #0d2f26);
	margin: 0 0 14px;
	line-height: 1.25;
}
.swift-lc-specimen-card p {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-text, #1f2124);
	margin: 0;
}
.swift-lc-specimen-card p strong { color: var(--color-primary, #0d2f26); font-weight: 700; }
.swift-lc-specimen-card p a { color: var(--color-primary, #0d2f26); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 639px) {
	.swift-lc-specimen-card { grid-template-columns: 1fr; padding: 28px 22px; gap: 16px; }
	.swift-lc-specimen-ico { width: 64px; height: 64px; }
	.swift-lc-specimen-ico svg { width: 32px; height: 32px; }
}

/* ============================================================
   ELEMENTOR PRO FORM FIXES (Swift Lead / Contact / Free Estimate)
   - Fix dropdown double-border
   - Hide duplicated label on acceptance field (the .swift-hide-label class)
   - Tighten spacing
   ============================================================ */
.elementor-form .elementor-field-type-select .elementor-field-textual,
.elementor-form .elementor-select-wrapper select.elementor-field-textual {
	background-color: #fff !important;
	border: 1.5px solid var(--color-border, #d8d2c4) !important;
	box-shadow: none !important;
	background-image: none !important;
}
.elementor-form .elementor-select-wrapper { border: 0 !important; padding: 0 !important; background: transparent !important; }
.elementor-form .elementor-select-wrapper::before,
.elementor-form .elementor-select-wrapper::after { display: none !important; }

/* Hide the auto-rendered label on the acceptance field — acceptance_text is the visible text */
.elementor-form .swift-hide-label > label.elementor-field-label { display: none !important; }
.elementor-form .elementor-field-type-acceptance > label.elementor-field-label { display: none !important; }
.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup { gap: 8px; align-items: center; }
.elementor-form .elementor-field-type-acceptance label.elementor-field-option { font-size: 0.95rem; }

/* Row gap + column gap tightened so the form isn't ridiculously tall */
.elementor-form .elementor-form-fields-wrapper { row-gap: 14px; }
.elementor-form .elementor-field-group { margin-bottom: 0; }

/* ============================================================
   HERO CTA UNIFORMITY — phone button first, primary yellow.
   Applies to:
     • Homepage hero  (.swift-hero-ctas)
     • All page heroes  (.swift-page-hero-ctas)
       → About, Contact, FAQ, Financing, Free Estimate,
         Hurricane Subscription, Reviews, Services index,
         Service Areas index, all 7 Service detail pages,
         all 5 Service-Area detail pages.

   Rule: the CALL phone button (.swift-btn-secondary in markup)
   renders SOLID yellow #F5B800 and sits FIRST via flex order.
   The "Request estimate / Contact" button (.swift-btn-primary
   in markup) becomes the white-outline SECONDARY.
   ============================================================ */
.swift-hero-ctas,
.swift-page-hero-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

/* SECONDARY in markup, PRIMARY visually → solid yellow CALL button (first) */
.swift-hero-ctas .swift-btn-secondary,
.swift-page-hero-ctas .swift-btn-secondary {
	background: #F5B800 !important;
	color: #111 !important;
	border: 2px solid #F5B800 !important;
	font-weight: 700;
	order: 1;
	box-shadow: 0 6px 16px rgba(245, 184, 0, 0.32);
	transition: background .2s, border-color .2s, transform .15s, box-shadow .2s;
}
.swift-hero-ctas .swift-btn-secondary:hover,
.swift-hero-ctas .swift-btn-secondary:focus,
.swift-page-hero-ctas .swift-btn-secondary:hover,
.swift-page-hero-ctas .swift-btn-secondary:focus {
	background: #D69A00 !important;
	border-color: #D69A00 !important;
	color: #111 !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(245, 184, 0, 0.40);
}
.swift-hero-ctas .swift-btn-secondary svg,
.swift-page-hero-ctas .swift-btn-secondary svg {
	stroke: #111 !important;
}

/* PRIMARY in markup, SECONDARY visually → white outline estimate button (second) */
.swift-hero-ctas .swift-btn-primary,
.swift-page-hero-ctas .swift-btn-primary {
	background: transparent !important;
	color: #fff !important;
	border: 2px solid #fff !important;
	font-weight: 700;
	order: 2;
	transition: background .2s, color .2s, transform .15s;
}
.swift-hero-ctas .swift-btn-primary:hover,
.swift-hero-ctas .swift-btn-primary:focus,
.swift-page-hero-ctas .swift-btn-primary:hover,
.swift-page-hero-ctas .swift-btn-primary:focus {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #fff !important;
	transform: translateY(-2px);
}
.swift-hero-ctas .swift-btn-primary svg,
.swift-page-hero-ctas .swift-btn-primary svg {
	stroke: #fff !important;
}

/* Mobile: stack full-width, keep CALL on top */
@media (max-width: 640px) {
	.swift-hero-ctas,
	.swift-page-hero-ctas {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.swift-hero-ctas .swift-btn,
	.swift-page-hero-ctas .swift-btn {
		width: 100%;
		justify-content: center;
	}
}

/* ============================================================
   Google-trust badge inside hero rating chip (homepage + page heros)
   ============================================================ */
.swift-hero-rating-google {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-right: 6px;
	padding-right: 12px;
	border-right: 1px solid rgba(255, 255, 255, 0.28);
	color: #fff;
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: 0.88rem;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: opacity .2s, transform .15s;
	order: -1;
}
.swift-hero-rating-google:hover { opacity: 0.88; color: #fff; transform: translateX(-1px); }
.swift-hero-rating-google-logo {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
.swift-hero-rating-google-label {
	white-space: nowrap;
}
@media (max-width: 640px) {
	.swift-hero-rating { flex-wrap: wrap; justify-content: center; }
	.swift-hero-rating-google {
		margin-right: 0;
		padding-right: 0;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.28);
		padding-bottom: 6px;
		width: 100%;
		justify-content: center;
		order: -1;
	}
}

/* ============================================================
   GLOBAL EYEBROW UNIFORMITY
   - Rectangular border-radius (6px) on every eyebrow chip site-wide
   - Force the favicon icon to render on every variant (catch-all)
   - Wins over any older rule via !important + attribute selectors
   ============================================================ */
[class*="-eyebrow"],
.swift-eyebrow,
.swift-eyebrow-dark,
.swift-services-eyebrow,
.swift-county-eyebrow,
.swift-city-focus-eyebrow,
.swift-city-hero-eyebrow,
.swift-ministry-eyebrow,
.swift-svc-category-eyebrow,
.swift-why-flex-eyebrow,
.swift-tr-why-eyebrow {
	border-radius: var(--radius-pill) !important;
	display: inline-flex !important;
	align-items: center !important;
	width: fit-content !important;
	max-width: fit-content !important;
	align-self: flex-start !important;
}

/* Catch-all favicon icon — last in cascade so nothing can shadow it */
[class*="-eyebrow"]::before,
.swift-eyebrow::before,
.swift-eyebrow-dark::before,
.swift-services-eyebrow::before,
.swift-county-eyebrow::before,
.swift-city-focus-eyebrow::before,
.swift-city-hero-eyebrow::before,
.swift-ministry-eyebrow::before,
.swift-svc-category-eyebrow::before,
.swift-why-flex-eyebrow::before,
.swift-tr-why-eyebrow::before {
	content: "" !important;
	display: inline-block !important;
	width: 22px !important;
	height: 22px !important;
	flex-shrink: 0 !important;
	background-image: url("../img/favicon.png") !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin-right: 6px !important;
	vertical-align: middle !important;
	align-self: center !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* ============================================================
   Service Areas page — Treasure Coast map (restored)
   ============================================================ */
.swift-areas-map-section { padding: var(--space-section, 80px) 0; background: var(--color-surface-soft, #f7f4ee); }
.swift-areas-map {
	margin-top: 36px;
	border-radius: var(--radius-card, 16px);
	overflow: hidden;
	box-shadow: 0 18px 48px -18px rgba(13, 47, 38, 0.35);
	border: 1px solid var(--color-border, rgba(13,47,38,0.12));
	background: #e9e6df;
}
.swift-areas-map iframe {
	display: block;
	width: 100%;
	height: 460px;
	border: 0;
}
@media (max-width: 767px) {
	.swift-areas-map iframe { height: 320px; }
	.swift-areas-map { margin-top: 24px; }
}

/* Reviews page — Google "G" icon replacing the platform text (brand consistency with homepage) */
.swift-review-google-logo { width: 20px; height: 20px; display: inline-block; vertical-align: middle; }

/* ============================================================
   Hero subtitle chips (eyebrows) — Ethnocentric Bold, all pages.
   Activates once /assets/fonts/ethnocentric-bold.woff2 is present;
   until then it falls back to the existing display font (no breakage).
   ============================================================ */
.swift-eyebrow,
.swift-eyebrow-dark,
.swift-city-hero-eyebrow,
.swift-city-focus-eyebrow,
.swift-county-eyebrow,
.swift-ministry-eyebrow,
.swift-services-eyebrow,
.swift-svc-category-eyebrow,
.swift-why-flex-eyebrow,
.swift-tr-why-eyebrow,
.swift-hero-leadform-eyebrow {
	font-family: 'Ethnocentric', var(--ff-display), 'Helvetica Neue', Arial, sans-serif !important;
}

/* ============================================================
   CONTACT PAGE — premium 2-column hero with form-in-hero
   ============================================================ */
.swift-contact-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 48px;
	align-items: center;
}
.swift-contact-hero-text { color: #fff; text-align: left; }
.swift-contact-hero-text .swift-breadcrumb ol { justify-content: flex-start; }
.swift-contact-hero-text .swift-page-hero-h1 { margin-bottom: 18px; }
.swift-contact-hero-text .swift-page-hero-lede { margin-left: 0; margin-right: 0; max-width: 46ch; }
.swift-contact-hero-methods { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; }
.swift-contact-hero-methods li { margin: 0; }
.swift-contact-hero-methods a,
.swift-contact-hero-methods li > .swift-contact-hero-ico { text-decoration: none; }
.swift-contact-hero-methods li { display: flex; align-items: center; gap: 14px; }
.swift-contact-hero-methods a { display: flex; align-items: center; gap: 14px; color: #fff; transition: opacity .2s; }
.swift-contact-hero-methods a:hover { opacity: .85; }
.swift-contact-hero-ico {
	flex: 0 0 auto;
	width: 46px; height: 46px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(255, 185, 29, 0.16);
	border: 1px solid rgba(255, 185, 29, 0.4);
	color: var(--color-accent, #F5B800);
}
.swift-contact-hero-ico svg { width: 20px; height: 20px; }
.swift-contact-hero-meta { display: flex; flex-direction: column; line-height: 1.3; }
.swift-contact-hero-meta strong { font-size: 1.05rem; color: #fff; }
.swift-contact-hero-meta small { font-size: 0.82rem; color: rgba(255,255,255,0.78); }

/* Compact contact hero */
.swift-page-hero.swift-contact-hero { min-height: 0; padding-top: 130px; padding-bottom: 56px; }

/* Glassmorphism dark form card */
.swift-contact-form-card {
	background: linear-gradient(155deg, rgba(13, 47, 38, 0.62), rgba(13, 47, 38, 0.42));
	backdrop-filter: blur(16px) saturate(120%);
	-webkit-backdrop-filter: blur(16px) saturate(120%);
	border-radius: 20px;
	padding: 30px 30px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 24px 60px -22px rgba(0, 0, 0, 0.6),
	            inset 0 1px 0 rgba(255, 255, 255, 0.14);
}
.swift-contact-form-title {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	color: #fff;
	margin: 0 0 4px;
	line-height: 1.15;
}
.swift-contact-form-sub { font-size: 0.92rem; color: rgba(255,255,255,0.8); margin: 0 0 18px; line-height: 1.5; }

/* Form fields inside the glass card — 2 per row, translucent inputs, light text */
.swift-contact-form-card .elementor-form-fields-wrapper {
	display: flex; flex-wrap: wrap; margin: 0 -7px; row-gap: 12px;
}
.swift-contact-form-card .elementor-field-group { padding: 0 7px; margin: 0; box-sizing: border-box; }
.swift-contact-form-card .elementor-field-group.elementor-col-50 { width: 50%; }
.swift-contact-form-card .elementor-field-group.elementor-col-100 { width: 100%; }
.swift-contact-form-card label.elementor-field-label {
	display: block; font-weight: 600; font-size: 0.82rem;
	color: rgba(255,255,255,0.9); margin-bottom: 6px;
}
.swift-contact-form-card .elementor-field-textual {
	width: 100%; padding: 11px 13px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 9px;
	color: #fff; font-size: 0.95rem; font-family: inherit;
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.18);
	transition: border-color .2s, background .2s, box-shadow .2s;
}
.swift-contact-form-card .elementor-field-textual::placeholder { color: rgba(255,255,255,0.5); }
.swift-contact-form-card .elementor-field-textual:focus {
	outline: none;
	border-color: var(--color-accent, #F5B800);
	background: rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 0 3px rgba(245,184,0,0.22), inset 0 1px 2px rgba(0,0,0,0.18);
}
.swift-contact-form-card select.elementor-field-textual option { color: #111; }
.swift-contact-form-card textarea.elementor-field-textual { min-height: 96px; resize: vertical; }
.swift-contact-form-card .elementor-button {
	width: 100%; justify-content: center;
	background: var(--color-accent, #F5B800); color: #111;
	border: 0; border-radius: 999px; padding: 14px 24px;
	font-family: var(--ff-display); font-weight: 800; text-transform: uppercase;
	letter-spacing: 0.04em; cursor: pointer;
	box-shadow: 0 8px 20px rgba(245,184,0,0.3);
	transition: background .2s, transform .15s;
}
.swift-contact-form-card .elementor-button:hover { background: #ffc940; transform: translateY(-2px); }

@media (max-width: 991px) {
	.swift-contact-hero-grid { grid-template-columns: 1fr; gap: 28px; }
	/* Left-align kept on all breakpoints per request */
	.swift-contact-hero-text { text-align: left; }
	.swift-contact-hero-text .swift-page-hero-lede { margin-left: 0; margin-right: 0; }
}
@media (max-width: 575px) {
	.swift-contact-form-card { padding: 22px 18px; border-radius: 16px; }
	.swift-contact-form-card .elementor-field-group.elementor-col-50 { width: 100%; }
}

/* ============================================================
   Service Areas — per-county block: heading · map · numbered locations
   ============================================================ */
.swift-county-block { margin-bottom: clamp(48px, 6vw, 80px); }
.swift-county-block:last-child { margin-bottom: 0; }
.swift-county-block-title {
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	color: var(--color-primary, #14463a);
	letter-spacing: -0.02em;
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 2px solid rgba(20, 70, 58, 0.12);
}
.swift-county-block-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 32px;
	align-items: start;
}
.swift-county-block-map {
	border-radius: var(--radius-card, 16px);
	overflow: hidden;
	box-shadow: 0 18px 44px -18px rgba(13, 47, 38, 0.32);
	border: 1px solid var(--color-border, rgba(13,47,38,0.12));
	background: #e9e6df;
}
.swift-county-block-map iframe { display: block; width: 100%; height: 360px; border: 0; }

.swift-county-block-locations {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 14px;
	counter-reset: none;
}
.swift-county-loc { margin: 0; }
.swift-county-loc a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 14px;
	border-radius: 10px;
	background: var(--color-surface-soft, #f7f4ee);
	border: 1px solid var(--color-border, rgba(13,47,38,0.10));
	text-decoration: none;
	color: var(--color-text, #1a3c33);
	transition: background .18s, border-color .18s, transform .15s;
}
.swift-county-loc a:hover {
	background: #fff;
	border-color: var(--color-accent, #F5B800);
	transform: translateX(2px);
}
.swift-county-loc-pin {
	flex: 0 0 auto; width: 20px; height: 20px;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--color-accent, #F5B800);
}
.swift-county-loc-pin svg { width: 18px; height: 18px; }
.swift-county-loc-num {
	flex: 0 0 auto;
	min-width: 22px; height: 22px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--color-accent, #F5B800);
	color: var(--color-pine-needle, #0d2f26);
	font-family: var(--ff-display);
	font-weight: 800;
	font-size: 0.78rem;
}
.swift-county-loc-name { font-weight: 600; font-size: 0.95rem; }
.swift-county-loc-tag {
	margin-left: auto;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-accent, #c79100);
	background: rgba(255, 185, 29, 0.16);
	padding: 3px 8px;
	border-radius: 999px;
}
@media (max-width: 991px) {
	.swift-county-block-grid { grid-template-columns: 1fr; gap: 22px; }
	.swift-county-block-map iframe { height: 280px; }
}
@media (max-width: 575px) {
	.swift-county-block-locations { grid-template-columns: 1fr; }
}

/* ============================================================
   Contact form — kill the Elementor template's white section bg
   so the glass card shows through; force 2-col field layout.
   ============================================================ */
.swift-contact-form-card .elementor,
.swift-contact-form-card .elementor-section,
.swift-contact-form-card .elementor-column,
.swift-contact-form-card .elementor-widget-wrap,
.swift-contact-form-card .elementor-widget-form,
.swift-contact-form-card .elementor-element {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.swift-contact-form-card .elementor-section { margin: 0 !important; }
/* 2 fields per row on desktop */
.swift-contact-form-card .elementor-form-fields-wrapper {
	display: flex !important; flex-wrap: wrap !important; margin: 0 -7px !important; row-gap: 12px !important;
}
.swift-contact-form-card .elementor-field-group { padding: 0 7px !important; margin: 0 !important; box-sizing: border-box; }
.swift-contact-form-card .elementor-field-group.elementor-col-50 { width: 50% !important; }
.swift-contact-form-card .elementor-field-group.elementor-col-100 { width: 100% !important; }
@media (max-width: 575px) {
	.swift-contact-form-card .elementor-field-group.elementor-col-50 { width: 100% !important; }
}

/* ============================================================
   Mobile hero CTA buttons — keep label on a single line
   (smaller font + tighter padding/letter-spacing).
   ============================================================ */
@media (max-width: 575px) {
	.swift-hero-ctas .swift-btn,
	.swift-page-hero-ctas .swift-btn {
		font-size: 0.82rem !important;
		letter-spacing: 0.01em !important;
		padding: 12px 14px !important;
		gap: 8px !important;
		white-space: nowrap;
		line-height: 1.1;
	}
	.swift-hero-ctas .swift-btn svg,
	.swift-page-hero-ctas .swift-btn svg { width: 17px; height: 17px; flex-shrink: 0; }
}
@media (max-width: 360px) {
	.swift-hero-ctas .swift-btn,
	.swift-page-hero-ctas .swift-btn { font-size: 0.76rem !important; padding: 11px 10px !important; }
}

/* ============================================================
   CONTACT FORM — authoritative glass overrides (win the cascade).
   The global .swift-elementor-form-wrap (white card) and
   .elementor-form input:not(...) (specificity 0,4,1) rules were
   beating the contact styling; these !important rules override them
   ONLY inside .swift-contact-form-card.
   ============================================================ */
.swift-contact-form-card .swift-elementor-form-wrap {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	overflow: visible !important;
}
/* 2 fields per row on desktop (Full name|Phone, Email|Address, Service|Urgency) */
.swift-contact-form-card .elementor-form .elementor-form-fields-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	margin: 0 -7px !important;
	row-gap: 4px !important;
}
.swift-contact-form-card .elementor-form .elementor-field-group:not(.elementor-field-type-submit) {
	flex-direction: column !important;
	padding: 0 7px !important;
	margin-bottom: 12px !important;
	box-sizing: border-box !important;
}
.swift-contact-form-card .elementor-form .elementor-field-group.elementor-col-50 { width: 50% !important; }
.swift-contact-form-card .elementor-form .elementor-field-group.elementor-col-100 { width: 100% !important; }
/* Light labels */
.swift-contact-form-card .elementor-form label.elementor-field-label {
	color: rgba(255,255,255,0.92) !important;
	font-weight: 600 !important;
	font-size: 0.82rem !important;
	margin-bottom: 6px !important;
}
/* Glass inputs (override the global white inputs) */
.swift-contact-form-card .elementor-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.swift-contact-form-card .elementor-form select,
.swift-contact-form-card .elementor-form textarea,
.swift-contact-form-card .elementor-form .elementor-field-textual {
	background: rgba(255, 255, 255, 0.10) !important;
	border: 1px solid rgba(255, 255, 255, 0.24) !important;
	border-radius: 9px !important;
	color: #fff !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,0.18) !important;
	padding: 11px 13px !important;
}
.swift-contact-form-card .elementor-form input::placeholder,
.swift-contact-form-card .elementor-form textarea::placeholder { color: rgba(255,255,255,0.55) !important; }
.swift-contact-form-card .elementor-form input:focus,
.swift-contact-form-card .elementor-form select:focus,
.swift-contact-form-card .elementor-form textarea:focus {
	border-color: var(--color-accent, #F5B800) !important;
	background: rgba(255, 255, 255, 0.14) !important;
	box-shadow: 0 0 0 3px rgba(245,184,0,0.22) !important;
	outline: none !important;
}
.swift-contact-form-card .elementor-form select option { color: #111 !important; }
@media (max-width: 575px) {
	.swift-contact-form-card .elementor-form .elementor-field-group.elementor-col-50 { width: 100% !important; }
}

/* ============================================================
   CONTACT FORM — final overrides: single column (100% width)
   + glass dropdowns (kill the white select background).
   ============================================================ */
.swift-contact-form-card .elementor-form .elementor-field-group,
.swift-contact-form-card .elementor-form .elementor-field-group.elementor-col-50,
.swift-contact-form-card .elementor-form .elementor-field-group.elementor-col-100 {
	width: 100% !important;
}
/* Dropdowns — glass background, light text (beats the global #fff select rule) */
.swift-contact-form-card .elementor-form .elementor-field-type-select .elementor-field-textual,
.swift-contact-form-card .elementor-form .elementor-select-wrapper,
.swift-contact-form-card .elementor-form .elementor-select-wrapper select,
.swift-contact-form-card .elementor-form select.elementor-field-textual {
	background: rgba(255, 255, 255, 0.10) !important;
	background-color: rgba(255, 255, 255, 0.10) !important;
	border: 1px solid rgba(255, 255, 255, 0.24) !important;
	color: #fff !important;
	border-radius: 9px !important;
}
.swift-contact-form-card .elementor-form .elementor-select-wrapper { padding: 0 !important; }
.swift-contact-form-card .elementor-form .elementor-select-wrapper::before { color: #fff !important; }
.swift-contact-form-card .elementor-form select option { color: #111 !important; background: #fff !important; }
