/* Staff Landers Tech – front-end styles.
   Brand colors, font and logo width come from Site Settings as CSS variables. */

/* ---------- Fonts (self-hosted; only the selected one downloads) ---------- */
@font-face { font-family: "Barlow"; src: url("../fonts/Barlow-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("../fonts/Barlow-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("../fonts/Barlow-SemiBold.woff2") format("woff2"); font-weight: 600 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Semi Condensed"; src: url("../fonts/BarlowSemiCondensed-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Semi Condensed"; src: url("../fonts/BarlowSemiCondensed-Bold.woff2") format("woff2"); font-weight: 700 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/Montserrat-Variable.woff2") format("woff2"); font-weight: 300 900; font-style: normal; font-display: swap; }

:root {
	--slt-primary: #2B7BBB;
	--slt-primary-dark: #076CAC;
	--slt-dark: #141414;
	--slt-text: #1A1A1A;
	--slt-light: #F2F6FA;
	--slt-muted: #56616B;
	--slt-line: #D8E1EA;
	--slt-error: #B42318;
	--slt-font-body: Barlow, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--slt-font-display: "Barlow Semi Condensed", "Arial Narrow", "Segoe UI", sans-serif;
	--slt-logo-width: 130px;
	--slt-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--slt-header-h: 76px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	font-family: var(--slt-font-body);
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--slt-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--slt-primary-dark); text-underline-offset: 0.2em; }
a:hover { color: var(--slt-dark); }
:focus-visible { outline: 3px solid var(--slt-primary-dark); outline-offset: 2px; }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--slt-font-display);
	font-weight: 700;
	line-height: 1.1;
	color: var(--slt-primary-dark);
	letter-spacing: -0.005em;
	text-wrap: balance;
	margin: 0 0 0.75rem;
}
h2 { font-size: clamp(1.9rem, 3.4vw, 2.75rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 600; line-height: 1.25; }
h4 { font-size: 1.25rem; font-weight: 600; }
h5 { font-size: 1.125rem; font-weight: 600; }
h6 { font-size: 1rem; font-weight: 600; letter-spacing: 0.01em; }
p { margin: 0 0 1rem; text-wrap: pretty; }
.slt-skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: #fff; padding: 0.75rem 1rem; }
.slt-skip:focus { left: 1rem; top: 1rem; }
section[id] { scroll-margin-top: calc(var(--slt-header-h) + 1rem); }

.slt-container { width: 100%; max-width: calc(1200px + 2 * var(--slt-gutter)); margin-inline: auto; padding-inline: var(--slt-gutter); }
.slt-container--narrow { max-width: calc(760px + 2 * var(--slt-gutter)); }

/* ---------- Buttons ---------- */
.slt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: var(--slt-font-display);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	color: #fff;
	background: var(--slt-primary-dark);
	border: 2px solid var(--slt-primary-dark);
	border-radius: 4px;
	padding: 0.8rem 1.6rem;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.slt-btn:hover { background: var(--slt-dark); border-color: var(--slt-dark); color: #fff; }
.slt-btn--outline { background: transparent; color: var(--slt-primary-dark); }
.slt-btn--outline:hover { background: var(--slt-primary-dark); border-color: var(--slt-primary-dark); color: #fff; }
.slt-btn--small { font-size: 1rem; padding: 0.5rem 1.1rem; }

/* ---------- Header ---------- */
.slt-header { background: #fff; border-bottom: 1px solid var(--slt-line); position: relative; z-index: 50; }
@media (min-width: 900px) {
	.slt-sticky-header .slt-header { position: sticky; top: 0; }
	.admin-bar.slt-sticky-header .slt-header { top: 32px; }
}
.slt-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: var(--slt-header-h); padding-block: 0.6rem; }
.slt-brand { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; color: var(--slt-dark); flex: none; }
.slt-brand__logo { display: block; width: var(--slt-logo-width); height: auto; }
.slt-brand__name { font-family: var(--slt-font-display); font-weight: 700; font-size: 1.375rem; color: var(--slt-dark); }
.slt-nav ul { list-style: none; margin: 0; padding: 0; }
.slt-nav__list { display: flex; align-items: center; gap: 0.35rem 1.5rem; flex-wrap: wrap; }
.slt-nav__list > li { position: relative; }
.slt-nav a:not(.slt-btn) { color: var(--slt-dark); text-decoration: none; font-weight: 500; font-size: 1.0625rem; padding-block: 0.35rem; }
.slt-nav a:not(.slt-btn):hover { color: var(--slt-primary-dark); text-decoration: underline; }
.slt-nav .current-menu-item > a:not(.slt-btn),
.slt-nav .current-menu-ancestor > a:not(.slt-btn),
.slt-nav .current-menu-parent > a:not(.slt-btn) { color: var(--slt-primary-dark); font-weight: 600; }

/* Drop-down sub-menus (Appearance > Menus, nested items) */
.slt-nav .menu-item-has-children > a { display: inline-flex; align-items: center; gap: 0.35rem; }
.slt-nav .menu-item-has-children > a::after {
	content: "";
	width: 0.45em;
	height: 0.45em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-0.15em) rotate(45deg);
	flex: none;
}
.slt-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: -0.9rem;
	min-width: 230px;
	background: #fff;
	border: 1px solid var(--slt-line);
	border-top: 3px solid var(--slt-primary);
	border-radius: 4px;
	box-shadow: 0 14px 30px rgba(13, 43, 69, 0.14);
	padding: 0.3rem 0;
	z-index: 60;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.12s ease, transform 0.12s ease;
}
.slt-nav .sub-menu .sub-menu { top: -0.3rem; left: 100%; }
.slt-nav li:hover > .sub-menu,
.slt-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.slt-nav .sub-menu li { position: relative; }
.slt-nav .sub-menu a:not(.slt-btn) { display: block; padding: 0.55rem 1.1rem; font-size: 1rem; }
.slt-nav .sub-menu a:not(.slt-btn):hover { background: var(--slt-light); text-decoration: none; }
.slt-nav .sub-menu .menu-item-has-children > a::after { transform: rotate(-45deg); margin-left: auto; }
.slt-menu-toggle { display: none; }

@media (max-width: 899px) {
	.slt-menu-toggle {
		display: inline-flex; align-items: center; gap: 0.6rem;
		background: none; border: 1px solid var(--slt-line); border-radius: 4px;
		padding: 0.55rem 0.85rem; font: inherit; font-weight: 600; font-size: 1rem; color: var(--slt-dark); cursor: pointer;
	}
	.slt-menu-toggle__bars, .slt-menu-toggle__bars::before, .slt-menu-toggle__bars::after {
		display: block; width: 18px; height: 2px; background: currentColor; position: relative; content: "";
	}
	.slt-menu-toggle__bars::before { position: absolute; top: -6px; }
	.slt-menu-toggle__bars::after { position: absolute; top: 6px; }
	.slt-menu-toggle[aria-expanded="true"] .slt-menu-toggle__bars { background: transparent; }
	.slt-menu-toggle[aria-expanded="true"] .slt-menu-toggle__bars::before { top: 0; transform: rotate(45deg); }
	.slt-menu-toggle[aria-expanded="true"] .slt-menu-toggle__bars::after { top: 0; transform: rotate(-45deg); }
	.slt-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--slt-line); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08); }
	.slt-nav.is-open { display: block; }
	.slt-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 0.5rem var(--slt-gutter) 1.25rem; }
	.slt-nav li a:not(.slt-btn) { display: block; padding: 0.8rem 0; border-bottom: 1px solid var(--slt-line); }
	.slt-nav__cta { margin-top: 1rem; }
	.slt-nav__cta .slt-btn { width: 100%; }
	/* Sub-menus sit inline and indented on small screens */
	.slt-nav .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		min-width: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		padding: 0 0 0 1rem;
		background: transparent;
	}
	.slt-nav .sub-menu a:not(.slt-btn) { padding: 0.7rem 0; font-size: 1rem; color: var(--slt-muted); }
	.slt-nav .sub-menu a:not(.slt-btn):hover { background: transparent; }
	.slt-nav .menu-item-has-children > a::after { transform: translateY(-0.15em) rotate(45deg); }
}

/* ---------- Hero: text left, photo right, both inside the centered container ---------- */
.slt-hero {
	--slt-hero-pad: clamp(2.5rem, 5vw, 4rem);
	--slt-content-w: min(1200px, calc(100% - 2 * var(--slt-gutter)));
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(560px, calc(100vh - var(--slt-header-h) - 90px), 720px);
	background: #fff;
}
.slt-hero__inner { position: relative; z-index: 1; }
.slt-hero__text { width: 52%; padding-block: var(--slt-hero-pad); padding-right: clamp(1.5rem, 4vw, 3.5rem); }
.slt-hero__media {
	position: absolute;
	top: var(--slt-hero-pad);
	bottom: var(--slt-hero-pad);
	right: max(var(--slt-gutter), calc((100% - 1200px) / 2));
	width: calc(var(--slt-content-w) * 0.46);
	margin: 0;
}
/* Blue accent block behind the photo (flyer blue) */
.slt-hero__media::before {
	content: "";
	position: absolute;
	left: -18px;
	bottom: -18px;
	width: 45%;
	height: 55%;
	background: var(--slt-primary);
	border-radius: 8px;
	z-index: 0;
}
.slt-hero__img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 45% center;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(13, 43, 69, 0.18);
}
.slt-hero__title {
	font-size: clamp(2.5rem, 4.6vw, 4.25rem);
	line-height: 1;
	letter-spacing: -0.015em;
	max-width: 12ch;
	color: var(--slt-dark);
	margin-bottom: 1.5rem;
}
.slt-lead { font-size: clamp(1.0625rem, 1.4vw, 1.2rem); max-width: 34rem; }
.slt-lead p { margin-bottom: 0.9rem; }
.slt-lead p:last-child { margin-bottom: 0; }
.slt-lead strong { display: block; font-size: 1.12em; line-height: 1.35; color: var(--slt-dark); }
.slt-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }

@media (max-width: 899px) {
	.slt-hero { display: block; min-height: 0; padding-top: 2rem; }
	.slt-hero__media {
		position: relative;
		top: auto; right: auto; bottom: auto;
		width: auto;
		height: clamp(240px, 55vw, 420px);
		margin: 0 var(--slt-gutter) 0 calc(var(--slt-gutter) + 12px);
	}
	.slt-hero__media::before { left: -12px; bottom: -12px; }
	.slt-hero__text { width: 100%; padding: 2.5rem 0 3rem; }
}

/* ---------- Coverage band ---------- */
.slt-coverage { background: var(--slt-primary) linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.08)); color: #fff; padding-block: 1.5rem; }
.slt-coverage__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 2rem; }
.slt-coverage__label { margin: 0; font-family: var(--slt-font-display); font-weight: 600; font-size: 1.125rem; color: rgba(255, 255, 255, 0.85); }
.slt-regions {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; row-gap: 0.25rem;
	font-family: var(--slt-font-display); font-weight: 700;
	font-size: clamp(1.25rem, 2.2vw, 1.625rem); line-height: 1.2;
}
.slt-regions li { padding-inline: 1.1rem; }
.slt-regions li + li { border-left: 1px solid rgba(255, 255, 255, 0.35); }
.slt-regions li:first-child { padding-left: 0; }
@media (max-width: 600px) {
	.slt-regions { column-gap: 1.25rem; }
	.slt-regions li { padding-inline: 0; }
	.slt-regions li + li { border-left: 0; }
}

/* ---------- Sections ---------- */
.slt-section { padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.slt-section--light { background: var(--slt-light); }
.slt-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); }
.slt-split--narrow-left { grid-template-columns: 38fr 62fr; }
.slt-split h2 { max-width: 14ch; }
@media (max-width: 781px) {
	.slt-split, .slt-split--narrow-left { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* Benefits */
.slt-benefits { list-style: none; margin: 1.25rem 0 0; padding: 0; }
.slt-benefits li { padding-block: 0.9rem; border-top: 1px solid var(--slt-line); }
.slt-benefits li:last-child { border-bottom: 1px solid var(--slt-line); }
.slt-benefits strong { color: var(--slt-primary-dark); }

/* Numbered steps */
.slt-steps { list-style: none; margin: 0; padding: 0; counter-reset: slt-step; }
.slt-steps li { counter-increment: slt-step; position: relative; padding: 0 0 2rem 4.25rem; min-height: 2.75rem; }
.slt-steps li::before {
	content: counter(slt-step);
	position: absolute; left: 0; top: -0.3rem;
	width: 2.75rem; height: 2.75rem;
	display: grid; place-items: center;
	border: 2px solid var(--slt-primary-dark); border-radius: 50%;
	background: #fff; color: var(--slt-primary-dark);
	font-family: var(--slt-font-display); font-weight: 700; font-size: 1.375rem; line-height: 1;
}
.slt-steps li::after { content: ""; position: absolute; left: calc(1.375rem - 1px); top: 2.6rem; bottom: 0.1rem; width: 2px; background: #BFCCD9; }
.slt-steps li:last-child { padding-bottom: 0; }
.slt-steps li:last-child::after { display: none; }
.slt-steps strong { display: block; color: var(--slt-dark); font-family: var(--slt-font-display); font-size: 1.3rem; line-height: 1.25; margin-bottom: 0.2rem; }

/* Requirements checklist */
.slt-checklist { list-style: none; margin: 0; padding: 0; }
.slt-checklist li { position: relative; padding: 1rem 0 1rem 2.6rem; border-bottom: 1px solid var(--slt-line); }
.slt-checklist li:first-child { padding-top: 0.25rem; }
.slt-checklist li::before {
	content: "";
	position: absolute; left: 0; top: 1.1rem;
	width: 1.55rem; height: 1.55rem;
	border-radius: 3px;
	background: var(--slt-primary-dark) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 72% no-repeat;
}
.slt-checklist li:first-child::before { top: 0.35rem; }
.slt-checklist strong { color: var(--slt-dark); }

/* Resources */
.slt-resources { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.slt-resources li { padding-block: 1rem; border-top: 1px solid var(--slt-line); color: var(--slt-muted); }
.slt-resources li:last-child { border-bottom: 1px solid var(--slt-line); }
.slt-resources a, .slt-resources__title { display: block; font-weight: 600; font-size: 1.125rem; color: var(--slt-primary-dark); }

/* ---------- Application form ---------- */
.slt-form, .slt-form__done { margin-top: 2rem; background: #fff; border: 1px solid var(--slt-line); border-top: 4px solid var(--slt-primary); border-radius: 6px; }
.slt-form { padding: clamp(1.25rem, 4vw, 2.25rem); }
.slt-form > * + * { margin-top: 1.4rem; }
.slt-form__row--two { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem 1.25rem; }
@media (max-width: 600px) { .slt-form__row--two { grid-template-columns: 1fr; } }
.slt-form label, .slt-form legend { display: block; font-weight: 600; color: var(--slt-dark); margin-bottom: 0.4rem; padding: 0; }
.slt-form__optional { font-weight: 400; color: var(--slt-muted); }
.slt-form__hint { margin: -0.1rem 0 0.5rem; font-size: 0.9375rem; color: var(--slt-muted); }
.slt-form input[type="text"], .slt-form input[type="email"], .slt-form input[type="tel"], .slt-form textarea {
	width: 100%; font: inherit; color: var(--slt-text); background: #fff;
	padding: 0.7rem 0.85rem; border: 1px solid #93A5B7; border-radius: 4px;
}
.slt-form input:focus, .slt-form textarea:focus { border-color: var(--slt-primary-dark); outline: 3px solid rgba(7, 108, 172, 0.3); outline-offset: 0; }
.slt-form input[aria-invalid="true"], .slt-form textarea[aria-invalid="true"] { border-color: var(--slt-error); }
.slt-form__choices { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.6rem; }
.slt-form__choices legend { grid-column: 1 / -1; float: left; width: 100%; }
.slt-form__choices .slt-form__error { grid-column: 1 / -1; }
.slt-form .slt-choice {
	display: flex; align-items: center; gap: 0.65rem; margin: 0;
	padding: 0.7rem 0.9rem; border: 1px solid #C3CFDB; border-radius: 4px;
	background: #fff; font-weight: 500; color: var(--slt-text); cursor: pointer;
}
.slt-choice input { width: 1.15rem; height: 1.15rem; margin: 0; accent-color: var(--slt-primary-dark); flex: none; }
.slt-choice:has(input:checked) { border-color: var(--slt-primary-dark); background: #EAF3FA; box-shadow: inset 0 0 0 1px var(--slt-primary-dark); }
.slt-choice:has(input:focus-visible) { outline: 3px solid rgba(7, 108, 172, 0.35); outline-offset: 1px; }
.slt-form__choices[aria-invalid="true"] .slt-choice { border-color: var(--slt-error); }
.slt-form__error { margin: 0.4rem 0 0; color: var(--slt-error); font-size: 0.9375rem; font-weight: 600; }
.slt-form__summary { border-left: 4px solid var(--slt-error); background: #FDF1F0; padding: 1rem 1.25rem; }
.slt-form__summary-title { margin: 0 0 0.4rem; font-weight: 600; color: var(--slt-error); }
.slt-form__summary ul { margin: 0; padding-left: 1.2rem; }
.slt-form__summary a { color: var(--slt-error); }
.slt-form__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.slt-form__submit { margin-top: 1.75rem !important; }
.slt-form__done { padding: 1.5rem 1.75rem; }
.slt-form__done-title { margin: 0 0 0.35rem; font-family: var(--slt-font-display); font-weight: 700; font-size: 1.5rem; color: var(--slt-primary-dark); }
.slt-form__done p:last-child { margin-bottom: 0; }

/* ---------- Inner pages ---------- */
.slt-page { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.slt-page__title { font-size: clamp(2.25rem, 4.5vw, 3.25rem); }
.slt-meta { color: var(--slt-muted); font-size: 0.9375rem; }
.slt-content > * + * { margin-top: 1rem; }
.slt-content .alignwide { margin-inline: calc(-1 * min(10vw, 120px)); max-width: none; }
.slt-content .alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.slt-post-list { list-style: none; margin: 0; padding: 0; }
.slt-post-list > li { padding-block: 1.5rem; border-bottom: 1px solid var(--slt-line); }
.slt-post-list h2 { font-size: 1.75rem; margin-bottom: 0.25rem; }
.slt-post-list h2 a { text-decoration: none; }

/* ---------- Footer ---------- */
.slt-footer { background: var(--slt-dark); color: #fff; padding-block: 3.5rem 2rem; border-top: 5px solid var(--slt-primary); }
.slt-footer a { color: #fff; }
.slt-footer a:hover { color: #9CCBF0; }
.slt-footer__grid { display: grid; grid-template-columns: 55fr 45fr; gap: 2rem; }
@media (max-width: 781px) { .slt-footer__grid { grid-template-columns: 1fr; } }
.slt-footer__title { font-family: var(--slt-font-display); font-weight: 700; font-size: 1.5rem; margin-bottom: 0.5rem; }
.slt-footer__about p { color: rgba(255, 255, 255, 0.85); max-width: 36rem; }
.slt-footer__nav ul { list-style: none; margin: 0; padding: 0; }
.slt-footer__nav li + li { margin-top: 0.6rem; }
.slt-footer__nav a { text-decoration: none; }
.slt-footer__nav a:hover { text-decoration: underline; }
.slt-footer__nav .sub-menu { padding-left: 1rem !important; margin-top: 0.6rem; }
.slt-footer__legal { margin: 2.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, 0.2); font-size: 0.9375rem; color: rgba(255, 255, 255, 0.65); }

/* ---------- Hero kicker ---------- */
.slt-hero__kicker {
	margin: 0 0 0.75rem;
	font-family: var(--slt-font-display);
	font-weight: 700;
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
	color: var(--slt-primary-dark);
}

/* ---------- Locations ---------- */
.slt-icon-heading { display: flex; align-items: center; gap: 0.85rem; }
.slt-icon-heading::before {
	content: "";
	flex: none;
	width: 2.75rem;
	height: 2.75rem;
	border: 2px solid var(--slt-primary-dark);
	border-radius: 7px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23076CAC' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M16 23s-6-6.2-6-11a6 6 0 0 1 12 0c0 4.8-6 11-6 11z'/%3E%3Ccircle cx='16' cy='12' r='2.2' fill='%23076CAC'/%3E%3Cpath d='M9 21l-5 3 4 5h16l4-5-5-3'/%3E%3C/svg%3E") center / 72% no-repeat;
}
.slt-location-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 1rem;
}
.slt-location-list li {
	border: 1px solid var(--slt-line);
	border-left: 4px solid var(--slt-primary);
	border-radius: 4px;
	padding: 1rem 1.25rem;
	background: #fff;
}
.slt-location-list__name { display: block; font-family: var(--slt-font-display); font-weight: 700; font-size: 1.3rem; line-height: 1.2; color: var(--slt-dark); }
.slt-location-list__area { display: block; margin-top: 0.2rem; color: var(--slt-muted); font-size: 1rem; }

/* ---------- Service enquiry page ---------- */
.slt-enquiry-intro { padding-bottom: clamp(2rem, 4vw, 3rem); }
.slt-enquiry-intro .slt-page__title { margin-bottom: 1.25rem; }
.slt-enquiry-intro .slt-lead { max-width: none; }
.slt-enquiry-intro .slt-content { margin-top: 1.5rem; }
.slt-services {
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 1.25rem;
}
.slt-services li {
	background: #fff;
	border: 1px solid var(--slt-line);
	border-top: 4px solid var(--slt-primary);
	border-radius: 6px;
	padding: 1.5rem;
}
.slt-services h3 { margin-top: 0; margin-bottom: 0.5rem; color: var(--slt-dark); }
.slt-services p { margin: 0; color: var(--slt-muted); }

/* ---------- Select menus in forms ---------- */
.slt-form select,
.slt-select {
	width: 100%;
	font: inherit;
	color: var(--slt-text);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235F6366' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 0.85rem center / 0.9rem;
	padding: 0.7rem 2.4rem 0.7rem 0.85rem;
	border: 1px solid #93A5B7;
	border-radius: 4px;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
.slt-form select:focus { border-color: var(--slt-primary-dark); outline: 3px solid rgba(7, 108, 172, 0.3); outline-offset: 0; }

/* ---------- Captcha ---------- */
.slt-captcha {
	background: var(--slt-light);
	border: 1px solid var(--slt-line);
	border-radius: 4px;
	padding: 1rem 1.1rem;
}
.slt-captcha label { margin-bottom: 0.5rem; }
.slt-captcha__input { max-width: 7rem; }

/* ==========================================================================
   Page content built in the block editor.

   Everything the editor can insert is styled here, so a page Harry builds
   himself looks like the rest of the site rather than like raw browser
   defaults. Scoped to .slt-content, so the home page sections are untouched.
   ========================================================================== */

.slt-content > * { margin-block: 0 1.25rem; }
.slt-content > *:last-child { margin-bottom: 0; }
.slt-content > h2 { margin-top: 2.5rem; }
.slt-content > h3,
.slt-content > h4 { margin-top: 2rem; }
.slt-content > h5,
.slt-content > h6 { margin-top: 1.5rem; }
.slt-content > *:first-child { margin-top: 0; }

/* Lists */
.slt-content ul,
.slt-content ol { margin: 0 0 1.25rem; padding-left: 1.4rem; }
.slt-content li { margin-bottom: 0.4rem; }
.slt-content li > ul,
.slt-content li > ol { margin: 0.4rem 0 0; }
.slt-content ul { list-style: disc; }
.slt-content ol { list-style: decimal; }
.slt-content ul.is-style-checkmark { list-style: none; padding-left: 0; }

/* Images, figures and captions */
.slt-content figure { margin: 0 0 1.5rem; }
.slt-content img { border-radius: 4px; }
.slt-content figcaption,
.slt-content .wp-element-caption {
	margin-top: 0.6rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--slt-muted);
	text-align: left;
}
.slt-content .aligncenter { margin-inline: auto; text-align: center; }
.slt-content .aligncenter img { margin-inline: auto; }
.slt-content .alignleft { float: left; margin: 0.35rem 1.75rem 1.25rem 0; max-width: 50%; }
.slt-content .alignright { float: right; margin: 0.35rem 0 1.25rem 1.75rem; max-width: 50%; }
@media (max-width: 600px) {
	.slt-content .alignleft,
	.slt-content .alignright { float: none; margin-inline: 0; max-width: 100%; }
}

/* Buttons: make the editor's button match the site's */
.slt-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.5rem; }
.slt-content .wp-block-button__link,
.slt-content .wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--slt-font-display);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	color: #fff;
	background: var(--slt-primary-dark);
	border: 2px solid var(--slt-primary-dark);
	border-radius: 4px;
	padding: 0.8rem 1.6rem;
	transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}
.slt-content .wp-block-button__link:hover,
.slt-content .wp-element-button:hover { background: var(--slt-dark); border-color: var(--slt-dark); color: #fff; }
.slt-content .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--slt-primary-dark);
}
.slt-content .is-style-outline .wp-block-button__link:hover { background: var(--slt-primary-dark); color: #fff; }

/* Tables */
.slt-content table,
.slt-content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
	font-size: 1rem;
}
.slt-content th,
.slt-content td {
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--slt-line);
	text-align: left;
	vertical-align: top;
}
.slt-content thead th {
	background: var(--slt-light);
	font-family: var(--slt-font-display);
	font-weight: 700;
	color: var(--slt-dark);
}
.slt-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--slt-light); }
.slt-content .wp-block-table { overflow-x: auto; }
.slt-content .wp-block-table figcaption { text-align: left; }

/* Quotes */
.slt-content blockquote,
.slt-content .wp-block-quote {
	margin: 0 0 1.5rem;
	padding: 0.25rem 0 0.25rem 1.5rem;
	border-left: 4px solid var(--slt-primary);
	font-size: 1.1875rem;
	line-height: 1.5;
}
.slt-content blockquote p:last-child { margin-bottom: 0; }
.slt-content blockquote cite,
.slt-content .wp-block-quote cite {
	display: block;
	margin-top: 0.6rem;
	font-size: 0.9375rem;
	font-style: normal;
	color: var(--slt-muted);
}
.slt-content .wp-block-pullquote {
	padding: 2rem 0;
	border-top: 3px solid var(--slt-primary);
	border-bottom: 3px solid var(--slt-primary);
	text-align: center;
}
.slt-content .wp-block-pullquote blockquote { border: 0; padding: 0; }
.slt-content .wp-block-pullquote p { font-family: var(--slt-font-display); font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; }

/* Separator */
.slt-content hr,
.slt-content .wp-block-separator {
	height: 0;
	margin: 2.5rem 0;
	border: 0;
	border-top: 1px solid var(--slt-line);
}
.slt-content .wp-block-separator.is-style-dots { border: 0; text-align: center; }

/* Columns, groups and media-and-text */
.slt-content .wp-block-columns { display: flex; flex-wrap: wrap; gap: clamp(1.5rem, 4vw, 2.5rem); margin-bottom: 1.5rem; }
.slt-content .wp-block-column { flex: 1 1 0; min-width: 14rem; }
@media (max-width: 781px) { .slt-content .wp-block-column { flex-basis: 100% !important; } }
.slt-content .wp-block-group { margin-bottom: 1.5rem; }
.slt-content .wp-block-media-text { margin-bottom: 1.5rem; }
.slt-content .wp-block-media-text__content { padding: 0 1.5rem; }

/* Cover */
.slt-content .wp-block-cover { border-radius: 4px; overflow: hidden; margin-bottom: 1.5rem; }
.slt-content .wp-block-cover .wp-block-cover__inner-container > * { color: inherit; }

/* Embeds and video */
.slt-content iframe,
.slt-content video { max-width: 100%; border-radius: 4px; }
.slt-content .wp-block-embed { margin-bottom: 1.5rem; }

/* Code */
.slt-content code,
.slt-content kbd { background: var(--slt-light); padding: 0.15em 0.4em; border-radius: 3px; font-size: 0.9em; }
.slt-content pre {
	background: var(--slt-light);
	border: 1px solid var(--slt-line);
	border-radius: 4px;
	padding: 1rem 1.25rem;
	overflow-x: auto;
	margin-bottom: 1.5rem;
}
.slt-content pre code { background: none; padding: 0; }

/* Accordion (details block) */
.slt-content details {
	border: 1px solid var(--slt-line);
	border-radius: 4px;
	padding: 1rem 1.25rem;
	margin-bottom: 0.75rem;
}
.slt-content summary { font-weight: 600; cursor: pointer; color: var(--slt-dark); }
.slt-content details[open] summary { margin-bottom: 0.75rem; }

/* Gallery */
.slt-content .wp-block-gallery { margin-bottom: 1.5rem; }

/* Clear any floated image before the next block */
.slt-content::after { content: ""; display: table; clear: both; }
