/* Section spacing: a little tighter everywhere. */
.lsb-section--pad-md {
	padding-block: clamp(44px, 6vw, 72px);
}

.lsb-cta--strip {
	padding-block: clamp(36px, 4.5vw, 56px);
}

/* Hero: photo with a dark wash, quote panel on the left, left-aligned copy on the right, trust points in a glass box. */
.lsb-hero {
	margin-inline: 0;
	border-radius: 0;
}

.lsb-hero__media::after {
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--lsb-dark) 88%, transparent) 0%, color-mix(in srgb, var(--lsb-dark) 62%, transparent) 50%, color-mix(in srgb, var(--lsb-dark) 45%, transparent) 100%),
		linear-gradient(0deg, color-mix(in srgb, var(--lsb-dark) 70%, transparent) 0%, transparent 40%);
}

.lsb-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	justify-items: start;
	gap: clamp(32px, 4vw, 64px);
	align-items: center;
}

.lsb-hero__copy,
.lsb-hero--compact .lsb-hero__copy {
	max-width: 680px;
	margin-inline: 0;
	text-align: left;
}

.lsb-hero .lsb-eyebrow {
	display: inline-block;
	margin: 0 0 0.9rem;
	padding: 0;
	border-radius: 0;
	background: none;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.lsb-hero .lsb-eyebrow::before {
	content: none;
}

.lsb-hero .lsb-hero__title {
	display: block;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	line-height: 1.15;
}

.lsb-hero .lsb-hero__title-kick,
.lsb-hero .lsb-hero__title-accent {
	display: inline;
	color: #fff;
	font-size: clamp(1.7rem, 0.9rem + 2.6vw, 3rem);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.15;
	text-transform: uppercase;
}

.lsb-hero__text {
	max-width: 600px;
	margin-inline: 0;
	color: rgba(245, 247, 250, 0.85);
}

.lsb-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	max-width: none;
	margin-inline: 0;
}

.lsb-hero .lsb-btn {
	min-width: 200px;
	justify-content: center;
	border-radius: var(--lsb-radius-sm);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lsb-hero .lsb-btn--outline-light {
	border-color: rgba(255, 255, 255, 0.7);
	background: transparent;
	color: #fff;
}

.lsb-hero .lsb-btn--outline-light:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

.lsb-hero .lsb-btn--outline-light::after {
	content: none;
}

/* Quote panel (right column). */
.lw-hero-panel {
	order: 2;
	justify-self: end;
	width: 100%;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--lsb-radius-md);
	background: color-mix(in srgb, var(--lsb-dark) 88%, transparent);
	backdrop-filter: blur(6px);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.8);
}

.lw-hero-panel__title {
	margin: 0;
	padding: 16px 24px;
	border-bottom: 3px solid var(--lsb-primary);
	background: #fff;
	color: var(--lsb-dark);
	font-family: var(--lsb-font-heading);
	font-size: 1.05rem;
	font-weight: 700;
	text-align: center;
}

.lw-hero-panel__list {
	margin: 0;
	padding: 8px 24px;
	list-style: none;
}

.lw-hero-panel__list li {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.lw-hero-panel__label {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lw-hero-panel__value {
	color: #fff;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

a.lw-hero-panel__value:is(:hover, :focus-visible) {
	color: var(--lsb-accent);
}

.lw-hero-panel__actions {
	display: grid;
	gap: 10px;
	padding: 16px 24px 24px;
}

.lsb-hero .lw-hero-panel__actions .lsb-btn {
	width: 100%;
	min-width: 0;
	text-decoration: none;
}

.lsb-hero .lw-hero-panel__cta {
	min-height: 56px;
	font-size: 1.05rem;
}

.lsb-hero .lw-hero-panel__call {
	border: 2px solid rgba(255, 255, 255, 0.5);
	background: transparent;
	color: #fff;
}

.lsb-hero .lw-hero-panel__call:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

/* Trust points in a glass box under the copy column. */
.lsb-hero__trust {
	position: relative;
	z-index: 1;
	width: calc(min(100%, var(--lsb-content-max, 1200px)) - 2 * var(--lsb-gutter, 20px));
	margin: 0 auto 40px;
	padding: 0;
	clip-path: none;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--lsb-radius-md);
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(8px);
}

.lsb-hero__trust li {
	flex-direction: column;
	gap: 8px;
	padding: 18px 12px;
	color: #fff;
	font-family: var(--lsb-font-body);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

.lsb-hero__trust li + li {
	border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.lsb-hero__trust-icon {
	width: 22px;
	height: 22px;
	background: var(--lsb-accent);
}

@media (max-width: 1024px) {
	.lsb-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
		gap: 32px;
	}
}

@media (max-width: 860px) {
	.lsb-hero__inner {
		grid-template-columns: 1fr;
	}

	.lw-hero-panel {
		order: 2;
		justify-self: start;
		width: 100%;
		max-width: 460px;
	}

	.lsb-hero__trust {
		width: auto;
		margin: 0 var(--lsb-gutter, 20px) 28px;
	}
}

@media (max-width: 760px) {
	.lsb-hero .lsb-hero__actions .lsb-btn {
		flex: 1 1 100%;
	}

	.lsb-hero__trust li {
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
	}

	.lsb-hero__trust li + li {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.18);
	}
}

/* Section headings: the sentence line uses the heading face (Orbitron), sized for its width. */
.lsb-heading__sub {
	font-family: var(--lsb-font-heading);
	font-size: clamp(1.5rem, 1rem + 1.8vw, 2.35rem);
	letter-spacing: 0;
	line-height: 1.2;
}

/* About: tighter top spacing, buttons, and a Facebook reel with a caption plate. */
#about.lsb-section {
	padding-top: clamp(32px, 4vw, 48px);
}

#about .lsb-split {
	gap: clamp(24px, 3vw, 40px);
}

@media (min-width: 961px) {
	#about .lsb-split {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	}

	#about .lw-reel {
		margin-inline: 0 auto;
	}

	/* Video card fills the right column at the text's height; the vertical reel is scaled to cover it (top and bottom crop). */
	#about .lsb-split {
		align-items: stretch;
	}

	#about .lsb-split__col:last-child {
		position: relative;
		min-height: 420px;
	}

	#about .lsb-split__col:last-child .lw-reel {
		position: absolute;
		inset: 0;
		width: auto;
		max-width: none;
		margin: 0;
	}

	#about .lsb-split__col:last-child .lw-reel::before {
		display: block;
		inset: 28px -22px -22px 28px;
		border-radius: var(--lsb-radius-lg);
		background: linear-gradient(135deg, var(--lsb-primary), var(--lsb-accent));
		transform: rotate(3deg);
	}

	#about .lsb-split__col:last-child .lw-reel::after {
		content: "";
		position: absolute;
		z-index: -1;
		top: -26px;
		right: -26px;
		width: 130px;
		height: 130px;
		background: radial-gradient(circle, var(--lsb-dark) 2px, transparent 2.5px) 0 0 / 16px 16px;
		opacity: 0.3;
	}

	#about .lsb-split__col:last-child .lw-reel__frame {
		position: absolute;
		inset: 0;
		width: auto;
		height: auto;
		aspect-ratio: auto;
		border: 0;
		border-radius: var(--lsb-radius-lg);
		box-shadow: 0 24px 48px -24px color-mix(in srgb, var(--lsb-dark) 60%, transparent);
	}

	#about .lsb-split__col:last-child .lw-reel__frame iframe {
		inset: auto 0;
		top: 50%;
		width: 100%;
		height: auto;
		aspect-ratio: 9 / 16;
		transform: translateY(-50%);
	}

	#about .lsb-split__col:last-child .lw-reel__badge {
		position: absolute;
		z-index: 2;
		left: 18px;
		bottom: 18px;
		margin: 0;
		padding: 12px 26px;
	}
}

.lw-about__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 2rem;
}

.lw-about__actions .lsb-btn {
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lw-btn-ghost {
	border-color: var(--lsb-dark);
	background: transparent;
	color: var(--lsb-dark);
}

.lw-btn-ghost:hover,
.lw-btn-ghost:focus-visible {
	background: var(--lsb-dark);
	color: #fff;
}

.lw-reel {
	position: relative;
	isolation: isolate;
	max-width: 300px;
	margin-inline: auto;
}

.lw-reel::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 48px -28px -28px 48px;
	border-radius: var(--lsb-radius-lg);
	background: color-mix(in srgb, var(--lsb-primary) 16%, transparent);
}

.lw-reel__frame {
	position: relative;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: var(--lsb-radius-lg) var(--lsb-radius-lg) 0 0;
	background: var(--lsb-dark);
}

.lw-reel__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.lw-reel__badge {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	border-radius: 0 0 var(--lsb-radius-lg) var(--lsb-radius-lg);
	background: var(--lsb-dark);
	color: #fff;
	box-shadow: 0 24px 40px -24px color-mix(in srgb, var(--lsb-dark) 60%, transparent);
}

.lw-reel__badge strong {
	color: var(--lsb-accent);
	font-family: var(--lsb-font-heading);
	font-size: 1.9rem;
	line-height: 1;
}

.lw-reel__badge span:last-child {
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

@media (max-width: 600px) {
	.lw-about__actions .lsb-btn {
		flex: 1 1 100%;
	}

	.lw-reel {
		max-width: 280px;
		margin-top: 16px;
	}

	.lw-reel::before {
		inset: 40px -16px -16px 40px;
	}
}

/* Services: alternating rows, photo on one side and content on the other, white cards on the dark ground. */
#services.lsb-section {
	background: var(--lsb-dark);
}

#services .lsb-heading {
	grid-column: 1 / -1;
	max-width: 820px;
	margin: 0 auto 16px;
	text-align: center;
}

#services .lsb-heading__title {
	align-items: center;
}

#services .lsb-heading__sub {
	color: #fff;
}

#services .lsb-heading__intro,
#services .lsb-heading__intro p {
	margin-inline: auto;
	color: var(--lsb-text-muted-dark);
}

#services .lsb-heading {
	margin-bottom: 8px;
}

#services .lsb-feature,
#services .lsb-feature--reverse {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	min-height: 0;
	margin-top: 24px;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-surface);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

#services .lsb-feature--reverse {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}

#services .lsb-feature:hover {
	transform: translateY(-3px);
	border-color: var(--lsb-accent);
	box-shadow: 0 24px 40px -24px rgba(0, 0, 0, 0.6);
}

#services .lsb-feature__media {
	order: 0;
	position: relative;
	min-height: 340px;
	aspect-ratio: auto;
	border: 0;
}

#services .lsb-feature--reverse .lsb-feature__media {
	order: 2;
}

#services .lsb-feature:not(:has(> .lsb-feature__media))::before {
	content: "";
	min-height: 340px;
	background:
		radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--lsb-accent) 35%, transparent), transparent 55%),
		linear-gradient(135deg, var(--lsb-dark-alt), var(--lsb-dark));
}

#services .lsb-feature__no {
	left: 20px;
	right: auto;
	top: 20px;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: var(--lsb-radius-md);
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	font-size: 1.2rem;
}

#services .lsb-feature--reverse .lsb-feature__no {
	left: auto;
	right: 20px;
}

#services .lsb-feature__body,
#services .lsb-feature:not(:has(> .lsb-feature__media)) .lsb-feature__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: none;
	padding: clamp(28px, 3.5vw, 44px);
}

#services .lsb-feature__title {
	margin: 0 0 0.5em;
	padding-left: 14px;
	border-left: 4px solid var(--lsb-primary);
	color: var(--lsb-text);
	font-size: clamp(1.2rem, 1rem + 0.6vw, 1.5rem);
	line-height: 1.25;
}

#services .lsb-feature__body p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
}

#services .is-style-lsb-ticks {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6em 20px;
	margin: 1.1em 0 1.3em;
	font-size: 0.98rem;
	font-weight: 600;
}

#services .lsb-feature .lsb-actions {
	margin-top: 0;
	padding-top: 1.1em;
}

#services .lsb-feature .lsb-btn {
	min-width: 180px;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#services .lsb-feature:hover .lsb-btn--outline {
	border-color: var(--lsb-primary);
	background: var(--lsb-primary);
	color: var(--lsb-primary-contrast);
}

@media (max-width: 860px) {
	#services .lsb-feature,
	#services .lsb-feature--reverse {
		grid-template-columns: 1fr;
	}

	#services .lsb-feature__media,
	#services .lsb-feature--reverse .lsb-feature__media {
		order: 0;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	#services .lsb-feature:not(:has(> .lsb-feature__media))::before {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	#services .lsb-feature--reverse .lsb-feature__no {
		left: 20px;
		right: auto;
	}
}

@media (max-width: 520px) {
	#services .is-style-lsb-ticks {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	#services .lsb-feature,
	#services .lsb-feature:hover {
		transition: none;
		transform: none;
	}
}

/* CTA band: compact, centered copy and buttons over an even photo tint. */
.lsb-cta--band {
	padding-block: clamp(40px, 5vw, 64px);
	border-bottom: 4px solid var(--lsb-primary);
}

.lsb-cta--band::after {
	background: color-mix(in srgb, var(--lsb-dark) 84%, transparent);
}

.lsb-cta--band .lsb-cta__inner {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 22px;
	text-align: center;
}

.lsb-cta--band .lsb-cta__copy {
	max-width: 720px;
	margin-inline: auto;
}

.lsb-cta--band .lsb-heading__title {
	align-items: center;
}

.lsb-cta--band .lsb-eyebrow {
	margin: 0 0 0.8rem;
	padding: 0.45em 1em;
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-primary);
	color: var(--lsb-primary-contrast);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lsb-cta--band .lsb-heading__sub {
	color: #fff;
	font-size: clamp(1.4rem, 1rem + 1.6vw, 2.1rem);
	line-height: 1.2;
}

.lsb-cta--band .lsb-cta__copy > p {
	max-width: 620px;
	margin: 0.8rem auto 0;
	color: var(--lsb-text-muted-dark);
}

.lsb-cta--band .lsb-cta__inner > .lsb-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	width: auto;
	margin: 0;
}

.lsb-cta--band .lsb-btn {
	min-width: 190px;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

@media (max-width: 600px) {
	.lsb-cta--band .lsb-cta__inner > .lsb-actions {
		width: 100%;
	}

	.lsb-cta--band .lsb-btn {
		flex: 1 1 100%;
	}
}

/* Process: heading on top, Facebook video on the left, steps stacked as cards on the right. */
#process.lsb-section {
	background: var(--lsb-base-alt);
}

#process > .lsb-container {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 32px clamp(28px, 4vw, 56px);
	align-items: start;
}

#process .lsb-heading {
	grid-column: 1 / -1;
	margin-bottom: 8px;
}

.lw-process-media {
	position: sticky;
	top: calc(var(--lsb-header-h, 76px) + 24px);
	grid-row: 2 / span 2;
	isolation: isolate;
	width: 100%;
	max-width: 360px;
	margin: 12px auto 28px;
}

.lw-process-media::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 36px -24px -24px 36px;
	border-radius: var(--lsb-radius-lg);
	background: linear-gradient(135deg, var(--lsb-primary), var(--lsb-accent));
	transform: rotate(4deg);
}

.lw-process-media::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -22px;
	left: -26px;
	width: 120px;
	height: 120px;
	background: radial-gradient(circle, var(--lsb-dark) 2px, transparent 2.5px) 0 0 / 16px 16px;
	opacity: 0.35;
}

.lw-process-video {
	width: 100%;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border: 6px solid var(--lsb-surface);
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-dark);
	box-shadow: 0 24px 44px -24px color-mix(in srgb, var(--lsb-dark) 55%, transparent);
}

.lw-process-video iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.lw-process-actions {
	grid-column: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.lw-process-actions .lsb-btn {
	min-width: 220px;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#process .lsb-steps--timeline,
#process .lsb-steps--timeline:has(> :nth-child(5):last-child) {
	grid-template-columns: 1fr;
	gap: 12px;
}

#process .lsb-steps--timeline::before,
#process .lsb-steps--timeline::after {
	display: none;
}

#process .lsb-steps__item {
	position: relative;
	padding: 0;
	text-align: left;
}

#process .lsb-steps__no,
#process .lsb-steps__item.is-reached .lsb-steps__no {
	left: 20px;
	top: 20px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: var(--lsb-radius-sm);
	background: var(--lsb-dark);
	color: var(--lsb-accent);
	font-size: 1rem;
	box-shadow: none;
	transform: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

#process .lsb-steps__body {
	height: auto;
	padding: 20px 24px 20px 84px;
	border: 0;
	border-left: 4px solid var(--lsb-dark);
	border-radius: var(--lsb-radius-sm);
	background: var(--lsb-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

#process .lsb-steps__item:hover .lsb-steps__body {
	border-left-color: var(--lsb-primary);
	box-shadow: 0 14px 28px -20px color-mix(in srgb, var(--lsb-dark) 45%, transparent);
}

#process .lsb-steps__item:hover .lsb-steps__no {
	background: var(--lsb-primary);
	color: #fff;
}

#process .lsb-steps__title {
	min-height: 0;
	margin: 0 0 0.35em;
	color: var(--lsb-dark);
	font-size: 1.05rem;
	line-height: 1.3;
}

#process .lsb-steps__body > p {
	min-height: 0;
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
}

#process .lsb-heading {
	position: relative;
	z-index: 2;
}

@media (max-width: 1024px) {
	#process > .lsb-container {
		grid-template-columns: 1fr;
	}

	#process .lsb-heading {
		grid-row: 1;
	}

	.lw-process-media {
		position: relative;
		top: auto;
		grid-row: 2;
		max-width: 300px;
		margin: 8px auto 32px;
	}

	.lw-process-media::before {
		inset: 24px -14px -14px 24px;
		transform: rotate(3deg);
	}

	.lw-process-media::after {
		display: none;
	}

	.lw-process-actions {
		grid-column: auto;
	}
}

@media (max-width: 860px) {

	.lw-process-actions .lsb-btn {
		flex: 1 1 100%;
	}
}

@media (max-width: 480px) {
	#process .lsb-steps__no,
	#process .lsb-steps__item.is-reached .lsb-steps__no {
		left: 16px;
		top: 18px;
		width: 36px;
		height: 36px;
		font-size: 0.9rem;
	}

	#process .lsb-steps__body {
		padding: 18px 18px 18px 66px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#process .lsb-steps__body,
	#process .lsb-steps__no {
		transition: none;
	}
}

/* Situations: dark ground, 2x2 cards with a tall photo on the left and dark copy on the right, outline button with a teal corner. */
#situations.lsb-section {
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 12%, transparent), transparent 40%),
		var(--lsb-base-alt);
}

#situations .lsb-heading {
	max-width: 820px;
	margin-inline: auto;
	text-align: center;
}

#situations .lsb-heading__title {
	align-items: center;
}

#situations .lsb-heading__sub {
	color: var(--lsb-dark);
}

#situations .lsb-heading__intro,
#situations .lsb-heading__intro p {
	margin-inline: auto;
	color: var(--lsb-text-muted);
}

#situations .lsb-cards--goal {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

#situations .lsb-goal {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	min-height: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--lsb-radius-sm);
	background: color-mix(in srgb, var(--lsb-dark-alt) 70%, var(--lsb-dark));
	box-shadow: 0 18px 36px -24px color-mix(in srgb, var(--lsb-dark) 70%, transparent);
	transition: border-color 0.25s ease, transform 0.25s ease;
}

#situations .lsb-goal::before,
#situations .lsb-goal::after {
	content: none;
}

#situations .lsb-goal:hover {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--lsb-accent) 55%, transparent);
	box-shadow: none;
}

#situations .lsb-goal__media {
	position: relative;
	z-index: auto;
	inset: auto;
	min-height: 280px;
	aspect-ratio: auto;
}

#situations .lsb-goal__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

#situations .lsb-goal:hover .lsb-goal__media img {
	transform: scale(1.05);
}

#situations .lsb-goal__body {
	display: flex;
	flex-direction: column;
	gap: 0.7em;
	padding: 24px 22px;
	background: none;
}

#situations .lsb-goal__title {
	margin: 0 0 0.2em;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.3;
}

#situations .lsb-goal__body p {
	color: var(--lsb-text-muted-dark);
	font-size: 0.98rem;
	line-height: 1.6;
}

#situations .lsb-goal .lsb-actions {
	margin-top: auto;
	padding-top: 14px;
}

#situations .lsb-goal .lsb-btn--outline {
	position: relative;
	min-width: 0;
	width: auto;
	padding-inline: 1.3em;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

#situations .lsb-goal .lsb-btn--outline::after {
	content: "";
	position: absolute;
	top: -1px;
	right: -1px;
	width: 0;
	height: 0;
	border-top: 9px solid var(--lsb-accent);
	border-left: 9px solid transparent;
}

#situations .lsb-goal .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

#situations > .lsb-container > .lsb-actions {
	justify-content: center;
	gap: 12px;
	margin-top: 32px;
}

#situations > .lsb-container > .lsb-actions .lsb-btn {
	min-width: 220px;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#situations > .lsb-container > .lsb-actions .lsb-btn--outline {
	border-color: var(--lsb-dark);
	background: transparent;
	color: var(--lsb-dark);
}

#situations > .lsb-container > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: var(--lsb-dark);
	background: var(--lsb-dark);
	color: #fff;
}

@media (max-width: 860px) {
	#situations .lsb-cards--goal {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	#situations .lsb-goal {
		grid-template-columns: 1fr;
	}

	#situations .lsb-goal__media {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}
}

@media (prefers-reduced-motion: reduce) {
	#situations .lsb-goal,
	#situations .lsb-goal__media img {
		transition: none;
	}

	#situations .lsb-goal:hover,
	#situations .lsb-goal:hover .lsb-goal__media img {
		transform: none;
	}
}

/* Tesla: full-bleed photo on the left half fading into navy, content in a floating white card on the right. */
#tesla.lsb-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--lsb-accent) 14%, transparent), transparent 40%),
		var(--lsb-dark);
}

#tesla .lsb-container,
#tesla .lsb-split,
#tesla .lsb-split__col:last-child {
	position: static;
}

#tesla .lsb-framed {
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0;
	width: 58%;
	max-width: none;
	margin: 0;
}

#tesla .lsb-framed img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

#tesla .lsb-framed::before {
	z-index: 1;
	inset: 0;
	border: 0;
	border-radius: 0;
	background: linear-gradient(90deg, color-mix(in srgb, var(--lsb-dark) 15%, transparent) 0%, color-mix(in srgb, var(--lsb-dark) 35%, transparent) 55%, var(--lsb-dark) 100%);
	transform: none;
}

#tesla .lsb-framed::after {
	display: none;
}

#tesla .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

#tesla .lsb-split__col:first-child {
	position: relative;
	z-index: 1;
	padding: clamp(28px, 3.5vw, 44px);
	border-top: 4px solid var(--lsb-primary);
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-surface);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.7);
}

#tesla .lsb-heading__sub {
	color: var(--lsb-dark);
}

#tesla .lsb-split__col:first-child > p {
	padding-left: 16px;
	border-left: 3px solid color-mix(in srgb, var(--lsb-primary) 35%, transparent);
	transition: border-color 0.25s ease;
}

#tesla .lsb-split__col:first-child > p:hover {
	border-left-color: var(--lsb-primary);
}

#tesla .lsb-actions {
	gap: 12px;
}

#tesla .lsb-btn--outline {
	border-color: var(--lsb-dark);
	color: var(--lsb-dark);
}

#tesla .lsb-btn--outline:hover,
#tesla .lsb-btn--outline:focus-visible {
	background: var(--lsb-dark);
	color: #fff;
}

#tesla .lsb-actions .lsb-btn {
	min-width: 200px;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

@media (min-width: 961px) {
	#tesla .lsb-split {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	}

	#tesla .lsb-split__col:last-child {
		order: -1;
	}
}

@media (max-width: 960px) {
	#tesla.lsb-section {
		padding-top: 0;
	}

	#tesla .lsb-container,
	#tesla .lsb-split__col:last-child {
		position: relative;
	}

	#tesla .lsb-split__col:last-child {
		order: -1;
		margin-inline: calc(-1 * var(--lsb-gutter, 20px));
	}

	#tesla .lsb-framed {
		position: relative;
		z-index: 0;
		width: auto;
		aspect-ratio: 16 / 10;
	}

	#tesla .lsb-framed::before {
		background: linear-gradient(0deg, var(--lsb-dark) 0%, transparent 45%);
	}

	#tesla .lsb-split__col:first-child {
		margin-top: -64px;
	}
}

/* Why us: heading column on the left, 2x2 cards on the right, over a dark ground with a teal glow and faint grid. */
#why-us.lsb-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--lsb-accent) 16%, transparent), transparent 45%),
		radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--lsb-primary) 22%, transparent), transparent 40%),
		var(--lsb-dark);
}

#why-us.lsb-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 48px 48px,
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 48px 48px;
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 85%);
	mask-image: linear-gradient(180deg, #000, transparent 85%);
}

#why-us > .lsb-container {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	grid-template-rows: 1fr auto auto 1fr;
	gap: 0 clamp(32px, 5vw, 72px);
	align-items: start;
}

#why-us .lsb-heading {
	grid-column: 1;
	grid-row: 2;
	max-width: none;
	margin: 0;
}

#why-us .lsb-cards--trust {
	grid-column: 2;
	grid-row: 1 / -1;
}

#why-us > .lsb-container > .lsb-actions {
	grid-column: 1;
	grid-row: 3;
	margin-top: 28px;
}

#why-us .lsb-eyebrow {
	padding: 0.45em 1em;
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-primary);
	color: var(--lsb-primary-contrast);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

#why-us .lsb-heading__intro p {
	color: var(--lsb-text-muted-dark);
}

#why-us .lsb-cards--trust {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

#why-us .lsb-trust {
	overflow: hidden;
	padding: 26px 24px 28px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--lsb-radius-lg);
	background: linear-gradient(160deg, color-mix(in srgb, var(--lsb-dark-alt) 95%, transparent), color-mix(in srgb, var(--lsb-dark) 70%, transparent));
	transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

#why-us .lsb-trust::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--lsb-primary), var(--lsb-accent));
}

#why-us .lsb-trust:hover {
	border-color: color-mix(in srgb, var(--lsb-accent) 55%, transparent);
	transform: translateY(-4px);
	box-shadow: 0 20px 40px -24px color-mix(in srgb, var(--lsb-accent) 55%, transparent);
}

#why-us .lsb-trust__no {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-bottom: 18px;
	border-radius: var(--lsb-radius-md);
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	color: #fff;
	-webkit-text-stroke: 0;
	font-size: 1.1rem;
	box-shadow: 0 10px 22px -8px color-mix(in srgb, var(--lsb-accent) 60%, transparent);
}

#why-us .lsb-trust__title {
	margin: 0 0 0.5em;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.3;
}

#why-us .lsb-trust__text p {
	font-size: 1rem;
	line-height: 1.55;
}

@media (max-width: 960px) {
	#why-us > .lsb-container {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		row-gap: 28px;
	}

	#why-us > .lsb-container > .lsb-actions {
		margin-top: 0;
	}

	#why-us .lsb-heading,
	#why-us .lsb-cards--trust,
	#why-us > .lsb-container > .lsb-actions {
		grid-column: auto;
		grid-row: auto;
	}

	#why-us .lsb-cards--trust {
		order: 1;
	}

	#why-us > .lsb-container > .lsb-actions {
		order: 2;
	}
}

@media (max-width: 560px) {
	#why-us .lsb-cards--trust {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	#why-us .lsb-trust,
	#why-us .lsb-trust:hover {
		transition: none;
		transform: none;
	}
}

/* Section buttons: every section ends with Get a quote + Call us now, styled the same everywhere. */
.lsb-section > .lsb-container > .lsb-actions,
.lsb-split__col > .lsb-actions {
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.lsb-section > .lsb-container > .lsb-actions .lsb-btn,
.lsb-split__col > .lsb-actions .lsb-btn,
.lsb-cta .lsb-actions .lsb-btn {
	min-width: 200px;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

:is(.lsb-tone-base, .lsb-tone-alt) > .lsb-container > .lsb-actions .lsb-btn--outline,
:is(.lsb-tone-base, .lsb-tone-alt) .lsb-split__col > .lsb-actions .lsb-btn--outline {
	border-color: var(--lsb-dark);
	color: var(--lsb-dark);
}

:is(.lsb-tone-base, .lsb-tone-alt) > .lsb-container > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible),
:is(.lsb-tone-base, .lsb-tone-alt) .lsb-split__col > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible) {
	background: var(--lsb-dark);
	color: #fff;
}

#services > .lsb-container > .lsb-actions {
	justify-content: center;
	margin-top: 36px;
}

#services > .lsb-container > .lsb-actions .lsb-btn--outline,
#why-us > .lsb-container > .lsb-actions .lsb-btn--outline {
	border-color: rgba(255, 255, 255, 0.6);
	background: transparent;
	color: #fff;
}

#services > .lsb-container > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible),
#why-us > .lsb-container > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

@media (max-width: 600px) {
	.lsb-section > .lsb-container > .lsb-actions .lsb-btn,
	.lsb-split__col > .lsb-actions .lsb-btn,
	.lsb-cta .lsb-actions .lsb-btn {
		flex: 1 1 100%;
	}
}

/* Insurance: dark navy panel (heading + buttons) on the left, the two law paragraphs as icon cards on the right. */
#insurance > .lsb-container {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	grid-template-rows: auto auto;
	gap: 18px clamp(28px, 4vw, 56px);
	max-width: var(--lsb-content-max, 1200px);
}

#insurance > .lsb-container::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / -1;
	border-radius: var(--lsb-radius-lg);
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 22%, transparent), transparent 50%),
		var(--lsb-dark);
}

#insurance .lsb-heading {
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	max-width: none;
	margin: 0;
	padding: clamp(28px, 4vw, 44px) clamp(24px, 3.5vw, 40px) 0;
}

#insurance .lsb-heading__sub {
	color: #fff;
}

#insurance > .lsb-container > .lsb-actions {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	justify-content: flex-start;
	margin: 0;
	padding: 8px clamp(24px, 3.5vw, 40px) clamp(28px, 4vw, 44px);
}

#insurance > .lsb-container > .lsb-actions .lsb-btn--outline {
	border-color: rgba(255, 255, 255, 0.6);
	background: transparent;
	color: #fff;
}

#insurance > .lsb-container > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

#insurance > .lsb-container > p {
	grid-column: 2;
	position: relative;
	margin: 0;
	padding: 24px 26px 24px 88px;
	border: 1px solid var(--lsb-border);
	border-left: 4px solid var(--lsb-primary);
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-surface);
	color: var(--lsb-text);
	line-height: 1.6;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#insurance > .lsb-container > p:nth-of-type(1) {
	grid-row: 1;
}

#insurance > .lsb-container > p:nth-of-type(2) {
	grid-row: 2;
}

#insurance > .lsb-container > p::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 24px;
	width: 44px;
	height: 44px;
	border-radius: var(--lsb-radius-md);
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
}

#insurance > .lsb-container > p::after {
	content: "";
	position: absolute;
	left: 34px;
	top: 34px;
	width: 24px;
	height: 24px;
	background: #fff;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5zm-1.2 14.2L7 12.4l1.4-1.4 2.4 2.4 5-5 1.4 1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#insurance > .lsb-container > p:nth-of-type(2)::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
}

#insurance > .lsb-container > p:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 30px -22px color-mix(in srgb, var(--lsb-dark) 50%, transparent);
}

@media (max-width: 960px) {
	#insurance > .lsb-container {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	#insurance > .lsb-container::before {
		display: none;
	}

	#insurance .lsb-heading,
	#insurance > .lsb-container > .lsb-actions,
	#insurance > .lsb-container > p:nth-of-type(n) {
		grid-column: auto;
		grid-row: auto;
	}

	#insurance .lsb-heading {
		padding: 28px 24px 0;
		border-radius: var(--lsb-radius-lg) var(--lsb-radius-lg) 0 0;
		background: var(--lsb-dark);
	}

	#insurance > .lsb-container > .lsb-actions {
		order: 1;
		margin-top: -18px;
		padding: 20px 24px 28px;
		border-radius: 0 0 var(--lsb-radius-lg) var(--lsb-radius-lg);
		background: var(--lsb-dark);
	}

	#insurance > .lsb-container > p {
		order: 2;
	}
}

@media (max-width: 480px) {
	#insurance > .lsb-container > p {
		padding: 80px 20px 22px;
	}

	#insurance > .lsb-container > p::before {
		left: 20px;
		top: 20px;
	}

	#insurance > .lsb-container > p::after {
		left: 30px;
		top: 30px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#insurance > .lsb-container > p,
	#insurance > .lsb-container > p:hover {
		transition: none;
		transform: none;
	}
}

/* CTA strip: teal gradient with faint diagonal stripes, phone badge beside the copy, buttons on the right. */
.lsb-cta--strip {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: linear-gradient(120deg, color-mix(in srgb, var(--lsb-primary) 85%, var(--lsb-dark)) 0%, var(--lsb-primary) 55%, color-mix(in srgb, var(--lsb-accent) 70%, var(--lsb-primary)) 100%);
}

.lsb-cta--strip::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0 0 0 45%;
	background: repeating-linear-gradient(-55deg, rgba(255, 255, 255, 0.07) 0 2px, transparent 2px 22px);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 40%);
	mask-image: linear-gradient(90deg, transparent, #000 40%);
}

.lsb-cta--strip .lsb-cta__inner {
	flex-wrap: nowrap;
	gap: 32px 48px;
}

.lsb-cta--strip .lsb-cta__copy {
	position: relative;
	flex: 1 1 auto;
	max-width: 680px;
	padding-left: 100px;
}

.lsb-cta--strip .lsb-cta__copy::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 76px;
	height: 76px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	transform: translateY(-50%);
}

.lsb-cta--strip .lsb-cta__copy::after {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	width: 28px;
	height: 28px;
	background: #fff;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: translateY(-50%);
}

.lsb-cta--strip .lsb-heading__sub {
	font-size: clamp(1.35rem, 1rem + 1.4vw, 2rem);
	line-height: 1.2;
}

.lsb-cta--strip .lsb-cta__copy > p {
	margin-top: 0.6rem;
	color: rgba(255, 255, 255, 0.9);
}

.lsb-cta--strip .lsb-cta__inner > .lsb-actions {
	flex: none;
	flex-wrap: nowrap;
	gap: 12px;
}

@media (max-width: 1024px) {
	.lsb-cta--strip .lsb-cta__inner {
		flex-wrap: wrap;
		justify-content: center;
	}

	.lsb-cta--strip .lsb-cta__copy {
		flex-basis: 100%;
	}

	.lsb-cta--strip .lsb-cta__inner > .lsb-actions {
		flex-wrap: wrap;
		justify-content: center;
	}
}

@media (max-width: 600px) {
	.lsb-cta--strip .lsb-cta__copy {
		padding-left: 0;
		padding-top: 76px;
		text-align: center;
	}

	.lsb-cta--strip .lsb-cta__copy::before {
		left: 50%;
		top: 0;
		width: 60px;
		height: 60px;
		transform: translateX(-50%);
	}

	.lsb-cta--strip .lsb-cta__copy::after {
		left: 50%;
		top: 17px;
		width: 26px;
		height: 26px;
		transform: translateX(-50%);
	}

	.lsb-cta--strip .lsb-cta__inner > .lsb-actions {
		width: 100%;
	}
}

/* About: white stage with a slanted photo panel on the right (video sits on it), a soft diagonal band on the left, slanted teal years badge. */
#about.lsb-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(32px, 4vw, 48px) clamp(48px, 6vw, 80px);
	background: var(--lsb-base);
}


#about.lsb-section::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: -120px;
	width: 260px;
	background: var(--lsb-base-alt);
	transform: skewX(-14deg);
}

#about .lsb-heading::before {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin-bottom: 18px;
	background: var(--lsb-dark);
}

#about .lsb-heading__sub {
	color: var(--lsb-dark);
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

#about .lw-reel {
	max-width: 420px;
}

#about .lw-reel::before {
	background: color-mix(in srgb, var(--lsb-accent) 28%, transparent);
}

#about .lw-reel__frame {
	border: 5px solid var(--lsb-surface);
	border-bottom: 0;
}

#about .lw-reel__badge {
	position: relative;
	z-index: 1;
	margin: -2px -18px 0 18px;
	padding: 16px 28px;
	border-radius: 0;
	background: linear-gradient(100deg, var(--lsb-primary), color-mix(in srgb, var(--lsb-accent) 75%, var(--lsb-primary)));
	clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
}

#about .lw-reel__badge strong {
	color: #fff;
}

@media (max-width: 960px) {
	#about.lsb-section::after {
		display: none;
	}
}

/* FAQ: dark heading panel with buttons on the left, questions as separate cards on the right. */
#faq.lsb-section {
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 10%, transparent), transparent 40%),
		var(--lsb-base-alt);
}

#faq > .lsb-container {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	grid-template-rows: auto 1fr;
	gap: 20px clamp(28px, 4vw, 56px);
	align-items: start;
}

#faq .lsb-split {
	display: contents;
}

#faq .lsb-split__col:first-child {
	position: relative;
	grid-column: 1;
	grid-row: 1;
	overflow: hidden;
	padding: clamp(28px, 4vw, 44px) clamp(24px, 3vw, 36px);
	border-radius: var(--lsb-radius-lg);
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 28%, transparent), transparent 55%),
		var(--lsb-dark);
}

#faq .lsb-split__col--sticky {
	position: relative;
	top: auto;
}

#faq .lsb-split__col:first-child::after {
	content: "?";
	position: absolute;
	right: 18px;
	bottom: -36px;
	color: rgba(255, 255, 255, 0.06);
	font-family: var(--lsb-font-heading);
	font-size: 11rem;
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

#faq .lsb-split__col:first-child .lsb-heading {
	position: relative;
	z-index: 1;
	margin: 0;
}

#faq .lsb-split__col:first-child .lsb-heading::before {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-bottom: 18px;
	background: var(--lsb-accent);
}

#faq .lsb-heading__sub {
	color: #fff;
}

#faq .lsb-split__col:last-child {
	grid-column: 2;
	grid-row: 1 / -1;
}

#faq > .lsb-container > .lsb-actions {
	grid-column: 1;
	grid-row: 2;
	flex-direction: column;
	align-items: stretch;
	margin: 0;
}

#faq > .lsb-container > .lsb-actions .lsb-btn {
	width: 100%;
}

#faq .lsb-faq {
	display: grid;
	gap: 12px;
	border-top: 0;
}

#faq .lsb-faq__item {
	padding: 0 22px;
	border: 1px solid var(--lsb-border);
	border-left: 4px solid transparent;
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

#faq .lsb-faq__item:hover {
	border-color: color-mix(in srgb, var(--lsb-primary) 35%, var(--lsb-border));
}

#faq .lsb-faq__item:has(.lsb-faq__q[aria-expanded="true"]) {
	border-color: var(--lsb-border);
	border-left-color: var(--lsb-primary);
	box-shadow: 0 16px 30px -22px color-mix(in srgb, var(--lsb-dark) 45%, transparent);
}

#faq .lsb-faq__q {
	min-height: 0;
	padding: 18px 0;
	color: var(--lsb-dark);
	font-size: 1rem;
	font-weight: 600;
}

#faq .lsb-faq__q:hover,
#faq .lsb-faq__q[aria-expanded="true"] {
	color: var(--lsb-primary);
}

#faq .lsb-faq__icon {
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: color-mix(in srgb, var(--lsb-primary) 12%, transparent);
	color: var(--lsb-primary);
}

#faq .lsb-faq__q[aria-expanded="true"] .lsb-faq__icon {
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	color: #fff;
}

#faq .lsb-faq__a {
	max-width: none;
	padding: 0 0 20px;
}

#faq .lsb-faq__a p {
	font-size: 1rem;
	line-height: 1.6;
}

@media (max-width: 960px) {
	#faq > .lsb-container {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	#faq .lsb-split__col:first-child,
	#faq .lsb-split__col:last-child,
	#faq > .lsb-container > .lsb-actions {
		grid-column: auto;
		grid-row: auto;
	}

	#faq > .lsb-container > .lsb-actions {
		order: 1;
		flex-direction: row;
	}
}

@media (max-width: 480px) {
	#faq .lsb-faq__item {
		padding: 0 16px;
	}
}

/* Services polish: glow and grid on the ground, slanted photo edge, glowing number, filled ticks, dot corner, two buttons per card. */
#services.lsb-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--lsb-accent) 16%, transparent), transparent 40%),
		radial-gradient(circle at 90% 85%, color-mix(in srgb, var(--lsb-primary) 24%, transparent), transparent 45%),
		var(--lsb-dark);
}

#services.lsb-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 56px 56px,
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px) 0 0 / 56px 56px;
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 60%);
	mask-image: linear-gradient(180deg, #000, transparent 60%);
}

#services .lsb-feature {
	box-shadow: 0 20px 44px -28px rgba(0, 0, 0, 0.7);
}

#services .lsb-feature:hover {
	border-color: var(--lsb-accent);
	box-shadow: 0 0 0 1px var(--lsb-accent), 0 28px 50px -26px color-mix(in srgb, var(--lsb-accent) 55%, transparent);
}

@media (min-width: 861px) {
	#services .lsb-feature__media {
		clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
	}

	#services .lsb-feature--reverse .lsb-feature__media {
		clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
	}

	#services .lsb-feature:not(:has(> .lsb-feature__media))::before {
		clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
	}
}

#services .lsb-feature__media img {
	transition: transform 0.7s ease;
}

#services .lsb-feature:hover .lsb-feature__media img {
	transform: scale(1.06);
}

#services .lsb-feature__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, color-mix(in srgb, var(--lsb-dark) 35%, transparent), transparent 50%);
}

#services .lsb-feature__no {
	z-index: 2;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.85), 0 10px 24px -6px color-mix(in srgb, var(--lsb-accent) 70%, transparent);
}

#services .lsb-feature__body {
	position: relative;
}

#services .lsb-feature__body::before {
	content: "";
	position: absolute;
	top: 16px;
	right: 16px;
	width: 104px;
	height: 80px;
	background: radial-gradient(circle, color-mix(in srgb, var(--lsb-primary) 45%, transparent) 1.6px, transparent 2px) 0 0 / 13px 13px;
	-webkit-mask-image: linear-gradient(225deg, #000 15%, transparent 85%);
	mask-image: linear-gradient(225deg, #000 15%, transparent 85%);
	pointer-events: none;
}

#services .lsb-feature--reverse .lsb-feature__body::before {
	right: auto;
	left: 16px;
	-webkit-mask-image: linear-gradient(135deg, #000 15%, transparent 85%);
	mask-image: linear-gradient(135deg, #000 15%, transparent 85%);
}

#services .lsb-feature__body > * {
	position: relative;
}

#services .is-style-lsb-ticks li::before {
	background: var(--lsb-primary);
}

#services .is-style-lsb-ticks li::after {
	border-color: #fff;
}

#services .lsb-feature .lsb-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 1.2em;
	border-top: 1px solid var(--lsb-border);
}

#services .lsb-feature .lsb-btn--primary {
	box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--lsb-primary) 80%, transparent);
}

#services .lsb-feature .lsb-btn--outline {
	border-color: var(--lsb-dark);
	background: transparent;
	color: var(--lsb-dark);
}

#services .lsb-feature:hover .lsb-btn--outline {
	border-color: var(--lsb-dark);
	background: transparent;
	color: var(--lsb-dark);
}

#services .lsb-feature .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: var(--lsb-dark);
	background: var(--lsb-dark);
	color: #fff;
}

@media (max-width: 600px) {
	#services .lsb-feature .lsb-btn {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	#services .lsb-feature__media img,
	#services .lsb-feature:hover .lsb-feature__media img {
		transition: none;
		transform: none;
	}
}

/* Insurance colors: navy ground, teal gradient panel, glass cards with light text. */
#insurance.lsb-section {
	background:
		radial-gradient(circle at 95% 10%, color-mix(in srgb, var(--lsb-accent) 16%, transparent), transparent 40%),
		radial-gradient(circle at 5% 95%, color-mix(in srgb, var(--lsb-primary) 25%, transparent), transparent 45%),
		var(--lsb-dark);
}

#insurance > .lsb-container::before {
	background:
		repeating-linear-gradient(-55deg, rgba(255, 255, 255, 0.07) 0 2px, transparent 2px 20px) right top / 55% 100% no-repeat,
		linear-gradient(140deg, var(--lsb-primary) 0%, color-mix(in srgb, var(--lsb-accent) 75%, var(--lsb-primary)) 100%);
	box-shadow: 0 24px 50px -26px color-mix(in srgb, var(--lsb-accent) 60%, transparent);
}

#insurance > .lsb-container > .lsb-actions .lsb-btn--primary {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

#insurance > .lsb-container > .lsb-actions .lsb-btn--primary:is(:hover, :focus-visible) {
	border-color: var(--lsb-dark);
	background: var(--lsb-dark);
	color: #fff;
}

#insurance > .lsb-container > p {
	border-color: rgba(255, 255, 255, 0.12);
	border-left-color: var(--lsb-accent);
	background: rgba(255, 255, 255, 0.06);
	color: var(--lsb-text-muted-dark);
	backdrop-filter: blur(6px);
}

#insurance > .lsb-container > p:hover {
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0 18px 36px -24px color-mix(in srgb, var(--lsb-accent) 50%, transparent);
}

@media (max-width: 960px) {
	#insurance .lsb-heading,
	#insurance > .lsb-container > .lsb-actions {
		background: linear-gradient(140deg, var(--lsb-primary), color-mix(in srgb, var(--lsb-accent) 75%, var(--lsb-primary)));
	}
}

/* Location (GMB): business card, weekly hours with today highlighted, Google Map with direction buttons. */
#location.lsb-section {
	background:
		radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--lsb-primary) 20%, transparent), transparent 40%),
		var(--lsb-dark);
}

.lw-gmb {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) minmax(0, 1.2fr);
	gap: clamp(28px, 3.5vw, 48px);
	align-items: start;
	color: #fff;
}

.lw-gmb__card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	height: 100%;
}

.lw-gmb__logo {
	width: 220px;
	height: auto;
}

.lw-gmb__name {
	margin: 0;
	color: #fff;
	font-size: 1.35rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.lw-gmb__contact {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lw-gmb__contact li {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 12px;
	margin: 0;
	color: var(--lsb-dark-contrast);
	line-height: 1.45;
}

.lw-gmb__contact a {
	color: var(--lsb-dark-contrast);
	text-decoration: none;
}

.lw-gmb__contact a:is(:hover, :focus-visible) {
	color: var(--lsb-accent);
}

.lw-gmb__icon {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	background: var(--lsb-accent);
	mask: var(--i) center / contain no-repeat;
}

.lw-gmb__icon--pin {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}

.lw-gmb__icon--phone {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.lw-gmb__icon--mail {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
}

.lw-gmb__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.lw-gmb .lsb-btn {
	flex: 1 1 150px;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lw-gmb__ghost,
.lw-gmb__maps {
	border: 2px solid rgba(255, 255, 255, 0.55);
	background: transparent;
	color: #fff;
}

.lw-gmb__ghost:is(:hover, :focus-visible),
.lw-gmb__maps:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

.lw-gmb__title {
	margin: 0 0 12px;
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lw-gmb__week {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lw-gmb__day {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 12px 10px;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.14);
	color: var(--lsb-text-muted-dark);
	font-size: 0.98rem;
}

.lw-gmb__dayname {
	color: #fff;
	font-weight: 700;
}

.lw-gmb__day.is-today {
	border-radius: var(--lsb-radius-sm);
	border-bottom-color: transparent;
	background: color-mix(in srgb, var(--lsb-primary) 28%, transparent);
	color: #fff;
}

.lw-gmb__today {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 7px;
	border-radius: 4px;
	background: var(--lsb-accent);
	color: var(--lsb-dark);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	vertical-align: middle;
	text-transform: uppercase;
}

.lw-gmb__status {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 18px 0 0;
	color: #fff;
	font-weight: 700;
}

.lw-gmb__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--lsb-danger);
}

.lw-gmb__status.is-open .lw-gmb__dot {
	background: #2ecc71;
	box-shadow: 0 0 0 4px rgba(46, 204, 113, 0.2);
}

.lw-gmb__map {
	position: relative;
	overflow: hidden;
	min-height: 400px;
	height: 100%;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-dark-alt);
}

.lw-gmb__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.lw-gmb__map-actions {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	display: flex;
	gap: 10px;
}

.lw-gmb__map .lw-gmb__maps {
	border-color: var(--lsb-dark);
	background: var(--lsb-dark);
}

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

	.lw-gmb__map {
		grid-column: 1 / -1;
	}
}

@media (max-width: 680px) {
	.lw-gmb {
		grid-template-columns: 1fr;
	}

	.lw-gmb__map {
		min-height: 340px;
	}
}

/* Footer: brand, quick links and contact columns; underlined headings, icon rows, quote and Google buttons, slim bottom bar. */
.lsb-footer--rich .lsb-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.15fr) minmax(0, 1.15fr);
	gap: clamp(28px, 3.5vw, 48px);
	align-items: start;
	padding-block: clamp(48px, 6vw, 72px) 40px;
}

.lsb-footer--rich .lsb-footer__brand .custom-logo {
	width: 220px;
	height: auto;
}

.lsb-footer--rich .lsb-footer__blurb {
	max-width: 320px;
	margin: 18px 0 0;
	color: var(--lsb-text-muted-dark);
	font-size: 0.98rem;
	line-height: 1.6;
}

.lsb-footer--rich .lsb-social {
	display: flex;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.lsb-footer--rich .lsb-social__link {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	color: #fff;
	transition: background-color 0.2s, border-color 0.2s;
}

.lsb-footer--rich .lsb-social__link:is(:hover, :focus-visible) {
	border-color: var(--lsb-primary);
	background: var(--lsb-primary);
}

.lsb-footer--rich .lsb-footer__heading {
	position: relative;
	margin: 0 0 22px;
	padding-bottom: 12px;
	color: #fff;
	font-family: var(--lsb-font-heading);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lsb-footer--rich .lsb-footer__heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 2px;
	background: var(--lsb-accent);
}

.lsb-footer--rich .lsb-footer__list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lsb-footer--rich .lsb-footer__list a {
	color: var(--lsb-text-muted-dark);
	text-decoration: none;
	transition: color 0.2s, padding-left 0.2s;
}

.lsb-footer--rich .lsb-footer__list a:is(:hover, :focus-visible) {
	padding-left: 4px;
	color: var(--lsb-accent);
}

.lsb-footer--rich .lsb-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.lsb-footer--rich .lsb-footer__contact :is(.lsb-footer__phone, .lsb-footer__address, .lsb-footer__email, .lsb-footer__hours) {
	position: relative;
	padding-left: 30px;
	color: var(--lsb-dark-contrast);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
}

.lsb-footer--rich .lsb-footer__contact :is(a.lsb-footer__phone, a.lsb-footer__address, a.lsb-footer__email):is(:hover, :focus-visible) {
	color: var(--lsb-accent);
}

.lsb-footer--rich .lsb-footer__contact :is(.lsb-footer__phone, .lsb-footer__address, .lsb-footer__email, .lsb-footer__hours)::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	background: var(--lsb-accent);
	mask: var(--i) center / contain no-repeat;
}

.lsb-footer--rich .lsb-footer__phone {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.lsb-footer--rich .lsb-footer__address {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}

.lsb-footer--rich .lsb-footer__email {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
}

.lsb-footer--rich .lsb-footer__hours {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm1-13h-2v6l5 3 1-1.7-4-2.3z'/%3E%3C/svg%3E");
}

.lsb-footer--rich .lsb-footer__status {
	order: 9;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-left: 30px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
}

.lsb-footer--rich .lsb-footer__hours {
	order: 8;
}

.lsb-footer--rich .lsb-footer__email {
	order: 7;
}

.lsb-footer--rich .lsb-footer__ctas {
	order: 10;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.lsb-footer--rich .lsb-footer__ctas .lsb-btn {
	flex: 1 1 170px;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lsb-footer--rich .lsb-footer__gbp {
	border: 2px solid rgba(255, 255, 255, 0.5);
	background: transparent;
	color: #fff;
}

.lsb-footer--rich .lsb-footer__gbp:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

.lsb-footer--rich .lsb-footer__wordmark {
	display: none;
}

.lsb-footer--rich .lsb-footer__map {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-dark-alt);
}

.lsb-footer--rich .lsb-footer__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.lsb-footer--rich .lsb-footer__map-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.lsb-footer--rich .lsb-footer__map-links .lsb-btn {
	flex: 1 1 130px;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lsb-footer--rich .lsb-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.lsb-footer--rich .lsb-footer__bottom-inner {
	padding-block: 18px;
}

.lsb-footer--rich .lsb-footer__copy {
	margin: 0;
	color: var(--lsb-text-muted-dark);
	font-size: 0.9rem;
}

@media (max-width: 1100px) {
	.lsb-footer--rich .lsb-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.lsb-footer--rich .lsb-footer__top {
		grid-template-columns: 1fr;
	}
}

/* Pre-footer quote section (every page): glowing navy ground, solid teal eyebrow, two buttons, white contact card with a navy header. */
.lsb-prefooter {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--lsb-primary) 30%, transparent), transparent 45%),
		radial-gradient(circle at 90% 90%, color-mix(in srgb, var(--lsb-accent) 16%, transparent), transparent 45%),
		var(--lsb-dark);
}

.lsb-prefooter .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

.lsb-prefooter .lsb-eyebrow {
	padding: 0.45em 1em;
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-primary);
	color: var(--lsb-primary-contrast);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lsb-prefooter .lsb-heading__sub {
	color: #fff;
	font-size: clamp(1.8rem, 1.1rem + 2.4vw, 2.8rem);
}

.lsb-prefooter .lsb-split__col > p {
	max-width: 520px;
	color: var(--lsb-text-muted-dark);
	font-size: 1.05rem;
}

.lsb-prefooter .lsb-split__col > .lsb-actions .lsb-btn--outline {
	border-color: rgba(255, 255, 255, 0.6);
	background: transparent;
	color: #fff;
}

.lsb-prefooter .lsb-split__col > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

.lsb-prefooter .lsb-contact {
	overflow: hidden;
	border: 0;
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-surface);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 30px 60px -30px rgba(0, 0, 0, 0.75);
}

.lsb-prefooter .lsb-contact__head {
	padding: 20px 24px;
	border-bottom: 3px solid var(--lsb-accent);
	background: var(--lsb-dark-alt);
}

.lsb-prefooter .lsb-contact__list {
	padding: 8px 24px;
}

.lsb-prefooter .lsb-contact__row {
	border-color: var(--lsb-border);
}

.lsb-prefooter .lsb-contact__icon {
	border-radius: var(--lsb-radius-md);
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	clip-path: none;
}

.lsb-prefooter .lsb-contact__icon::after {
	background: #fff;
}

.lsb-prefooter .lsb-contact__label {
	color: var(--lsb-text-muted);
}

.lsb-prefooter .lsb-contact__value {
	color: var(--lsb-dark);
	font-weight: 700;
	text-decoration: none;
}

.lsb-prefooter a.lsb-contact__value:is(:hover, :focus-visible) {
	color: var(--lsb-primary);
}

.lsb-prefooter .lsb-contact__actions {
	padding: 4px 24px 24px;
}

.lsb-prefooter .lsb-contact__actions .lsb-btn {
	width: 100%;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Mobile order for About and Tesla: heading, then the video or photo, then the text and buttons. */
@media (max-width: 960px) {
	:is(#about, #tesla) .lsb-split {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	:is(#about, #tesla) .lsb-split__col:last-child {
		width: 100%;
	}

	#about .lw-reel {
		width: 100%;
		max-width: 320px;
	}

	:is(#about, #tesla) .lsb-split__col:first-child {
		display: contents;
	}

	:is(#about, #tesla) .lsb-heading {
		order: 0;
	}

	:is(#about, #tesla) .lsb-split__col:last-child {
		order: 1;
		margin: 22px 0 26px;
	}

	:is(#about, #tesla) .lsb-split__col:first-child > p {
		order: 2;
	}

	:is(#about, #tesla) .lsb-split__col:first-child > .lsb-actions,
	#about .lsb-split__col:first-child > .lw-about__actions {
		order: 3;
	}

	#about .lw-reel {
		margin: 0 auto;
	}

	/* Tesla on phones: plain light section, rounded photo under the heading. */
	#tesla.lsb-section {
		padding-top: clamp(44px, 6vw, 72px);
		background: var(--lsb-base);
	}

	#tesla .lsb-split__col:last-child {
		margin-inline: 0;
	}

	#tesla .lsb-framed {
		overflow: hidden;
		border-radius: var(--lsb-radius-lg);
	}

	#tesla .lsb-framed::before {
		display: none;
	}
}

/* Gallery: bento grid of job photos with hover zoom and a teal frame; native dialog lightbox. */
#gallery .lsb-heading {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
}

#gallery .lsb-heading__title {
	align-items: center;
}

#gallery .lsb-heading__intro,
#gallery .lsb-heading__intro p {
	margin-inline: auto;
}

.lw-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: clamp(150px, 16vw, 220px);
	grid-auto-flow: dense;
	gap: 14px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.lw-gallery__item {
	margin: 0;
}

.lw-gallery__item--wide {
	grid-column: span 2;
}

.lw-gallery__item--tall {
	grid-row: span 2;
}

.lw-gallery__link {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-dark);
}

.lw-gallery__link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.lw-gallery__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 3px solid transparent;
	border-radius: inherit;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E") center / 40px no-repeat,
		color-mix(in srgb, var(--lsb-dark) 45%, transparent);
	opacity: 0;
	transition: opacity 0.3s ease, border-color 0.3s ease;
}

.lw-gallery__link:is(:hover, :focus-visible) img {
	transform: scale(1.06);
}

.lw-gallery__link:is(:hover, :focus-visible)::after {
	border-color: var(--lsb-accent);
	opacity: 1;
}

.lw-lightbox {
	max-width: min(1100px, 94vw);
	max-height: 90vh;
	padding: 0;
	border: 0;
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-dark);
	overflow: visible;
}

.lw-lightbox::backdrop {
	background: color-mix(in srgb, var(--lsb-dark) 88%, transparent);
}

.lw-lightbox img {
	display: block;
	max-width: 100%;
	max-height: 90vh;
	border-radius: inherit;
}

.lw-lightbox__close {
	position: absolute;
	top: -16px;
	right: -16px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: var(--lsb-primary);
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

@media (max-width: 860px) {
	.lw-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 160px;
	}
}

@media (max-width: 480px) {
	.lw-gallery {
		gap: 10px;
		grid-auto-rows: 130px;
	}

	.lw-lightbox__close {
		top: 8px;
		right: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lw-gallery__link img,
	.lw-gallery__link::after {
		transition: none;
	}

	.lw-gallery__link:is(:hover, :focus-visible) img {
		transform: none;
	}
}

/* Gallery borders: framed panel with teal corner brackets, each photo in its own white bordered frame. */
#gallery.lsb-section {
	background: var(--lsb-base-alt);
}

#gallery .lw-gallery {
	padding: clamp(12px, 2vw, 22px);
	border: 1px solid var(--lsb-border);
	border-radius: var(--lsb-radius-lg);
	background:
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) left top / 44px 4px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) left top / 4px 44px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) right top / 44px 4px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) right top / 4px 44px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) left bottom / 44px 4px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) left bottom / 4px 44px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) right bottom / 44px 4px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) right bottom / 4px 44px no-repeat,
		var(--lsb-surface);
	box-shadow: 0 24px 50px -34px color-mix(in srgb, var(--lsb-dark) 50%, transparent);
}

#gallery .lw-gallery__link {
	padding: 6px;
	border: 1px solid var(--lsb-border);
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-surface);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#gallery .lw-gallery__link img {
	border-radius: var(--lsb-radius-sm);
}

#gallery .lw-gallery__link::after {
	inset: 6px;
	border: 0;
	border-radius: var(--lsb-radius-sm);
}

#gallery .lw-gallery__link:is(:hover, :focus-visible) {
	border-color: var(--lsb-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--lsb-primary) 25%, transparent), 0 16px 30px -20px color-mix(in srgb, var(--lsb-dark) 60%, transparent);
}

/* Brands: teal gradient ground, white tiles with navy marks that turn teal on hover. */
#brands.lsb-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: linear-gradient(120deg, color-mix(in srgb, var(--lsb-primary) 85%, var(--lsb-dark)) 0%, var(--lsb-primary) 55%, color-mix(in srgb, var(--lsb-accent) 65%, var(--lsb-primary)) 100%);
}

#brands.lsb-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 1.5px, transparent 2px) 0 0 / 22px 22px;
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 70%);
	mask-image: linear-gradient(180deg, #000, transparent 70%);
}

#brands .lsb-heading {
	max-width: 780px;
	margin-inline: auto;
	text-align: center;
}

#brands .lsb-heading__title {
	align-items: center;
}

#brands .lsb-heading__sub {
	color: #fff;
}

#brands .lsb-heading__intro,
#brands .lsb-heading__intro p {
	margin-inline: auto;
	color: rgba(255, 255, 255, 0.9);
}

.lw-brands {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 16px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.lw-brands__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0;
	padding: 22px 12px 18px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-surface);
	color: var(--lsb-dark);
	box-shadow: 0 16px 30px -22px rgba(0, 0, 0, 0.55);
	transition: transform 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.lw-brands__item:hover {
	transform: translateY(-4px);
	color: var(--lsb-primary);
	box-shadow: 0 22px 36px -22px rgba(0, 0, 0, 0.6);
}

.lw-brands__logo {
	display: grid;
	place-items: center;
	height: 56px;
}

.lw-brands__logo svg {
	width: auto;
	height: 52px;
	max-width: 100%;
}

.lw-brands__logo--text {
	font-family: var(--lsb-font-heading);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lw-brands__name {
	color: var(--lsb-dark);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#brands > .lsb-container > .lsb-actions .lsb-btn--primary {
	border-color: var(--lsb-dark);
	background: var(--lsb-dark);
	color: #fff;
}

#brands > .lsb-container > .lsb-actions .lsb-btn--outline {
	border-color: rgba(255, 255, 255, 0.8);
	background: transparent;
	color: #fff;
}

#brands > .lsb-container > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

@media (max-width: 1100px) {
	.lw-brands {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.lw-brands {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}

	.lw-brands__logo,
	.lw-brands__logo svg {
		height: 40px;
	}
}

@media (max-width: 420px) {
	.lw-brands {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.lw-brands__item,
	.lw-brands__item:hover {
		transition: none;
		transform: none;
	}
}

/* About page (ID 90): sections without a homepage counterpart, and the process block without its video. */
.page-id-90 #owner > .lsb-container {
	max-width: 880px;
	padding: clamp(28px, 4vw, 48px);
	border: 1px solid var(--lsb-border);
	border-left: 5px solid var(--lsb-primary);
	border-radius: var(--lsb-radius-lg);
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 12%, transparent), transparent 45%),
		var(--lsb-surface);
	box-shadow: 0 24px 50px -36px color-mix(in srgb, var(--lsb-dark) 55%, transparent);
}

.page-id-90 #owner .lsb-heading::before {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-bottom: 16px;
	background: var(--lsb-accent);
}

.page-id-90 #local .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

.page-id-90 #process > .lsb-container {
	display: block;
}

.page-id-90 #process .lsb-steps--timeline,
.page-id-90 #process .lsb-steps--timeline:has(> :nth-child(5):last-child) {
	max-width: 880px;
	margin-inline: auto;
}

.page-id-90 #process > .lsb-container > .lsb-actions {
	justify-content: center;
}

.page-id-90 #reasons .lsb-heading,
.page-id-90 #social .lsb-heading {
	max-width: 820px;
	margin-inline: auto;
	text-align: center;
}

.page-id-90 :is(#reasons, #social) .lsb-heading__title {
	align-items: center;
}

.page-id-90 :is(#reasons, #social) .lsb-heading__intro,
.page-id-90 :is(#reasons, #social) .lsb-heading__intro p {
	margin-inline: auto;
}

.page-id-90 #reasons .lsb-cards--trust {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 28px;
}

.page-id-90 #reasons .lsb-trust {
	overflow: hidden;
	padding: 28px 26px;
	border: 1px solid var(--lsb-border);
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-surface);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.page-id-90 #reasons .lsb-trust::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, var(--lsb-primary), var(--lsb-accent));
}

.page-id-90 #reasons .lsb-trust:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--lsb-primary) 40%, var(--lsb-border));
	box-shadow: 0 20px 36px -24px color-mix(in srgb, var(--lsb-dark) 50%, transparent);
}

.page-id-90 #reasons .lsb-trust__no {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 16px;
	border-radius: var(--lsb-radius-md);
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	color: #fff;
	-webkit-text-stroke: 0;
	font-size: 1.05rem;
}

.page-id-90 #reasons .lsb-trust__title {
	color: var(--lsb-dark);
	font-size: 1.1rem;
	line-height: 1.3;
}

.page-id-90 #reasons .lsb-trust__text p {
	color: var(--lsb-text-muted);
	line-height: 1.6;
}

.page-id-90 #social.lsb-section {
	background:
		radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--lsb-accent) 14%, transparent), transparent 50%),
		var(--lsb-base-alt);
}

@media (max-width: 760px) {
	.page-id-90 #reasons .lsb-cards--trust {
		grid-template-columns: 1fr;
	}
}

/* About page certifications: heading on top, the five cards in a row below, buttons centered underneath. */
.page-id-90 #why-us > .lsb-container {
	grid-template-columns: 1fr;
	grid-template-rows: none;
	row-gap: 32px;
}

.page-id-90 #why-us .lsb-heading,
.page-id-90 #why-us .lsb-cards--trust,
.page-id-90 #why-us > .lsb-container > .lsb-actions {
	grid-column: 1;
	grid-row: auto;
}

.page-id-90 #why-us .lsb-heading {
	max-width: 820px;
	margin-inline: auto;
	text-align: center;
}

.page-id-90 #why-us .lsb-heading__title {
	align-items: center;
}

.page-id-90 #why-us .lsb-heading__intro,
.page-id-90 #why-us .lsb-heading__intro p {
	margin-inline: auto;
}

.page-id-90 #why-us .lsb-cards--trust {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}

.page-id-90 #why-us > .lsb-container > .lsb-actions {
	justify-content: center;
}

@media (max-width: 1100px) {
	.page-id-90 #why-us .lsb-cards--trust {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.page-id-90 #why-us .lsb-cards--trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.page-id-90 #why-us .lsb-cards--trust {
		grid-template-columns: 1fr;
	}
}

/* Chip repair page (ID 93): white numbered cards for damage types and roads, single-column steps, centered schedule block. */
:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#heat, #safer) .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #schedule, #visit) .lsb-heading {
	max-width: 860px;
	margin-inline: auto;
	text-align: center;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #schedule, #visit) .lsb-heading__title {
	align-items: center;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #schedule, #visit) .lsb-heading__intro,
:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #schedule, #visit) .lsb-heading__intro p {
	margin-inline: auto;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-cards--trust {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 28px;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-trust {
	overflow: hidden;
	padding: 26px 24px;
	border: 1px solid var(--lsb-border);
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-surface);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-trust::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, var(--lsb-primary), var(--lsb-accent));
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-trust:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--lsb-primary) 40%, var(--lsb-border));
	box-shadow: 0 20px 36px -24px color-mix(in srgb, var(--lsb-dark) 50%, transparent);
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-trust__no {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 16px;
	border-radius: var(--lsb-radius-md);
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	color: #fff;
	-webkit-text-stroke: 0;
	font-size: 1.05rem;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-trust__title {
	color: var(--lsb-dark);
	font-size: 1.1rem;
	line-height: 1.3;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-trust__text p {
	color: var(--lsb-text-muted);
	line-height: 1.6;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) #process > .lsb-container {
	display: block;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) #process .lsb-steps--timeline,
:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) #process .lsb-steps--timeline:has(> :nth-child(5):last-child) {
	max-width: 880px;
	margin-inline: auto;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) #process > .lsb-container > .lsb-actions {
	justify-content: center;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) #insurance > .lsb-container > p:nth-of-type(1) {
	grid-row: 1 / -1;
	align-self: center;
}

:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) #schedule.lsb-section {
	background:
		radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--lsb-accent) 14%, transparent), transparent 55%),
		var(--lsb-base);
}

@media (max-width: 960px) {
	:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-cards--trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	:is(.page-id-93, .page-id-95, .page-id-96, .page-id-98, .page-id-106, .page-id-125) :is(#types, #roads, #visit) .lsb-cards--trust {
		grid-template-columns: 1fr;
	}
}

/* Windshield replacement page: subhead and lead above the glass-type cards, two shop/mobile cards. */
.page-id-95 #types .lw-subhead {
	margin: 8px auto 0;
	color: var(--lsb-primary);
	font-size: 1.15rem;
	text-align: center;
}

.page-id-95 #types .lw-lead {
	max-width: 760px;
	margin: 10px auto 0;
	color: var(--lsb-text-muted);
	text-align: center;
}

.page-id-95 #types .lsb-cards--trust {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-id-95 #types .lsb-trust__text p + p {
	margin-top: 0.8em;
	padding-top: 0.8em;
	border-top: 1px dashed var(--lsb-border);
	color: var(--lsb-dark);
	font-weight: 600;
}

.page-id-95 #visit .lsb-cards--trust {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 900px;
	margin-inline: auto;
}

@media (max-width: 1100px) {
	.page-id-95 #types .lsb-cards--trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.page-id-95 :is(#types, #visit) .lsb-cards--trust {
		grid-template-columns: 1fr;
	}
}

/* Mobile service page: subhead and quote checklist in the needs section. */
.page-id-96 #needs .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

.page-id-96 #needs .lw-subhead {
	margin: 1.6rem 0 0.4rem;
	color: var(--lsb-primary);
	font-size: 1.15rem;
}

.page-id-96 #needs .is-style-lsb-ticks li strong {
	color: var(--lsb-dark);
}

/* FAQs page (ID 97): topic pills, then each category as a dark heading panel (with buttons) beside question cards. */
.page-id-97 #faq-topics.lsb-section {
	padding-block: 28px;
	border-bottom: 1px solid var(--lsb-border);
}

.lw-faq-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lw-faq-nav li {
	margin: 0;
}

.lw-faq-nav a {
	display: inline-block;
	padding: 9px 16px;
	border: 1px solid var(--lsb-border);
	border-radius: 999px;
	background: var(--lsb-surface);
	color: var(--lsb-dark);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.lw-faq-nav a:is(:hover, :focus-visible) {
	border-color: var(--lsb-primary);
	background: var(--lsb-primary);
	color: #fff;
}

.page-id-97 .lsb-section:has(.lsb-faq) {
	scroll-margin-top: calc(var(--lsb-header-h, 76px) + 12px);
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split {
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child {
	position: sticky;
	top: calc(var(--lsb-header-h, 76px) + 20px);
	overflow: hidden;
	padding: clamp(26px, 3.5vw, 40px) clamp(22px, 3vw, 34px);
	border-radius: var(--lsb-radius-lg);
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 28%, transparent), transparent 55%),
		var(--lsb-dark);
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child .lsb-heading::before {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin-bottom: 16px;
	background: var(--lsb-accent);
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-heading__sub {
	color: #fff;
	font-size: clamp(1.3rem, 1rem + 1vw, 1.75rem);
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child .lsb-actions {
	flex-direction: column;
	align-items: stretch;
	margin-top: 24px;
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child .lsb-btn {
	width: 100%;
	min-width: 0;
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child .lsb-btn--outline {
	border-color: rgba(255, 255, 255, 0.6);
	background: transparent;
	color: #fff;
}

.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

.page-id-97 .lsb-faq {
	display: grid;
	gap: 12px;
	border-top: 0;
}

.page-id-97 .lsb-faq__item {
	padding: 0 22px;
	border: 1px solid var(--lsb-border);
	border-left: 4px solid transparent;
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-surface);
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.page-id-97 .lsb-faq__item:hover {
	border-color: color-mix(in srgb, var(--lsb-primary) 35%, var(--lsb-border));
}

.page-id-97 .lsb-faq__item:has(.lsb-faq__q[aria-expanded="true"]) {
	border-color: var(--lsb-border);
	border-left-color: var(--lsb-primary);
	box-shadow: 0 16px 30px -22px color-mix(in srgb, var(--lsb-dark) 45%, transparent);
}

.page-id-97 .lsb-faq__q {
	min-height: 0;
	padding: 18px 0;
	color: var(--lsb-dark);
	font-size: 1rem;
	font-weight: 600;
}

.page-id-97 .lsb-faq__q:hover,
.page-id-97 .lsb-faq__q[aria-expanded="true"] {
	color: var(--lsb-primary);
}

.page-id-97 .lsb-faq__icon {
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: color-mix(in srgb, var(--lsb-primary) 12%, transparent);
	color: var(--lsb-primary);
}

.page-id-97 .lsb-faq__q[aria-expanded="true"] .lsb-faq__icon {
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	color: #fff;
}

.page-id-97 .lsb-faq__a {
	max-width: none;
	padding: 0 0 20px;
}

.page-id-97 .lsb-faq__a p {
	font-size: 1rem;
	line-height: 1.6;
}

@media (max-width: 960px) {
	.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child {
		position: relative;
		top: auto;
	}

	.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child .lsb-actions {
		flex-direction: row;
	}
}

@media (max-width: 480px) {
	.page-id-97 .lsb-faq__item {
		padding: 0 16px;
	}

	.page-id-97 .lsb-section:has(.lsb-faq) .lsb-split__col:first-child .lsb-actions {
		flex-direction: column;
	}
}

/* Contact page: wider gap in the intro split; why-us sits right after the dark map section, so give it a lighter navy. */
.page-id-98 #talk .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

.page-id-98 #why-us.lsb-section {
	background:
		radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--lsb-accent) 16%, transparent), transparent 45%),
		var(--lsb-dark-alt);
}

/* Inner pages: a photo beside text fills the text column's height (cover crop) on desktop. */
@media (min-width: 961px) {
	body:not(.home) .lsb-split:has(> .lsb-split__col > .lsb-framed) {
		align-items: stretch;
	}

	body:not(.home) .lsb-split__col:has(> .lsb-framed) {
		position: relative;
		min-height: 380px;
	}

	body:not(.home) .lsb-split__col > .lsb-framed {
		position: absolute;
		inset: 0 18px 18px 0;
		margin: 0;
	}

	body:not(.home) .lsb-split__col > .lsb-framed img {
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
		object-fit: cover;
	}
}

/* Inner pages why-us: heading and buttons on top, the cards in one row of four below. */
body:not(.home) #why-us > .lsb-container {
	grid-template-columns: 1fr;
	grid-template-rows: none;
	row-gap: 28px;
}

body:not(.home) #why-us .lsb-heading,
body:not(.home) #why-us .lsb-cards--trust,
body:not(.home) #why-us > .lsb-container > .lsb-actions {
	grid-column: 1;
	grid-row: auto;
}

body:not(.home) #why-us .lsb-heading {
	max-width: 860px;
	margin-inline: auto;
	text-align: center;
}

body:not(.home) #why-us .lsb-heading__title {
	align-items: center;
}

body:not(.home) #why-us .lsb-heading__intro,
body:not(.home) #why-us .lsb-heading__intro p {
	margin-inline: auto;
}

body:not(.home) #why-us > .lsb-container > .lsb-actions {
	order: 2;
	justify-content: center;
	margin-top: 8px;
}

body:not(.home) #why-us .lsb-cards--trust {
	order: 1;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width: 1100px) {
	body:not(.home) #why-us .lsb-cards--trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	body:not(.home) #why-us .lsb-cards--trust {
		grid-template-columns: 1fr;
	}
}

/* Reviews: dark Google rating card beside the Trustindex review widget. */
#reviews .lsb-heading {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
}

#reviews .lsb-heading__title {
	align-items: center;
}

#reviews .lsb-heading__intro,
#reviews .lsb-heading__intro p {
	margin-inline: auto;
}

.lw-rev {
	display: grid;
	grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
	gap: clamp(24px, 3vw, 40px);
	align-items: center;
	margin-top: 32px;
}

.lw-rev__card {
	position: relative;
	overflow: hidden;
	padding: 28px 26px;
	border-radius: var(--lsb-radius-lg);
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 35%, transparent), transparent 55%),
		var(--lsb-dark);
	color: #fff;
	box-shadow: 0 26px 50px -28px color-mix(in srgb, var(--lsb-dark) 80%, transparent);
}

.lw-rev__label {
	margin: 0 0 8px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lw-rev__score {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 12px;
}

.lw-rev__score > span:first-child {
	font-family: var(--lsb-font-heading);
	font-size: 3.4rem;
	font-weight: 800;
	line-height: 1;
}

.lw-rev__stars {
	--star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E");
	display: inline-block;
	width: 110px;
	height: 22px;
	background: linear-gradient(90deg, #fbbc04 var(--pct), rgba(255, 255, 255, 0.25) var(--pct));
	mask: var(--star) 0 0 / 22px 22px repeat-x;
}

.lw-rev__count {
	margin: 0;
	color: var(--lsb-text-muted-dark);
	line-height: 1.55;
}

.lw-rev__count strong {
	color: #fff;
}

.lw-rev__actions {
	display: grid;
	gap: 10px;
	margin-top: 22px;
}

.lw-rev__actions .lsb-btn {
	width: 100%;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.lw-rev__ghost {
	border: 2px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.04);
	color: #fff;
}

.lw-rev__ghost:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

.lw-rev__list {
	min-width: 0;
}

@media (max-width: 860px) {
	.lw-rev {
		grid-template-columns: 1fr;
	}
}

/* Reviews: light ground, Trustindex header hidden (the rating card covers it), review cards restyled to the site palette. */
#reviews.lsb-section {
	background:
		radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--lsb-accent) 14%, transparent), transparent 40%),
		radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--lsb-primary) 10%, transparent), transparent 45%),
		var(--lsb-base-alt);
}

#reviews .lw-rev .ti-widget.ti-goog .ti-footer {
	display: none !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-reviews-container,
#reviews .lw-rev .ti-widget.ti-goog .ti-reviews-container-wrapper {
	width: 100% !important;
	max-width: none !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-review-item > .ti-inner {
	border: 1px solid var(--lsb-border) !important;
	border-top: 4px solid var(--lsb-primary) !important;
	border-radius: var(--lsb-radius-lg) !important;
	background-color: var(--lsb-surface) !important;
	background-image: none !important;
	box-shadow: 0 16px 34px -24px color-mix(in srgb, var(--lsb-dark) 55%, transparent) !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-name {
	color: var(--lsb-dark) !important;
	font-weight: 700 !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-date {
	color: var(--lsb-text-muted) !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-review-content,
#reviews .lw-rev .ti-widget.ti-goog .ti-review-content * {
	color: var(--lsb-text) !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-read-more,
#reviews .lw-rev .ti-widget.ti-goog .ti-read-more * {
	color: var(--lsb-primary) !important;
	font-weight: 700 !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-review-item > .ti-inner::after,
#reviews .lw-rev .ti-widget.ti-goog .ti-review-item > .ti-inner::before {
	filter: hue-rotate(140deg) saturate(1.2);
}

#reviews .lw-rev .ti-widget.ti-goog :is(.ti-prev, .ti-next) {
	border: 0 !important;
	background: var(--lsb-primary) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--lsb-primary) 80%, transparent) !important;
}

#reviews .lw-rev .ti-widget.ti-goog :is(.ti-prev, .ti-next)::before,
#reviews .lw-rev .ti-widget.ti-goog :is(.ti-prev, .ti-next)::after {
	border-color: #fff !important;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-controls-line {
	background: var(--lsb-border) !important;
}

/* Reviews layout: rating card as a full-width bar on top, the slider full width below with three reviews per row on desktop. */
#reviews .lw-rev {
	grid-template-columns: 1fr;
	gap: 24px;
}

#reviews .lw-rev__card {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "label label label" "score count actions";
	align-items: center;
	column-gap: 28px;
	padding: 22px 28px;
}

#reviews .lw-rev__label {
	grid-area: label;
}

#reviews .lw-rev__score {
	grid-area: score;
	margin: 0;
}

#reviews .lw-rev__count {
	grid-area: count;
	max-width: 420px;
}

#reviews .lw-rev__actions {
	grid-area: actions;
	grid-auto-flow: column;
	margin: 0;
}

#reviews .lw-rev__actions .lsb-btn {
	min-width: 200px;
}

#reviews .lw-rev .ti-widget.ti-goog .ti-review-item {
	flex: 0 0 33.3333% !important;
	max-width: 33.3333% !important;
}

@media (max-width: 1024px) {
	#reviews .lw-rev__card {
		grid-template-columns: auto 1fr;
		grid-template-areas: "label label" "score count" "actions actions";
		row-gap: 16px;
	}

	#reviews .lw-rev .ti-widget.ti-goog .ti-review-item {
		flex-basis: 50% !important;
		max-width: 50% !important;
	}
}

@media (max-width: 640px) {
	#reviews .lw-rev__card {
		grid-template-columns: 1fr;
		grid-template-areas: "label" "score" "count" "actions";
	}

	#reviews .lw-rev__actions {
		grid-auto-flow: row;
	}

	#reviews .lw-rev .ti-widget.ti-goog .ti-review-item {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}

/* Services hub (ID 106): intro split gap and the free-quote contact tiles on the dark section. */
.page-id-106 #intro .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

#free-quote.lsb-section {
	background:
		radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--lsb-primary) 30%, transparent), transparent 45%),
		radial-gradient(circle at 90% 90%, color-mix(in srgb, var(--lsb-accent) 16%, transparent), transparent 45%),
		var(--lsb-dark);
}

#free-quote .lsb-heading {
	max-width: 780px;
	margin-inline: auto;
	text-align: center;
}

#free-quote .lsb-heading__title {
	align-items: center;
}

#free-quote .lsb-heading__sub {
	color: #fff;
}

#free-quote .lsb-heading__intro,
#free-quote .lsb-heading__intro p {
	margin-inline: auto;
	color: var(--lsb-text-muted-dark);
}

.lw-quote-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	max-width: 960px;
	margin: 32px auto 0;
}

.lw-quote-tile {
	display: grid;
	justify-items: center;
	gap: 6px;
	padding: 26px 18px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--lsb-radius-lg);
	background: rgba(255, 255, 255, 0.05);
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: transform 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.lw-quote-tile:is(:hover, :focus-visible) {
	transform: translateY(-4px);
	border-color: var(--lsb-accent);
	background: rgba(255, 255, 255, 0.09);
}

.lw-quote-tile__icon {
	width: 56px;
	height: 56px;
	margin-bottom: 8px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	box-shadow: 0 10px 24px -8px color-mix(in srgb, var(--lsb-accent) 60%, transparent);
	-webkit-mask: none;
	position: relative;
}

.lw-quote-tile__icon::after {
	content: "";
	position: absolute;
	inset: 16px;
	background: #fff;
	mask: var(--i) center / contain no-repeat;
}

.lw-quote-tile__icon--phone {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.lw-quote-tile__icon--sms {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zM8 11H6V9h2zm5 0h-2V9h2zm5 0h-2V9h2z'/%3E%3C/svg%3E");
}

.lw-quote-tile__icon--mail {
	--i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
}

.lw-quote-tile__label {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lw-quote-tile__value {
	font-family: var(--lsb-font-heading);
	font-size: 1.05rem;
	font-weight: 700;
	word-break: break-word;
}

#free-quote > .lsb-container > .lsb-actions .lsb-btn--outline {
	border-color: rgba(255, 255, 255, 0.6);
	background: transparent;
	color: #fff;
}

#free-quote > .lsb-container > .lsb-actions .lsb-btn--outline:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--lsb-dark);
}

@media (max-width: 760px) {
	.lw-quote-tiles {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lw-quote-tile,
	.lw-quote-tile:hover {
		transition: none;
		transform: none;
	}
}

/* Alternating section backgrounds (classes set per page by leeway-section-backgrounds.php). */
.lsb-section.lw-bg-white {
	background: var(--lsb-base) !important;
}

.lsb-section.lw-bg-grey {
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 9%, transparent), transparent 40%),
		var(--lsb-base-alt) !important;
}

.lsb-section.lw-bg-navy2 {
	background:
		radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--lsb-accent) 18%, transparent), transparent 45%),
		linear-gradient(160deg, color-mix(in srgb, var(--lsb-dark) 55%, var(--lsb-primary)), var(--lsb-dark-alt)) !important;
}

/* ADAS page: request checklist subhead and the method cards' tick lists. */
.page-id-125 #needs .lsb-split {
	gap: clamp(32px, 5vw, 72px);
}

.page-id-125 #needs .lw-subhead {
	margin: 1.4rem 0 0.4rem;
	color: var(--lsb-primary);
	font-size: 1.15rem;
}

.page-id-125 #needs .is-style-lsb-ticks li strong {
	color: var(--lsb-dark);
}

.page-id-125 #types .lsb-cards--trust {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-id-125 #types .is-style-lsb-ticks {
	margin: 14px 0 0;
	padding-top: 14px;
	border-top: 1px dashed var(--lsb-border);
	font-size: 0.95rem;
	font-weight: 600;
}

@media (max-width: 1100px) {
	.page-id-125 #types .lsb-cards--trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.page-id-125 #types .lsb-cards--trust {
		grid-template-columns: 1fr;
	}
}

/* Text links inside paragraphs and lists are bold. */
.lsb-content :is(p, li) a:not(.lsb-btn) {
	font-weight: 700;
}

/* Privacy policy: sticky contents list beside a white document card with numbered headings. */
#policy .lsb-split {
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
}

#policy .lsb-split__col:first-child {
	position: sticky;
	top: calc(var(--lsb-header-h, 76px) + 20px);
}

.lw-toc {
	padding: 22px 20px;
	border-radius: var(--lsb-radius-lg);
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--lsb-accent) 28%, transparent), transparent 55%),
		var(--lsb-dark);
}

.lw-toc__title {
	margin: 0 0 12px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.lw-toc ol {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: toc;
}

.lw-toc li {
	margin: 0;
	counter-increment: toc;
}

.lw-toc a {
	display: flex;
	gap: 10px;
	padding: 7px 8px;
	border-radius: var(--lsb-radius-sm);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 600 !important;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 0.2s;
}

.lw-toc a::before {
	content: counter(toc, decimal-leading-zero);
	flex: none;
	color: var(--lsb-accent);
	font-family: var(--lsb-font-heading);
	font-size: 0.8rem;
	padding-top: 2px;
}

.lw-toc a:is(:hover, :focus-visible) {
	background: rgba(255, 255, 255, 0.08);
}

#policy .lsb-split__col:last-child {
	padding: clamp(26px, 4vw, 48px);
	border: 1px solid var(--lsb-border);
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-surface);
	box-shadow: 0 24px 50px -36px color-mix(in srgb, var(--lsb-dark) 55%, transparent);
	counter-reset: policy;
}

#policy .lsb-split__col:last-child > p:first-child {
	margin-top: 0;
	padding: 14px 18px;
	border-radius: var(--lsb-radius-md);
	background: color-mix(in srgb, var(--lsb-primary) 8%, transparent);
	color: var(--lsb-dark);
}

#policy h2 {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 2.4rem 0 0.9rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--lsb-border);
	color: var(--lsb-dark);
	font-size: clamp(1.15rem, 1rem + 0.5vw, 1.4rem);
	line-height: 1.3;
	counter-increment: policy;
	scroll-margin-top: calc(var(--lsb-header-h, 76px) + 20px);
}

#policy h2::before {
	content: counter(policy, decimal-leading-zero);
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: var(--lsb-radius-md);
	background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary));
	color: #fff;
	font-size: 0.95rem;
}

#policy ul {
	margin: 0.8rem 0 1.2rem;
	padding-left: 1.3rem;
}

#policy li {
	margin: 0.35rem 0;
}

#policy li::marker {
	color: var(--lsb-primary);
}

#policy .lw-contact-block {
	padding: 20px 24px;
	border: 1px solid var(--lsb-border);
	border-left: 4px solid var(--lsb-primary);
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-base-alt);
	line-height: 1.8;
}

#policy .lsb-split__col:last-child > .lsb-actions {
	margin-top: 28px;
}

@media (max-width: 960px) {
	#policy .lsb-split {
		grid-template-columns: 1fr;
	}

	#policy .lsb-split__col:first-child {
		position: static;
	}
}

/* Reviews page: lead paragraph under the reviews heading. */
#reviews .lw-lead {
	max-width: 820px;
	margin: 12px auto 0;
	color: var(--lsb-text-muted);
	text-align: center;
}

/* Gallery page (category galleries): framed grids sized by photo count, empty categories hidden from visitors. */
.lsb-section:has(.lw-gcat-empty) {
	display: none;
}

.lw-gcat-note {
	max-width: 760px;
	margin: 24px auto 0;
	padding: 18px 22px;
	border: 2px dashed var(--lsb-border);
	border-radius: var(--lsb-radius-md);
	color: var(--lsb-text-muted);
	text-align: center;
}

.lsb-section[id^="gallery-"] .lsb-heading {
	max-width: 820px;
	margin-inline: auto;
	text-align: center;
}

.lsb-section[id^="gallery-"] .lsb-heading__title {
	align-items: center;
}

.lsb-section[id^="gallery-"] .lw-lead {
	max-width: 780px;
	margin: 12px auto 0;
	color: var(--lsb-text-muted);
	text-align: center;
}

.lsb-section[id^="gallery-"] .lw-gallery {
	padding: clamp(12px, 2vw, 20px);
	border: 1px solid var(--lsb-border);
	border-radius: var(--lsb-radius-lg);
	background:
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) left top / 40px 4px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) left top / 4px 40px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) right bottom / 40px 4px no-repeat,
		linear-gradient(var(--lsb-primary), var(--lsb-primary)) right bottom / 4px 40px no-repeat,
		var(--lsb-surface);
}

.lsb-section[id^="gallery-"] .lw-gallery__link {
	padding: 6px;
	border: 1px solid var(--lsb-border);
	border-radius: var(--lsb-radius-md);
	background: var(--lsb-surface);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.lsb-section[id^="gallery-"] .lw-gallery__link img {
	border-radius: var(--lsb-radius-sm);
}

.lsb-section[id^="gallery-"] .lw-gallery__link::after {
	inset: 6px;
	border: 0;
	border-radius: var(--lsb-radius-sm);
}

.lsb-section[id^="gallery-"] .lw-gallery__link:is(:hover, :focus-visible) {
	border-color: var(--lsb-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--lsb-primary) 25%, transparent);
}

.lw-gallery--n1 {
	grid-template-columns: 1fr;
	grid-auto-rows: clamp(220px, 34vw, 420px);
	max-width: 760px;
	margin-inline: auto;
}

.lw-gallery--n2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: clamp(200px, 26vw, 340px);
	max-width: 1000px;
	margin-inline: auto;
}

.lw-gallery--n3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: clamp(180px, 22vw, 280px);
}

@media (max-width: 640px) {
	:is(.lw-gallery--n2, .lw-gallery--n3) {
		grid-template-columns: 1fr;
		grid-auto-rows: 220px;
	}
}

/* Pre-footer quote form (LeadConnector embed) on every page, in a white card. */
.lw-quote-form {
	overflow: hidden;
	padding: 8px;
	border-top: 4px solid var(--lsb-accent);
	border-radius: var(--lsb-radius-lg);
	background: var(--lsb-surface);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 30px 60px -30px rgba(0, 0, 0, 0.75);
}

.lw-quote-form iframe {
	display: block;
	min-height: 692px;
}

/* Dark buttons on teal strips and other surfaces: keep the label and arrow chip readable. */
.lsb-btn--dark,
.lsb-btn--dark .lsb-btn__label {
	color: #fff !important;
}

.lsb-btn--dark {
	--lsb-btn-fg: #fff;
	border-color: var(--lsb-dark) !important;
	background: var(--lsb-dark) !important;
}

.lsb-btn--dark .lsb-btn__chip {
	background: rgba(255, 255, 255, 0.16) !important;
}

.lsb-btn--dark .lsb-btn__chip::before,
.lsb-btn--dark .lsb-btn__chip::after {
	border-color: #fff !important;
}

.lsb-btn--dark:is(:hover, :focus-visible) {
	border-color: #fff !important;
	background: #fff !important;
}

.lsb-btn--dark:is(:hover, :focus-visible),
.lsb-btn--dark:is(:hover, :focus-visible) .lsb-btn__label {
	color: var(--lsb-dark) !important;
}

.lsb-btn--dark:is(:hover, :focus-visible) .lsb-btn__chip::before,
.lsb-btn--dark:is(:hover, :focus-visible) .lsb-btn__chip::after {
	border-color: var(--lsb-dark) !important;
}


/* Rule table (fleet page 49 CFR 393.60) */
.lw-rule-table{margin:24px 0;overflow-x:auto}
.lw-rule-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(11,31,58,.08);font-size:1.05rem}
.lw-rule-table th{background:#0b1f3a;color:#fff;font-family:Orbitron,sans-serif;font-size:.9rem;letter-spacing:.04em;text-align:left;padding:14px 18px}
.lw-rule-table td{padding:14px 18px;border-top:1px solid #e5e9f0;vertical-align:top;color:#1f2a3a}
.lw-rule-table td:first-child{width:30%;color:#0b1f3a}
.lw-rule-table tbody tr:nth-child(even) td{background:#f5f7fa}
@media (max-width:640px){.lw-rule-table td,.lw-rule-table th{padding:12px;font-size:.95rem}.lw-rule-table td:first-child{width:38%}}


/* Towns served chips */
.lw-towns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;padding:0;margin:16px auto 8px;max-width:900px}
.lw-towns li{background:#fff;border:1px solid #dde3ec;border-radius:999px;padding:8px 18px;font-weight:600;color:#0b1f3a;box-shadow:0 2px 8px rgba(11,31,58,.06)}
#service-area .lw-subhead{text-align:center}


/* New service pages (159 back glass, 160 fleet, 161 mobile windshield, 162 side & rear): light-section cards, leads and steps match the other service pages. */
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-split { gap: clamp(32px, 5vw, 72px); }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-heading--center, :is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-heading[class*=center] { max-width: 860px; margin-inline: auto; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) > .lsb-container > .lw-lead { max-width: 820px; margin: 12px auto 0; color: var(--lsb-text-muted); text-align: center; line-height: 1.65; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-cards--trust { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin-top: 28px; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-cards--trust + .lw-lead { margin-top: 28px; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-trust { position: relative; overflow: hidden; padding: 26px 24px; border: 1px solid var(--lsb-border); border-radius: var(--lsb-radius-lg); background: var(--lsb-surface); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-trust::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--lsb-primary), var(--lsb-accent)); }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-trust:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--lsb-primary) 40%, var(--lsb-border)); box-shadow: 0 20px 36px -24px color-mix(in srgb, var(--lsb-dark) 50%, transparent); }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-trust__no { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 16px; border-radius: var(--lsb-radius-md); background: linear-gradient(135deg, var(--lsb-accent), var(--lsb-primary)); color: #fff; -webkit-text-stroke: 0; font-size: 1.05rem; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-trust__title { color: var(--lsb-dark); font-size: 1.1rem; line-height: 1.3; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-trust__text p { color: var(--lsb-text-muted); line-height: 1.6; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) #process > .lsb-container { display: block; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) #process .lsb-steps--timeline { max-width: 880px; margin-inline: auto; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) #process > .lsb-container > .lsb-actions { justify-content: center; }
:is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lw-subhead { margin: 1.4rem 0 0.4rem; color: var(--lsb-primary); font-size: 1.15rem; }
@media (max-width: 640px) { :is(.page-id-159, .page-id-160, .page-id-161, .page-id-162, .page-id-176, .page-id-179) .lsb-section:not(.lsb-tone-dark) .lsb-cards--trust { grid-template-columns: 1fr; } }


/* Fleet page: center the 49 CFR 393.60 section. */
.page-id-160 #federal-rule .lsb-heading { max-width: 860px; margin-inline: auto; text-align: center; }
.page-id-160 #federal-rule .lsb-heading__title { align-items: center; }
.page-id-160 #federal-rule .lsb-container > p { max-width: 820px; margin-inline: auto; text-align: center; }
.page-id-160 #federal-rule .lw-rule-table { max-width: 1000px; margin-inline: auto; }
.page-id-160 #federal-rule .lsb-actions { justify-content: center; }


/* Service areas page: 3 town cards per row. */
.page-id-176 :is(#polk, #osceola, #lake) .lsb-cards--trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .page-id-176 :is(#polk, #osceola, #lake) .lsb-cards--trust { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .page-id-176 :is(#polk, #osceola, #lake) .lsb-cards--trust { grid-template-columns: 1fr; } }


/* Brands page: 3 brand cards per row. */
.page-id-179 #brand-list .lsb-cards--trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .page-id-179 #brand-list .lsb-cards--trust { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .page-id-179 #brand-list .lsb-cards--trust { grid-template-columns: 1fr; } }
