/*
  Scanning Assistant design system.
  Layout and architecture inspired by a white-canvas, card-based system:
  floating pill header, 1200px container, 96px section rhythm, 16/20/32px radii,
  pill buttons, flat cards and hairline FAQ rows.
  Colors and typography stay Scanning Assistant's own (navy #2C3E50, cyan #00C7E2, Montserrat).
*/

:root {
	--sa-navy: #2C3E50;
	--sa-cyan: #00C7E2;
	--sa-cyan-strong: #0BC5EA;
	--sa-text: #2C3E50;
	--sa-text-2: #4A5568;
	--sa-white: #fff;
	--sa-snow: rgba(44, 62, 80, .04);
	--sa-tint: rgba(0, 199, 226, .12);
	--sa-hairline: rgba(44, 62, 80, .14);

	--sa-radius-card: 16px;
	--sa-radius-media: 20px;
	--sa-radius-panel: 32px;
	--sa-radius-pill: 100px;

	--sa-shadow-subtle: 0 1px 2px rgba(10, 13, 20, .04);
	--sa-shadow-elevated: 0 1.78px 8px rgba(0, 0, 0, .06), 0 .89px 2.67px rgba(0, 0, 0, .05);
	--sa-shadow-button: 0 0 0 1px rgba(36, 38, 40, .9), 0 1px 2px rgba(27, 28, 29, .48);

	--sa-container: 1200px;
	--sa-section: 96px;
	--sa-header-h: 72px;
}

@media (max-width: 991.98px) {
	:root {
		--sa-section: 64px;
		--sa-header-h: 64px;
	}
}

/* ===== Base ===== */
html {
	scroll-padding-top: calc(var(--sa-header-h) + 32px);
}

body.sa-body {
	padding-top: calc(var(--sa-header-h) + 28px) !important;
	color: var(--sa-text-2);
	background: var(--sa-white);
	-webkit-font-smoothing: antialiased;
}

.sa-body h1, .sa-body h2, .sa-body h3, .sa-body h4 {
	color: var(--sa-text);
}

.sa-body h1, .sa-body .h1, .sa-body h2, .sa-body .h2 {
	letter-spacing: -0.03em;
}

.sa-body h3, .sa-body h4 {
	letter-spacing: -0.02em;
}

/* ===== Floating pill header ===== */
.sa-header {
	background: transparent !important;
	padding: 12px 16px 0;
	pointer-events: none;
}

.sa-header__pill {
	pointer-events: auto;
	width: 100%;
	max-width: var(--sa-container);
	margin: 0 auto;
	min-height: var(--sa-header-h);
	background: var(--sa-white);
	border-radius: var(--sa-radius-pill);
	box-shadow: var(--sa-shadow-elevated);
	padding: 8px 10px 8px 24px !important;
}

	.sa-header__pill .navbar-brand img {
		height: 44px;
		width: auto;
	}

	.sa-header__pill .navbar-nav {
		gap: 2px;
	}

	.sa-header__pill .nav-link {
		color: var(--sa-text) !important;
		font-weight: 500;
		font-size: .95rem;
		padding: 8px 14px !important;
		border-radius: var(--sa-radius-pill);
		transition: background-color .15s ease;
	}

		.sa-header__pill .nav-link:hover,
		.sa-header__pill .nav-link:focus-visible {
			background: var(--sa-snow);
		}

		.sa-header__pill .nav-link.active,
		.sa-header__pill .nav-link.show {
			background: var(--sa-tint) !important;
			color: var(--sa-text) !important;
		}

	.sa-header__pill .dropdown-menu {
		border: 1px solid var(--sa-hairline);
		border-radius: var(--sa-radius-card);
		box-shadow: var(--sa-shadow-elevated);
		padding: 8px;
		margin-top: 8px;
	}

	.sa-header__pill .dropdown-item {
		border-radius: 10px;
		padding: 8px 12px;
		font-size: .92rem;
		color: var(--sa-text);
	}

		.sa-header__pill .dropdown-item:hover,
		.sa-header__pill .dropdown-item:focus {
			background: var(--sa-tint);
			color: var(--sa-text);
		}

.sa-header__actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.sa-header__phone {
	color: var(--sa-text);
	text-decoration: none;
	font-weight: 600;
	font-size: .92rem;
	padding: 8px 10px;
	border-radius: var(--sa-radius-pill);
	white-space: nowrap;
}

	.sa-header__phone:hover {
		background: var(--sa-snow);
		color: var(--sa-text);
	}

.sa-header__lang {
	color: var(--sa-text);
	text-decoration: none;
	font-weight: 600;
	font-size: .85rem;
	padding: 7px 12px;
	border: 1px solid var(--sa-hairline);
	border-radius: var(--sa-radius-pill);
}

	.sa-header__lang:hover {
		border-color: var(--sa-cyan);
		color: var(--sa-text);
	}

.sa-header .navbar-toggler {
	border: 1px solid var(--sa-hairline);
	border-radius: var(--sa-radius-pill);
	padding: 6px 12px;
}

	.sa-header .navbar-toggler:focus {
		box-shadow: 0 0 0 3px var(--sa-tint);
	}

@media (max-width: 991.98px) {
	.sa-header__pill {
		border-radius: 24px;
		padding: 8px 8px 8px 16px !important;
	}

		.sa-header__pill .navbar-brand img {
			height: 38px;
		}

		.sa-header__pill .navbar-collapse {
			padding: 8px 4px 12px;
		}

		.sa-header__pill .navbar-nav {
			margin-top: 8px;
		}

		.sa-header__pill .dropdown-menu {
			box-shadow: none;
			border: 0;
			background: var(--sa-snow);
			margin: 4px 0 8px;
		}

	.sa-header__actions {
		flex-wrap: wrap;
		padding-top: 12px;
		border-top: 1px solid var(--sa-hairline);
		margin-top: 8px;
	}
}

/* ===== Layout ===== */
.sa-container {
	width: 100%;
	max-width: var(--sa-container);
	margin: 0 auto;
	padding: 0 24px;
}

.sa-section {
	padding: var(--sa-section) 0;
}

.sa-section--tight {
	padding: calc(var(--sa-section) / 2) 0;
}

.sa-section--snow {
	background: var(--sa-snow);
}

.sa-section-head {
	max-width: 760px;
	margin: 0 auto 48px;
	text-align: center;
}

	.sa-section-head p {
		font-size: 1.125rem;
		line-height: 1.6;
		margin: 16px 0 0;
	}

/* ===== Typography ===== */
.sa-eyebrow {
	display: inline-block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sa-cyan-strong);
	margin-bottom: 16px;
}

.sa-display {
	font-size: clamp(2.25rem, 5.2vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.035em !important;
	color: var(--sa-text);
	margin: 0 0 24px;
}

	.sa-display .sa-accent {
		color: var(--sa-cyan-strong);
	}

.sa-h2 {
	font-size: clamp(1.75rem, 3.4vw, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
}

.sa-lead {
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	line-height: 1.6;
	color: var(--sa-text-2);
	margin: 0 auto;
	max-width: 680px;
}

/* ===== Buttons ===== */
.sa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
	padding: 14px 24px;
	border-radius: var(--sa-radius-pill);
	border: 0;
	text-decoration: none;
	transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
	white-space: nowrap;
}

	.sa-btn:hover {
		transform: translateY(-1px);
	}

	.sa-btn:focus-visible {
		outline: 3px solid var(--sa-cyan);
		outline-offset: 2px;
	}

.sa-btn--sm {
	padding: 9px 16px;
	font-size: .9rem;
}

.sa-btn--dark {
	background: var(--sa-navy);
	color: #fff !important;
	box-shadow: var(--sa-shadow-button);
}

	.sa-btn--dark:hover {
		background: #233140;
	}

.sa-btn--ghost {
	background: #fff;
	color: var(--sa-text) !important;
	box-shadow: inset 0 0 0 1px var(--sa-hairline);
}

	.sa-btn--ghost:hover {
		box-shadow: inset 0 0 0 1px var(--sa-cyan);
	}

.sa-btn--light {
	background: #fff;
	color: var(--sa-navy) !important;
}

.sa-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

/* Existing buttons adopt the pill shape everywhere. */
.sa-body .btn {
	border-radius: var(--sa-radius-pill);
}

.sa-body .btn-verde {
	padding: 12px 22px;
	box-shadow: var(--sa-shadow-button);
}

/* ===== Check badges ===== */
.sa-checks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 28px;
	list-style: none;
	padding: 0;
	margin: 32px 0 0;
}

	.sa-checks li {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-weight: 600;
		color: var(--sa-text);
	}

	.sa-checks i {
		color: var(--sa-cyan-strong);
		font-size: 1.15rem;
	}

.sa-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

	.sa-list li {
		position: relative;
		padding-left: 28px;
		margin-bottom: 10px;
		line-height: 1.5;
	}

		.sa-list li::before {
			content: "";
			position: absolute;
			left: 0;
			top: .2em;
			width: 18px;
			height: 18px;
			border-radius: 888px;
			background: var(--sa-cyan-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.7 4.7a1 1 0 0 1 0 1.4l-5 5a1 1 0 0 1-1.4 0l-2.5-2.5a1 1 0 1 1 1.4-1.4L7 9l4.3-4.3a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E") center / 12px no-repeat;
		}

/* ===== Cards & panels ===== */
.sa-card {
	background: var(--sa-snow);
	border-radius: var(--sa-radius-card);
	padding: 24px;
	height: 100%;
}

	.sa-card h3 {
		font-size: 1.375rem;
		font-weight: 700;
		margin: 16px 0 8px;
	}

	.sa-card p {
		margin-bottom: 12px;
	}

.sa-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 888px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--sa-shadow-subtle);
}

	.sa-card__icon img {
		width: 34px;
		height: 34px;
	}

	.sa-card__icon i {
		color: var(--sa-cyan-strong);
		font-size: 1.5rem;
	}

.sa-card--elevated {
	background: #fff;
	border-radius: var(--sa-radius-media);
	box-shadow: var(--sa-shadow-elevated);
	padding: 32px;
}

.sa-card--tint {
	background: var(--sa-tint);
}

.sa-panel {
	background: var(--sa-snow);
	border-radius: var(--sa-radius-panel);
	padding: 80px 48px;
}

.sa-panel--navy {
	background: var(--sa-navy);
	color: rgba(255, 255, 255, .85);
}

	.sa-panel--navy h2, .sa-panel--navy h3 {
		color: #fff;
	}

	.sa-panel--navy p, .sa-panel--navy li {
		color: rgba(255, 255, 255, .82) !important;
	}

.sa-panel--tint {
	background: var(--sa-tint);
}

@media (max-width: 767.98px) {
	.sa-panel {
		padding: 48px 24px;
		border-radius: 24px;
	}
}

/* ===== Tags ===== */
.sa-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}

.sa-tag {
	display: inline-block;
	padding: 8px 16px;
	border-radius: var(--sa-radius-pill);
	border: 1px solid rgba(255, 255, 255, .25);
	color: #fff;
	font-weight: 500;
	text-decoration: none;
	font-size: .95rem;
}

a.sa-tag {
	background: rgba(255, 255, 255, .1);
}

	a.sa-tag:hover {
		background: var(--sa-cyan);
		border-color: var(--sa-cyan);
		color: var(--sa-navy);
	}

/* ===== Media ===== */
.sa-media {
	border-radius: var(--sa-radius-media);
	overflow: hidden;
	box-shadow: var(--sa-shadow-elevated);
	background: #fff;
}

	.sa-media img {
		display: block;
		width: 100%;
		height: auto;
	}

/* Hero product panel */
.sa-hero-media {
	margin-top: 56px;
	padding: 48px 24px 40px;
	background: var(--sa-snow);
	border-radius: var(--sa-radius-panel);
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}

	.sa-hero-media img {
		display: block;
		width: 100%;
		max-width: 760px;
		height: auto;
	}

@media (max-width: 767.98px) {
	.sa-hero-media {
		margin-top: 40px;
		padding: 28px 16px 24px;
		border-radius: 24px;
	}
}

/* ===== Forms ===== */
.sa-form .form-control {
	border-radius: 12px;
	border: 1px solid var(--sa-hairline);
	padding: 12px 14px;
}

	.sa-form .form-control:focus {
		border-color: var(--sa-cyan);
		box-shadow: 0 0 0 3px var(--sa-tint);
	}

.sa-form label {
	font-weight: 600;
	font-size: .9rem;
	color: var(--sa-text);
	margin-bottom: 6px;
}

/* ===== FAQ: flat rows with hairlines and a plus icon ===== */
.faq-section .faq-accordion {
	max-width: 820px;
}

.faq-section .accordion-item {
	border: 0;
	border-bottom: 1px solid var(--sa-hairline);
	border-radius: 0 !important;
	background: transparent;
}

.faq-section .accordion-button {
	background: transparent !important;
	box-shadow: none !important;
	padding: 20px 0;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--sa-text) !important;
}

	.faq-section .accordion-button::after {
		background-image: none !important;
		content: "+";
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
		width: auto;
		height: auto;
		color: var(--sa-text);
		transition: transform .2s ease;
	}

	.faq-section .accordion-button:not(.collapsed)::after {
		transform: rotate(45deg);
	}

.faq-section .accordion-body {
	padding: 0 0 20px;
	color: var(--sa-text-2);
}

/* ===== Contact block ===== */
.sa-body .pricing-section {
	padding: var(--sa-section) 0;
	background: transparent !important;
}

.sa-contact {
	max-width: var(--sa-container);
	margin: 0 auto;
	text-align: center;
}

/* ===== Inner pages: consistent radii and rhythm ===== */
.sa-body main img[src$=".gif"],
.sa-body main img[src$=".jpg"],
.sa-body main img[src$=".JPG"] {
	border-radius: var(--sa-radius-media);
}

.sa-body .header-interno h1,
.sa-body .header-interno .h1,
.sa-body .header-interno .h2 {
	font-weight: 700;
}

.sa-body .promesa-box {
	border: 0;
	border-radius: var(--sa-radius-card);
	background: var(--sa-snow);
}

/* ===== Footer spacing ===== */
.sa-body .site-footer {
	margin-top: 0;
}

/* ===== Commercial layer: brand bands, hero with form, trust strip, stats ===== */
.sa-btn--cyan {
	background: var(--sa-cyan-strong);
	color: #fff !important;
	box-shadow: 0 6px 18px rgba(11, 197, 234, .35);
}

	.sa-btn--cyan:hover {
		background: #08b3d6;
		box-shadow: 0 8px 22px rgba(11, 197, 234, .45);
	}

.sa-btn--outline-light {
	background: transparent;
	color: #fff !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45);
}

	.sa-btn--outline-light:hover {
		box-shadow: inset 0 0 0 1px #fff;
	}

.sa-band-navy {
	background: var(--sa-navy);
	color: rgba(255, 255, 255, .85);
}

	.sa-band-navy h1, .sa-band-navy h2, .sa-band-navy h3 {
		color: #fff;
	}

	.sa-band-navy p, .sa-band-navy li {
		color: rgba(255, 255, 255, .85);
	}

.sa-band-cyan {
	background: var(--sa-cyan);
	color: var(--sa-navy);
}

	.sa-band-cyan h2, .sa-band-cyan h3, .sa-band-cyan p {
		color: var(--sa-navy);
	}

/* Hero with lead form */
.sa-hero-sell {
	position: relative;
	margin-top: calc(-1 * (var(--sa-header-h) + 28px));
	padding: calc(var(--sa-header-h) + 92px) 0 96px;
	overflow: hidden;
}

	.sa-hero-sell::after {
		content: "";
		position: absolute;
		right: -180px;
		bottom: -220px;
		width: 560px;
		height: 560px;
		border-radius: 888px;
		background: var(--sa-cyan);
		opacity: .12;
		pointer-events: none;
	}

	.sa-hero-sell .sa-display {
		color: #fff;
		font-size: clamp(2.1rem, 4.4vw, 3.5rem);
		text-align: left;
	}

	.sa-hero-sell .sa-display .sa-accent {
		color: var(--sa-cyan);
	}

	.sa-hero-sell .sa-lead {
		color: rgba(255, 255, 255, .85);
		margin: 0;
		max-width: 560px;
	}

	.sa-hero-sell .sa-eyebrow {
		color: var(--sa-cyan);
	}

	.sa-hero-sell .sa-list li {
		color: #fff;
		font-weight: 600;
		font-size: 1.05rem;
	}

	.sa-hero-sell .sa-btn-row {
		justify-content: flex-start;
	}

.sa-hero-form {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: var(--sa-radius-media);
	padding: 32px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}

	.sa-hero-form h2 {
		font-size: 1.5rem;
		font-weight: 700;
		margin-bottom: 4px;
	}

	.sa-hero-form .sa-form-note {
		font-size: .9rem;
		color: var(--sa-text-2);
		margin-bottom: 20px;
	}

@media (max-width: 991.98px) {
	.sa-hero-sell {
		padding: calc(var(--sa-header-h) + 56px) 0 64px;
	}

	.sa-hero-form {
		padding: 24px;
	}
}

/* Trust strip */
.sa-trust {
	position: relative;
	z-index: 2;
	margin-top: -40px;
}

.sa-trust__bar {
	background: #fff;
	border-radius: var(--sa-radius-media);
	box-shadow: var(--sa-shadow-elevated);
	padding: 20px 24px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.sa-trust__item {
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 600;
	color: var(--sa-text);
	line-height: 1.3;
}

	.sa-trust__item i {
		flex: 0 0 44px;
		width: 44px;
		height: 44px;
		border-radius: 888px;
		background: var(--sa-tint);
		color: var(--sa-cyan-strong);
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.25rem;
	}

@media (max-width: 991.98px) {
	.sa-trust__bar {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 575.98px) {
	.sa-trust__bar {
		grid-template-columns: 1fr;
	}
}

/* Stats */
.sa-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	text-align: center;
}

.sa-stat__value {
	display: block;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: var(--sa-navy);
}

.sa-stat__label {
	display: block;
	margin-top: 6px;
	font-weight: 600;
	color: var(--sa-navy);
	opacity: .85;
}

@media (max-width: 767.98px) {
	.sa-stats {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Steps */
.sa-steps {
	counter-reset: step;
	list-style: none;
	padding: 0;
	margin: 0;
}

	.sa-steps li {
		position: relative;
		padding: 0 0 24px 64px;
	}

		.sa-steps li::before {
			counter-increment: step;
			content: counter(step);
			position: absolute;
			left: 0;
			top: 0;
			width: 44px;
			height: 44px;
			border-radius: 888px;
			background: var(--sa-cyan-strong);
			color: #fff;
			font-weight: 700;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.sa-steps li h3 {
			font-size: 1.25rem;
			font-weight: 700;
			margin: 8px 0 6px;
		}

/* Final CTA band */
.sa-cta-band {
	border-radius: var(--sa-radius-panel);
	padding: 64px 48px;
	text-align: center;
}

@media (max-width: 767.98px) {
	.sa-cta-band {
		padding: 40px 24px;
		border-radius: 24px;
	}
}

/* ===== Depth layer: less flat, more premium ===== */
.sa-section--snow {
	background: linear-gradient(180deg, #f4f7f9 0%, #eef3f6 100%);
}

.sa-card {
	background: #fff;
	border: 1px solid rgba(44, 62, 80, .06);
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -12px rgba(44, 62, 80, .18);
	transition: transform .25s ease, box-shadow .25s ease;
}

	.sa-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 24px 48px -16px rgba(44, 62, 80, .28);
	}

.sa-card__icon {
	background: linear-gradient(135deg, #00C7E2 0%, #0BC5EA 55%, #2C3E50 160%);
	box-shadow: 0 8px 18px -6px rgba(0, 199, 226, .6);
}

	.sa-card__icon i {
		color: #fff;
	}

.sa-hero-sell {
	background:
		radial-gradient(900px 500px at 85% 20%, rgba(0, 199, 226, .28) 0%, rgba(0, 199, 226, 0) 60%),
		radial-gradient(700px 400px at 0% 100%, rgba(11, 197, 234, .16) 0%, rgba(11, 197, 234, 0) 60%),
		linear-gradient(160deg, #2C3E50 0%, #22313f 100%);
}

	.sa-hero-sell::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: radial-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px);
		background-size: 22px 22px;
		mask-image: linear-gradient(180deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, 0));
		-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, 0));
		pointer-events: none;
	}

	.sa-hero-sell .sa-container {
		position: relative;
		z-index: 1;
	}

.sa-panel--navy {
	background:
		radial-gradient(600px 400px at 100% 0%, rgba(0, 199, 226, .22) 0%, rgba(0, 199, 226, 0) 60%),
		linear-gradient(160deg, #2C3E50 0%, #22313f 100%);
	box-shadow: 0 30px 60px -30px rgba(44, 62, 80, .6);
}

.sa-panel--tint {
	background: linear-gradient(135deg, rgba(0, 199, 226, .16) 0%, rgba(11, 197, 234, .06) 100%);
	border: 1px solid rgba(0, 199, 226, .25);
}

.sa-band-cyan {
	background: linear-gradient(120deg, #00C7E2 0%, #0BC5EA 100%);
}

.sa-hero-media {
	background:
		radial-gradient(500px 300px at 50% 100%, rgba(0, 199, 226, .22) 0%, rgba(0, 199, 226, 0) 70%),
		linear-gradient(180deg, #f6f9fb 0%, #e9f1f5 100%);
	box-shadow: inset 0 0 0 1px rgba(44, 62, 80, .06);
}

	.sa-hero-media img {
		filter: drop-shadow(0 24px 30px rgba(44, 62, 80, .25));
	}

.sa-media {
	box-shadow: 0 30px 60px -24px rgba(44, 62, 80, .45);
	border: 6px solid #fff;
}

.sa-card--elevated {
	box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 24px 48px -16px rgba(44, 62, 80, .25);
}

.sa-trust__bar {
	box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 24px 48px -20px rgba(44, 62, 80, .35);
}

.sa-btn--dark {
	box-shadow: 0 6px 16px -4px rgba(44, 62, 80, .55);
}

.sa-steps li::before {
	box-shadow: 0 8px 18px -6px rgba(0, 199, 226, .7);
}

.sa-stat {
	padding: 8px;
}

	.sa-stat + .sa-stat {
		border-left: 1px solid rgba(44, 62, 80, .18);
	}

@media (max-width: 767.98px) {
	.sa-stat + .sa-stat {
		border-left: 0;
	}
}

.faq-section {
	background: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.sa-card, .sa-btn {
		transition: none;
	}

		.sa-card:hover, .sa-btn:hover {
			transform: none;
		}
}

.sa-hero-form h2,
.sa-hero-form label {
	color: var(--sa-text) !important;
}

.sa-section + .pricing-section {
	padding-top: 0 !important;
}

/* ===== Accessibility fixes from the UI/UX audit (WCAG AA) ===== */
:root {
	/* Brand cyan tuned for text on light backgrounds: 5.2:1 on white (small text). */
	--sa-cyan-ink: #00788A;
	/* Brand cyan tuned for large text and icons on light backgrounds: 3.2:1 on white. */
	--sa-cyan-large: #009DB5;
}

.sa-eyebrow {
	color: var(--sa-cyan-ink);
}

.sa-display .sa-accent {
	color: var(--sa-cyan-large);
}

/* On dark surfaces the original brand cyan already passes (5.5:1 on navy). */
.sa-band-navy .sa-eyebrow,
.sa-panel--navy .sa-eyebrow,
.sa-hero-sell .sa-eyebrow,
.sa-hero-sell .sa-display .sa-accent {
	color: var(--sa-cyan);
}

/* Cyan buttons: navy label instead of white (5.5:1 instead of 2.1:1). */
.sa-btn--cyan,
.sa-body .btn-primary,
.sa-body .sticky-phone-btn .btn {
	color: var(--sa-navy) !important;
}

.sa-list li::before {
	background-color: var(--sa-cyan-large);
}

.sa-steps li::before {
	color: var(--sa-navy);
}

.sa-trust__item i {
	color: var(--sa-cyan-large);
}

/* Touch targets >= 44px in the footer. */
.site-footer li {
	margin-bottom: 0;
}

	.site-footer li a,
	.site-footer a[href^="tel:"] {
		display: inline-block;
		padding: 10px 0;
	}

/* Visible keyboard focus everywhere. */
.sa-body a:focus-visible,
.sa-body button:focus-visible,
.sa-body .nav-link:focus-visible,
.sa-body .accordion-button:focus-visible {
	outline: 3px solid var(--sa-cyan);
	outline-offset: 2px;
	box-shadow: none;
}

.sa-body .form-control {
	min-height: 48px;
}

.sa-body main img {
	max-width: 100%;
	height: auto;
}

/* ===== Photo slots (Development only placeholders) ===== */
.sa-photo-slot {
	margin: 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: repeating-linear-gradient(45deg, #f4f8fa, #f4f8fa 12px, #eaf2f6 12px, #eaf2f6 24px);
	border: 2px dashed var(--sa-cyan-large);
	border-radius: var(--sa-radius-media);
	box-shadow: none !important;
	min-height: 220px;
}

	.sa-photo-slot figcaption {
		max-width: 560px;
		font-size: .85rem;
		line-height: 1.5;
		color: var(--sa-text);
		text-align: left;
		background: rgba(255, 255, 255, .92);
		padding: 16px;
		border-radius: 12px;
	}

	.sa-photo-slot strong {
		display: block;
		font-family: Consolas, monospace;
		font-size: .8rem;
		margin: 6px 0;
		word-break: break-all;
	}

.sa-photo-slot__badge {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	font-weight: 700;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--sa-cyan-ink);
}

.sa-photo-slot__prompt {
	display: block;
	color: var(--sa-text-2);
}

/* ===== Product videos (replaced heavy GIFs) ===== */
.sa-video {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--sa-radius-media);
	background: #fff;
}

.sa-media .sa-video {
	border-radius: 0;
}

/* ===== Form feedback ===== */
.sa-required {
	color: #b42318;
	font-weight: 700;
}

.sa-field-error {
	color: #b42318;
	font-size: .875rem;
	font-weight: 500;
	margin-top: 6px;
}

	.sa-field-error:empty {
		display: none;
	}

.sa-body .form-control.is-invalid {
	border-color: #b42318;
	box-shadow: 0 0 0 3px rgba(180, 35, 24, .12);
	background-image: none;
	padding-right: 14px;
}

.sa-form [type="submit"][disabled] {
	opacity: .75;
	cursor: progress;
	transform: none;
}

/* ===== Inner page hero on the brand navy band ===== */
.sa-hero-inner {
	position: relative;
	margin-top: calc(-1 * (var(--sa-header-h) + 28px));
	padding-top: calc(var(--sa-header-h) + 92px) !important;
	padding-bottom: 80px !important;
	overflow: hidden;
	color: rgba(255, 255, 255, .86);
	background:
		radial-gradient(900px 500px at 85% 10%, rgba(0, 199, 226, .26) 0%, rgba(0, 199, 226, 0) 60%),
		radial-gradient(700px 400px at 0% 100%, rgba(11, 197, 234, .14) 0%, rgba(11, 197, 234, 0) 60%),
		linear-gradient(160deg, #2C3E50 0%, #22313f 100%);
}

	.sa-hero-inner::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: radial-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px);
		background-size: 22px 22px;
		mask-image: linear-gradient(180deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, 0));
		-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, 0));
		pointer-events: none;
	}

	.sa-hero-inner > .sa-container {
		position: relative;
		z-index: 1;
	}

	.sa-hero-inner h1,
	.sa-hero-inner h2,
	.sa-hero-inner h3,
	.sa-hero-inner .sa-display {
		color: #fff !important;
	}

	.sa-hero-inner .sa-display .sa-accent,
	.sa-hero-inner .sa-eyebrow {
		color: var(--sa-cyan) !important;
	}

	.sa-hero-inner p,
	.sa-hero-inner li,
	.sa-hero-inner .sa-lead {
		color: rgba(255, 255, 255, .86) !important;
	}

	.sa-hero-inner .sa-checks li {
		color: #fff !important;
	}

	.sa-hero-inner .sa-checks i {
		color: var(--sa-cyan) !important;
	}

	.sa-hero-inner a:not(.sa-btn) {
		color: #fff;
	}

	.sa-hero-inner .sa-btn--dark {
		background: var(--sa-cyan-strong);
		color: var(--sa-navy) !important;
		box-shadow: 0 6px 18px rgba(11, 197, 234, .35);
	}

	.sa-hero-inner .sa-btn--ghost {
		background: transparent;
		color: #fff !important;
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45);
	}

	.sa-hero-inner .sa-media,
	.sa-hero-inner .sa-photo-slot,
	.sa-hero-inner .sa-hero-media {
		margin-bottom: -140px;
		position: relative;
		z-index: 2;
	}

	.sa-hero-inner:has(.sa-media, .sa-photo-slot, .sa-hero-media) {
		padding-bottom: 0 !important;
		overflow: visible;
	}

		.sa-hero-inner:has(.sa-media, .sa-photo-slot, .sa-hero-media) + * {
			padding-top: calc(140px + var(--sa-section)) !important;
		}

/* ===== Home: problem / comparison / testimonials ===== */
.sa-pain {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.sa-pain__item {
	background: #fff;
	border-radius: var(--sa-radius-card);
	padding: 28px 24px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -12px rgba(44, 62, 80, .18);
	border-top: 4px solid var(--sa-cyan);
}

.sa-pain__value {
	display: block;
	font-size: clamp(2.25rem, 4vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--sa-navy);
	line-height: 1;
	margin-bottom: 12px;
}

.sa-source {
	font-size: .85rem;
	color: var(--sa-text-2);
	margin-top: 16px;
	text-align: center;
}

@media (max-width: 767.98px) {
	.sa-pain {
		grid-template-columns: 1fr;
	}
}

.sa-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.sa-compare__col {
	border-radius: var(--sa-radius-media);
	padding: 32px;
}

.sa-compare__col--before {
	background: #fff;
	border: 1px solid var(--sa-hairline);
}

.sa-compare__col--after {
	background: linear-gradient(160deg, #2C3E50 0%, #22313f 100%);
	color: rgba(255, 255, 255, .88);
	box-shadow: 0 30px 60px -30px rgba(44, 62, 80, .6);
}

	.sa-compare__col--after h3 {
		color: #fff;
	}

.sa-compare__col h3 {
	font-size: 1.35rem;
	font-weight: 700;
	margin-bottom: 20px;
}

.sa-compare__col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sa-compare__col li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 10px 0;
	border-bottom: 1px solid rgba(44, 62, 80, .08);
}

.sa-compare__col--after li {
	border-bottom-color: rgba(255, 255, 255, .1);
}

.sa-compare__col li:last-child {
	border-bottom: 0;
}

.sa-compare__col--before i {
	color: #b42318;
}

.sa-compare__col--after i {
	color: var(--sa-cyan);
}

@media (max-width: 767.98px) {
	.sa-compare {
		grid-template-columns: 1fr;
	}
}

.sa-industry-card {
	display: block;
	height: 100%;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border-radius: var(--sa-radius-card);
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -12px rgba(44, 62, 80, .18);
	transition: transform .25s ease, box-shadow .25s ease;
}

	.sa-industry-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 24px 48px -16px rgba(44, 62, 80, .28);
		color: inherit;
	}

	.sa-industry-card .sa-media,
	.sa-industry-card .sa-photo-slot {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		min-height: 0;
	}

	.sa-industry-card__body {
		padding: 20px 24px 24px;
	}

		.sa-industry-card__body h3 {
			font-size: 1.2rem;
			font-weight: 700;
			margin: 0 0 6px;
		}

		.sa-industry-card__body span {
			font-weight: 600;
			color: var(--sa-cyan-ink);
		}

.sa-testimonial-slot {
	border: 2px dashed var(--sa-cyan-large);
	border-radius: var(--sa-radius-media);
	padding: 24px;
	background: #fff;
	font-size: .9rem;
}

.sa-industry-card .sa-photo-slot {
	padding: 12px;
}

	.sa-industry-card .sa-photo-slot .sa-photo-slot__prompt {
		display: none;
	}

/* ===== Testimonials ===== */
.sa-testimonial {
	display: flex;
	flex-direction: column;
}

.sa-testimonial__stars {
	color: #F5A623;
	letter-spacing: 2px;
	margin-bottom: 12px;
}

.sa-testimonial__quote {
	flex: 1;
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--sa-text);
	margin: 0 0 20px;
}

.sa-testimonial__author {
	display: flex;
	align-items: center;
	gap: 12px;
	line-height: 1.3;
}

	.sa-testimonial__author small {
		color: var(--sa-text-2);
	}

.sa-testimonial__avatar {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 888px;
	background: linear-gradient(135deg, #00C7E2 0%, #2C3E50 140%);
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ===== Legal pages ===== */
.sa-legal h2 {
	font-size: 1.35rem;
	font-weight: 700;
	margin: 36px 0 12px;
}

.sa-legal p,
.sa-legal li {
	line-height: 1.7;
}

.sa-legal ul {
	padding-left: 1.2rem;
}

/* ===== Hero background photo under the brand navy overlay ===== */
.sa-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center right;
}

	.sa-hero-bg::after {
		content: "";
		position: absolute;
		inset: 0;
		background:
			linear-gradient(90deg, rgba(34, 49, 63, .96) 0%, rgba(34, 49, 63, .90) 38%, rgba(44, 62, 80, .62) 70%, rgba(44, 62, 80, .45) 100%),
			radial-gradient(700px 400px at 85% 15%, rgba(0, 199, 226, .25) 0%, rgba(0, 199, 226, 0) 60%);
	}

@media (max-width: 991.98px) {
	.sa-hero-bg::after {
		background: linear-gradient(180deg, rgba(34, 49, 63, .93) 0%, rgba(34, 49, 63, .88) 100%);
	}
}

.sa-hero-sell .sa-lead {
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	max-width: 520px;
}

.sa-hero-bg-note {
	position: absolute;
	left: 16px;
	bottom: 56px;
	z-index: 3;
	max-width: 420px;
	background: rgba(255, 255, 255, .95);
	color: var(--sa-text);
	border: 2px dashed var(--sa-cyan-large);
	border-radius: 12px;
	padding: 8px 12px;
	font-size: .8rem;
}

	.sa-hero-bg-note summary {
		cursor: pointer;
		font-weight: 700;
		color: var(--sa-cyan-ink);
	}

	.sa-hero-bg-note p {
		margin: 8px 0 0;
		color: var(--sa-text-2) !important;
	}

/* ===== Symmetry pass ===== */
.sa-trust__bar {
	padding: 22px 8px;
	gap: 0;
}

.sa-trust__item {
	justify-content: center;
	text-align: left;
	white-space: nowrap;
	padding: 0 12px;
}

	.sa-trust__item + .sa-trust__item {
		border-left: 1px solid var(--sa-hairline);
	}

@media (max-width: 991.98px) {
	.sa-trust__bar {
		row-gap: 16px;
	}

	.sa-trust__item:nth-child(3) {
		border-left: 0;
	}
}

@media (max-width: 575.98px) {
	.sa-trust__item {
		border-left: 0 !important;
		justify-content: flex-start;
		padding: 0 16px;
	}
}

.sa-pain__item {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.sa-card--center {
	text-align: center;
}

	.sa-card--center .sa-card__icon {
		margin: 0 auto;
	}

/* ===== Dropdown contrast fix: always a solid surface ===== */
.sa-header__pill .dropdown-menu {
	background-color: #fff !important;
	--bs-dropdown-bg: #fff;
	--bs-dropdown-link-color: var(--sa-navy);
	--bs-dropdown-link-hover-color: var(--sa-navy);
	--bs-dropdown-link-active-color: var(--sa-navy);
	--bs-dropdown-link-active-bg: var(--sa-tint);
	min-width: 280px;
	opacity: 1;
}

	.sa-header__pill .dropdown-menu .dropdown-item {
		color: var(--sa-navy) !important;
		font-weight: 500;
		white-space: normal;
	}

		.sa-header__pill .dropdown-menu .dropdown-item:hover,
		.sa-header__pill .dropdown-menu .dropdown-item:focus,
		.sa-header__pill .dropdown-menu .dropdown-item:active {
			background-color: #e6f9fc !important;
			color: var(--sa-navy) !important;
		}

@media (max-width: 991.98px) {
	.sa-header__pill .dropdown-menu {
		background-color: #f3f6f8 !important;
		border: 0;
		box-shadow: none;
		min-width: 0;
	}
}

/* Keep nav labels on one line on medium screens. */
.sa-header__pill .nav-link {
	white-space: nowrap;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.sa-header__pill .nav-link {
		padding: 8px 9px !important;
		font-size: .88rem;
	}

	.sa-header__pill .navbar-brand img {
		height: 38px;
	}
}

.sa-hero-inner .sa-lead {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.sa-hero-inner .sa-checks {
	margin-top: 20px;
}

.site-footer li a,
.site-footer a[href^="tel:"] {
	padding: 11px 0;
}

/* ===== Inner hero: two columns, full-bleed photo (no frame) + security badges ===== */
.sa-hero-split {
	text-align: left !important;
	min-height: 600px;
	display: flex;
	align-items: center;
	padding-bottom: 96px !important;
}

	.sa-hero-split > .sa-container {
		position: relative;
		z-index: 2;
	}

.sa-hero-split__text {
	max-width: 560px;
}

	.sa-hero-split__text .sa-display {
		font-size: clamp(2.1rem, 4vw, 3.4rem);
	}

	.sa-hero-split__text .sa-lead {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.sa-hero-split__text .sa-checks,
	.sa-hero-split__text .sa-btn-row {
		justify-content: flex-start;
	}

.sa-hero-split__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 52%;
	z-index: 1;
	clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}

	.sa-hero-split__media .sa-hero-bg {
		background-position: center;
	}

		.sa-hero-split__media .sa-hero-bg::after {
			background:
				linear-gradient(90deg, rgba(34, 49, 63, .85) 0%, rgba(34, 49, 63, .25) 30%, rgba(34, 49, 63, 0) 55%),
				linear-gradient(0deg, rgba(34, 49, 63, .55) 0%, rgba(34, 49, 63, 0) 40%);
		}

	.sa-hero-split__media .sa-hero-bg-note {
		left: auto;
		right: 16px;
		bottom: 16px;
	}

.sa-hero-badge {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: 14px;
	color: #fff;
	font-weight: 600;
	font-size: .92rem;
	background: rgba(34, 49, 63, .55);
	border: 1px solid rgba(255, 255, 255, .22);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
}

	.sa-hero-badge i {
		width: 34px;
		height: 34px;
		border-radius: 888px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: var(--sa-cyan);
		color: var(--sa-navy);
		font-size: 1rem;
	}

.sa-hero-badge--a {
	left: 22%;
	bottom: 18%;
}

.sa-hero-badge--b {
	right: 8%;
	top: 30%;
}

@media (max-width: 991.98px) {
	.sa-hero-split {
		display: block;
		min-height: 0;
		padding-bottom: 0 !important;
	}

	.sa-hero-split__text {
		max-width: none;
	}

	.sa-hero-split__media {
		position: relative;
		width: auto;
		height: 300px;
		margin: 40px 0 0;
		clip-path: none;
	}

		.sa-hero-split__media .sa-hero-bg::after {
			background: linear-gradient(180deg, rgba(34, 49, 63, .9) 0%, rgba(34, 49, 63, .1) 35%, rgba(34, 49, 63, 0) 100%);
		}

	.sa-hero-badge--a {
		left: 16px;
		bottom: 16px;
	}

	.sa-hero-badge--b {
		right: 16px;
		top: auto;
		bottom: 76px;
	}
}

.sa-hero-split__text .sa-checks {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

/* Home hero: mirror the background photo so the person sits between the text and the form.
   The overlay flips with it, so its gradient direction is reversed (270deg renders as left-to-right). */
.sa-hero-sell .sa-hero-bg {
	transform: scaleX(-1);
	background-position: center;
}

	.sa-hero-sell .sa-hero-bg::after {
		background:
			linear-gradient(270deg, rgba(34, 49, 63, .95) 0%, rgba(34, 49, 63, .86) 28%, rgba(44, 62, 80, .50) 46%, rgba(44, 62, 80, .40) 62%, rgba(44, 62, 80, .55) 100%),
			radial-gradient(700px 400px at 15% 15%, rgba(0, 199, 226, .22) 0%, rgba(0, 199, 226, 0) 60%);
	}

@media (max-width: 991.98px) {
	.sa-hero-sell .sa-hero-bg::after {
		background: linear-gradient(180deg, rgba(34, 49, 63, .93) 0%, rgba(34, 49, 63, .88) 100%);
	}
}

/* ===== Contact / demo: steps + form ===== */
.sa-checks--start {
	justify-content: flex-start;
	gap: 10px 24px;
}

.sa-contact-section .sa-card--elevated {
	padding: 36px;
}

@media (max-width: 575.98px) {
	.sa-contact-section .sa-card--elevated {
		padding: 24px;
	}
}
