/* SFI Outlet current public visual layer. Loaded after the theme and platform plugin. */
:root {
	--sfi-navy: #041a2d;
	--sfi-navy-deep: #031a2c;
	--sfi-orange: #e65f2a;
	--sfi-ink: #142534;
	--sfi-muted: #5c6c79;
	--sfi-paper: #f8f8f7;
	--sfi-line: #e3e7e9;
	--sfi-white: #fff;
	--sfi-green: #16814b;
	--sfi-green-deep: #0c6237;
	--sfi-green-soft: #e9f6ee;
}

body {
	background: #fff;
	color: var(--sfi-ink);
	font-family: "Inter", system-ui, sans-serif;
}
.sfi-site-header,
.sfi-site-header button,
.sfi-site-header a,
.sfi-home,
.sfi-catalog-page,
.sfi-vehicle-page,
.sfi-static-page,
.sfi-blog-page,
.sfi-article-page,
.sfi-site-footer,
.sfi-mobile-whatsapp {
	font-family: "Inter", system-ui, sans-serif;
}
.sfi-section-heading h2,
.sfi-home h1,
.sfi-home h2,
.sfi-home h3,
.sfi-catalog-heading h1,
.sfi-vehicle-detail h1,
.sfi-vehicle-detail h2,
.sfi-vehicle-detail h3,
.sfi-promo-card h3,
.sfi-static-page h1,
.sfi-static-page h2,
.sfi-blog-hero h1,
.sfi-article h1,
.sfi-article__content h2,
.sfi-site-footer h2,
.sfi-brand__name,
.sfi-footer-brand {
	font-family: "Poppins", sans-serif;
}

/* White, compact brand header; the existing text wordmark stays the only mark. */
.sfi-site-header {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #edf0f2;
	box-shadow: 0 3px 14px rgba(3, 26, 44, .035);
	display: grid;
	gap: clamp(1rem, 3vw, 3rem);
	grid-template-columns: minmax(190px, auto) minmax(0, 1fr);
	min-height: 82px;
	padding: .65rem clamp(1rem, 5vw, 5rem);
	position: relative;
	z-index: 20;
}
.sfi-brand {
	align-items: flex-start;
	color: var(--sfi-navy);
	display: flex;
	flex-direction: column;
	gap: .05rem;
	letter-spacing: 0;
	line-height: 1;
	text-decoration: none;
}
.sfi-brand__name {
	align-items: baseline;
	display: flex;
	gap: .32rem;
	letter-spacing: -.045em;
}
.sfi-brand__mark {
	color: var(--sfi-navy);
	font-size: 1.72rem;
	font-weight: 800;
	letter-spacing: -.085em;
}
.sfi-brand__outlet {
	color: var(--sfi-orange);
	font-size: .89rem;
	font-weight: 700;
	letter-spacing: .005em;
}
.sfi-brand__tagline {
	color: #5c6c79;
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .005em;
	line-height: 1.4;
}
.sfi-site-nav {
	align-items: center;
	display: flex;
	justify-content: flex-end;
}
.sfi-site-nav ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(.85rem, 2vw, 1.8rem);
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}
.sfi-site-nav a {
	color: #293d4c;
	font-size: .86rem;
	font-weight: 650;
	text-decoration: none;
	transition: color .18s ease;
}
.sfi-site-nav a:hover,
.sfi-site-nav a:focus-visible {
	color: var(--sfi-orange);
}
.sfi-site-nav .sfi-site-nav__account a {
	color: var(--sfi-navy);
	font-weight: 800;
}
.sfi-site-nav .sfi-site-nav__logout a,
.sfi-site-nav .sfi-site-nav__register a {
	color: #526473;
	font-size: .8rem;
}
.sfi-mobile-menu-toggle {
	background: var(--sfi-navy);
	border: 0;
	border-radius: .65rem;
	color: #fff;
	cursor: pointer;
}
.sfi-mobile-menu-toggle:focus-visible,
.sfi-site-nav a:focus-visible {
	outline: 3px solid rgba(230, 95, 42, .32);
	outline-offset: 3px;
}
.sfi-skip-link:focus {
	background: var(--sfi-orange);
}

/* Wide vehicle-first carousel. Desktop crops only to the near-16:9 hero frame. */
.sfi-hero-carousel {
	background: var(--sfi-navy-deep);
	min-height: clamp(500px, 49vw, 660px);
	overflow: hidden;
	position: relative;
}
.sfi-hero-carousel__track {
	min-height: inherit;
}
.sfi-hero-carousel .sfi-hero-slide {
	align-items: center;
	background: var(--sfi-navy-deep);
	display: flex;
	flex: 0 0 100%;
	isolation: isolate;
	min-height: clamp(500px, 49vw, 660px);
	overflow: hidden;
	padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 8vw, 8rem) 6rem;
	position: relative;
}
.sfi-hero-slide__visual {
	align-items: center;
	align-self: auto;
	display: flex;
	inset: 0;
	justify-content: center;
	max-height: none;
	min-height: 0;
	position: absolute;
	z-index: 0;
}
.sfi-hero-slide__visual::after {
	display: none;
}
.sfi-hero-slide__image {
	display: block;
	height: 100%;
	max-height: none;
	object-fit: contain;
	object-position: right center;
	padding: 0;
	width: 100%;
}
.sfi-hero-slide__overlay {
	background:
		linear-gradient(90deg, rgba(3, 26, 44, .98) 0%, rgba(3, 26, 44, .91) 32%, rgba(3, 26, 44, .55) 60%, rgba(3, 26, 44, .13) 100%),
		linear-gradient(0deg, rgba(3, 26, 44, .23), transparent 54%);
	inset: 0;
	position: absolute;
	z-index: 1;
}
.sfi-hero-slide__content {
	align-self: center;
	color: #fff;
	max-width: 47rem;
	position: relative;
	width: min(62%, 47rem);
	z-index: 2;
}
.sfi-hero-slide__content .sfi-eyebrow {
	color: #ffb28e;
	font-size: .73rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.sfi-hero-slide h1 {
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: clamp(2.25rem, 4vw, 3.75rem);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: 1.05;
	margin: .45rem 0 .85rem;
	max-width: 12ch;
}
.sfi-hero-slide__vehicle {
	color: #fff;
	font-size: 1rem;
	font-weight: 750;
	margin: .9rem 0 .35rem;
}
.sfi-hero-slide__content > p:not(.sfi-eyebrow):not(.sfi-hero-slide__vehicle) {
	color: #e3edf3;
	font-size: 1rem;
	line-height: 1.6;
	max-width: 36rem;
}
.sfi-hero-slide .sfi-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	margin-top: 1.5rem;
}
.sfi-hero-slide .sfi-button--primary {
	background: var(--sfi-orange);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}
.sfi-hero-slide .sfi-button--secondary {
	background: rgba(3, 26, 44, .35);
	border: 1px solid rgba(255, 255, 255, .68);
	border-radius: .72rem;
	color: #fff;
}
.sfi-hero-slide__visual > .sfi-vehicle-status {
	position: absolute;
	right: clamp(1rem, 3vw, 2.5rem);
	top: clamp(1rem, 3vw, 2rem);
	z-index: 3;
}
.sfi-hero-carousel__controls {
	align-items: center;
	bottom: 3.5rem;
	display: flex;
	gap: .65rem;
	left: clamp(1.25rem, 8vw, 8rem);
	position: absolute;
	transform: none;
	z-index: 4;
}
.sfi-hero-carousel__arrow,
.sfi-hero-carousel__pause {
	align-items: center;
	background: rgba(255, 255, 255, .13);
	border: 1px solid rgba(255, 255, 255, .56);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: .95rem;
	font-weight: 800;
	height: 2.55rem;
	justify-content: center;
	min-width: 2.55rem;
	padding: 0 .7rem;
	transition: background .18s ease, transform .18s ease;
}
.sfi-hero-carousel__pause {
	font-size: .72rem;
	min-width: auto;
}
.sfi-hero-carousel__arrow:hover,
.sfi-hero-carousel__pause:hover,
.sfi-hero-carousel__arrow:focus-visible,
.sfi-hero-carousel__pause:focus-visible {
	background: var(--sfi-orange);
	outline: 3px solid rgba(230, 95, 42, .28);
	outline-offset: 2px;
}
.sfi-hero-carousel__dots {
	align-items: center;
	display: flex;
	gap: .42rem;
}
.sfi-hero-carousel__dots button {
	background: rgba(255, 255, 255, .48);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: .48rem;
	padding: 0;
	transition: background .2s ease, width .2s ease;
	width: .48rem;
}
.sfi-hero-carousel__dots button[aria-selected="true"] {
	background: var(--sfi-orange);
	width: 1.45rem;
}
.sfi-hero-carousel__dots button:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* Home search and compact, exact-message promotion shortcuts. */
.sfi-home-search {
	align-items: center;
	background: #fff;
	border: 1px solid var(--sfi-line);
	border-radius: 1rem;
	box-shadow: 0 16px 42px rgba(3, 26, 44, .09);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(210px, .75fr) minmax(0, 1.8fr);
	margin: -2.15rem auto 0;
	max-width: 1210px;
	padding: 1.2rem clamp(1rem, 2.8vw, 2rem);
	position: relative;
	width: calc(100% - 2rem);
	z-index: 5;
}
.sfi-home-search__intro .sfi-eyebrow,
.sfi-section-heading .sfi-eyebrow,
.sfi-home .sfi-eyebrow,
.sfi-finance-callout .sfi-eyebrow {
	color: var(--sfi-orange);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .11em;
	margin: 0 0 .42rem;
	text-transform: uppercase;
}
.sfi-home-search__intro h2 {
	color: var(--sfi-navy);
	font-size: 1.28rem;
	letter-spacing: -.035em;
	line-height: 1.18;
	margin: 0;
}
.sfi-home-search__form {
	align-items: end;
	display: grid;
	gap: .65rem;
	grid-template-columns: minmax(130px, .8fr) minmax(170px, 1.2fr) auto;
}
.sfi-home-search__form label,
.sfi-catalog-filter label {
	color: #40515e;
	display: block;
	font-size: .72rem;
	font-weight: 750;
	min-width: 0;
}
.sfi-home-search__form input,
.sfi-home-search__form select,
.sfi-catalog-filter input:not([type="checkbox"]),
.sfi-catalog-filter select {
	background: #fff;
	border: 1px solid #d9e0e4;
	border-radius: .58rem;
	color: var(--sfi-ink);
	display: block;
	font: inherit;
	font-size: .84rem;
	margin-top: .38rem;
	min-height: 2.85rem;
	padding: .66rem .75rem;
	width: 100%;
}
.sfi-home-search__form input:focus,
.sfi-home-search__form select:focus,
.sfi-catalog-filter input:focus,
.sfi-catalog-filter select:focus {
	border-color: var(--sfi-orange);
	box-shadow: 0 0 0 3px rgba(230, 95, 42, .13);
	outline: none;
}
.sfi-home-search__form .sfi-button {
	min-height: 2.85rem;
	padding: .72rem .95rem;
	white-space: nowrap;
}
.sfi-home-promotions,
.sfi-how-it-works {
	margin: 0 auto;
	max-width: 1320px;
	padding: clamp(3.6rem, 6vw, 5.8rem) clamp(1rem, 4vw, 3rem);
}
.sfi-home-promotions .sfi-section-heading h2,
.sfi-how-it-works .sfi-section-heading h2 {
	color: var(--sfi-navy);
	font-size: clamp(1.9rem, 3.3vw, 2.65rem);
	letter-spacing: -.045em;
	line-height: 1.12;
	margin: 0;
	max-width: 43rem;
}
.sfi-home-promotions__grid {
	display: grid;
	gap: .85rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 1.65rem;
}
.sfi-home-promotion-card {
	background: #fff;
	border: 1px solid var(--sfi-line);
	border-radius: .9rem;
	box-shadow: 0 7px 22px rgba(3, 26, 44, .045);
	display: flex;
	flex-direction: column;
	min-height: 174px;
	padding: 1rem 1.05rem .95rem;
	text-decoration: none;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.sfi-home-promotion-card:hover,
.sfi-home-promotion-card:focus-visible {
	border-color: rgba(230, 95, 42, .62);
	box-shadow: 0 14px 28px rgba(3, 26, 44, .09);
	outline: none;
	transform: translateY(-2px);
}
.sfi-home-promotion-card__index {
	color: var(--sfi-orange);
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .1em;
}
.sfi-home-promotion-card h3 {
	color: var(--sfi-navy);
	font-size: .94rem;
	font-weight: 650;
	letter-spacing: -.02em;
	line-height: 1.32;
	margin: .72rem 0 .85rem;
}
.sfi-home-promotion-card__link {
	color: var(--sfi-navy);
	font-size: .72rem;
	font-weight: 800;
	margin-top: auto;
}
.sfi-home-promotion-card__link span {
	color: var(--sfi-orange);
	margin-left: .18rem;
}
.sfi-home-featured {
	background: var(--sfi-paper);
	padding: 0 clamp(1rem, 4vw, 3rem) .5rem;
}
.sfi-home-featured .sfi-rail {
	margin: 0 auto 2rem;
	max-width: 1260px;
	padding: 2.8rem 0 1.4rem;
}

/* Buyer/seller journeys and the three factual, non-promissory steps. */
.sfi-how-it-works {
	padding-bottom: clamp(3.5rem, 6vw, 5rem);
}
.sfi-how-it-works .sfi-section-heading > p:not(.sfi-eyebrow) {
	color: var(--sfi-muted);
	font-size: .94rem;
	line-height: 1.65;
	margin: .85rem 0 0;
	max-width: 48rem;
}
.sfi-how-it-works__audiences {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1.8rem;
}
.sfi-home-audience {
	background: var(--sfi-navy);
	border-radius: 1rem;
	color: #fff;
	min-height: 210px;
	padding: clamp(1.2rem, 2.5vw, 2rem);
}
.sfi-home-audience--seller {
	background: #f1f3f3;
	color: var(--sfi-ink);
}
.sfi-home-audience__label {
	color: #ffb28e;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.sfi-home-audience--seller .sfi-home-audience__label {
	color: var(--sfi-orange);
}
.sfi-home-audience h3 {
	font-size: 1.24rem;
	letter-spacing: -.035em;
	line-height: 1.2;
	margin: .7rem 0 .5rem;
	max-width: 25rem;
}
.sfi-home-audience p {
	color: #d7e2e9;
	font-size: .84rem;
	line-height: 1.6;
	margin: 0;
	max-width: 38rem;
}
.sfi-home-audience--seller p {
	color: var(--sfi-muted);
}
.sfi-home-audience a {
	color: #fff;
	display: inline-block;
	font-size: .78rem;
	font-weight: 800;
	margin-top: 1rem;
	text-decoration: none;
}
.sfi-home-audience--seller a {
	color: var(--sfi-navy);
}
.sfi-home-audience a span {
	color: #ffb28e;
	margin-left: .2rem;
}
.sfi-home-audience--seller a span {
	color: var(--sfi-orange);
}
.sfi-home-process {
	counter-reset: sfi-process;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
}
.sfi-home-process li {
	border-top: 2px solid var(--sfi-orange);
	padding: .9rem .2rem 0;
}
.sfi-home-process__number {
	color: var(--sfi-orange);
	font-size: .68rem;
	font-weight: 850;
	letter-spacing: .08em;
}
.sfi-home-process h3 {
	color: var(--sfi-navy);
	font-size: 1rem;
	margin: .45rem 0 .35rem;
}
.sfi-home-process p {
	color: var(--sfi-muted);
	font-size: .81rem;
	line-height: 1.6;
	margin: 0;
}
.sfi-finance-callout {
	align-items: center;
	background: #f0f2f2;
	gap: 2rem;
	padding: clamp(2.5rem, 5.5vw, 4.6rem) clamp(1rem, 8vw, 8rem);
}
.sfi-finance-callout h2 {
	color: var(--sfi-navy);
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	letter-spacing: -.045em;
	line-height: 1.13;
	margin: .3rem 0 .7rem;
	max-width: 37rem;
}
.sfi-finance-callout p:not(.sfi-eyebrow) {
	color: var(--sfi-muted);
	font-size: .9rem;
	line-height: 1.65;
	max-width: 40rem;
}
.sfi-finance-callout__actions {
	flex: 0 0 auto;
}
.sfi-button--primary {
	background: var(--sfi-orange);
}
.sfi-button--secondary-dark {
	border-color: rgba(4, 26, 45, .38);
	color: var(--sfi-navy);
}

/* Clearer catalog filters and tabs, including the new parent template fields. */
.sfi-catalog-page {
	background: #fff;
	max-width: 1440px;
	padding-bottom: clamp(3rem, 6vw, 5.5rem);
	padding-top: clamp(2.5rem, 5vw, 4.5rem);
}
.sfi-catalog-heading {
	max-width: 54rem;
}
.sfi-catalog-heading h1 {
	font-size: clamp(2rem, 4.4vw, 3.4rem);
	letter-spacing: -.055em;
	line-height: 1.05;
}
.sfi-catalog-heading > p:not(.sfi-eyebrow) {
	font-size: .95rem;
	max-width: 45rem;
}
.sfi-catalog-page .sfi-eyebrow {
	color: var(--sfi-orange);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.sfi-catalog-promotion-tabs {
	border-bottom: 1px solid var(--sfi-line);
	display: flex;
	gap: .45rem;
	margin: 1.6rem 0 0;
	overflow-x: auto;
	padding: .15rem .05rem .75rem;
	scrollbar-width: thin;
}
.sfi-catalog-promotion-tabs a,
.sfi-catalog-promotion-tabs button {
	background: #fff;
	border: 1px solid #dce2e5;
	border-radius: 999px;
	color: #3d4e5b;
	cursor: pointer;
	flex: 0 0 auto;
	font: inherit;
	font-size: .74rem;
	font-weight: 750;
	padding: .58rem .85rem;
	text-decoration: none;
}
.sfi-catalog-promotion-tabs .is-active,
.sfi-catalog-promotion-tabs [aria-current="page"],
.sfi-catalog-promotion-tabs [aria-pressed="true"] {
	background: var(--sfi-navy);
	border-color: var(--sfi-navy);
	color: #fff;
}
.sfi-catalog-filter {
	align-items: end;
	background: var(--sfi-paper);
	border: 1px solid #e5e8e8;
	border-radius: .9rem;
	display: grid;
	gap: .8rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr));
	margin: 1.3rem 0 1.6rem;
	padding: 1rem;
}
.sfi-catalog-filter label {
	font-size: .68rem;
}
.sfi-catalog-filter input:not([type="checkbox"]),
.sfi-catalog-filter select {
	min-height: 2.65rem;
}
.sfi-catalog-filter .sfi-button {
	min-height: 2.65rem;
	padding: .65rem .9rem;
	white-space: nowrap;
}
.sfi-filter-reset {
	align-self: center;
	color: var(--sfi-navy);
	font-size: .77rem;
	font-weight: 750;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.sfi-catalog-grid,
.sfi-similar-vehicles__grid {
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sfi-empty-state {
	background: var(--sfi-paper);
	border: 1px solid var(--sfi-line);
	border-radius: .9rem;
	color: var(--sfi-ink);
}

/* Vehicle cards keep the whole supplied photograph visible; offer is the lead. */
.sfi-promo-card {
	background: #fff;
	border: 1px solid #e4e8e9;
	border-radius: .9rem;
	box-shadow: 0 7px 20px rgba(3, 26, 44, .055);
	min-width: 0;
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.sfi-promo-card:hover,
.sfi-promo-card:focus-within {
	border-color: #cad4da;
	box-shadow: 0 16px 32px rgba(3, 26, 44, .12);
	transform: translateY(-3px);
}
.sfi-promo-card__media {
	aspect-ratio: 16 / 10;
	background: #f1f2f1;
	border-bottom: 1px solid #ecefef;
}
.sfi-promo-card__image {
	background: transparent;
	height: 100%;
	max-height: none;
	object-fit: contain;
	object-position: center;
	padding: .55rem;
	width: 100%;
}
.sfi-promo-card__body {
	padding: .9rem .95rem 1rem;
}
.sfi-promo-card h3 {
	color: var(--sfi-navy);
	font-size: .9rem;
	font-weight: 650;
	line-height: 1.3;
	margin: 0 0 .42rem;
}
.sfi-promo-card__price {
	color: #687782;
	font-size: .78rem;
	font-weight: 650;
	line-height: 1.35;
	margin: 0;
}
.sfi-promo-card__price span {
	color: #7b878e;
	font-size: .67rem;
	font-weight: 550;
}
.sfi-promo-card__offer {
	background: var(--sfi-green-soft);
	border: 1px solid #c7ead4;
	border-left: 3px solid var(--sfi-green);
	border-radius: .42rem;
	color: var(--sfi-green-deep);
	font-size: .78rem;
	font-weight: 800;
	line-height: 1.35;
	margin: .68rem 0 0;
	padding: .56rem .65rem;
}
.sfi-promo-card__tag {
	background: var(--sfi-orange);
	font-size: .62rem;
	letter-spacing: .035em;
	padding: .36rem .55rem;
}
.sfi-promo-card .sfi-vehicle-status {
	font-size: .63rem;
}
.sfi-rail {
	margin: 0 auto 3rem;
	max-width: 1320px;
	padding: 2.3rem clamp(1rem, 4vw, 3rem) 1rem;
}
.sfi-rail__heading h2 {
	color: var(--sfi-navy);
	font-family: "Poppins", sans-serif;
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	letter-spacing: -.04em;
	line-height: 1.15;
}
.sfi-rail__heading > div:first-child > p:not(.sfi-eyebrow) {
	color: var(--sfi-muted);
	font-size: .82rem;
}
.sfi-rail__track {
	gap: .85rem;
	grid-auto-columns: minmax(236px, 280px);
	padding: .4rem .15rem 1.1rem;
}
.sfi-rail__control {
	background: #fff;
	border: 1px solid #dce3e6;
	border-radius: 50%;
	color: var(--sfi-navy);
}
.sfi-rail__all a {
	color: var(--sfi-navy);
	font-size: .79rem;
}

/* Compact vehicle summary: three spec tiles, green down-payment offer, quieter cash price. */
.sfi-vehicle-page {
	max-width: 1380px;
	padding-bottom: 3rem;
	padding-top: clamp(1.5rem, 4vw, 3.25rem);
}
.sfi-vehicle-detail {
	align-items: start;
	gap: clamp(1.25rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(310px, .9fr);
}
.sfi-vehicle-detail__media {
	background: #f1f2f1;
	border: 1px solid #eaeded;
	border-radius: 1rem;
}
.sfi-vehicle-gallery {
	aspect-ratio: 4 / 3;
	background: #f1f2f1;
}
.sfi-vehicle-gallery__track,
.sfi-vehicle-gallery__slide {
	min-height: 100%;
}
.sfi-vehicle-gallery__slide {
	padding: .65rem;
}
.sfi-vehicle-gallery__slide img {
	object-fit: contain;
	object-position: center;
}
.sfi-vehicle-gallery__arrow {
	background: rgba(3, 26, 44, .78);
	border-color: rgba(255, 255, 255, .82);
}
.sfi-vehicle-detail h1 {
	color: var(--sfi-navy);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	letter-spacing: -.045em;
	line-height: 1.13;
	margin: .2rem 0 .35rem;
}
.sfi-vehicle-detail__year-brand,
.sfi-vehicle-detail__location {
	color: var(--sfi-muted);
	font-size: .78rem;
	margin: .22rem 0;
}
.sfi-vehicle-detail__summary > .sfi-eyebrow {
	color: var(--sfi-orange);
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .1em;
	margin: 0 0 .55rem;
	text-transform: uppercase;
}
.sfi-spec-grid {
	gap: .55rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1rem;
}
.sfi-spec-grid > div {
	background: #fff;
	border: 1px solid #e4e9eb;
	border-radius: .65rem;
	min-width: 0;
	padding: .72rem .68rem;
}
.sfi-spec-grid dt {
	font-size: .59rem;
	letter-spacing: .04em;
}
.sfi-spec-grid dd {
	font-size: .75rem;
	line-height: 1.35;
	margin-top: .28rem;
	overflow-wrap: anywhere;
}
.sfi-vehicle-plan {
	background: var(--sfi-green-soft);
	border: 1px solid #c5e8d2;
	border-left: 4px solid var(--sfi-green);
	border-radius: .65rem;
	gap: .42rem;
	margin-top: .85rem;
	padding: .82rem .9rem;
}
.sfi-vehicle-plan strong {
	color: #406a50;
	font-size: .68rem;
	font-weight: 650;
}
.sfi-vehicle-plan span {
	color: var(--sfi-green-deep);
	font-size: 1rem;
	font-weight: 850;
	line-height: 1.3;
}
.sfi-vehicle-detail__price {
	color: #64737d;
	font-family: "Inter", system-ui, sans-serif;
	font-size: .84rem;
	font-weight: 600;
	margin: .8rem 0 .4rem;
}
.sfi-vehicle-detail__price span {
	color: #78858d;
	display: block;
	font-family: inherit;
	font-size: .67rem;
	font-weight: 600;
	margin-bottom: .13rem;
}
.sfi-vehicle-detail__price strong {
	font-size: .9rem;
	font-weight: 700;
}
.sfi-vehicle-contact-actions .sfi-button {
	font-size: .8rem;
	padding: .76rem .9rem;
}
.sfi-whatsapp-vehicle {
	background: var(--sfi-green-soft);
	border-color: #c7ead4;
	color: var(--sfi-green-deep);
}
.sfi-similar-vehicles {
	margin: 3rem auto 0;
	max-width: 1320px;
	padding: 0 clamp(1rem, 4vw, 3rem);
}
.sfi-similar-vehicles > h2 {
	color: var(--sfi-navy);
	font-family: "Poppins", sans-serif;
	font-size: 1.55rem;
}

/* Footer links stay within the existing public routes; no new contact/terms pages. */
.sfi-site-footer {
	background: var(--sfi-navy-deep);
	color: #d1dce3;
	font-size: .79rem;
	padding: 2.5rem clamp(1rem, 5vw, 5rem) 1.25rem;
}
.sfi-site-footer__inner {
	display: grid;
	gap: 1.6rem;
	grid-template-columns: minmax(210px, 1.55fr) repeat(3, minmax(120px, .8fr));
	margin: 0 auto;
	max-width: 1320px;
}
.sfi-site-footer__brand p {
	color: #afc0cb;
	font-size: .77rem;
	margin: .6rem 0 0;
}
.sfi-footer-brand {
	color: #fff;
	font-size: 1.15rem;
	font-weight: 750;
	letter-spacing: -.04em;
	text-decoration: none;
}
.sfi-footer-brand span {
	color: #ff9d72;
	font-weight: 850;
}
.sfi-site-footer__column h2 {
	color: #fff;
	font-size: .77rem;
	font-weight: 750;
	letter-spacing: .035em;
	margin: .1rem 0 .7rem;
}
.sfi-site-footer__column ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sfi-site-footer__column li + li {
	margin-top: .48rem;
}
.sfi-site-footer__column a {
	color: #c3d0d8;
	font-size: .73rem;
	text-decoration: none;
}
.sfi-site-footer__column a:hover,
.sfi-site-footer__column a:focus-visible {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.sfi-site-footer__legal {
	border-top: 1px solid rgba(255, 255, 255, .17);
	color: #aebdc7;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin: 1.8rem auto 0;
	max-width: 1320px;
	padding-top: .9rem;
}
.sfi-site-footer__legal p {
	font-size: .66rem;
	line-height: 1.5;
	margin: 0;
}

/* Existing WhatsApp helper/link and SVG are preserved; only its presentation changes. */
.sfi-mobile-whatsapp {
	align-items: center;
	background: #117644;
	border: 1px solid rgba(255, 255, 255, .52);
	border-radius: 999px;
	bottom: 1.2rem;
	box-shadow: 0 12px 30px rgba(3, 26, 44, .24);
	color: #fff;
	display: grid;
	gap: .48rem;
	grid-template-columns: auto auto;
	left: auto;
	max-width: max-content;
	padding: .52rem .88rem .52rem .55rem;
	position: fixed;
	right: 1.2rem;
	text-decoration: none;
	z-index: 45;
}
.sfi-mobile-whatsapp:hover,
.sfi-mobile-whatsapp:focus-visible {
	background: #0d6338;
	box-shadow: 0 16px 34px rgba(3, 26, 44, .3);
	outline: 3px solid rgba(37, 211, 102, .28);
	outline-offset: 2px;
	transform: translateY(-2px);
}
.sfi-mobile-whatsapp__icon {
	align-items: center;
	background: #25d366;
	border-radius: 50%;
	display: flex;
	height: 2.25rem;
	justify-content: center;
	width: 2.25rem;
}
.sfi-mobile-whatsapp strong {
	display: block;
	font-size: .73rem;
}
.sfi-mobile-whatsapp small,
.sfi-mobile-whatsapp__arrow {
	display: none;
}

@media (max-width: 1050px) {
	.sfi-site-header {
		gap: 1.1rem;
		grid-template-columns: minmax(170px, auto) minmax(0, 1fr);
		padding-left: 1.4rem;
		padding-right: 1.4rem;
	}
	.sfi-site-nav ul {
		gap: .95rem;
	}
	.sfi-site-nav a {
		font-size: .78rem;
	}
	.sfi-home-search {
		grid-template-columns: minmax(190px, .7fr) minmax(0, 1.5fr);
	}
	.sfi-home-promotions__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sfi-catalog-grid,
	.sfi-similar-vehicles__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sfi-vehicle-detail {
		grid-template-columns: minmax(0, 1fr) minmax(290px, .88fr);
	}
}

@media (max-width: 720px) {
	.sfi-site-header {
		background: rgba(255, 255, 255, .98);
		gap: .7rem;
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 68px;
		padding: .48rem 1rem;
		position: sticky;
		top: 0;
	}
	.sfi-brand__mark {
		font-size: 1.45rem;
	}
	.sfi-brand__outlet {
		font-size: .78rem;
	}
	.sfi-brand__tagline {
		font-size: .59rem;
	}
	.sfi-mobile-menu-toggle {
		align-items: center;
		border-radius: .6rem;
		display: flex;
		font-size: 1.12rem;
		height: 2.45rem;
		justify-content: center;
		width: 2.45rem;
	}
	.sfi-site-nav {
		background: #fff;
		border-bottom: 1px solid var(--sfi-line);
		box-shadow: 0 16px 30px rgba(3, 26, 44, .12);
		display: block;
		left: 0;
		max-height: 0;
		overflow: hidden;
		position: absolute;
		right: 0;
		top: 100%;
		transition: max-height .24s ease;
		z-index: 25;
	}
	.sfi-site-header.is-menu-open .sfi-site-nav {
		max-height: 26rem;
	}
	.sfi-site-nav ul {
		align-items: stretch;
		display: grid;
		gap: 0;
		grid-template-columns: 1fr;
		padding: .35rem 1rem .8rem;
	}
	.sfi-site-nav li {
		border-bottom: 1px solid #edf0f2;
	}
	.sfi-site-nav li:last-child {
		border-bottom: 0;
	}
	.sfi-site-nav a {
		display: block;
		font-size: .88rem;
		padding: .82rem .2rem;
	}
	.sfi-hero-carousel,
	.sfi-hero-carousel__track,
	.sfi-hero-carousel .sfi-hero-slide {
		min-height: 610px;
	}
	.sfi-hero-carousel .sfi-hero-slide {
		align-items: stretch;
		flex-direction: column;
		justify-content: flex-start;
		padding: 2rem 1.2rem 5.6rem;
	}
	.sfi-hero-slide__overlay {
		background: linear-gradient(180deg, rgba(3, 26, 44, .99) 0%, rgba(3, 26, 44, .95) 47%, rgba(3, 26, 44, .48) 100%);
	}
	.sfi-hero-slide__content {
		align-self: stretch;
		max-width: none;
		width: 100%;
	}
	.sfi-hero-slide h1 {
		font-size: clamp(2.25rem, 9vw, 3rem);
		max-width: 14ch;
	}
	.sfi-hero-slide__content > p:not(.sfi-eyebrow):not(.sfi-hero-slide__vehicle) {
		font-size: .89rem;
		line-height: 1.48;
	}
	.sfi-hero-slide__visual {
		align-items: flex-end;
		align-self: stretch;
		height: 218px;
		inset: auto;
		justify-content: center;
		margin: auto -1.2rem 0;
		max-height: 218px;
		min-height: 180px;
		position: relative;
		width: calc(100% + 2.4rem);
	}
	.sfi-hero-slide__image {
		object-fit: contain;
		object-position: center bottom;
		padding: 0 .5rem;
	}
	.sfi-hero-slide__visual > .sfi-vehicle-status {
		right: .8rem;
		top: .6rem;
	}
	.sfi-hero-carousel__controls {
		bottom: 2.2rem;
		gap: .48rem;
		left: 50%;
		transform: translateX(-50%);
		white-space: nowrap;
	}
	.sfi-hero-carousel__arrow,
	.sfi-hero-carousel__pause {
		height: 2.35rem;
		min-width: 2.35rem;
	}
	.sfi-home-search {
		gap: .75rem;
		grid-template-columns: 1fr;
		margin-top: -1rem;
		padding: 1rem;
		width: calc(100% - 1.25rem);
	}
	.sfi-home-search__form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sfi-home-search__form .sfi-button {
		grid-column: 1 / -1;
		width: 100%;
	}
	.sfi-home-promotions,
	.sfi-how-it-works {
		padding: 3.1rem 1rem;
	}
	.sfi-home-promotions__grid {
		gap: .65rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 1.2rem;
	}
	.sfi-home-promotion-card {
		min-height: 165px;
		padding: .85rem;
	}
	.sfi-home-promotion-card h3 {
		font-size: .83rem;
		line-height: 1.28;
	}
	.sfi-home-featured {
		padding: 0 .75rem .3rem;
	}
	.sfi-home-featured .sfi-rail {
		padding: 2.1rem 0 1rem;
	}
	.sfi-how-it-works__audiences {
		gap: .7rem;
		grid-template-columns: 1fr;
	}
	.sfi-home-audience {
		min-height: auto;
		padding: 1.2rem;
	}
	.sfi-home-process {
		gap: .9rem;
		grid-template-columns: 1fr;
		margin-top: 1.5rem;
	}
	.sfi-home-process li {
		padding: .7rem .2rem 0;
	}
	.sfi-finance-callout {
		align-items: stretch;
		flex-direction: column;
		padding: 2.8rem 1rem;
	}
	.sfi-finance-callout__actions {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
	}
	.sfi-finance-callout__actions .sfi-button {
		text-align: center;
	}
	.sfi-catalog-page,
	.sfi-vehicle-page,
	.sfi-static-page,
	.sfi-blog-page,
	.sfi-article-page {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.sfi-catalog-promotion-tabs {
		margin-left: -1rem;
		margin-right: -1rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.sfi-catalog-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: .8rem;
	}
	.sfi-catalog-filter .sfi-button,
	.sfi-catalog-filter .sfi-filter-reset {
		grid-column: 1 / -1;
		text-align: center;
	}
	.sfi-catalog-grid,
	.sfi-similar-vehicles__grid {
		gap: .7rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sfi-promo-card__media {
		aspect-ratio: 4 / 3;
	}
	.sfi-promo-card__image {
		padding: .35rem;
	}
	.sfi-promo-card__body {
		padding: .72rem .7rem .8rem;
	}
	.sfi-promo-card h3 {
		font-size: .8rem;
	}
	.sfi-promo-card__price {
		font-size: .7rem;
	}
	.sfi-promo-card__offer {
		font-size: .69rem;
		padding: .45rem .48rem;
	}
	.sfi-vehicle-detail,
	.sfi-vehicle-content {
		grid-template-columns: 1fr;
	}
	.sfi-vehicle-detail__media {
		border-radius: .85rem;
	}
	.sfi-vehicle-gallery {
		aspect-ratio: 4 / 3;
	}
	.sfi-vehicle-gallery__slide {
		padding: .25rem;
	}
	.sfi-vehicle-detail__summary {
		min-width: 0;
	}
	.sfi-vehicle-detail h1 {
		font-size: clamp(1.45rem, 6vw, 1.85rem);
	}
	.sfi-spec-grid {
		gap: .42rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.sfi-spec-grid > div {
		padding: .58rem .5rem;
	}
	.sfi-spec-grid dt {
		font-size: .54rem;
	}
	.sfi-spec-grid dd {
		font-size: .68rem;
	}
	.sfi-vehicle-plan span {
		font-size: .92rem;
	}
	.sfi-vehicle-detail__price {
		margin: .65rem 0 .35rem;
	}
	.sfi-vehicle-contact-actions {
		display: grid;
		grid-template-columns: 1fr;
	}
	.sfi-vehicle-contact-actions .sfi-button {
		text-align: center;
		width: 100%;
	}
	.sfi-site-footer {
		padding: 2rem 1rem 1rem;
	}
	.sfi-site-footer__inner {
		gap: 1.25rem .8rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sfi-site-footer__brand {
		grid-column: 1 / -1;
	}
	.sfi-site-footer__legal {
		align-items: flex-start;
		flex-direction: column;
		gap: .5rem;
		margin-top: 1.25rem;
	}
	.sfi-mobile-whatsapp {
		bottom: max(.72rem, env(safe-area-inset-bottom));
		gap: 0;
		grid-template-columns: auto;
		padding: .37rem;
		right: .72rem;
	}
	.sfi-mobile-whatsapp > span:nth-child(2) {
		display: none;
	}
	.sfi-mobile-whatsapp__icon {
		height: 2.45rem;
		width: 2.45rem;
	}
	.sfi-site-footer {
		padding-bottom: 5.5rem;
	}
}

@media (max-width: 390px) {
	.sfi-home-promotions__grid {
		grid-template-columns: 1fr;
	}
	.sfi-home-promotion-card {
		min-height: 0;
	}
	.sfi-catalog-grid,
	.sfi-similar-vehicles__grid {
		grid-template-columns: 1fr;
	}
	.sfi-promo-card__media {
		aspect-ratio: 16 / 10;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sfi-site-nav,
	.sfi-home-promotion-card,
	.sfi-hero-carousel__arrow,
	.sfi-hero-carousel__pause,
	.sfi-hero-carousel__dots button,
	.sfi-promo-card,
	.sfi-mobile-whatsapp {
		scroll-behavior: auto;
		transition: none;
	}
	.sfi-home-promotion-card:hover,
	.sfi-promo-card:hover,
	.sfi-mobile-whatsapp:hover {
		transform: none;
	}
}


/* Compatibility with the refreshed hero, catalog-card and gallery markup. */
.sfi-hero-slide__content .sfi-hero-slide__headline {
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: clamp(2.25rem, 4vw, 3.75rem);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: 1.05;
	margin: .45rem 0 .85rem;
	max-width: 12ch;
}
.sfi-hero-carousel__dots button[aria-pressed="true"] {
	background: var(--sfi-orange);
	width: 1.45rem;
}
.sfi-promo-card__specs {
	color: #687782;
	font-size: .68rem;
	line-height: 1.38;
	margin: .3rem 0 0;
}
.sfi-promo-card__cta {
	color: var(--sfi-navy);
	display: inline-block;
	font-size: .72rem;
	font-weight: 800;
	margin-top: .72rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.sfi-vehicle-plan strong {
	color: #406a50;
	font-size: .78rem;
	font-weight: 650;
}
.sfi-vehicle-plan > span:first-of-type {
	font-size: 1.4rem;
	font-weight: 850;
}
.sfi-vehicle-gallery__pause {
	bottom: .75rem;
	left: .75rem;
	position: absolute;
	z-index: 3;
}
.sfi-vehicle-gallery__pause.sfi-hero-carousel__pause {
	background: rgba(3, 26, 44, .78);
	border-color: rgba(255, 255, 255, .82);
}

@media (max-width: 720px) {
	.sfi-hero-carousel .sfi-hero-slide .sfi-hero-slide__content {
		order: 1;
	}
	.sfi-hero-carousel .sfi-hero-slide .sfi-hero-slide__visual {
		order: 2;
	}
	.sfi-hero-slide__content .sfi-hero-slide__headline {
		font-size: clamp(2.25rem, 9vw, 3rem);
		max-width: 14ch;
	}
	.sfi-vehicle-plan > span:first-of-type {
		font-size: 1.28rem;
	}
	.sfi-vehicle-gallery__pause {
		bottom: .55rem;
		left: .55rem;
	}
}
