/*
Theme Name: Stag Liuzza - Airport PFAS
Description: Lightweight classic theme for the Airport PFAS cost-recovery site. Each page has its own hardcoded template (front-page.php, page-{slug}.php) in the Stag Liuzza look (Oswald + DM Sans, navy / gold / cream).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sl-airport
*/

/* ---------------------------------------------------------------- tokens */
 :root {
	--navy: #1e3a5f;
	--navy-deep: #121E34;
	--gold: #C9A227;
	--gold-light: #c79d41;
	--gold-text: #C9A227;
	--cream: #faf9f0;
	--sand: #f1efe4;
	--ink-dark: #0b1b2a;
	--body: #4a5661;
	--muted: #5b6770;
	--line: rgba(1, 41, 69, 0.14);
	--font-head: "Oswald", "Arial Narrow", Impact, sans-serif;
	--font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
} 

/* ------------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 6rem; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--cream);
	color: var(--body);
	font: 400 1rem/1.7 var(--font-body);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }

.sl-wrap { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.screen-reader-text {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.sl-skip {
	position: absolute; left: 1rem; top: -4rem; z-index: 100; padding: .75rem 1rem;
	background: var(--navy); color: #fff; transition: top .15s;
}
.sl-skip:focus { top: 1rem; }

/* ---------------------------------------------------------------- header */
.sl-header {
	position: sticky; top: 0; z-index: 50;
	background: var(--cream);
	border-bottom: 1px solid rgba(1, 41, 69, 0.08);
}
.admin-bar .sl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .sl-header { top: 46px; } }

.sl-header__row {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1.5rem; min-height: 4.875rem;
}
.sl-logo { display: flex; flex-direction: column; gap: .35rem; color: var(--navy); text-decoration: none; line-height: 1; white-space: nowrap; }
.sl-logo__name { font: 700 1.625rem/1 var(--font-head); letter-spacing: .01em; text-transform: uppercase; }
.sl-logo__tag { font: 500 .625rem/1 var(--font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }

.sl-nav ul { display: flex; gap: clamp(1rem, 1.6vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.sl-nav a {
	display: block; padding: .5rem 0; border-bottom: 2px solid transparent;
	font: 600 .75rem/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase;
	color: var(--muted); text-decoration: none; white-space: nowrap;
	transition: color .2s, border-color .2s;
}
.sl-nav a:hover,
.sl-nav a[aria-current="page"],
.sl-nav .current-menu-item > a { color: var(--navy); border-bottom-color: var(--gold); }

.sl-header__actions { display: flex; align-items: center; gap: .9rem; }
.sl-phone {
	display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap;
	font-size: .9rem; font-weight: 600; color: var(--navy); text-decoration: none;
}
.sl-phone svg { width: 1rem; height: 1rem; color: var(--gold); }
.sl-phone:hover span { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
.sl-cta {
	display: inline-flex; align-items: center; min-height: 2.8rem; padding: 0 1.5rem;
	background: var(--gold); color: var(--ink-dark); text-decoration: none; white-space: nowrap;
	font: 700 .78rem/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase;
	transition: background-color .2s;
}
.sl-cta:hover { background: var(--gold-light); }

.sl-toggle {
	display: none; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; background: none;
	cursor: pointer; place-items: center;
}
.sl-toggle i, .sl-toggle i::before, .sl-toggle i::after { display: block; width: 1.4rem; height: 2px; background: var(--navy); }
.sl-toggle i { position: relative; }
.sl-toggle i::before, .sl-toggle i::after { content: ""; position: absolute; left: 0; }
.sl-toggle i::before { top: -7px; }
.sl-toggle i::after { top: 7px; }

@media (max-width: 80rem) {
	.sl-toggle { display: grid; }
	.sl-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		background: var(--cream); border-bottom: 1px solid var(--line);
		padding: .75rem max(1.5rem, calc((100% - 76rem) / 2)) 1.25rem;
	}
	.sl-header.is-open .sl-nav { display: block; }
	.sl-nav ul { flex-direction: column; gap: 0; }
	.sl-nav a { padding: .9rem 0; border-bottom: 1px solid var(--line); font-size: .8rem; }
}
@media (max-width: 40rem) {
	.sl-phone span { display: none; }
	.sl-phone { padding: .6rem; }
	.sl-phone svg { width: 1.25rem; height: 1.25rem; }
	.sl-cta { padding: 0 1rem; }
	.sl-header__actions { gap: .25rem; }
	.sl-logo__name { font-size: 1.4rem; }
	.sl-logo__tag { letter-spacing: .14em; }
}
@media (max-width: 30rem) { .sl-header .sl-cta { display: none; } }

/* ------------------------------------------------------------------ hero */
.sl-hero {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex; align-items: center;
	min-height: min(83vh, 47rem);
	background: var(--navy); color: #fff;
}
.sl-hero__media { position: absolute; inset: 0; z-index: -2; }
.sl-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.sl-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(90deg, rgba(1, 41, 69, .97) 0%, rgba(1, 41, 69, .92) 30%, rgba(1, 41, 69, .62) 60%, rgba(1, 41, 69, .25) 100%);
}
.sl-hero .sl-wrap { padding-block: 5rem; }
.sl-hero__copy { max-width: 42rem; }
.sl-hero:not(.sl-hero--split) { min-height: min(62vh, 32rem); }

.sl-eyebrow {
	margin: 0 0 1.25rem;
	font: 700 .7rem/1.5 var(--font-body); letter-spacing: .18em; text-transform: uppercase;
	color: var(--gold-text);
}
.sl-hero .sl-eyebrow, .sl-banner .sl-eyebrow, .sl-section--dark .sl-eyebrow { color: var(--gold-light); }

.sl-hero__title {
	margin: 0; color: #fff;
	font-family: var(--font-head); font-weight: 700; line-height: 1.06; letter-spacing: .005em;
	font-size: clamp(2.5rem, 5.4vw, 3.75rem);
}
.sl-hero__title::after, .sl-head h2::after, .sl-banner h1::after {
	content: ""; display: block; width: 4rem; height: 3px; background: var(--gold); margin-top: 1.75rem;
}
.sl-hero--split .sl-hero__title { font-size: clamp(3.25rem, 7.2vw, 5.5rem); }
.sl-hero--split .sl-h1-a, .sl-hero--split .sl-h1-b, .sl-hero--split .sl-h1-c { display: block; }
.sl-hero--split .sl-h1-b { color: var(--gold-light); }
.sl-hero--split .sl-h1-c { font-size: .64em; font-weight: 600; margin-top: .1em; }

.sl-hero__lead { margin: 2rem 0 0; max-width: 34rem; font-size: 1.2rem; font-weight: 500; line-height: 1.5; color: #fff; }
.sl-hero .sl-buttons { margin-top: 2.25rem; }

@media (max-width: 48rem) {
	.sl-hero::before { background: linear-gradient(180deg, rgba(1, 41, 69, .9), rgba(1, 41, 69, .8)); }
	.sl-hero .sl-wrap { padding-block: 3.5rem; }
}

/* --------------------------------------------------------------- buttons */
.sl-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.sl-btn {
	display: inline-flex; align-items: center; gap: .6rem; min-height: 3.2rem; padding: 0 1.75rem;
	border: 1px solid var(--gold); background: var(--gold); color: var(--ink-dark);
	font: 700 .8rem/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
.sl-btn:hover { background: var(--gold-light); border-color: var(--gold-light); }
.sl-btn:not([href^="tel:"])::after { content: "\2192"; font-size: 1.15em; line-height: 1; }

/* outlined secondary button: colours follow the surface it sits on */
.sl-main { --btn-alt: var(--navy); --btn-alt-line: rgba(1, 41, 69, .4); }
.sl-hero, .sl-section--dark { --btn-alt: #fff; --btn-alt-line: rgba(255, 255, 255, .45); }
.sl-btn--outline { background: transparent; color: var(--btn-alt); border-color: var(--btn-alt-line); }
.sl-btn--outline:hover {
	background: color-mix(in srgb, var(--btn-alt) 12%, transparent); border-color: var(--btn-alt); color: var(--btn-alt);
}

/* -------------------------------------------------------------- sections */
.sl-section { padding-block: clamp(4rem, 8vw, 7.5rem); background: var(--cream); }
.sl-section--alt { background: var(--sand); }

.sl-section .sl-wrap > * + * { margin-top: 2.5rem; }
.sl-section .sl-wrap > .sl-lead { margin-top: 1.75rem; }
.sl-section .sl-wrap > .sl-cards { margin-top: 4rem; }
.sl-section .sl-wrap > figure { margin: 4rem 0 0; }
.sl-section .sl-wrap > :first-child { margin-top: 0; }

.sl-head h2, .sl-step h3, .sl-card h3 { margin: 0; }
.sl-head h2 {
	max-width: 15em; color: var(--navy);
	font: 600 clamp(2rem, 4vw, 3rem)/1.25 var(--font-head); letter-spacing: .005em;
}
.sl-lead { max-width: 40rem; margin-bottom: 0; font-size: 1.15rem; line-height: 1.65; color: var(--muted); }

/* copy */
.sl-copy { max-width: 46rem; }
.sl-copy p { margin: 0 0 1.25rem; font-size: 1.0625rem; line-height: 1.75; }
.sl-copy > :last-child { margin-bottom: 0; }
.sl-copy .sl-buttons { margin-top: 2rem; }
.sl-copy > :first-child { margin-top: 0; }

.sl-section .sl-wrap > .sl-more { margin-top: 3rem; margin-bottom: 0; }
.sl-more a {
	display: inline-flex; align-items: center; gap: .5rem; color: var(--navy);
	font-size: .95rem; font-weight: 700; text-decoration: none;
}
.sl-more a::after { content: "\2192"; transition: transform .2s; }
.sl-more a:hover { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.sl-more a:hover::after { transform: translateX(3px); }

.sl-section blockquote, .sl-prose blockquote {
	margin: 2rem 0; padding: .25rem 0 .25rem 1.75rem; max-width: 46rem;
	border-left: 3px solid var(--gold); background: none;
}
.sl-section blockquote p, .sl-prose blockquote p {
	margin: 0; color: var(--navy); font-size: clamp(1.15rem, 2vw, 1.3rem); font-weight: 500; line-height: 1.55;
}

.sl-section ul, .sl-prose ul {
	list-style: none; margin: 1.5rem 0; padding: 0; max-width: 46rem; border-top: 1px solid var(--line);
}
.sl-section li, .sl-prose li {
	position: relative; padding: .85rem 0 .85rem 2rem; border-bottom: 1px solid var(--line); margin: 0;
}
.sl-section li::before, .sl-prose li::before {
	content: ""; position: absolute; left: 0; top: 1.7rem; width: .9rem; height: 2px; background: var(--gold);
}
.sl-section ul.sl-list--short {
	max-width: none; display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 3rem;
}
@media (max-width: 40rem) { .sl-section ul.sl-list--short { grid-template-columns: 1fr; } }

.sl-section figure img { width: 100%; max-height: 28rem; object-fit: cover; }

/* cards: three across, hairline on top, gold-ringed icon */
.sl-cards { display: grid; gap: 2.5rem; }
.sl-cards--1, .sl-cards--2 { grid-template-columns: repeat(2, 1fr); max-width: 52rem; }
.sl-cards--1 { grid-template-columns: 1fr; max-width: 26rem; }
.sl-cards--3 { grid-template-columns: repeat(3, 1fr); }
.sl-cards--4 { grid-template-columns: repeat(4, 1fr); gap: 2rem; }
@media (max-width: 64rem) { .sl-cards--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 48rem) {
	.sl-cards--2, .sl-cards--3, .sl-cards--4 { grid-template-columns: 1fr; gap: 2rem; }
}
.sl-card { padding-top: 1.5rem; border-top: 1px solid var(--line); }
.sl-icon {
	display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin-bottom: 1.5rem;
	border: 1.5px solid var(--gold); border-radius: 50%; color: var(--navy);
}
.sl-icon svg { width: 1.2rem; height: 1.2rem; }
.sl-card h3 {
	margin-bottom: .6rem; color: var(--navy);
	font: 700 .8rem/1.5 var(--font-body); letter-spacing: .1em; text-transform: uppercase;
}
.sl-card p { margin: 0; color: var(--muted); }

/* steps: a real sequence, so numbered */
.sl-steps {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 2.5rem;
	margin: 0; padding: 0; list-style: none; max-width: none; border: 0;
}
.sl-section .sl-step { padding: 1.25rem 0 0; margin: 0; border-top: 1px solid var(--line); border-bottom: 0; }
.sl-section .sl-step::before { display: none; }
.sl-step__num { display: block; margin-bottom: .75rem; color: var(--gold); font: 600 3rem/1 var(--font-head); }
.sl-step h3 {
	margin-bottom: .6rem; color: var(--navy);
	font: 700 .8rem/1.5 var(--font-body); letter-spacing: .1em; text-transform: uppercase;
}
.sl-step p { margin: 0; color: var(--muted); }

/* closing call-to-action band */
.sl-section--dark { background: var(--navy); color: #fff; text-align: center; }
.sl-section--dark .sl-head h2 { margin-inline: auto; color: #fff; }
.sl-section--dark .sl-head h2::after { margin-inline: auto; }
.sl-section--dark .sl-copy { margin-inline: auto; }
.sl-section--dark .sl-copy p { color: rgba(255, 255, 255, .82); }
.sl-section--dark .sl-copy p.sl-tel { margin: 1.5rem 0; }
.sl-section--dark .sl-tel a {
	color: var(--gold-light); font: 600 clamp(2rem, 4vw, 2.75rem)/1.1 var(--font-head);
	text-decoration: none;
}
.sl-section--dark .sl-tel a:hover { text-decoration: underline; text-underline-offset: 6px; }
.sl-section--dark .sl-buttons { justify-content: center; }
.sl-copy p.sl-fine, .sl-section--dark .sl-copy p.sl-fine {
	margin-top: 2.5rem; font-size: .8rem; line-height: 1.6; color: rgba(255, 255, 255, .6);
}

/* ---------------------------------------- banner, prose, blog listing */
.sl-banner { background: var(--navy); color: #fff; padding-block: clamp(3.5rem, 8vw, 5.5rem); }
.sl-banner h1 { margin: 0; font: 700 clamp(2.2rem, 5vw, 3.5rem)/1.1 var(--font-head); }

.sl-prose { width: min(100% - 3rem, 46rem); margin: 0 auto; padding-block: clamp(3rem, 6vw, 5rem); }
.sl-prose > :first-child { margin-top: 0; }
.sl-prose h2 { margin: 3rem 0 1rem; color: var(--navy); font: 600 clamp(1.6rem, 3vw, 2rem)/1.25 var(--font-head); }
.sl-prose h3 { margin: 2rem 0 .75rem; color: var(--navy); font: 700 1rem/1.5 var(--font-body); letter-spacing: .04em; }
.sl-prose p { margin: 0 0 1.25rem; }
.sl-prose a { color: var(--navy); text-decoration-color: var(--gold); text-underline-offset: 3px; }
.sl-prose li { padding-block: .75rem; }
.sl-prose li::before { top: 1.6rem; }

.sl-post { padding: 2rem 0; border-top: 1px solid var(--line); }
.sl-post h2 { margin: 0 0 .25rem; }
.sl-post h2 a { text-decoration: none; }
.sl-post h2 a:hover { text-decoration: underline; text-decoration-color: var(--gold); }
.sl-post__date { margin: 0 0 .75rem; font-size: .85rem; color: var(--muted); }
.sl-pagination { margin-top: 2rem; }
.sl-pagination .page-numbers { margin-right: .75rem; }

/* ---------------------------------------------------------------- footer */
.sl-footer { background: var(--navy-deep); color: rgba(255, 255, 255, .72); font-size: .95rem; }
.sl-footer a { text-decoration: none; }
.sl-footer a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
.sl-footer .sl-logo { color: #fff; }
.sl-footer .sl-logo__tag { color: rgba(255, 255, 255, .6); }
.sl-footer__grid {
	display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; padding-block: 4rem 3rem;
}
.sl-footer .sl-footer__brand p { max-width: 22rem; margin: 1.25rem 0 0; }
.sl-footer h2 { margin: 0 0 1rem; color: #fff; font: 600 1.15rem/1.3 var(--font-head); letter-spacing: .02em; }
.sl-footer__list { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.sl-footer address { font-style: normal; }
.sl-footer p { margin: 0; }
.sl-footer__col p { margin-top: .75rem; }
.sl-footer__phone { color: var(--gold-light); font-weight: 600; }
.sl-footer__legal {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 2rem;
	padding-block: 1.5rem 2rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .82rem;
}
@media (max-width: 48rem) { .sl-footer__grid { grid-template-columns: 1fr; gap: 2rem; padding-block: 3rem 2rem; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
}


/* ------------------------------------------------------------------
   Video-reference refinements
   These overrides keep the existing markup/content model intact while
   bringing the templates closer to the supplied design reference.
------------------------------------------------------------------ */

/* Interior-page hero: light split layout with the photograph on the right. */
.sl-hero--split-page {
	min-height: 18rem;
	background: var(--cream);
	color: var(--navy);
	overflow: hidden;
}
.sl-hero--split-page .sl-hero__media {
	left: 50%;
	right: 0;
	width: 50%;
	z-index: 0;
}
.sl-hero--split-page .sl-hero__media img {
	object-position: center;
}
.sl-hero--split-page::before {
	z-index: 1;
	inset: 0;
	background: linear-gradient(
		90deg,
		var(--cream) 0%,
		var(--cream) 43%,
		rgba(250,249,240,.96) 49%,
		rgba(250,249,240,.35) 61%,
		rgba(250,249,240,0) 76%
	);
}
.sl-hero--split-page .sl-wrap {
	position: relative;
	z-index: 2;
	width: min(100% - 3rem, 76rem);
	padding-block: 4rem;
}
.sl-hero--split-page .sl-hero__copy {
	max-width: 37rem;
	padding-right: 1rem;
}
.sl-hero--split-page .sl-eyebrow {
	margin-bottom: 1rem;
	color: var(--gold-text);
}
.sl-hero--split-page .sl-hero__title {
	color: var(--navy);
	font-size: clamp(3rem, 5vw, 4.5rem);
	line-height: .98;
}
.sl-hero--split-page .sl-hero__title span {
	display: block;
}
.sl-hero--split-page .sl-hero__title em {
	color: var(--gold-light);
	font-style: normal;
}
.sl-hero--split-page .sl-hero__title::after {
	margin-top: 1.2rem;
}
.sl-hero--split-page .sl-hero__lead {
	margin-top: 1.1rem;
	max-width: 31rem;
	color: var(--ink-dark);
	font-size: 1rem;
	line-height: 1.5;
}
.sl-hero--split-page .sl-buttons {
	margin-top: 1.25rem;
}
.sl-hero--split-page .sl-btn--outline {
	color: var(--navy);
	border-color: rgba(1,41,69,.35);
}

/* The supplied reference uses a compact, horizontal action band on the home page. */
.sl-section.sl-section--alt.flex-row .sl-wrap {
	display: grid;
	grid-template-columns: minmax(14rem, .85fr) minmax(0, 1.5fr);
	align-items: center;
	gap: 3.5rem;
}
.sl-section.sl-section--alt.flex-row .sl-head {
	margin: 0;
}
.sl-section.sl-section--alt.flex-row .sl-head h2 {
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	color: #fff;
}
.sl-section.sl-section--alt.flex-row .sl-head .sl-lead {
	color: rgba(255,255,255,.75);
}
.sl-section.sl-section--alt.flex-row .sl-cards {
	margin-top: 0;
	max-width: none;
	gap: 0;
	grid-template-columns: repeat(2, 1fr);
}
.sl-section.sl-section--alt.flex-row .sl-card {
	padding: .25rem 1.5rem 0;
	border-top: 0;
	border-left: 1px solid rgba(255,255,255,.28);
}
.sl-section.sl-section--alt.flex-row .sl-card:first-child {
	border-left: 0;
}
.sl-section.sl-section--alt.flex-row .sl-card h3,
.sl-section.sl-section--alt.flex-row .sl-card p {
	color: #fff;
}
.sl-section.sl-section--alt.flex-row .sl-icon {
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 1rem;
	color: var(--gold-light);
	border-color: var(--gold-light);
}

/* Slightly tighter card treatment to match the reference pages. */
.sl-cards {
	gap: 1.5rem;
}
.sl-card {
	padding-top: 1.1rem;
}
.sl-icon {
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 1rem;
}
.sl-icon svg {
	width: 1rem;
	height: 1rem;
}
.sl-card p {
	font-size: .9rem;
	line-height: 1.55;
}

/* Costs page: the existing short list becomes a cleaner three-column feature grid. */
.sl-section ul.sl-list--short {
	grid-template-columns: repeat(3, 1fr);
	column-gap: 1.5rem;
	row-gap: 1.5rem;
	border-top: 0;
}
.sl-section ul.sl-list--short li {
	padding: 1rem 0 .75rem;
	border-top: 1px solid var(--line);
	border-bottom: 0;
	font-weight: 600;
	color: var(--navy);
}
.sl-section ul.sl-list--short li::before {
	top: 1.55rem;
	width: .65rem;
}

/* Steps page: turn the existing ordered list into compact horizontal cards. */
.sl-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: .7rem;
}
.sl-section .sl-step {
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	column-gap: 1rem;
	align-items: center;
	padding: .85rem 1rem;
	border: 1px solid var(--line);
	background: rgba(255,255,255,.18);
}
.sl-step__num {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	border-radius: 50%;
	background: var(--gold);
	color: var(--ink-dark);
	font: 700 .9rem/1 var(--font-body);
}
.sl-step h3 {
	margin: 0;
	font-size: .82rem;
}
.sl-step p {
	grid-column: 2;
	margin: .15rem 0 0;
	font-size: .88rem;
	line-height: 1.45;
}

/* Footer CTA in the reference is the gold band between the navy sections. */
.sl-footer > .act-now {
	background: var(--gold);
	color: var(--ink-dark);
	text-align: left;
	padding-block: 2.1rem;
}
.sl-footer > .act-now .sl-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.sl-footer > .act-now .sl-head {
	margin: 0;
}
.sl-footer > .act-now .sl-head h2,
.sl-footer > .act-now .sl-head p {
	color: var(--ink-dark);
}
.sl-footer > .act-now .sl-head h2 {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.sl-footer > .act-now .sl-head h2::after {
	display: none;
}
.sl-footer > .act-now .sl-buttons {
	margin: 0;
}
.sl-footer > .act-now .sl-btn {
	background: var(--navy);
	border-color: var(--navy);
	color: #fff;
}
.sl-footer > .act-now .sl-btn:hover {
	background: var(--navy-deep);
	border-color: var(--navy-deep);
}

@media (max-width: 64rem) {
	.sl-section.sl-section--alt.flex-row .sl-wrap {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.sl-section.sl-section--alt.flex-row .sl-cards {
		grid-template-columns: repeat(2, 1fr);
	}
	.sl-section.sl-section--alt.flex-row .sl-card {
		padding-inline: 1rem;
	}
	.sl-section ul.sl-list--short {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 48rem) {
	.sl-hero--split-page {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
	}
	.sl-hero--split-page .sl-hero__media {
		position: relative;
		left: auto;
		right: auto;
		order: 2;
		width: 100%;
		height: 15rem;
	}
	.sl-hero--split-page::before {
		display: none;
	}
	.sl-hero--split-page .sl-wrap {
		order: 1;
		width: min(100% - 2rem, 76rem);
		padding-block: 3rem 2.5rem;
	}
	.sl-hero--split-page .sl-hero__copy {
		max-width: 100%;
		padding-right: 0;
	}
	.sl-hero--split-page .sl-hero__title {
		font-size: clamp(2.65rem, 11vw, 4rem);
	}
	.sl-section.sl-section--alt.flex-row .sl-cards {
		grid-template-columns: 1fr;
	}
	.sl-section.sl-section--alt.flex-row .sl-card {
		padding: 1rem 0 0;
		border-left: 0;
		border-top: 1px solid rgba(255,255,255,.28);
	}
	.sl-section.sl-section--alt.flex-row .sl-card:first-child {
		border-top: 0;
	}
	.sl-section ul.sl-list--short {
		grid-template-columns: 1fr;
	}
	.sl-section .sl-step {
		grid-template-columns: 2.75rem minmax(0,1fr);
		padding: .85rem;
	}
	.sl-footer > .act-now .sl-wrap {
		display: block;
	}
	.sl-footer > .act-now .sl-buttons {
		margin-top: 1.25rem;
	}
}

@media (max-width: 30rem) {
	.sl-hero--split-page .sl-hero__media {
		height: 12rem;
	}
}
