/* SAVCHENKOO — section modules used by the interior pages.
   Site chrome, type, buttons, kickers and the shared bands live in theme.css.
   Breakpoints are literals matching tokens/breakpoints.css — 480/760/1024/1280. */

/* ------------------------------------------------------ breadcrumb ------- */

.sv-crumb .sv-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: var(--space-3) var(--sv-gutter);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-crumb a {
	color: var(--text-muted);
}

.sv-crumb a:hover {
	color: var(--text-strong);
}

.sv-crumb [aria-current] {
	color: var(--text-strong);
}

/* ------------------------------------------- section head (title/note) --- */

.sv-sec__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-10);
	margin-bottom: 34px;
}

.sv-sec__head .sv-kicker {
	margin-bottom: 14px;
}

.sv-sec__head .sv-note {
	max-width: 260px;
	text-align: right;
	color: var(--text-strong);
}

/* ------------------------------------------------ service page hero ------ */

.sv-hero--service .sv-wrap {
	grid-template-columns: 1fr 430px;
}

.sv-hero--service .sv-hero__main {
	padding: var(--space-18) 48px var(--space-18) var(--sv-gutter);
}

.sv-hero--service .sv-h1 {
	font-size: clamp(38px, 4.9vw, 62px);
}

.sv-hero__deck {
	margin: var(--space-5) 0 0;
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: 1.15;
	letter-spacing: var(--tracking-heading);
	color: var(--ink-800);
}

.sv-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	align-items: center;
	margin-top: 34px;
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--text-muted);
}

.sv-hero__meta b {
	font-weight: var(--weight-medium);
	color: var(--text-strong);
}

.sv-hero__rating {
	color: var(--green-700);
}

/* The dark "two ways to start" panel */

.sv-offer {
	padding: var(--space-8);
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-offer .sv-kicker {
	margin-bottom: var(--space-2);
}

.sv-offer__plan {
	padding: var(--space-5) 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-offer__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
}

.sv-offer__name {
	font-size: var(--text-md);
	font-weight: var(--weight-semibold);
}

.sv-offer__price {
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
	color: var(--jade-green);
}

.sv-offer__text {
	margin: var(--space-2) 0 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-200);
}

.sv-offer__foot {
	padding-top: var(--space-5);
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-offer__note {
	margin: 0 0 var(--space-4);
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	line-height: var(--leading-relaxed);
	color: var(--ink-300);
}

/* The system's hard offset block, for the one action that should feel built. */
.sv-btn--hard .wp-block-button__link {
	box-shadow: var(--shadow-hard);
}

.sv-btn--hard .wp-block-button__link:active {
	box-shadow: 1px 1px 0 var(--carbon-black);
}

.sv-offer .sv-buttons {
	margin-top: 0;
}

.sv-offer .sv-buttons .wp-block-button__link {
	width: 100%;
}

/* A plan row that carries its qualifier under the name. */
.sv-offer__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: 18px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-offer__meta {
	margin: 5px 0 0;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	color: var(--ink-300);
}

.sv-offer__price small {
	font-size: var(--text-sm);
}

.sv-offer__tag {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
}

/* ----------------------------------------------------- problem/cost ------ */

.sv-costs .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sv-costs__argument {
	padding: 54px 48px 54px var(--sv-gutter);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-costs__argument .sv-kicker {
	margin-bottom: var(--space-5);
}

.sv-costs__argument .sv-h2 {
	font-size: clamp(30px, 3.1vw, 40px);
}

.sv-costs__argument p {
	margin: var(--space-5) 0 0;
	line-height: 1.65;
	color: var(--ink-500);
	text-wrap: pretty;
}

.sv-costs__list {
	padding: 54px var(--sv-gutter) 54px 48px;
	background: var(--surface-sunken);
}

.sv-costs__list .sv-kicker {
	margin-bottom: var(--space-5);
}

.sv-costs__list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-costs__list li {
	display: flex;
	gap: 14px;
	padding: 18px 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 15.5px;
	line-height: 1.5;
}

.sv-costs__list li:last-child {
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-costs__list li::before {
	content: "\2715";
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-weight: var(--weight-medium);
	color: var(--green-800);
}

/* ---------------------------------------------------------- tabs --------- */

.sv-argue .sv-wrap {
	padding: var(--space-14) var(--sv-gutter) var(--space-18);
}

.sv-argue .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-argue__head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-12);
	align-items: start;
}

.sv-argue__head .sv-h2 {
	font-size: clamp(32px, 3.4vw, 44px);
}

.sv-argue__head p {
	margin: 0;
	line-height: 1.65;
	color: var(--ink-200);
	text-wrap: pretty;
}

/* Same two-up head on a light band. */
.sv-argue__head--light {
	gap: var(--space-14);
	margin-bottom: 38px;
}

.sv-argue__head--light p {
	color: var(--text-strong);
}

.sv-tabs {
	margin-top: var(--space-10);
}

.sv-tabs__list {
	display: flex;
}

.sv-tabs__tab {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 24px;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: var(--weight-semibold);
	text-align: left;
	/* Inactive tabs are one step darker than the design's --ink-400 so the
	   label clears 4.5:1; the muted read is unchanged. */
	background: var(--ink-600);
	color: var(--ink-200);
	border: 0;
	border-top: var(--border-strong) solid var(--ink-600);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-tabs__tab span {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
}

.sv-tabs__tab:hover {
	background: var(--ink-700);
}

.sv-tabs__tab[aria-selected="true"] {
	background: var(--green-700);
	border-top-color: var(--green-700);
	color: var(--white);
}

.sv-tabs__tab:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring-dark);
}

.sv-tabs__panel {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 44px;
	align-items: start;
	padding: 38px 34px;
	background: var(--surface-brand);
	color: var(--carbon-black);
}

.sv-tabs__panel[hidden] {
	display: none;
}

.sv-tabs__panel .sv-h3 {
	font-size: clamp(26px, 2.6vw, 32px);
}

.sv-tabs__panel p {
	margin: var(--space-4) 0 0;
	font-size: 16.5px;
	line-height: 1.65;
	text-wrap: pretty;
}

.sv-tabs__proof {
	border-left: var(--border-hairline) solid var(--sv-rule-on-brand);
	padding-left: 26px;
}

.sv-tabs__proof .sv-kicker {
	margin-bottom: 14px;
}

.sv-tabs__proof ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-tabs__proof li {
	display: flex;
	gap: var(--space-3);
	padding: 11px 0;
	border-top: var(--border-hairline) solid var(--sv-rule-on-brand);
	font-size: 14.5px;
	line-height: 1.5;
}

.sv-tabs__proof li::before {
	content: "\2713";
	flex: none;
	padding-top: 2px;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-weight: var(--weight-medium);
}

/* ------------------------------------------------ trade cycler band ------ */

.sv-cycle {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-bold);
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--green-700);
	background: none;
	border: 0;
	border-bottom: var(--border-hairline) dotted var(--alpha-green-30);
	padding: 0;
	cursor: pointer;
}

.sv-cycle:hover {
	color: var(--green-800);
}

.sv-cycle:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-statgrid {
	display: grid;
	grid-template-rows: 1fr 1fr;
	background: var(--surface-sunken);
}

.sv-statgrid__pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-statgrid .sv-stat {
	padding: 34px 28px 34px 48px;
}

.sv-statgrid .sv-stat:last-child {
	padding-inline: 48px;
	border-right: 0;
}

.sv-statgrid .sv-stat__num {
	font-size: clamp(40px, 4.1vw, 52px);
}

/* ------------------------------------------------- "every plan covers" --- */

.sv-covers .sv-wrap {
	padding: var(--space-10) var(--sv-gutter);
}

.sv-covers .sv-kicker {
	margin-bottom: 22px;
}

.sv-covers__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0 var(--space-8);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: sv-cover;
}

.sv-covers__grid li {
	display: flex;
	gap: var(--space-3);
	padding: 14px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-size: 14.5px;
	line-height: 1.4;
	font-weight: var(--weight-medium);
	counter-increment: sv-cover;
}

.sv-covers__grid li::before {
	content: "0" counter(sv-cover);
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	color: var(--jade-green);
}

.sv-covers__note {
	display: flex;
	align-items: flex-start;
	padding: 14px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	line-height: 1.4;
	color: var(--ink-300);
}

/* Tabs sitting on a jade band, with a carbon panel under them. */

.sv-argue--brand .sv-wrap {
	padding: 52px var(--sv-gutter) var(--space-14);
}

.sv-argue--brand .sv-h2 {
	margin-bottom: 30px;
	font-size: clamp(32px, 3.4vw, 44px);
}

.sv-tabs--dark {
	margin-top: 0;
}

.sv-tabs--dark .sv-tabs__list {
	gap: 2px;
}

.sv-tabs--dark .sv-tabs__tab {
	align-items: flex-start;
	padding: var(--space-4) 18px;
	font-size: var(--text-sm);
	line-height: 1.3;
	background: var(--ink-400);
	color: var(--white);
	border-top: 0;
}

.sv-tabs--dark .sv-tabs__tab span {
	padding-top: 2px;
}

.sv-tabs--dark .sv-tabs__tab:hover {
	background: var(--ink-500);
}

.sv-tabs--dark .sv-tabs__tab[aria-selected="true"] {
	background: var(--carbon-black);
	color: var(--jade-green);
}

.sv-tabs--dark .sv-tabs__panel {
	grid-template-columns: 1.35fr 1fr;
	padding: var(--space-8) 34px;
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-tabs--dark .sv-h3 {
	color: var(--jade-green);
}

.sv-tabs--dark .sv-tabs__panel p {
	color: var(--ink-300);
}

.sv-tabs--dark .sv-tabs__proof {
	border-left-color: var(--border-inverse);
}

.sv-tabs--dark .sv-tabs__proof li {
	border-top-color: var(--border-inverse);
	color: var(--ink-300);
}

.sv-tabs--dark .sv-tabs__proof li::before {
	color: var(--jade-green);
}

/* The claim under each argument — a statement, not a control. */
.sv-tabs--dark .sv-tabs__panel .sv-tabs__line {
	display: inline-block;
	margin: var(--space-6) 0 0;
	padding: 0 18px;
	line-height: var(--control-height-md);
	background: var(--white);
	color: var(--carbon-black);
	font-size: var(--text-sm);
	font-weight: var(--weight-bold);
	letter-spacing: var(--tracking-label);
	border-radius: var(--control-radius);
}

/* ---------------------------------------------------------- tools -------- */

.sv-tools {
	background: var(--surface-sunken);
}

.sv-tools .sv-wrap {
	padding: var(--space-12) var(--sv-gutter);
}

.sv-tools__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-6);
	margin-bottom: 26px;
}

.sv-tools__head h2 {
	margin: 0;
	font-family: var(--font-body);
	font-size: 25px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
	text-transform: none;
}

.sv-tools__flag {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--green-800);
}

.sv-tools__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	border-top: var(--border-hairline) solid var(--border-default);
}

.sv-tool {
	padding: 22px 24px;
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-tool:first-child {
	padding-left: 0;
}

.sv-tool:last-child {
	padding-right: 0;
	border-right: 0;
}

.sv-tool__name {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

.sv-tool__text {
	margin: 7px 0 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-500);
}

/* --------------------------------------------------------- vision -------- */

.sv-vision .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 420px;
}

.sv-vision__body {
	padding: 54px 48px 54px var(--sv-gutter);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-vision__body .sv-kicker {
	margin-bottom: var(--space-5);
}

.sv-vision__body p {
	margin: 22px 0 0;
	max-width: 600px;
	line-height: 1.65;
	color: var(--text-body);
	text-wrap: pretty;
}

.sv-vision__body p + p {
	margin-top: var(--space-4);
	color: var(--ink-800);
}

.sv-pledges {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--space-8);
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.sv-pledges li {
	display: flex;
	gap: var(--space-3);
	padding: var(--space-3) 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 14.5px;
	font-weight: var(--weight-medium);
	counter-increment: sv-pledge;
}

.sv-pledges li:nth-last-child(-n + 2) {
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-pledges li::before {
	content: "0" counter(sv-pledge);
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-weight: var(--weight-medium);
	color: var(--green-700);
}

.sv-vision__media {
	background: var(--surface-sunken);
	min-height: 420px;
}

.sv-vision__media,
.sv-vision__media img {
	display: block;
	margin: 0;
	height: 100%;
}

.sv-vision__media img {
	width: 100%;
	min-height: 420px;
	object-fit: contain;
}

/* Photo-left variant of the vision band. */
.sv-vision--reverse .sv-wrap {
	grid-template-columns: 420px 1fr;
}

.sv-vision--reverse .sv-vision__media {
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-vision--reverse .sv-vision__body {
	padding: 54px var(--sv-gutter) 54px 48px;
	border-right: 0;
}

/* -------------------------------------------------- four-step process ---- */

.sv-process__grid--4 {
	grid-template-columns: repeat(4, 1fr);
}

.sv-step__head {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.sv-step__phase {
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-process__grid--4 .sv-step__text {
	color: var(--text-body);
}

/* ------------------------------------------------- three promises -------- */

.sv-promises .sv-wrap {
	padding: 52px var(--sv-gutter);
}

.sv-promises .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-promises .sv-h2 {
	margin-bottom: 34px;
}

.sv-promises__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 var(--space-10);
}

.sv-promise {
	padding-top: 22px;
	border-top: var(--border-strong) solid var(--sv-rule-on-brand);
}

.sv-promise h3 {
	margin: 0;
	font-family: var(--font-body);
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
	text-transform: none;
}

.sv-promise p {
	margin: 14px 0 0;
	font-size: 15.5px;
	line-height: var(--leading-relaxed);
	text-wrap: pretty;
}

.sv-promise__claim {
	margin-top: 14px;
	font-size: 14.5px;
	font-weight: var(--weight-semibold);
	line-height: 1.55;
}

/* ------------------------------------------------------ ROI calculator --- */

.sv-roi {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-roi__inputs {
	padding: 30px 44px 30px 0;
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-roi__title {
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
}

.sv-roi__sub {
	margin: var(--space-15) 0 0;
	font-size: 13.5px;
}

.sv-roi__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 24px;
	margin-top: 26px;
}

.sv-roi__field label {
	display: block;
	margin-bottom: var(--space-2);
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sv-roi__field input {
	box-sizing: border-box;
	width: 100%;
	height: var(--control-height-lg);
	padding: 0 var(--space-3);
	background: var(--surface-field);
	border: var(--border-regular) solid var(--border-default);
	border-radius: var(--field-radius);
	font-family: var(--font-mono);
	font-size: var(--text-base);
	color: var(--text-strong);
}

.sv-roi__field input:focus {
	outline: none;
	border-color: var(--border-focus);
	box-shadow: var(--focus-ring);
}

.sv-roi__disclaimer {
	margin: var(--space-6) 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-muted);
}

.sv-roi__result {
	padding: 30px 34px;
	background: var(--surface-inverse);
	color: var(--text-inverse);
	border-top: var(--border-heavy) solid var(--jade-green);
	margin-top: -2px;
}

.sv-roi__figure {
	margin: 14px 0 0;
	font-family: var(--font-display);
	font-size: clamp(44px, 5.9vw, var(--text-6xl));
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-roi__summary {
	margin: 18px 0 0;
	font-size: 15.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

.sv-roi__verdict {
	display: inline-block;
	margin-top: var(--space-5);
	padding: 9px var(--space-4);
	background: var(--surface-brand);
	color: var(--carbon-black);
	border-radius: var(--radius-pill);
	font-family: var(--font-mono);
	font-size: 12.5px;
	font-weight: var(--weight-bold);
	letter-spacing: .06em;
}

.sv-roi__tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	margin-top: 26px;
}

.sv-roi__tile {
	padding: var(--space-4);
	background: var(--surface-inverse-raised);
}

.sv-roi__tile dt {
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-roi__tile dd {
	margin: var(--space-2) 0 0;
	font-family: var(--font-mono);
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	color: var(--jade-green);
}

/* ------------------------------------------------ platform blueprint ----- */

.sv-blueprint .sv-wrap {
	padding: var(--space-14) var(--sv-gutter) var(--space-18);
}

.sv-blueprint .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-blueprint__head {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-14);
	align-items: start;
}

.sv-blueprint__head p {
	margin: 0;
	line-height: 1.65;
	color: var(--ink-200);
	text-wrap: pretty;
}

.sv-blueprint__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 var(--space-10);
	margin-top: var(--space-8);
}

.sv-blueprint__card {
	padding-top: 18px;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-blueprint__card .sv-prop__label {
	color: var(--jade-green);
}

.sv-blueprint__card h3 {
	margin: 10px 0 var(--space-2);
	font-family: var(--font-body);
	font-size: var(--text-md);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-heading);
	text-transform: none;
	line-height: var(--leading-snug);
}

.sv-blueprint__card p {
	margin: 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

.sv-blueprint__picker {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	margin-top: 44px;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-goals {
	padding: 26px var(--space-10) 26px 0;
	border-right: var(--border-hairline) solid var(--border-inverse);
}

.sv-goals__title {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: var(--weight-semibold);
}

.sv-goals__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-15);
}

.sv-goal {
	width: 100%;
	padding: 14px var(--space-4);
	text-align: left;
	background: var(--ink-400);
	color: var(--white);
	border: 0;
	border-left: var(--border-strong) solid var(--ink-400);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-goal:hover {
	background: var(--ink-500);
}

.sv-goal[aria-selected="true"] {
	background: var(--surface-brand);
	border-left-color: var(--jade-green);
	color: var(--carbon-black);
}

.sv-goal:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring-dark);
}

.sv-goal__label {
	display: block;
	font-size: 15.5px;
	font-weight: var(--weight-semibold);
}

.sv-goal__sub {
	display: block;
	margin-top: var(--space-1);
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	color: var(--ink-050);
}

.sv-goal[aria-selected="true"] .sv-goal__sub {
	color: var(--green-900);
}

.sv-rec {
	padding: 26px 0 26px var(--space-10);
}

.sv-rec[hidden] {
	display: none;
}

.sv-rec__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-6);
}

.sv-rec__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 34px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-rec__split {
	flex: none;
	padding: 14px 18px;
	text-align: right;
	border: var(--border-regular) solid var(--alpha-green-30);
}

.sv-rec__split-value {
	margin: var(--space-2) 0 var(--space-1);
	font-family: var(--font-mono);
	font-size: 22px;
	font-weight: var(--weight-bold);
	color: var(--jade-green);
}

.sv-rec__split-legend {
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-meter {
	margin-top: 28px;
}

.sv-meter__row {
	display: flex;
	justify-content: space-between;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-200);
}

.sv-meter__row + .sv-meter__track {
	margin-bottom: var(--space-5);
}

.sv-meter__row b {
	color: var(--jade-green);
}

.sv-meter__track {
	height: 6px;
	margin-top: var(--space-2);
	background: var(--alpha-white-16);
}

.sv-meter__fill {
	display: block;
	height: 6px;
	background: var(--jade-green);
}

.sv-meter__fill--meta {
	background: var(--ink-300);
}

.sv-rec__notes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--space-8);
	margin-top: var(--space-8);
}

.sv-rec__notes > div {
	padding-top: var(--space-4);
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-rec__notes p {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

.sv-facets {
	margin-top: var(--space-10);
	padding-top: 26px;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-facets__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: 22px;
}

.sv-chip {
	padding: 9px 18px;
	background: var(--ink-400);
	color: var(--white);
	border: 0;
	border-radius: var(--radius-pill);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-bold);
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-chip:hover {
	background: var(--ink-500);
}

.sv-chip[aria-selected="true"] {
	background: var(--surface-brand);
	color: var(--carbon-black);
}

.sv-chip:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring-dark);
}

.sv-facet {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--space-10);
}

.sv-facet[hidden] {
	display: none;
}

.sv-facet__side {
	padding: 2px 0 2px 22px;
	border-left: var(--border-strong) solid var(--jade-green);
}

.sv-facet__side--meta {
	border-left-color: var(--ink-300);
}

.sv-facet__side h3 {
	margin: 10px 0 0;
	font-family: var(--font-body);
	font-size: 21px;
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-heading);
	text-transform: none;
}

.sv-facet__side p {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

/* ----------------------------------------------------- contact page ------ */

/* Library surfaces — contact, case studies, the blog, legal — run a carbon bar. */
.sv-chrome-dark .sv-header {
	background: var(--surface-inverse);
	border-bottom-color: var(--border-inverse);
}

.sv-chrome-dark .sv-header__nav a {
	color: var(--ink-200);
	letter-spacing: .1em;
}

.sv-chrome-dark .sv-header__nav a:hover {
	color: var(--white);
}

.sv-chrome-dark .sv-phone {
	color: var(--ink-300);
}

.sv-chrome-dark .sv-header__nav .wp-block-navigation__responsive-container-open {
	border-color: var(--ink-300);
	color: var(--white);
}

/* A ghost action disappears on carbon, so the bar's CTA goes solid here. */
.sv-chrome-dark .sv-header .sv-btn .wp-block-button__link {
	background: var(--action-primary-bg);
	color: var(--action-primary-fg);
}

.sv-chrome-dark .sv-header .sv-btn .wp-block-button__link:hover {
	background: var(--action-primary-bg-hover);
}

.sv-contact .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 560px;
}

.sv-contact__intro {
	padding: var(--space-18) 48px var(--space-18) var(--sv-gutter);
	border-right: var(--border-hairline) solid var(--border-inverse);
}

.sv-contact__intro .sv-kicker {
	margin-bottom: 26px;
}

.sv-contact__intro .sv-h1 {
	font-size: clamp(41px, 5.2vw, 66px);
}

.sv-contact__deck {
	margin: 22px 0 0;
	max-width: 480px;
	font-size: var(--text-xl);
	font-weight: var(--weight-bold);
	line-height: 1.2;
	letter-spacing: var(--tracking-heading);
	color: var(--white);
}

.sv-contact__intro .sv-lead {
	max-width: 460px;
	font-size: 17px;
	color: var(--ink-200);
}

.sv-next {
	margin-top: var(--space-10);
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-next__title {
	margin: 0;
	padding: 18px 0 10px;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-next ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: sv-next;
}

.sv-next li {
	display: flex;
	gap: 14px;
	padding: 14px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
	counter-increment: sv-next;
}

.sv-next li:last-child {
	border-bottom: var(--border-hairline) solid var(--border-inverse);
}

.sv-next li::before {
	content: "0" counter(sv-next);
	flex: none;
	padding-top: 4px;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	color: var(--jade-green);
}

.sv-next b {
	display: block;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

.sv-next span {
	display: block;
	margin-top: var(--space-1);
	font-size: var(--text-sm);
	line-height: 1.55;
	color: var(--ink-300);
}

.sv-contact__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-6);
	align-items: center;
	margin: 30px 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--ink-300);
}

.sv-contact__meta .sv-hero__rating {
	color: var(--jade-green);
}

/* The form */

.sv-form {
	padding: var(--space-10) var(--sv-gutter) 44px var(--space-10);
	background: var(--surface-page);
	color: var(--text-strong);
}

.sv-form fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.sv-form legend {
	padding: 0;
}

.sv-needs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-4);
}

.sv-need input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.sv-need span {
	display: block;
	padding: 11px var(--space-4);
	border: var(--border-regular) solid var(--ink-300);
	border-radius: var(--radius-sm);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-need span:hover {
	border-color: var(--carbon-black);
}

.sv-need input:checked + span {
	background: var(--carbon-black);
	border-color: var(--carbon-black);
	color: var(--white);
}

.sv-need input:focus-visible + span {
	box-shadow: var(--focus-ring);
	border-color: var(--border-focus);
}

.sv-form__step {
	margin: 34px 0 0;
}

.sv-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--space-6);
}

.sv-field {
	padding-top: 18px;
}

.sv-field label {
	display: block;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-field .sv-req {
	color: var(--green-700);
}

.sv-field .sv-opt {
	letter-spacing: .06em;
	color: var(--text-muted);
}

.sv-field input {
	box-sizing: border-box;
	width: 100%;
	padding: 11px 0;
	background: transparent;
	border: 0;
	border-bottom: var(--border-regular) solid var(--border-default);
	font-family: var(--font-body);
	font-size: var(--text-base);
	color: var(--text-strong);
}

.sv-field input:focus {
	outline: none;
	border-bottom: var(--border-strong) solid var(--green-700);
	padding-bottom: 10px;
}

.sv-field input::placeholder,
.sv-form textarea::placeholder {
	color: var(--ink-300);
}

.sv-field--wide {
	grid-column: 1 / -1;
}

.sv-form__msg-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-4);
}

.sv-form__hint {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	color: var(--text-muted);
}

.sv-form textarea {
	box-sizing: border-box;
	width: 100%;
	margin-top: 10px;
	padding: 14px;
	background: transparent;
	border: var(--border-regular) solid var(--border-default);
	border-radius: var(--field-radius);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.55;
	color: var(--text-strong);
	resize: vertical;
}

.sv-form textarea:focus {
	outline: none;
	border-color: var(--green-700);
}

.sv-terms {
	display: flex;
	align-items: flex-start;
	gap: var(--space-3);
	margin-top: var(--space-6);
	font-size: var(--text-sm);
	line-height: 1.5;
	color: var(--text-body);
	cursor: pointer;
}

.sv-terms input {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	accent-color: var(--green-700);
}

.sv-terms input:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-form__send {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin-top: 26px;
}

.sv-form__send button {
	padding: 18px 30px;
	background: var(--green-700);
	color: var(--white);
	border: 0;
	border-radius: var(--radius-sm);
	font-family: var(--font-body);
	font-size: 14.5px;
	font-weight: var(--weight-bold);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-form__send button:hover {
	background: var(--green-800);
}

.sv-form__send button:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-form__send button[disabled] {
	background: var(--ink-200);
	color: var(--ink-500);
	cursor: not-allowed;
}

.sv-form__note,
.sv-form__privacy {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	line-height: 1.5;
	color: var(--text-muted);
}

.sv-form__privacy {
	margin-top: 18px;
	padding-top: 14px;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 11.5px;
	line-height: 1.55;
}

/* Who you'll be dealing with / follow my work */

.sv-pair .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sv-pair__left {
	padding: 54px 48px 54px var(--sv-gutter);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-pair__right {
	padding: 54px var(--sv-gutter) 54px 48px;
	background: var(--surface-sunken);
}

.sv-pair .sv-kicker {
	margin-bottom: 18px;
}

.sv-pair .sv-h2 {
	font-size: clamp(28px, 3vw, 38px);
}

.sv-pair p {
	margin: 18px 0 0;
	max-width: 500px;
	line-height: 1.65;
	color: var(--text-body);
	text-wrap: pretty;
}

.sv-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 36px;
	margin: 30px 0 0;
	padding-top: 22px;
	border-top: var(--border-hairline) solid var(--border-subtle);
	list-style: none;
}

.sv-facts b {
	display: block;
	font-size: 22px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
}

.sv-facts span {
	display: block;
	margin-top: var(--space-15);
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	color: var(--text-muted);
}

.sv-socials {
	margin: var(--space-6) 0 0;
	padding: 0;
	border-top: var(--border-hairline) solid var(--border-default);
	list-style: none;
}

.sv-socials a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	min-height: 44px;
	padding: 14px 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
	color: var(--text-strong);
}

.sv-socials a:hover {
	color: var(--green-800);
	text-decoration: none;
}

.sv-socials__id {
	display: flex;
	align-items: center;
	gap: 14px;
}

.sv-socials__mark {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--radius-sm);
	background: var(--carbon-black);
	color: var(--ink-200);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
}

.sv-socials__text b {
	display: block;
	font-size: 15.5px;
	font-weight: var(--weight-semibold);
}

.sv-socials__text span {
	display: block;
	margin-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	color: var(--ink-500);
}

.sv-socials__go {
	color: var(--green-800);
	font-size: var(--text-md);
}

/* Service area */

.sv-area__wrap {
	padding: 52px var(--sv-gutter);
}

.sv-area__wrap .sv-sec__head {
	margin-bottom: 26px;
}

.sv-area__wrap .sv-note {
	max-width: 300px;
	color: var(--ink-500);
}

.sv-area__grid {
	display: grid;
	grid-template-columns: 1fr 330px;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-area__map {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 340px;
	padding: var(--space-6);
	text-align: center;
	background: var(--surface-sunken);
	border-right: var(--border-hairline) solid var(--border-subtle);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-area__map small {
	display: block;
	margin-top: var(--space-2);
	font-size: var(--text-2xs);
	letter-spacing: .06em;
	text-transform: none;
}

.sv-area__list {
	padding: 26px 0 26px 34px;
}

.sv-area__list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-area__list li {
	padding: 11px 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 15px;
	font-weight: var(--weight-medium);
}

.sv-area__list li:last-child {
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-area__note {
	margin: var(--space-4) 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-muted);
}

/* ------------------------------------------------------- directories ----- */

.sv-dir__hero .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: var(--space-14);
	align-items: end;
	padding: var(--space-14) var(--sv-gutter) 44px;
}

.sv-dir__hero .sv-kicker {
	margin-bottom: var(--space-6);
}

.sv-dir__hero .sv-h1 {
	font-size: clamp(38px, 5vw, 63px);
}

.sv-dir__hero .sv-lead {
	max-width: 600px;
	color: var(--ink-500);
}

.sv-dir__stat {
	border-left: var(--border-strong) solid var(--carbon-black);
	padding-left: 26px;
}

.sv-dir__stat b {
	display: block;
	margin-top: var(--space-3);
	font-family: var(--font-display);
	font-size: clamp(40px, 4.1vw, 52px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
	color: var(--green-700);
}

.sv-dir__stat span {
	display: block;
	margin-top: 10px;
	font-size: var(--text-sm);
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

.sv-dir__by {
	border-left: var(--border-strong) solid var(--carbon-black);
	padding-left: 26px;
}

.sv-dir__by b {
	display: block;
	margin-top: var(--space-3);
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-heading);
}

.sv-dir__by span {
	display: block;
	margin-top: var(--space-2);
	font-size: var(--text-sm);
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

/* Published / by row under a featured article */
.sv-feature__meta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	max-width: 420px;
	margin: 26px 0 0;
	padding: 0;
	border-top: var(--border-hairline) solid var(--border-default);
	list-style: none;
}

.sv-feature__meta li {
	padding: 14px 28px 0 0;
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-feature__meta li:last-child {
	padding: 14px 0 0 28px;
	border-right: 0;
}

.sv-feature__meta b {
	display: block;
	margin-top: 5px;
	font-size: 14.5px;
	font-weight: var(--weight-semibold);
}

/* Email capture in the sidebar */
.sv-sub {
	box-sizing: border-box;
	width: 100%;
	height: var(--control-height-lg);
	margin-top: var(--space-4);
	padding: 0 14px;
	background: var(--surface-inverse-raised);
	border: var(--border-regular) solid var(--border-inverse);
	border-radius: var(--field-radius);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--white);
}

.sv-sub::placeholder {
	color: var(--ink-300);
}

.sv-sub:focus {
	outline: none;
	border-color: var(--border-focus);
	box-shadow: var(--focus-ring-dark);
}

.sv-aside__block--plain li {
	padding: var(--space-3) 0;
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: 1.4;
	color: var(--ink-500);
}

.sv-aside__block--plain p {
	margin: 0 0 var(--space-2);
	font-size: var(--text-xs);
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

.sv-empty--center {
	display: block;
	padding: 44px 0;
	text-align: center;
}

.sv-empty--center p {
	margin-inline: auto;
	max-width: 420px;
}

.sv-empty--center .sv-buttons {
	justify-content: center;
	margin-top: var(--space-5);
}

.sv-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
	padding: var(--space-10) var(--sv-gutter) 18px;
	border-bottom: var(--border-hairline) solid var(--border-default);
}

.sv-filters__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-filter {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: 10px 18px;
	border: var(--border-regular) solid var(--ink-300);
	border-radius: var(--radius-sm);
	font-size: 12.5px;
	font-weight: var(--weight-semibold);
	color: var(--text-strong);
	white-space: nowrap;
	transition: var(--transition-control);
}

.sv-filter:hover {
	border-color: var(--carbon-black);
	color: var(--text-strong);
	text-decoration: none;
}

.sv-filter[aria-current] {
	background: var(--carbon-black);
	border-color: var(--carbon-black);
	color: var(--white);
}

.sv-filter small {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	color: var(--ink-500);
}

.sv-filter[aria-current] small {
	color: var(--ink-200);
}

.sv-filters__count {
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--ink-500);
	white-space: nowrap;
}

/* Featured entry */

.sv-feature {
	padding: var(--space-8) var(--sv-gutter) 0;
}

.sv-feature .sv-kicker {
	margin-bottom: 18px;
}

.sv-feature__grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-feature__media {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 420px;
	padding: 30px;
	background: var(--surface-sunken);
	border-right: var(--border-hairline) solid var(--border-subtle);
	text-align: center;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-feature__media img {
	max-width: 100%;
	height: auto;
}

.sv-feature__who {
	width: 100%;
	max-width: 280px;
	padding-top: var(--space-4);
	border-top: var(--border-hairline) solid var(--border-default);
	font-size: 12.5px;
	line-height: var(--leading-relaxed);
	letter-spacing: .06em;
	text-transform: none;
}

.sv-feature__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 34px 0 34px var(--space-10);
}

.sv-tagline {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--green-700);
}

.sv-tagline .sv-tagline__sep {
	color: var(--ink-500);
}

.sv-tagline .sv-tagline__when {
	color: var(--text-muted);
}

.sv-feature__body h2 {
	margin: var(--space-4) 0 0;
	max-width: 520px;
	font-family: var(--font-display);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-feature__body h2 a {
	color: inherit;
}

.sv-feature__blurb {
	margin: 18px 0 0;
	max-width: 500px;
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--text-body);
	text-wrap: pretty;
}

.sv-scoreboard {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 560px;
	margin: 26px 0 0;
	padding: 0;
	border-top: var(--border-hairline) solid var(--border-default);
	list-style: none;
}

.sv-scoreboard li {
	padding: var(--space-4) var(--space-4) 0;
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-scoreboard li:first-child {
	padding-left: 0;
}

.sv-scoreboard li:last-child {
	padding-right: 0;
	border-right: 0;
}

.sv-scoreboard b {
	display: block;
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
}

.sv-scoreboard li:first-child b {
	color: var(--green-700);
}

.sv-scoreboard span {
	display: block;
	margin-top: var(--space-2);
	font-size: 11.5px;
	line-height: 1.4;
	color: var(--ink-500);
}

.sv-feature__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin-top: 26px;
}

.sv-feature__actions .sv-buttons {
	margin-top: 0;
}

.sv-feature__quote {
	max-width: 230px;
	font-size: var(--text-xs);
	line-height: 1.5;
	color: var(--ink-500);
}

/* Index rows + sidebar */

.sv-dir__body .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: var(--space-12);
	align-items: start;
	padding: 44px var(--sv-gutter) var(--space-14);
}

.sv-rows__label {
	margin: 0 0 var(--space-2);
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-rows {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: var(--border-hairline) solid var(--border-default);
}

.sv-row {
	display: grid;
	grid-template-columns: 150px 1fr 130px;
	gap: 28px;
	align-items: center;
	padding: var(--space-6) 0;
	border-top: var(--border-hairline) solid var(--border-default);
	transition: var(--transition-control);
}

.sv-row:hover {
	background: var(--sv-service-hover);
}

.sv-row__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 104px;
	background: var(--surface-sunken);
	font-family: var(--font-mono);
	font-size: 9.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-muted);
	overflow: hidden;
}

.sv-row__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sv-row h3 {
	margin: 10px 0 var(--space-2);
	font-family: var(--font-body);
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: 1.12;
	letter-spacing: var(--tracking-heading);
	text-transform: none;
}

.sv-row h3 a {
	color: inherit;
}

.sv-row__blurb {
	margin: 0;
	max-width: 520px;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-row__go {
	text-align: right;
}

.sv-row__when {
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--text-muted);
}

.sv-row__read {
	display: block;
	margin-top: 10px;
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	color: var(--green-700);
}

.sv-empty {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-8);
	padding: 34px 0;
	border-top: var(--border-hairline) solid var(--border-default);
}

.sv-empty b {
	display: block;
	font-size: 19px;
	font-weight: var(--weight-semibold);
	line-height: 1.35;
}

.sv-empty p {
	margin: var(--space-2) 0 0;
	max-width: 520px;
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

.sv-empty .sv-buttons {
	margin-top: 0;
}

/* Sidebar */

.sv-aside__card {
	padding: 26px var(--space-6);
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-aside__card .sv-kicker {
	margin-bottom: 14px;
}

.sv-aside__card b {
	display: block;
	font-size: 22px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
}

.sv-aside__card p {
	margin: var(--space-3) 0 0;
	font-size: var(--text-sm);
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

.sv-aside__card .sv-buttons {
	margin-top: 18px;
}

.sv-aside__card .wp-block-button__link {
	width: 100%;
}

.sv-aside__note {
	margin: var(--space-3) 0 0;
	font-family: var(--font-mono);
	font-size: 11.5px;
	text-align: center;
	color: var(--ink-300);
}

.sv-aside__block {
	margin-top: var(--space-8);
	padding-top: var(--space-5);
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-aside__block .sv-kicker {
	margin-bottom: 14px;
}

.sv-aside__block ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-aside__block li {
	border-top: var(--border-hairline) solid var(--border-subtle);
}

.sv-aside__block li:last-child {
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-aside__block a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-3);
	padding: 13px 0;
	font-size: 14.5px;
	line-height: 1.3;
	color: var(--text-body);
}

.sv-aside__block a:hover {
	color: var(--green-800);
	text-decoration: none;
}

.sv-aside__block a[aria-current] {
	font-weight: var(--weight-semibold);
	color: var(--green-700);
}

.sv-aside__block small {
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	color: var(--ink-500);
}

.sv-aside__block--services a {
	font-weight: var(--weight-semibold);
}

.sv-aside__block--services span {
	flex: none;
	font-size: 17px;
	color: var(--green-700);
}

/* -------------------------------------------------------- case study ----- */

.sv-cs__hero .sv-wrap {
	padding: 52px var(--sv-gutter) 0;
}

.sv-cs__hero .sv-kicker {
	margin-bottom: 26px;
}

.sv-cs__head {
	display: grid;
	grid-template-columns: 1fr 260px;
	gap: var(--space-14);
	align-items: start;
}

.sv-cs__head .sv-h1 {
	font-size: clamp(38px, 5.2vw, 66px);
}

.sv-cs__head p {
	margin: var(--space-6) 0 0;
	max-width: 640px;
	font-size: 17.5px;
	line-height: 1.62;
	color: var(--ink-200);
	text-wrap: pretty;
}

.sv-cs__result {
	border-left: var(--border-strong) solid var(--jade-green);
	padding-left: var(--space-6);
}

.sv-cs__result dt {
	margin-top: 22px;
	font-family: var(--font-display);
	font-size: clamp(34px, 3.7vw, 46px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-cs__result dt:first-of-type {
	margin-top: var(--space-3);
	font-size: clamp(44px, 4.9vw, 62px);
	color: var(--jade-green);
}

.sv-cs__result dd {
	margin: var(--space-2) 0 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--ink-200);
}

.sv-cs__facts {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin: 44px 0 0;
	padding: 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
	list-style: none;
}

.sv-cs__facts li {
	padding: 22px var(--space-5) 26px;
	border-right: var(--border-hairline) solid var(--border-inverse);
}

.sv-cs__facts li:first-child {
	padding-left: 0;
}

.sv-cs__facts li:last-child {
	padding-right: 0;
	border-right: 0;
}

.sv-cs__facts b {
	display: block;
	margin-top: var(--space-2);
	font-size: 15.5px;
	font-weight: var(--weight-semibold);
	line-height: 1.35;
}

.sv-cs__facts li:nth-child(3) b {
	color: var(--jade-green);
}

.sv-cs__scope {
	margin: 0;
	padding: 18px 0 22px;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-weight: var(--weight-medium);
	letter-spacing: .06em;
	color: var(--ink-300);
}

/* 01 — the client */

.sv-cs__client .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 400px;
}

.sv-cs__client-body {
	padding: 54px 48px 54px var(--sv-gutter);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-cs__client-body .sv-kicker {
	margin-bottom: var(--space-5);
}

.sv-cs__client-body .sv-h2 {
	max-width: 560px;
	font-size: clamp(28px, 3.2vw, 40px);
}

.sv-cs__client-body p {
	margin: var(--space-5) 0 0;
	max-width: 600px;
	font-size: 16.5px;
	line-height: 1.65;
	color: var(--text-body);
	text-wrap: pretty;
}

.sv-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.sv-tags li {
	border: var(--border-regular) solid var(--border-default);
	padding: 9px 14px;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sv-cs__client-media {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	min-height: 400px;
	background: var(--surface-sunken);
	text-align: center;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-cs__client-media span {
	display: block;
	font-size: var(--text-2xs);
	letter-spacing: .06em;
	text-transform: none;
}

/* 02 — the audit */

.sv-audit__wrap {
	padding: var(--space-14) var(--sv-gutter) var(--space-18);
}

.sv-audit__wrap > .sv-kicker {
	margin-bottom: var(--space-4);
}

/* The approach band sits on the sunken surface, per the design. */
.sv-cs__approach {
	background: var(--surface-sunken);
}

.sv-audit__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-audit__panel {
	padding-right: var(--space-10);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-sev {
	display: flex;
	margin: 0;
	padding: 0;
}

.sv-sev__tab {
	flex: 1;
	padding: 14px var(--space-2);
	text-align: center;
	background: transparent;
	color: var(--text-body);
	border: 0;
	border-right: var(--border-hairline) solid var(--border-subtle);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-sev__tab:last-child {
	border-right: 0;
}

.sv-sev__tab:hover {
	background: var(--sv-service-hover);
}

.sv-sev__tab[aria-selected="true"] {
	background: var(--carbon-black);
	color: var(--jade-green);
}

.sv-sev__tab:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-sev__count {
	display: block;
	font-size: var(--text-lg);
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
}

.sv-sev__label {
	display: block;
	margin-top: var(--space-15);
	font-family: var(--font-mono);
	font-size: 9.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sv-sev__body {
	padding-top: var(--space-6);
}

.sv-sev__body[hidden] {
	display: none;
}

.sv-sev__eyebrow {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--green-700);
}

.sv-sev__title {
	margin: var(--space-3) 0 14px;
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: 1.15;
	letter-spacing: var(--tracking-heading);
}

.sv-sev__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-sev__items li {
	display: flex;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-3) 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 15px;
	line-height: 1.45;
	color: var(--text-body);
}

.sv-sev__items b {
	flex: none;
	font-family: var(--font-mono);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	color: var(--green-700);
}

.sv-sev__note {
	margin: 0;
	padding-top: 14px;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-muted);
}

.sv-audit__cost {
	padding-left: var(--space-10);
	padding-top: var(--space-6);
}

.sv-audit__cost .sv-kicker {
	margin-bottom: 14px;
}

.sv-audit__cost ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-audit__cost li {
	display: flex;
	gap: 14px;
	padding: 13px 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 15.5px;
	line-height: 1.5;
}

.sv-audit__cost li:last-child {
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-audit__cost li::before {
	content: "\2715";
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-weight: var(--weight-medium);
	color: var(--green-700);
}

.sv-callout {
	margin: 22px 0 0;
	padding: 18px 22px;
	background: var(--surface-sunken);
	border-left: var(--border-heavy) solid var(--green-700);
	font-size: 15.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-800);
}

/* 03/04 — approach and build */

.sv-process__grid--5 {
	grid-template-columns: repeat(5, 1fr);
}

.sv-process__grid--5 .sv-step {
	padding-inline: var(--space-6);
}

.sv-process__grid--5 .sv-step:first-child {
	padding-left: 0;
}

.sv-process__grid--5 .sv-step:last-child {
	padding-right: 0;
}

.sv-process__grid--5 .sv-step__num {
	font-family: var(--font-body);
	font-size: 25px;
	letter-spacing: var(--tracking-heading);
}

.sv-process__grid--5 .sv-step__title {
	font-size: var(--text-md);
	line-height: 1.25;
}

.sv-process__grid--5 .sv-step__text {
	font-size: var(--text-sm);
	color: var(--text-body);
}

.sv-props--dark .sv-prop {
	border-top-color: var(--border-inverse);
	padding-bottom: 30px;
}

.sv-props--dark .sv-props__grid--lead .sv-prop {
	border-top: var(--border-strong) solid var(--ink-300);
}

.sv-props--dark .sv-prop__label {
	color: var(--jade-green);
}

.sv-props--dark .sv-prop__text {
	color: var(--ink-200);
}

/* 05 — results */

.sv-views {
	border: var(--border-regular) solid var(--border-default);
}

.sv-views__list {
	display: flex;
	border-bottom: var(--border-hairline) solid var(--border-default);
}

.sv-views__tab {
	flex: 1;
	padding: 15px var(--space-3);
	text-align: center;
	background: transparent;
	color: var(--ink-500);
	border: 0;
	border-right: var(--border-hairline) solid var(--border-subtle);
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-weight: var(--weight-bold);
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-views__tab:last-child {
	border-right: 0;
}

.sv-views__tab:hover {
	background: var(--sv-service-hover);
}

.sv-views__tab[aria-selected="true"] {
	background: var(--carbon-black);
	color: var(--jade-green);
}

.sv-views__tab:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-views__panel {
	padding: var(--space-8) 34px;
}

.sv-views__panel[hidden] {
	display: none;
}

.sv-views__title {
	margin: var(--space-3) 0 0;
	max-width: 700px;
	font-size: 25px;
	font-weight: var(--weight-bold);
	line-height: 1.12;
	letter-spacing: var(--tracking-heading);
}

.sv-views__body {
	margin: 14px 0 0;
	max-width: 720px;
	line-height: 1.65;
	color: var(--text-body);
}

.sv-deltas {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 30px 0 0;
	padding: 0;
	border-top: var(--border-strong) solid var(--carbon-black);
	list-style: none;
}

.sv-deltas li {
	padding: 22px var(--space-8);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-deltas li:first-child {
	padding-left: 0;
}

.sv-deltas li:last-child {
	padding-right: 0;
	border-right: 0;
}

.sv-delta {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-top: 14px;
	font-family: var(--font-display);
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-delta__from {
	font-size: 34px;
	color: var(--ink-400);
}

.sv-delta__arrow {
	font-family: var(--font-body);
	font-size: var(--text-base);
	color: var(--green-700);
}

.sv-delta__to {
	font-size: 44px;
	color: var(--green-700);
}

.sv-deltas p {
	margin: 10px 0 0;
	font-size: 13.5px;
	color: var(--ink-500);
}

/* The monthly search-visits chart */

.sv-chart {
	margin-top: 34px;
	padding-top: 22px;
	border-top: var(--border-hairline) solid var(--border-subtle);
}

.sv-chart__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: 18px;
}

.sv-chart__head b {
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
}

.sv-chart__head p {
	margin: var(--space-15) 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--text-muted);
}

.sv-chart__flag {
	background: var(--carbon-black);
	color: var(--white);
	padding: var(--space-2) 14px;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-bold);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sv-chart__plot {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 170px;
	border-bottom: var(--border-regular) solid var(--border-default);
}

.sv-chart__plot::before,
.sv-chart__plot::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	border-top: var(--border-hairline) dashed var(--border-default);
}

.sv-chart__plot::before {
	top: 0;
}

.sv-chart__plot::after {
	top: 50%;
}

.sv-chart__bar {
	flex: 1;
	min-height: 2px;
	background: var(--ink-300);
}

.sv-chart__bar--after {
	background: var(--green-700);
}

.sv-chart__axis {
	display: flex;
	justify-content: space-between;
	margin-top: var(--space-2);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	color: var(--ink-500);
}

.sv-chart__axis span:nth-child(2) {
	color: var(--green-700);
}

/* Rankings table */

.sv-ranks {
	margin-top: 28px;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-ranks__row {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr;
	align-items: center;
	padding: 18px 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-ranks__row--head {
	padding: 13px 0;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-ranks__row span:not(:first-child) {
	text-align: right;
}

.sv-ranks__term {
	font-size: 17px;
	font-weight: var(--weight-semibold);
}

.sv-ranks__imp {
	font-family: var(--font-mono);
	font-size: 15px;
	font-weight: var(--weight-medium);
	color: var(--ink-500);
}

.sv-ranks__pos {
	font-size: 23px;
	font-weight: var(--weight-bold);
	letter-spacing: var(--tracking-heading);
	color: var(--green-700);
}

.sv-source {
	margin: var(--space-4) 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

/* AI answers view */

.sv-ai {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	margin-top: 28px;
	padding-top: var(--space-6);
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-ai .sv-kicker {
	margin-bottom: 14px;
}

.sv-ai__engines {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.sv-ai__engines li {
	border: var(--border-regular) solid var(--border-default);
	padding: 11px 18px;
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
}

.sv-ai p {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--ink-500);
}

.sv-ai__queries {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-ai__queries li {
	padding: var(--space-3) 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: var(--text-base);
	font-style: italic;
	color: var(--ink-800);
}

.sv-ai__queries li:last-child {
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

/* 06 — the client's words */

.sv-words .sv-wrap {
	padding: 52px var(--sv-gutter);
}

.sv-words .sv-kicker {
	margin-bottom: 26px;
}

.sv-words__grid {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: var(--space-10);
	align-items: center;
}

.sv-words__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 140px;
	background: var(--surface-inverse-raised);
	border: var(--border-regular) solid var(--border-inverse);
	text-align: center;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-words blockquote {
	margin: 0;
}

.sv-words blockquote p {
	margin: var(--space-4) 0 0;
	max-width: 820px;
	font-size: 26px;
	line-height: 1.45;
	text-wrap: pretty;
}

.sv-words cite {
	display: block;
	margin-top: 18px;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-style: normal;
	color: var(--ink-300);
}

/* Closing band disclaimer */

.sv-cta__fine {
	margin: 34px 0 0;
	padding-top: 18px;
	max-width: 900px;
	border-top: var(--border-hairline) solid var(--sv-rule-on-brand);
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	line-height: var(--leading-relaxed);
	color: var(--carbon-black);
}

.sv-cta--stacked .sv-wrap {
	display: block;
}

.sv-cta--stacked .sv-cta__top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-10);
}

.sv-cta--stacked .sv-h2 {
	font-size: clamp(30px, 3.6vw, 46px);
	line-height: var(--leading-tight);
}

/* ------------------------------------------------------------ trades ----- */

.sv-trades__hero .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 420px;
}

.sv-trades__intro {
	padding: var(--space-14) 48px var(--space-14) var(--sv-gutter);
	border-right: var(--border-hairline) solid var(--border-inverse);
}

.sv-trades__intro .sv-kicker {
	margin-bottom: 26px;
}

.sv-trades__intro .sv-h1 {
	font-size: clamp(38px, 4.7vw, 59px);
}

.sv-trades__intro p {
	margin: 22px 0 0;
	max-width: 540px;
	font-size: 17px;
	line-height: 1.62;
	color: var(--ink-200);
	text-wrap: pretty;
}

.sv-trades__intro p + p {
	margin-top: 18px;
	color: var(--white);
}

.sv-drivers {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 34px;
	background: var(--surface-inverse-raised);
}

.sv-drivers ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-drivers li {
	padding: 15px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-drivers__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-3);
}

.sv-drivers__name {
	font-size: 16.5px;
	font-weight: var(--weight-semibold);
}

.sv-drivers li:nth-child(2) .sv-drivers__name {
	color: var(--jade-green);
}

.sv-drivers__count {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	color: var(--ink-300);
}

.sv-drivers p {
	margin: var(--space-15) 0 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-300);
}

.sv-drivers__note {
	margin-top: var(--space-4);
	padding-top: 14px;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--ink-300);
}

/* The index */

.sv-index .sv-wrap {
	padding: 52px var(--sv-gutter) var(--space-14);
}

.sv-index__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-10);
	margin-bottom: 26px;
}

.sv-index__head .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-index__head > p {
	max-width: 320px;
	margin: 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ink-500);
	text-wrap: pretty;
}

.sv-band--dark .sv-index__head > p {
	color: var(--ink-200);
}

.sv-index__filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 26px;
}

.sv-index__filters > span {
	margin-right: 5px;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-chip--light {
	padding: 11px 17px;
	background: transparent;
	color: var(--text-strong);
	border: var(--border-regular) solid var(--ink-300);
	border-radius: var(--radius-sm);
	font-family: var(--font-body);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	letter-spacing: 0;
	text-transform: none;
}

.sv-chip--light small {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	color: var(--ink-500);
}

.sv-chip--light:hover {
	background: transparent;
	border-color: var(--carbon-black);
}

.sv-chip--light[aria-pressed="true"] {
	background: var(--carbon-black);
	border-color: var(--carbon-black);
	color: var(--white);
}

.sv-chip--light[aria-pressed="true"] small {
	color: var(--ink-200);
}

.sv-index__grid {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 36px;
	align-items: start;
}

.sv-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.sv-card {
	display: flex;
	flex-direction: column;
	min-height: 172px;
	padding: var(--space-5) 18px 18px;
	text-align: left;
	background: var(--surface-card);
	color: var(--text-strong);
	border: var(--border-regular) solid var(--ink-300);
	border-top: var(--border-heavy) solid var(--ink-500);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-card[hidden] {
	display: none;
}

.sv-card:hover {
	border-color: var(--carbon-black);
}

.sv-card:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-card[data-tag="seasonal"] {
	border-top-color: var(--green-700);
}

.sv-card[data-tag="contract"] {
	border-top-color: var(--green-800);
}

.sv-card[data-tag="emergency"] {
	border-top-color: var(--carbon-black);
}

.sv-card[aria-selected="true"] {
	background: var(--carbon-black);
	border-color: var(--carbon-black);
	border-top-color: var(--jade-green);
	color: var(--white);
}

.sv-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.sv-card__no {
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-weight: var(--weight-bold);
	letter-spacing: .06em;
	color: var(--ink-500);
}

.sv-card[aria-selected="true"] .sv-card__no {
	color: var(--ink-300);
}

.sv-card__driver {
	font-family: var(--font-mono);
	font-size: 9.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-card[data-tag="seasonal"] .sv-card__driver {
	color: var(--green-700);
}

.sv-card[aria-selected="true"] .sv-card__driver {
	color: var(--jade-green);
}

.sv-card__name {
	margin: 13px 0 9px;
	font-size: 19px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
}

.sv-card__hook {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-500);
}

.sv-card[aria-selected="true"] .sv-card__hook {
	color: var(--ink-200);
}

.sv-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 11px;
	border-top: var(--border-hairline) solid var(--ink-300);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-card[aria-selected="true"] .sv-card__foot {
	border-top-color: var(--ink-400);
	color: var(--ink-200);
}

.sv-card__go {
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--ink-500);
}

.sv-card[aria-selected="true"] .sv-card__go {
	color: var(--jade-green);
}

/* The plan panel */

.sv-plan {
	position: sticky;
	top: 96px;
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-plan[hidden] {
	display: none;
}

.sv-plan__head {
	padding: 26px 26px var(--space-3);
	border-bottom: var(--border-hairline) solid var(--border-inverse);
}

.sv-plan__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-plan__driver {
	color: var(--jade-green);
}

.sv-plan__name {
	margin: 14px 0 var(--space-4);
	font-family: var(--font-display);
	font-size: clamp(26px, 2.6vw, 32px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-plan__body {
	padding: 22px 26px 26px;
}

.sv-plan__body .sv-kicker {
	margin-bottom: var(--space-2);
}

.sv-plan__problem {
	margin: 0 0 var(--space-6);
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

.sv-plan__moves {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-plan__moves li {
	display: flex;
	gap: var(--space-3);
	padding: var(--space-3) 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-plan__moves b {
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
	color: var(--jade-green);
}

.sv-plan__moves strong {
	display: block;
	font-size: 14.5px;
	font-weight: var(--weight-semibold);
}

.sv-plan__moves span {
	display: block;
	margin-top: var(--space-1);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-300);
}

.sv-plan__route {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-4);
	margin-top: var(--space-5);
	padding-top: var(--space-4);
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-plan__route b {
	display: block;
	margin-top: 7px;
	font-size: 15px;
	font-weight: var(--weight-bold);
	line-height: 1.15;
	letter-spacing: -.01em;
}

.sv-plan__route div:first-child b {
	color: var(--jade-green);
}

/* Why sort by driver */

.sv-why {
	background: var(--surface-sunken);
}

.sv-why .sv-wrap {
	padding: 52px var(--sv-gutter) var(--space-14);
}

.sv-why .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-why .sv-h2 {
	margin-bottom: 34px;
}

.sv-why__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0 var(--space-10);
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-why__grid > div {
	padding-top: var(--space-6);
}

.sv-why__name {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--green-800);
}

.sv-why__headline {
	margin: var(--space-3) 0 var(--space-2);
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
	line-height: 1.25;
}

.sv-why__body {
	margin: 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-why__job {
	margin: var(--space-3) 0 0;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	color: var(--ink-500);
}

/* --------------------------------------------------------- article ------- */

.sv-progress {
	position: sticky;
	top: 0;
	z-index: 25;
	height: 3px;
	background: var(--border-default);
}

.sv-progress span {
	display: block;
	height: 3px;
	width: 0;
	background: var(--jade-green);
}

.sv-article__head .sv-wrap {
	padding: 52px var(--sv-gutter) 44px;
}

.sv-article__head .sv-tagline {
	margin: 0 0 var(--space-6);
	letter-spacing: .18em;
	font-size: var(--text-3xs);
}

.sv-article__head .sv-h1 {
	max-width: 980px;
	font-size: clamp(36px, 4.9vw, 62px);
}

.sv-article__meta {
	display: flex;
	flex-wrap: wrap;
	max-width: 820px;
	margin: var(--space-8) 0 0;
	padding: 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	list-style: none;
}

.sv-article__meta li {
	padding: var(--space-4) var(--space-8) 0 0;
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-article__meta li + li {
	padding-left: var(--space-8);
}

.sv-article__meta li:last-child {
	border-right: 0;
}

.sv-article__meta b {
	display: block;
	margin-top: var(--space-15);
	font-size: 15px;
	font-weight: var(--weight-semibold);
}

.sv-article__hero {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 440px;
	background: var(--surface-sunken);
	text-align: center;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-article__hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sv-article__grid {
	display: grid;
	grid-template-columns: 250px 1fr 300px;
	align-items: start;
	max-width: var(--sv-band-max);
	margin-inline: auto;
}

/* Contents rail, built from the article's own headings */

.sv-toc {
	position: sticky;
	top: 96px;
	padding: var(--space-10) 28px var(--space-10) var(--sv-gutter);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-toc__count {
	margin: var(--space-15) 0 14px;
	font-family: var(--font-mono);
	font-size: 11.5px;
	color: var(--green-700);
}

.sv-toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-toc a {
	display: block;
	padding: 9px 0 9px var(--space-3);
	border-left: var(--border-strong) solid var(--border-default);
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--ink-500);
}

.sv-toc a:hover {
	color: var(--text-strong);
	text-decoration: none;
}

.sv-toc a[aria-current="true"] {
	border-left-color: var(--green-700);
	background: var(--sv-service-hover);
	font-weight: var(--weight-semibold);
	color: var(--text-strong);
}

.sv-toc__sources {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-family: var(--font-mono);
	font-size: 11.5px;
	line-height: 1.55;
	color: var(--text-muted);
}

/* The article body — measure capped so a long guide stays readable */

.sv-post {
	max-width: 680px;
	padding: var(--space-10) 44px;
}

.sv-post > * {
	margin: 0 0 var(--space-6);
}

.sv-post p {
	font-size: var(--text-md);
	line-height: 1.7;
	color: var(--ink-800);
}

.sv-post > p:first-child {
	font-size: 19px;
	line-height: 1.65;
}

.sv-post h2 {
	margin: var(--space-12) 0 var(--space-4);
	font-family: var(--font-display);
	font-size: clamp(30px, 2.8vw, 34px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
	scroll-margin-top: 110px;
}

.sv-post h3 {
	margin: var(--space-8) 0 var(--space-3);
	font-size: 21px;
	font-weight: var(--weight-semibold);
	line-height: var(--leading-snug);
	letter-spacing: var(--tracking-heading);
}

.sv-post ul,
.sv-post ol {
	padding-left: var(--space-5);
	font-size: var(--text-md);
	line-height: 1.7;
	color: var(--ink-800);
}

.sv-post li {
	margin-bottom: var(--space-2);
}

.sv-post blockquote {
	padding: 22px 26px;
	background: var(--surface-sunken);
	border-left: var(--border-heavy) solid var(--green-700);
}

.sv-post blockquote p {
	margin: 0;
	font-size: 16.5px;
	line-height: 1.65;
}

.sv-post img {
	max-width: 100%;
	height: auto;
}

.sv-post .sv-faq__list {
	grid-template-columns: 1fr;
}

/* The rail that follows the reader */

.sv-rail {
	position: sticky;
	top: 96px;
	padding: var(--space-10) var(--sv-gutter) var(--space-10) 28px;
	border-left: var(--border-hairline) solid var(--border-subtle);
}

.sv-rail .sv-aside__card {
	padding: var(--space-6);
}

.sv-rail__author {
	margin-top: var(--space-8);
	padding-top: var(--space-5);
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-rail__author .sv-kicker {
	margin-bottom: 14px;
}

.sv-rail__author b {
	display: block;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

.sv-rail__author p {
	margin: var(--space-2) 0 0;
	font-size: 13.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

/* Keep reading */

.sv-keep .sv-wrap {
	padding: var(--space-14) var(--sv-gutter);
}

.sv-keep .sv-kicker {
	margin-bottom: var(--space-3);
}

.sv-keep__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 36px;
	margin-top: var(--space-6);
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-keep__grid article {
	padding-top: var(--space-5);
}

.sv-keep__grid h3 {
	margin: 10px 0 var(--space-2);
	font-family: var(--font-body);
	font-size: var(--text-lg);
	font-weight: var(--weight-bold);
	line-height: 1.2;
	letter-spacing: var(--tracking-heading);
	text-transform: none;
}

.sv-keep__grid h3 a {
	color: inherit;
}

.sv-keep__grid p {
	margin: 0;
	font-size: 14px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

/* ----------------------------------------------------- service areas ----- */

.sv-status {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 34px;
	background: var(--surface-inverse-raised);
}

.sv-status dl {
	margin: var(--space-2) 0 0;
}

.sv-status__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: 15px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-status__row:last-child {
	border-bottom: var(--border-hairline) solid var(--border-inverse);
}

.sv-status dt {
	font-size: 14.5px;
	color: var(--ink-200);
}

.sv-status dd {
	margin: 0;
	font-size: var(--text-lg);
	font-weight: var(--weight-bold);
	letter-spacing: var(--tracking-heading);
}

.sv-status__row--brand dd {
	color: var(--jade-green);
}

.sv-register__grid {
	display: grid;
	grid-template-columns: 1fr 480px;
	gap: 44px;
	align-items: start;
}

.sv-markets {
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-market {
	display: grid;
	grid-template-columns: 56px 1fr 132px 96px;
	gap: 22px;
	align-items: center;
	width: 100%;
	padding: var(--space-5) 0;
	text-align: left;
	background: transparent;
	border: 0;
	border-bottom: var(--border-hairline) solid var(--ink-300);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-market:hover {
	background: var(--sv-service-hover);
}

.sv-market:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-market[aria-selected="true"] {
	background: var(--alpha-green-15);
	border-bottom-color: var(--green-700);
}

.sv-market__no {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
	letter-spacing: .08em;
	color: var(--ink-500);
}

/* The selected row carries a green wash, so its labels step one deeper. */
.sv-market[aria-selected="true"] .sv-market__no {
	color: var(--green-800);
}

.sv-market__name {
	display: block;
	font-size: 21px;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
	color: var(--ink-800);
}

.sv-market[aria-selected="true"] .sv-market__name {
	color: var(--text-strong);
}

.sv-market__note {
	display: block;
	margin-top: 5px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--ink-500);
}

.sv-market__services,
.sv-market__state {
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--ink-500);
	white-space: pre-line;
}

.sv-market__state {
	text-align: right;
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-market[aria-selected="true"] .sv-market__state {
	color: var(--green-800);
}

.sv-markets__note {
	margin: 0;
	padding-top: var(--space-4);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	line-height: 1.65;
	color: var(--ink-500);
}

/* The market profile that loads beside the register */

.sv-profile {
	position: sticky;
	top: 96px;
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-profile[hidden] {
	display: none;
}

.sv-profile__photo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 230px;
	padding: var(--space-6);
	background: var(--surface-inverse-raised);
	border-bottom: var(--border-hairline) solid var(--border-inverse);
	text-align: center;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-profile__body {
	padding: 28px 28px 30px;
}

.sv-profile__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
}

.sv-profile__kicker {
	color: var(--jade-green);
}

.sv-profile__state {
	letter-spacing: .12em;
	color: var(--ink-300);
}

.sv-profile__name {
	margin: var(--space-3) 0 0;
	font-family: var(--font-display);
	font-size: clamp(26px, 2.6vw, 32px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-profile__meta {
	margin: 10px 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--ink-300);
}

.sv-profile__body > p:not([class]) {
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--ink-200);
}

.sv-profile__label {
	margin: 22px 0 var(--space-3);
	padding-top: 18px;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-profile__industries {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-profile__industries li {
	padding: 7px 11px;
	background: var(--alpha-white-08);
	border: var(--border-regular) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .04em;
	color: var(--ink-200);
}

.sv-profile__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-profile__links a,
.sv-profile__links > li > span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 44px;
	padding: 14px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
	color: var(--white);
}

.sv-profile__links a:hover {
	color: var(--jade-green);
	text-decoration: none;
}

.sv-profile__links b {
	display: block;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

.sv-profile__links small {
	display: block;
	margin-top: var(--space-1);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--ink-300);
}

.sv-profile__links .sv-profile__go {
	flex: none;
	font-size: var(--text-md);
	color: var(--ink-300);
}

.sv-profile__links a[data-cta] b,
.sv-profile__links a[data-cta] .sv-profile__go {
	color: var(--jade-green);
}

/* The rule — what earns a town a page */

.sv-rule {
	background: var(--surface-sunken);
}

.sv-rule .sv-wrap {
	padding: var(--space-14) var(--sv-gutter) var(--space-18);
}

.sv-rule .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-rule .sv-h2 {
	margin-bottom: 34px;
}

.sv-rule__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 44px;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-rule__grid > div {
	padding-top: var(--space-6);
}

.sv-rule__no {
	font-size: 25px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
	color: var(--green-800);
}

.sv-rule__title {
	margin: 14px 0 10px;
	font-size: 21px;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
}

.sv-rule__text {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.62;
	color: var(--text-body);
}

/* ------------------------------------------------------ location page ---- */

/* A centred kicker centres its tick rule too. */
.sv-kicker--center {
	text-align: center;
	letter-spacing: .2em;
}

.sv-kicker--center::before {
	margin-inline: auto;
}

.sv-centered .sv-wrap {
	padding: var(--space-14) var(--sv-gutter) var(--space-18);
}

.sv-centered h2 {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
	font-size: clamp(30px, 3.4vw, 44px);
}

.sv-centered > .sv-wrap > p {
	max-width: 900px;
	margin: 22px auto 0;
	text-align: center;
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--ink-200);
	text-wrap: pretty;
}

.sv-centered > .sv-wrap > p + p {
	margin-top: var(--space-4);
	color: var(--white);
}

.sv-jobs {
	margin-top: 44px;
	padding-top: var(--space-4);
	border-top: var(--border-strong) solid var(--ink-300);
}

.sv-jobs__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
}

.sv-jobs__head p {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	color: var(--ink-300);
}

.sv-jobs__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0 36px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.sv-jobs__grid li {
	padding-top: 22px;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-jobs__no {
	font-size: 25px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
	color: var(--jade-green);
}

.sv-jobs__title {
	margin: 14px 0 10px;
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
	line-height: 1.2;
}

.sv-jobs__text {
	margin: 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

/* Milepost coverage strip */

.sv-miles__grid {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 44px;
	align-items: start;
	margin-top: 34px;
}

.sv-miles {
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-mile {
	display: grid;
	grid-template-columns: 96px 1fr 90px;
	gap: 22px;
	align-items: center;
	width: 100%;
	padding: 18px 0;
	text-align: left;
	background: transparent;
	border: 0;
	border-bottom: var(--border-hairline) solid var(--ink-300);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-mile:hover {
	background: var(--sv-service-hover);
}

.sv-mile:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-mile[aria-selected="true"] {
	background: var(--alpha-green-15);
	border-bottom-color: var(--green-700);
}

.sv-mile__km {
	padding-left: 14px;
	border-left: var(--border-heavy) solid var(--ink-300);
}

.sv-mile[aria-selected="true"] .sv-mile__km {
	border-left-color: var(--green-700);
}

.sv-mile__km b {
	display: block;
	font-size: 22px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
}

.sv-mile[aria-selected="true"] .sv-mile__km b {
	color: var(--green-800);
}

.sv-mile__km span {
	display: block;
	margin-top: 5px;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	color: var(--ink-500);
}

.sv-mile__name {
	display: block;
	font-size: 19px;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
	color: var(--ink-800);
}

.sv-mile[aria-selected="true"] .sv-mile__name {
	color: var(--text-strong);
}

.sv-mile__note {
	display: block;
	margin-top: 5px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--ink-500);
}

.sv-mile__tag {
	text-align: right;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-mile[aria-selected="true"] .sv-mile__tag {
	color: var(--green-800);
}

.sv-town {
	position: sticky;
	top: 96px;
	padding: 30px 28px;
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-town[hidden] {
	display: none;
}

.sv-town__kicker {
	margin: 0 0 14px;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--jade-green);
}

.sv-town__name {
	margin: 0;
	font-size: 25px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
}

.sv-town__meta {
	margin: 10px 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--ink-300);
}

.sv-town__body {
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--ink-200);
}

.sv-town__label {
	margin: 22px 0 var(--space-3);
	padding-top: 18px;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-town ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-town li {
	display: flex;
	gap: var(--space-3);
	padding: 9px 0;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-200);
}

.sv-town li::before {
	content: "\2192";
	flex: none;
	color: var(--jade-green);
}

/* Sector picker and the build spec it drives */

.sv-sectors {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-5);
	margin-top: 34px;
}

.sv-sector {
	padding: 26px var(--space-6) 22px;
	text-align: left;
	background: var(--surface-card);
	color: var(--text-strong);
	border: var(--border-regular) solid var(--border-default);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-sector:hover {
	border-color: var(--carbon-black);
}

.sv-sector:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-sector[aria-selected="true"] {
	background: var(--carbon-black);
	border-color: var(--carbon-black);
	color: var(--white);
}

.sv-sector__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-sector[aria-selected="true"] .sv-sector__top {
	color: var(--jade-green);
}

/* The visible state word follows aria-selected, which already carries the
   state for assistive tech — hence aria-hidden on the span. */
.sv-sector__state::after {
	content: "Select";
}

.sv-sector[aria-selected="true"] .sv-sector__state::after {
	content: "Selected";
}

.sv-sector__title {
	display: block;
	margin: 14px 0 var(--space-3);
	font-size: 22px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
}

.sv-sector__blurb {
	display: block;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

.sv-sector[aria-selected="true"] .sv-sector__blurb,
.sv-sector[aria-selected="true"] .sv-sector__list {
	color: var(--ink-200);
}

.sv-sector__list {
	display: block;
	margin-top: 18px;
	padding-top: 14px;
	border-top: var(--border-hairline) solid var(--border-default);
	color: var(--ink-500);
}

.sv-sector[aria-selected="true"] .sv-sector__list {
	border-top-color: var(--ink-400);
}

.sv-sector__list span {
	display: flex;
	gap: 10px;
	padding: 6px 0;
	font-size: 13.5px;
	line-height: 1.5;
}

.sv-sector__list span::before {
	content: "#";
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	color: var(--ink-500);
}

.sv-sector[aria-selected="true"] .sv-sector__list span::before {
	color: var(--jade-green);
}

.sv-sectors__note {
	margin: 28px 0 0;
	text-align: center;
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-spec[hidden] {
	display: none;
}

.sv-spec__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-10);
}

.sv-spec__for {
	flex: none;
	padding: 14px var(--space-5);
	border: var(--border-regular) solid var(--border-default);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink-500);
	white-space: nowrap;
}

.sv-spec__for b {
	color: var(--green-700);
}

.sv-spec__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 44px;
	margin-top: 34px;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-spec__grid > div {
	padding: var(--space-6) 0 26px;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-spec__no {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-bold);
	letter-spacing: .1em;
	color: var(--ink-500);
}

.sv-spec__title {
	margin: var(--space-3) 0 10px;
	font-size: 21px;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
}

.sv-spec__text {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.62;
	color: var(--text-body);
}

/* Case band on the brand surface */

.sv-case--brand .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: var(--space-12);
	align-items: center;
	padding: var(--space-14) var(--sv-gutter) var(--space-18);
}

.sv-case--brand .sv-h2 {
	font-size: clamp(30px, 3.2vw, 41px);
}

.sv-case--brand p {
	margin: 18px 0 0;
	max-width: 560px;
	font-size: 16.5px;
	line-height: 1.65;
	text-wrap: pretty;
}

.sv-case--brand .sv-facts {
	border-top-color: var(--sv-rule-on-brand);
	gap: 36px;
}

.sv-case--brand .sv-facts span {
	color: var(--carbon-black);
}

.sv-quote--brand {
	padding: 30px 28px;
	background: var(--alpha-carbon-16);
	border-left: 0;
	margin: 0;
}

.sv-quote--brand .sv-words__mark {
	height: 130px;
	background: transparent;
	border: 0;
	border-bottom: var(--border-hairline) solid var(--sv-rule-on-brand);
	color: var(--carbon-black);
}

.sv-quote--brand .sv-stars {
	margin: var(--space-5) 0 0;
	color: var(--carbon-black);
	letter-spacing: .18em;
	font-size: 15px;
}

.sv-quote--brand p {
	margin: var(--space-3) 0 0;
	max-width: none;
	font-size: var(--text-base);
	line-height: var(--leading-relaxed);
	color: var(--carbon-black);
}

.sv-quote--brand cite {
	display: block;
	margin-top: 14px;
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	font-style: normal;
	color: var(--carbon-black);
}

/* ---------------------------------------------------------- ticker ------- */

/* The design animates this strip; the system bans auto-playing motion, so it
   sits still and repeats to fill the band. */
.sv-ticker {
	overflow: hidden;
	padding: var(--space-4) 0;
	white-space: nowrap;
}

.sv-ticker p {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 15px;
	font-weight: var(--weight-bold);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--carbon-black);
}

.sv-ticker span {
	padding: 0 26px;
}

/* ------------------------------------------------------- star rating ----- */

.sv-stars {
	color: var(--jade-green);
	letter-spacing: .2em;
	font-size: var(--text-sm);
}

/* -------------------------------------------- package comparison table --- */

.sv-compare .sv-wrap {
	padding: var(--space-18) var(--sv-gutter);
}

.sv-compare__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-10);
	margin-bottom: 34px;
}

.sv-compare__head .sv-kicker {
	margin-bottom: 14px;
}

.sv-compare__intro {
	max-width: 340px;
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--ink-500);
}

.sv-table {
	border-top: var(--border-hairline) solid var(--border-default);
}

.sv-table__row {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
}

.sv-table__row + .sv-table__row {
	border-top: var(--border-hairline) solid var(--border-subtle);
}

.sv-table__label {
	padding: var(--space-4) var(--space-8) var(--space-4) 0;
	border-right: var(--border-hairline) solid var(--border-subtle);
	font-size: 14.5px;
	line-height: 1.45;
	font-weight: var(--weight-medium);
}

.sv-table__cell {
	padding: var(--space-4) var(--space-8);
	border-right: var(--border-hairline) solid var(--border-subtle);
	font-size: var(--text-sm);
	line-height: 1.45;
}

.sv-table__cell--plus {
	background: var(--surface-inverse);
	color: var(--text-inverse);
	border-right: 0;
}

.sv-table__row--header .sv-table__label,
.sv-table__row--header .sv-table__cell {
	padding-block: var(--space-6);
}

.sv-plan__price {
	margin: var(--space-3) 0 var(--space-15);
	font-family: var(--font-display);
	font-size: clamp(32px, 3.4vw, 44px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-table__cell--plus .sv-plan__price {
	color: var(--jade-green);
}

.sv-plan__text {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-500);
}

.sv-table__cell--plus .sv-plan__text {
	color: var(--ink-200);
}

.sv-plan__label {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sv-badge {
	background: var(--surface-brand);
	color: var(--carbon-black);
	font-family: var(--font-mono);
	font-size: 9.5px;
	font-weight: var(--weight-bold);
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 4px 7px;
}

.sv-table__row--actions .sv-table__label,
.sv-table__row--actions .sv-table__cell {
	padding-block: 26px;
}

/* The launch-fee line is a rule in the table, not another feature row. */
.sv-table__row--rule {
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-table__row--rule .sv-table__label,
.sv-table__row--rule .sv-table__cell {
	padding-block: var(--space-5);
}

.sv-table__cell--figure {
	font-size: var(--text-md);
	font-weight: var(--weight-bold);
	letter-spacing: var(--tracking-heading);
}

.sv-table__cell--plus.sv-table__cell--figure {
	color: var(--jade-green);
}

.sv-table__cell--range {
	font-family: var(--font-mono);
	font-style: italic;
	color: var(--ink-500);
}

.sv-table__cell--plus.sv-table__cell--range {
	color: var(--ink-200);
}

.sv-compare__foot {
	margin: var(--space-5) 0 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

.sv-table__row--actions .sv-buttons {
	margin-top: 0;
}

.sv-table__row--actions .wp-block-button__link {
	width: 100%;
}

/* Three-plan variant of the comparison table. */

.sv-table--3 .sv-table__row {
	grid-template-columns: 1.45fr 1fr 1fr 1fr;
}

.sv-table--3 .sv-table__cell {
	padding-inline: 28px;
}

.sv-table--3 .sv-table__cell--plus {
	border-right: 0;
}

.sv-table__cell--pro {
	padding-right: 0;
	border-right: 0;
	border-left: var(--border-hairline) solid var(--border-subtle);
	color: var(--ink-500);
}

.sv-table--3 .sv-plan__price {
	font-size: clamp(28px, 2.7vw, 34px);
}

.sv-plan__price small {
	font-size: 15px;
	font-weight: var(--weight-medium);
}

/* Outlined green action, for the plans either side of the featured one. */
.sv-btn--outline .wp-block-button__link {
	background: transparent;
	color: var(--green-700);
	border: var(--border-regular) solid var(--green-700);
}

.sv-btn--outline .wp-block-button__link:hover,
.sv-btn--outline .wp-block-button__link:active {
	background: var(--green-050);
	color: var(--green-800);
}

/* Outline on carbon — the quiet half of a hero action pair. */
.sv-btn--outline-inverse .wp-block-button__link {
	background: transparent;
	color: var(--ink-200);
	border: var(--border-regular) solid var(--sv-border-inverse);
}

.sv-btn--outline-inverse .wp-block-button__link:hover,
.sv-btn--outline-inverse .wp-block-button__link:active {
	background: var(--alpha-white-08);
	color: var(--white);
}

/* Outline on the brand band, where carbon is the legible ink. */
.sv-btn--outline-strong .wp-block-button__link {
	background: transparent;
	color: var(--carbon-black);
	border: var(--border-regular) solid var(--sv-rule-on-brand);
}

.sv-btn--outline-strong .wp-block-button__link:hover,
.sv-btn--outline-strong .wp-block-button__link:active {
	background: var(--alpha-carbon-16);
	color: var(--carbon-black);
}

/* --------------------------------------------------------- add-ons ------- */

.sv-addons {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 36px;
	margin-top: 44px;
	padding-top: 26px;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-addons h3 {
	margin: 0;
	font-family: var(--font-body);
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
	text-transform: none;
}

.sv-addons__note {
	margin: 10px 0 0;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

.sv-addons__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 44px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-addons__list li {
	display: flex;
	justify-content: space-between;
	gap: var(--space-5);
	padding: 13px 0;
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 14.5px;
}

.sv-addons__list li:nth-last-child(-n + 2) {
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-addons__price {
	font-family: var(--font-mono);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	white-space: nowrap;
}

/* Same two-column shelf, carrying sentences instead of prices. */
.sv-addons__list--notes li {
	display: block;
	line-height: 1.55;
	color: var(--ink-500);
}

.sv-addons__list--notes b {
	color: var(--text-strong);
}

/* ------------------------------------------------------------ FAQ -------- */

.sv-faq .sv-wrap {
	padding: var(--space-18) var(--sv-gutter);
}

.sv-faq__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-10);
	margin-bottom: 30px;
}

.sv-faq__head .sv-kicker {
	margin-bottom: 14px;
}

.sv-faq__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--space-12);
}

.sv-faq__item {
	border-top: var(--border-hairline) solid var(--border-default);
}

.sv-faq__item > summary {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--space-5);
	padding: 18px 0;
	list-style: none;
	cursor: pointer;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	line-height: 1.4;
	transition: var(--transition-control);
}

.sv-faq__item > summary::-webkit-details-marker {
	display: none;
}

.sv-faq__item > summary:hover {
	color: var(--green-700);
}

.sv-faq__item > summary:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-faq__item > summary::after {
	content: "+";
	flex: none;
	font-size: var(--text-lg);
	font-weight: var(--weight-regular);
	line-height: 1;
	color: var(--green-700);
}

.sv-faq__item[open] > summary::after {
	content: "\2212";
}

.sv-faq__item p {
	margin: 0;
	padding: 0 var(--space-10) 22px 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-500);
	text-wrap: pretty;
}

/* ------------------------------------------------------- cross-sell ------ */

.sv-cross {
	background: var(--surface-sunken);
}

.sv-cross .sv-wrap {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 44px;
	align-items: center;
	padding: var(--space-14) var(--sv-gutter);
}

.sv-cross .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-cross .sv-h2 {
	font-size: clamp(28px, 3vw, 38px);
}

.sv-cross p {
	margin: var(--space-4) 0 0;
	max-width: 620px;
	line-height: 1.65;
	color: var(--text-body);
	text-wrap: pretty;
}

/* Decorative watermark: the adjacent button carries the label, so this is
   hidden from assistive tech and exempt from the text-contrast floor. */
.sv-cross__ghost {
	font-family: var(--font-display);
	font-size: clamp(38px, 4vw, 52px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
	color: var(--sv-ghost-green);
}

.sv-cross .sv-buttons {
	margin-top: 18px;
}

.sv-cross .wp-block-button__link {
	width: 100%;
}

/* --------------------------------------------- location page chrome ------ */

/* The plain band rhythm the location pages use where no module sets its own. */
.sv-sec .sv-wrap {
	padding: 56px var(--sv-gutter) 60px;
}

/* A section heading centred under a centred kicker. */
.sv-centered-heading {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}

.sv-sectors__lead {
	max-width: 620px;
	margin: 10px auto 0;
	text-align: center;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--text-body);
}

/* The Dawson Creek pages run their breadcrumb on carbon, under the carbon
   header, and hang the coordinates off the right edge. */
.sv-crumb--dark .sv-wrap {
	justify-content: space-between;
	border-top: var(--border-hairline) solid var(--border-inverse);
	color: var(--ink-200);
}

.sv-crumb--dark .sv-crumb__trail {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sv-crumb--dark .sv-wrap > span {
	color: var(--ink-300);
}

.sv-crumb--dark a {
	color: var(--ink-200);
}

.sv-crumb--dark a:hover {
	color: var(--white);
}

.sv-crumb--dark [aria-current] {
	color: var(--jade-green);
}

.sv-crumb__coords {
	flex: none;
	color: var(--ink-300);
}

/* Mile 0 hero */

.sv-hero--mile .sv-wrap {
	grid-template-columns: 1fr 400px;
}

.sv-hero--mile .sv-hero__main {
	padding: 54px 48px 54px var(--sv-gutter);
	border-right-color: var(--border-inverse);
}

.sv-hero--mile .sv-hero__main .sv-mile0 {
	margin-bottom: 26px;
}

.sv-hero--mile .sv-h1 {
	font-size: clamp(34px, 4.7vw, 60px);
}

.sv-hero--mile .sv-hero__deck {
	max-width: 560px;
	color: var(--white);
}

.sv-hero--mile .sv-lead {
	max-width: 540px;
	font-size: var(--text-md);
	color: var(--ink-200);
}

.sv-hero--mile .sv-note {
	max-width: 520px;
	margin-top: 26px;
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--ink-300);
}

.sv-hero--mile .sv-note a {
	color: var(--jade-green);
}

/* The milepost badge: a marker, so it keeps its border rather than a fill. */
.sv-mile0 {
	display: flex;
	align-items: center;
	gap: 14px;
}

.sv-mile0 b {
	flex: none;
	padding: 6px var(--space-3);
	border: var(--border-heavy) solid var(--jade-green);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-bold);
	letter-spacing: .14em;
	color: var(--jade-green);
}

.sv-mile0 span {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-300);
}

/* The hero aside: photo plate above, distance sheet below. */
.sv-hero__aside--sheet {
	display: flex;
	flex-direction: column;
	padding: 0;
	background: var(--surface-inverse-raised);
}

.sv-hero__plate {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	min-height: 260px;
	padding: var(--space-6);
	border-bottom: var(--border-hairline) solid var(--border-inverse);
	text-align: center;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-hero__plate span {
	font-size: var(--text-2xs);
	letter-spacing: .06em;
	text-transform: none;
}

.sv-sheet {
	padding: 26px 30px;
}

.sv-sheet .sv-kicker {
	margin-bottom: var(--space-4);
}

.sv-sheet dl {
	margin: 0;
}

.sv-sheet__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: 13px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-sheet__row dt {
	font-size: var(--text-sm);
	color: var(--ink-200);
}

.sv-sheet__row dd {
	margin: 0;
	flex: none;
	font-size: 15px;
	font-weight: var(--weight-bold);
	letter-spacing: -.01em;
}

.sv-sheet__row--key dd {
	color: var(--jade-green);
}

.sv-sheet__note {
	margin: var(--space-4) 0 0;
	padding-top: var(--space-4);
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: var(--text-2xs);
	line-height: var(--leading-relaxed);
	color: var(--ink-300);
}

/* The "why work with me" list is a set of claims, not ordered steps, so the
   arrow replaces the counter the pledge list normally shows. */
.sv-pledges--arrow li {
	counter-increment: none;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

.sv-pledges--arrow li::before {
	content: "\2192";
	padding-top: 0;
	font-family: var(--font-body);
	font-size: var(--text-base);
}

/* Four-phase progress rule under the process grid. */
.sv-process__bars {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 28px;
	margin-top: 22px;
}

.sv-process__bars span {
	height: 4px;
	background: var(--jade-green);
}

.sv-process__bars span:nth-child(2) {
	opacity: .75;
}

.sv-process__bars span:nth-child(3) {
	opacity: .5;
}

.sv-process__bars span:nth-child(4) {
	opacity: .3;
}

/* Website packages, two fixed-scope cards on carbon. */

.sv-packs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-6);
}

.sv-pack {
	display: flex;
	flex-direction: column;
	padding: 32px 30px;
	background: var(--white-smoke);
	color: var(--text-strong);
}

.sv-pack--pro {
	background: var(--surface-inverse-raised);
	border: var(--border-regular) solid var(--alpha-green-30);
	color: var(--text-inverse);
}

.sv-pack__top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
}

.sv-pack__name {
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
}

.sv-pack--pro .sv-pack__name {
	color: var(--jade-green);
}

.sv-pack__tag {
	flex: none;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text-muted);
}

.sv-pack--pro .sv-pack__tag {
	color: var(--ink-300);
}

.sv-pack__text {
	margin: var(--space-3) 0 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-pack--pro .sv-pack__text {
	color: var(--ink-200);
}

.sv-pack__list {
	flex: 1;
	margin: var(--space-5) 0 0;
	padding-top: var(--space-4);
	border-top: var(--border-hairline) solid var(--border-default);
	list-style: none;
}

.sv-pack--pro .sv-pack__list {
	border-top-color: var(--border-inverse);
}

.sv-pack__list li {
	display: flex;
	gap: 10px;
	padding: 4.5px 0;
	font-size: 14.5px;
	line-height: 1.5;
}

.sv-pack__list li::before {
	content: "\2713";
	flex: none;
	color: var(--green-700);
}

.sv-pack--pro .sv-pack__list li::before {
	color: var(--jade-green);
}

.sv-pack .sv-buttons {
	margin-top: var(--space-6);
}

.sv-pack .wp-block-button__link {
	width: 100%;
}

.sv-packs__addons {
	margin: 22px 0 0;
	padding-top: var(--space-4);
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	line-height: 1.7;
	color: var(--ink-200);
}

.sv-packs__addons b {
	font-weight: var(--weight-medium);
	color: var(--white);
}

/* A centred FAQ column, for the pages whose question set is the whole band. */

.sv-faq--center .sv-h2,
.sv-faq--center > .sv-wrap > .sv-kicker {
	text-align: center;
}

.sv-faq--center .sv-h2 {
	max-width: 900px;
	margin-inline: auto;
}

/* A short question set reads as one column, not two. */
.sv-faq--center .sv-faq__list {
	grid-template-columns: 1fr;
	max-width: 860px;
	margin-inline: auto;
}

.sv-faq__foot {
	margin-top: 32px;
	text-align: center;
}

.sv-faq__foot b {
	display: block;
	font-size: 22px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
}

.sv-faq__foot p {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-faq__foot .sv-buttons {
	justify-content: center;
	margin-top: 18px;
}

/* -------------------------------------------- location page, SEO --------- */

/* A hero on the brand band: jade ground, carbon ink, photo plate beside it. */
.sv-hero--brand .sv-wrap {
	grid-template-columns: 1fr 420px;
}

.sv-hero--brand .sv-hero__main {
	padding: 56px 48px 56px var(--sv-gutter);
	border-right: 0;
}

.sv-hero--brand .sv-hero__main .sv-kicker {
	margin-bottom: var(--space-6);
}

.sv-hero--brand .sv-h1 {
	font-size: clamp(34px, 4.7vw, 60px);
}

.sv-hero--brand .sv-lead {
	max-width: 560px;
	font-size: var(--text-md);
	color: var(--carbon-black);
}

.sv-hero--brand .sv-note {
	max-width: 540px;
	margin-top: 26px;
	padding-top: var(--space-4);
	border-top: var(--border-hairline) solid var(--sv-rule-on-brand);
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--carbon-black);
}

.sv-hero--brand .sv-note a {
	font-weight: var(--weight-medium);
	color: var(--carbon-black);
	text-decoration: underline;
}

.sv-hero__plate--brand {
	background: var(--green-800);
	border-bottom: 0;
	color: var(--ink-100);
}

/* Two columns of body copy under a centred heading. */
.sv-twocol {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-12);
	max-width: 1000px;
	margin: 26px auto 0;
}

.sv-twocol p {
	margin: 0;
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--ink-200);
	text-wrap: pretty;
}

.sv-twocol p + p {
	color: var(--white);
}

/* --- The search moment: one query, three surfaces, before and after ------ */

.sv-sim {
	padding: 26px 28px 30px;
	background: var(--surface-inverse-raised);
	border: var(--border-hairline) solid var(--border-inverse);
}

.sv-sim__controls {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--space-6);
	flex-wrap: wrap;
}

.sv-sim__set {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.sv-sim__set--queries {
	flex: 1 1 620px;
	min-width: 0;
}

.sv-sim__label {
	margin: 0 4px 0 0;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-300);
}

.sv-sim__opt {
	padding: 10px var(--space-4);
	background: transparent;
	color: var(--ink-200);
	border: var(--border-hairline) solid var(--ink-400);
	border-radius: 2px;
	font-family: var(--font-mono);
	font-size: 12.5px;
	font-weight: var(--weight-medium);
	white-space: nowrap;
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-sim__opt--state {
	padding-inline: var(--space-5);
	font-family: var(--font-body);
	font-weight: var(--weight-semibold);
}

.sv-sim__opt:hover {
	border-color: var(--ink-200);
	color: var(--white);
}

.sv-sim__opt:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-sim__opt[aria-pressed="true"] {
	background: var(--jade-green);
	border-color: var(--jade-green);
	color: var(--carbon-black);
}

/* "Before" is the unimproved state, so it reads neutral rather than brand. */
.sv-sim__opt--before[aria-pressed="true"] {
	background: var(--white-smoke);
	border-color: var(--white-smoke);
}

.sv-sim__bar {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
	padding: var(--space-4) 18px;
	background: var(--ink-950);
	border: var(--border-hairline) solid var(--border-inverse);
}

.sv-sim__glyph {
	flex: none;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	color: var(--jade-green);
}

.sv-sim__query {
	font-family: var(--font-mono);
	font-size: var(--text-base);
	color: var(--white);
}

.sv-sim__state {
	margin-left: auto;
	flex: none;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-200);
}

.sv-sim.is-after .sv-sim__state {
	color: var(--jade-green);
}

.sv-sim__panel {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 18px;
}

.sv-sim__panel[hidden] {
	display: none;
}

.sv-surface {
	display: flex;
	flex-direction: column;
	background: var(--white-smoke);
	color: var(--text-strong);
	border-top: 3px solid var(--carbon-black);
}

.sv-sim__panel--after .sv-surface {
	border-top-color: var(--green-700);
}

.sv-surface__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding: 14px 18px;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-surface__verdict {
	flex: none;
	letter-spacing: .12em;
	color: var(--carbon-black);
}

.sv-sim__panel--after .sv-surface__verdict {
	color: var(--green-800);
}

.sv-surface__body {
	flex: 1;
	padding: 18px;
}

.sv-surface__card {
	padding: var(--space-4) var(--space-4) 14px;
	background: var(--white);
	border: var(--border-hairline) solid var(--border-subtle);
}

.sv-surface__top {
	display: flex;
	align-items: flex-start;
	gap: 11px;
}

.sv-surface__mark {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 2px;
	background: var(--carbon-black);
	color: var(--ink-200);
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-bold);
}

.sv-surface__mark--pin {
	border-radius: var(--radius-pill);
}

.sv-sim__panel--after .sv-surface__mark {
	background: var(--green-700);
	color: var(--white);
}

.sv-surface__title {
	display: block;
	margin: 0;
	font-size: 15px;
	font-weight: var(--weight-semibold);
	line-height: 1.25;
}

.sv-surface__sub {
	display: block;
	margin: 4px 0 0;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--ink-500);
}

.sv-surface__snippet {
	margin: var(--space-3) 0 0;
	padding-top: var(--space-3);
	border-top: var(--border-hairline) solid var(--border-subtle);
	font-size: 13.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-surface__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: var(--space-3) 0 0;
	padding: 0;
	list-style: none;
}

.sv-surface__chips li {
	padding: 5px 9px;
	background: var(--carbon-black);
	color: var(--ink-200);
	border: var(--border-hairline) solid var(--carbon-black);
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .06em;
}

.sv-sim__panel--after .sv-surface__chips li {
	background: var(--green-050);
	color: var(--green-800);
	border-color: var(--alpha-green-30);
}

.sv-surface__note {
	margin: 14px 0 0;
	padding-left: var(--space-3);
	border-left: 3px solid var(--carbon-black);
	font-size: var(--text-xs);
	line-height: var(--leading-relaxed);
	color: var(--ink-500);
}

.sv-sim__panel--after .sv-surface__note {
	border-left-color: var(--green-700);
}

.sv-sim__note {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-family: var(--font-mono);
	font-size: 12.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-300);
}

/* --- What holds a business back: numbered two-column rows --------------- */

.sv-gaps {
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-gap {
	display: grid;
	grid-template-columns: 56px 1fr 1fr;
	gap: 36px;
	align-items: start;
	padding: 26px 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-gap__no {
	margin: 0;
	font-size: 25px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
	color: var(--green-700);
}

.sv-gap__title {
	margin: 0;
	font-size: var(--text-2xl);
	font-weight: var(--weight-semibold);
	line-height: 1.2;
}

.sv-gap__text {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--text-body);
}

/* --- Who I work with: three static trade columns ------------------------ */

.sv-who {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 44px;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-who > div {
	padding-top: var(--space-6);
}

.sv-who__title {
	margin: 0;
	font-size: 22px;
	font-weight: var(--weight-semibold);
	line-height: 1.2;
}

.sv-who__blurb {
	margin: 10px 0 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-hash {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.sv-hash li {
	display: flex;
	gap: 10px;
	padding: 6px 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--text-body);
}

.sv-hash li::before {
	content: "#";
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	color: var(--green-800);
}

.sv-who__foot {
	margin: 26px 0 0;
	padding-top: var(--space-5);
	border-top: var(--border-hairline) solid var(--border-subtle);
	text-align: center;
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

/* --- Three phases, the number beside the name --------------------------- */

.sv-process__grid--3 {
	grid-template-columns: repeat(3, 1fr);
	column-gap: 36px;
}

.sv-process__grid--3 .sv-step {
	padding: 26px 0 0;
	border-right: 0;
}

.sv-step__line {
	display: flex;
	align-items: baseline;
	gap: var(--space-3);
}

.sv-step__line .sv-step__num {
	font-size: 34px;
}

.sv-step__line .sv-step__title {
	margin: 0;
	font-size: var(--text-2xl);
	line-height: 1.2;
}

.sv-process__grid--3 .sv-step__text {
	margin-top: 14px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--text-body);
}

.sv-process__bars--3 {
	grid-template-columns: repeat(3, 1fr);
	column-gap: 36px;
}

.sv-process__bars--3 span:nth-child(2) {
	opacity: .65;
}

.sv-process__bars--3 span:nth-child(3) {
	opacity: .35;
}

/* --- Monthly plans, three priced tiers ---------------------------------- */

.sv-tiers__lead {
	max-width: 640px;
	margin: 0 auto 34px;
	text-align: center;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--ink-200);
}

.sv-tiers {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-5);
	align-items: start;
}

.sv-tier {
	display: flex;
	flex-direction: column;
	background: var(--white-smoke);
	color: var(--text-strong);
	border: var(--border-hairline) solid var(--ink-400);
}

.sv-tier--popular {
	background: var(--surface-inverse-raised);
	border-color: var(--jade-green);
	color: var(--text-inverse);
}

.sv-tier__flag {
	margin: 0;
	padding: var(--space-2);
	background: var(--surface-brand);
	color: var(--carbon-black);
	text-align: center;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-bold);
	letter-spacing: .16em;
	text-transform: uppercase;
}

.sv-tier__head {
	padding: 28px 26px var(--space-6);
	border-bottom: var(--border-hairline) solid var(--ink-300);
}

.sv-tier--popular .sv-tier__head {
	border-bottom-color: var(--ink-400);
}

.sv-tier__name {
	margin: 0;
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-heading);
}

.sv-tier--popular .sv-tier__name {
	color: var(--jade-green);
}

.sv-tier__blurb {
	margin: var(--space-3) 0 0;
	min-height: 66px;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-tier--popular .sv-tier__blurb {
	color: var(--ink-200);
}

.sv-tier__price {
	display: flex;
	align-items: baseline;
	gap: var(--space-2);
	margin: 14px 0 0;
}

.sv-tier__price b {
	font-family: var(--font-display);
	font-size: 34px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-tier__price span {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	color: var(--text-body);
}

.sv-tier--popular .sv-tier__price span {
	color: var(--ink-200);
}

.sv-tier__head .sv-buttons {
	margin-top: 18px;
}

.sv-tier__head .wp-block-button__link {
	width: 100%;
}

.sv-tier__list {
	margin: 0;
	padding: var(--space-5) 26px 26px;
	list-style: none;
}

.sv-tier__list li {
	display: flex;
	gap: 10px;
	padding: 4.5px 0;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--text-body);
}

.sv-tier--popular .sv-tier__list li {
	color: var(--ink-200);
}

.sv-tier__list li::before {
	content: "\2713";
	flex: none;
	color: var(--green-700);
}

.sv-tier--popular .sv-tier__list li::before {
	color: var(--jade-green);
}

/* The fine print under the plans. */

.sv-fine {
	margin-top: 30px;
	padding-top: 22px;
	border-top: var(--border-hairline) solid var(--border-inverse);
}

.sv-fine__head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: var(--space-4);
}

.sv-fine__head b {
	font-size: var(--text-lg);
	font-weight: var(--weight-bold);
	letter-spacing: var(--tracking-heading);
	color: var(--white);
}

.sv-fine__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 44px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-fine__grid li {
	display: flex;
	gap: var(--space-3);
	padding: 11px 0;
	border-top: var(--border-hairline) solid var(--border-inverse);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-200);
}

.sv-fine__grid li:nth-last-child(-n + 2) {
	border-bottom: var(--border-hairline) solid var(--border-inverse);
}

.sv-fine__grid li::before {
	content: "\2713";
	flex: none;
	color: var(--jade-green);
}

.sv-fine__grid b {
	font-weight: var(--weight-semibold);
	color: var(--white);
}

/* -------------------------------------------------------- 404 page ------- */

.sv-404 .sv-wrap {
	grid-template-columns: 1fr 470px;
}

.sv-404 .sv-hero__main {
	padding: 64px 48px 64px var(--sv-gutter);
	border-right-color: var(--border-inverse);
}

/* The status code itself — decorative at this size, and the h1 below carries
   the meaning, so it is hidden from assistive tech. */
.sv-404__num {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(84px, 11.7vw, 150px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-flat);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-404__num b {
	font-weight: inherit;
	color: var(--jade-green);
}

.sv-404 .sv-h1 {
	max-width: 560px;
	margin-top: 26px;
	font-size: clamp(30px, 3.4vw, 44px);
}

.sv-404 .sv-lead {
	max-width: 470px;
	font-size: var(--text-md);
	color: var(--ink-200);
}

.sv-404 .sv-note {
	margin-top: 28px;
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--ink-300);
}

.sv-404__aside {
	padding: 64px var(--sv-gutter) 64px var(--space-10);
}

/* The router: type and the matching pages surface. */

.sv-find__field {
	width: 100%;
	margin-top: var(--space-2);
	padding: 14px 0;
	background: transparent;
	color: var(--white);
	border: 0;
	border-bottom: var(--border-regular) solid var(--ink-400);
	font-family: var(--font-body);
	font-size: var(--text-xl);
}

.sv-find__field::placeholder {
	color: var(--ink-300);
}

.sv-find__field:focus {
	outline: none;
	border-bottom-color: var(--jade-green);
}

.sv-find__results {
	margin-top: 28px;
}

.sv-find__label {
	margin: 0 0 6px;
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--jade-green);
}

.sv-find__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sv-find__list li[hidden] {
	display: none;
}

.sv-find__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	min-height: 44px;
	padding: var(--space-4) 0;
	border-bottom: var(--border-hairline) solid var(--border-inverse);
	color: var(--text-inverse);
}

.sv-find__list a:hover {
	color: var(--jade-green);
	text-decoration: none;
}

.sv-find__list b {
	display: block;
	font-size: 17px;
	font-weight: var(--weight-semibold);
}

.sv-find__list small {
	display: block;
	margin-top: 4px;
	font-size: var(--text-xs);
	line-height: 1.5;
	color: var(--ink-300);
}

.sv-find__go {
	flex: none;
	font-size: var(--text-xl);
	color: var(--jade-green);
}

/* Three ways out */

.sv-exits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 44px;
}

.sv-exit {
	padding-top: 22px;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-exit__no {
	margin: 0;
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--green-700);
}

.sv-exit__title {
	margin: 14px 0 10px;
	font-size: 23px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
}

.sv-exit__text {
	margin: 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-exit__go {
	display: inline-block;
	margin-top: var(--space-4);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	color: var(--green-700);
}

/* Everything else on the site */

.sv-elsewhere {
	background: var(--surface-sunken);
}

.sv-elsewhere .sv-wrap {
	padding: var(--space-12) var(--sv-gutter);
}

.sv-elsewhere__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-6);
	margin-bottom: 22px;
}

.sv-elsewhere__head p:last-child {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--text-muted);
}

.sv-elsewhere__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0;
	padding: 0;
	border-top: var(--border-hairline) solid var(--border-default);
	list-style: none;
}

.sv-elsewhere__grid li {
	padding: var(--space-5) var(--space-6);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-elsewhere__grid li:first-child {
	padding-left: 0;
}

.sv-elsewhere__grid li:last-child {
	padding-right: 0;
	border-right: 0;
}

/* These read as labels, not calls to action — and the link green does not
   clear 4.5:1 on the sunken band anyway. */
.sv-elsewhere__grid a {
	color: var(--text-strong);
}

.sv-elsewhere__grid a:hover {
	color: var(--green-800);
}

.sv-elsewhere__grid b {
	display: block;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

.sv-elsewhere__grid span {
	display: block;
	margin-top: 7px;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--text-body);
}

/* ------------------------------------------------- legal documents ------- */

/* Hero: the document itself on the left, its status panel inset on the right. */
.sv-hero--doc .sv-wrap {
	grid-template-columns: 1fr 400px;
	gap: var(--space-14);
	align-items: start;
	padding: 54px var(--sv-gutter) 56px;
}

.sv-hero--doc .sv-hero__main {
	padding: 0;
	border-right: 0;
}

.sv-hero--doc .sv-hero__main .sv-kicker {
	margin-bottom: var(--space-6);
}

.sv-hero--doc .sv-h1 {
	font-size: clamp(34px, 4.4vw, 56px);
}

.sv-hero--doc .sv-lead {
	max-width: 540px;
	font-size: var(--text-md);
	color: var(--ink-200);
}

.sv-hero--doc .sv-lead + .sv-lead {
	margin-top: var(--space-4);
}

/* The second paragraph is the one you are agreeing to, so it reads brighter. */
.sv-hero--doc .sv-lead--strong {
	color: var(--white);
}

.sv-hero--doc .sv-note {
	max-width: 540px;
	margin-top: var(--space-4);
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--ink-300);
	text-wrap: pretty;
}

.sv-doc-panel {
	padding: 28px 26px;
	background: var(--surface-inverse-raised);
	border: var(--border-hairline) solid var(--border-inverse);
}

.sv-doc-panel .sv-sheet {
	padding: 0;
}

.sv-doc-panel .sv-sheet__row:last-child {
	border-bottom: var(--border-hairline) solid var(--border-inverse);
}

.sv-doc-panel__label {
	margin: var(--space-5) 0 10px;
}

.sv-doc-panel p {
	margin: 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

.sv-doc-panel .sv-sheet + p {
	margin-top: 18px;
}

/* The two-track read: a sticky section index beside the document. */

.sv-doc {
	display: grid;
	grid-template-columns: 246px 1fr;
}

.sv-doc__index {
	padding: 34px var(--space-6) 34px var(--sv-gutter);
	background: var(--surface-sunken);
	border-right: var(--border-hairline) solid var(--border-subtle);
}

.sv-doc__sticky {
	position: sticky;
	top: 96px;
}

.sv-doc__index .sv-kicker {
	margin-bottom: 14px;
}

.sv-idx__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-3);
	margin-bottom: 14px;
}

.sv-idx__count {
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	color: var(--green-800);
}

.sv-idx {
	margin: 0;
	padding: 0;
	border-top: var(--border-strong) solid var(--carbon-black);
	list-style: none;
	counter-reset: sv-idx;
}

.sv-idx li[hidden] {
	display: none;
}

.sv-idx a {
	display: grid;
	grid-template-columns: 26px 1fr;
	gap: 10px;
	align-items: baseline;
	padding: 9px 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
	color: var(--ink-700);
}

.sv-idx a:hover {
	color: var(--text-strong);
	text-decoration: none;
}

.sv-idx b {
	font-family: var(--font-mono);
	font-size: var(--text-3xs);
	font-weight: var(--weight-bold);
	color: var(--text-muted);
}

.sv-idx span {
	font-size: var(--text-xs);
	line-height: 1.35;
}

.sv-idx [aria-current] {
	background: var(--alpha-green-15);
	color: var(--text-strong);
}

.sv-idx [aria-current] b {
	color: var(--green-800);
}

.sv-idx [aria-current] span {
	font-weight: var(--weight-semibold);
}

.sv-doc__note {
	margin: var(--space-4) 0 0;
	font-family: var(--font-mono);
	font-size: 11.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-muted);
}

.sv-doc__body {
	padding: 34px var(--sv-gutter) 44px var(--space-10);
}

.sv-clause {
	display: grid;
	grid-template-columns: 1fr 250px;
	gap: 36px;
	align-items: start;
	padding: 26px 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
	scroll-margin-top: 150px;
}

.sv-clause[hidden] {
	display: none;
}

.sv-clause__no {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 15px;
	font-weight: var(--weight-bold);
	letter-spacing: .06em;
	color: var(--green-800);
}

.sv-clause__title {
	margin: var(--space-2) 0 14px;
	font-family: var(--font-body);
	font-size: 25px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
	text-transform: none;
	color: var(--green-800);
}

.sv-clause__body > * {
	margin: 0 0 var(--space-3);
}

.sv-clause__body > *:last-child {
	margin-bottom: 0;
}

.sv-clause__body h3 {
	margin: var(--space-4) 0 var(--space-2);
	font-family: var(--font-body);
	font-size: 17px;
	font-weight: var(--weight-semibold);
	letter-spacing: normal;
	text-transform: none;
}

.sv-clause__body p {
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--text-body);
	text-wrap: pretty;
}

/* An em-dash list, the document's own bullet. */
.sv-dash {
	padding: 0;
	list-style: none;
}

.sv-dash li {
	display: flex;
	gap: 11px;
	padding: 3.5px 0;
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-dash li::before {
	content: "\2014";
	flex: none;
	padding-top: 3px;
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	color: var(--green-800);
}

/* The plain-English margin note. */
.sv-clause__note {
	position: sticky;
	top: 96px;
	padding: 2px 0 2px var(--space-4);
	border-left: 3px solid var(--green-700);
}

.sv-clause__note .sv-kicker,
.sv-clause__tag {
	margin: 0 0 var(--space-2);
}

.sv-clause__note p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ink-500);
	text-wrap: pretty;
}

/* Category-coded notes on the terms page. */
.sv-clause__tag {
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--green-800);
}

.sv-clause--limit .sv-clause__note {
	border-left-color: var(--carbon-black);
}

.sv-clause--limit .sv-clause__tag {
	color: var(--carbon-black);
}

.sv-clause--rules .sv-clause__note {
	border-left-color: var(--ink-400);
}

.sv-clause--rules .sv-clause__tag {
	color: var(--ink-500);
}

/* The tools table inside a clause. */

.sv-tools-table {
	margin: var(--space-4) 0 0;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-tools-table__row {
	display: grid;
	grid-template-columns: 1.1fr 1.3fr 1.5fr;
	gap: var(--space-5);
	align-items: start;
	padding: var(--space-4) 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--text-body);
}

.sv-tools-table__row--head {
	padding: var(--space-3) 0;
	border-bottom-color: var(--border-default);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-tools-table b {
	display: block;
	font-size: 14.5px;
	font-weight: var(--weight-semibold);
	line-height: 1.3;
	color: var(--text-strong);
}

.sv-tools-table small {
	display: block;
	margin-top: 5px;
	font-family: var(--font-mono);
	font-size: 11.5px;
	color: var(--text-muted);
}

/* The pulled-out statement and the inset quote share a carbon plate. */

.sv-plate {
	margin: 18px 0 0;
	padding: 22px var(--space-6);
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-plate b {
	display: block;
	font-size: 22px;
	font-weight: var(--weight-bold);
	line-height: 1.15;
	letter-spacing: var(--tracking-heading);
	color: var(--jade-green);
}

.sv-plate p {
	margin: 10px 0 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--ink-200);
}

.sv-clause__body .sv-inset {
	margin: 6px 0 4px;
	padding: var(--space-6) 26px;
	background: var(--surface-inverse);
	color: var(--ink-200);
	font-size: 15.5px;
	line-height: 1.7;
	text-wrap: pretty;
}

/* Name / location rows at the end of a document. */

.sv-rows-plain {
	margin: var(--space-4) 0 0;
	padding: 0;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-rows-plain div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: 14px 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-rows-plain dt {
	font-family: var(--font-mono);
	font-size: 10.5px;
	font-weight: var(--weight-medium);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink-500);
}

.sv-rows-plain dd {
	margin: 0;
	text-align: right;
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

/* Definition list inside a clause. */

.sv-defs {
	margin: var(--space-2) 0 0;
	border-top: var(--border-strong) solid var(--carbon-black);
}

.sv-defs div {
	padding: 14px 0;
	border-bottom: var(--border-hairline) solid var(--border-subtle);
}

.sv-defs dt {
	font-size: 15.5px;
	font-weight: var(--weight-semibold);
}

.sv-defs dd {
	margin: 5px 0 0;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-doc__foot {
	margin: 0;
	padding-top: 26px;
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ink-500);
	text-wrap: pretty;
}

/* --- The commitment ledger, on the terms page --------------------------- */

.sv-ledger__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-10);
	margin-bottom: 28px;
}

.sv-ledger__head > p {
	max-width: 340px;
	margin: 0;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ink-500);
	text-wrap: pretty;
}

.sv-ledger__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.sv-ledger__card {
	padding: var(--space-6) 22px;
	text-align: left;
	background: var(--white);
	color: var(--text-strong);
	border: var(--border-hairline) solid var(--ink-300);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-ledger__card:hover {
	border-color: var(--carbon-black);
}

.sv-ledger__card:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

.sv-ledger__card[aria-pressed="true"] {
	background: var(--carbon-black);
	border-color: var(--carbon-black);
	color: var(--white);
}

.sv-ledger__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: var(--weight-medium);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--green-800);
}

.sv-ledger__card[aria-pressed="true"] .sv-ledger__top {
	color: var(--jade-green);
}

.sv-ledger__title {
	display: block;
	margin: 14px 0 10px;
	font-size: 22px;
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-heading);
}

.sv-ledger__blurb {
	display: block;
	font-size: 14.5px;
	line-height: var(--leading-relaxed);
	color: var(--text-body);
}

.sv-ledger__card[aria-pressed="true"] .sv-ledger__blurb {
	color: var(--ink-200);
}

.sv-idx__clear {
	display: block;
	width: 100%;
	min-height: 44px;
	margin-top: var(--space-4);
	padding: var(--space-3);
	background: transparent;
	color: var(--green-800);
	border: var(--border-hairline) solid var(--green-700);
	border-radius: 2px;
	font-family: var(--font-body);
	font-size: 12.5px;
	font-weight: var(--weight-semibold);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-idx__clear[hidden] {
	display: none;
}

.sv-idx__clear:hover {
	background: var(--green-050);
}

.sv-idx__clear:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

/* The liability cap, said out loud rather than buried. */

.sv-cap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	align-items: center;
	margin-top: 22px;
	padding: 30px;
	background: var(--surface-inverse);
	color: var(--text-inverse);
}

.sv-cap .sv-kicker {
	margin-bottom: var(--space-3);
}

.sv-cap__figure {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(24px, 2.7vw, 34px);
	font-weight: var(--weight-bold);
	line-height: var(--leading-tight);
	letter-spacing: var(--tracking-display-caps);
	text-transform: uppercase;
}

.sv-cap__figure b {
	font-weight: inherit;
	color: var(--jade-green);
}

.sv-cap__note {
	margin: 0;
	padding-left: 18px;
	border-left: 3px solid var(--jade-green);
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-200);
}

/* ------------------------------------------- generic page template ------- */

/* The fallback any page without its own template gets: a carbon title band
   and the editor's own content, set as prose. */
.sv-hero--plain .sv-wrap {
	display: block;
	padding: var(--space-14) var(--sv-gutter);
}

.sv-hero--plain .sv-h1 {
	margin: 0;
	max-width: 900px;
	font-size: clamp(32px, 4vw, 52px);
}

.sv-prose-page {
	max-width: 760px;
}

.sv-prose-page > * {
	margin-block: 0 var(--space-4);
}

.sv-prose-page > *:last-child {
	margin-bottom: 0;
}

.sv-prose-page p,
.sv-prose-page li {
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--text-body);
	text-wrap: pretty;
}

.sv-prose-page h2 {
	margin-top: var(--space-10);
	font-size: clamp(24px, 2.4vw, 32px);
}

.sv-prose-page h3 {
	margin-top: var(--space-8);
	font-family: var(--font-body);
	font-size: 21px;
	font-weight: var(--weight-semibold);
	letter-spacing: normal;
	text-transform: none;
}

.sv-prose-page ul,
.sv-prose-page ol {
	padding-left: var(--space-5);
}

.sv-prose-page li {
	margin-bottom: var(--space-2);
}

/* ------------------------------------------- enquiry form feedback ------- */

/* The honeypot has to be reachable by a bot parsing the DOM but never by a
   person, so it is moved off-screen rather than display:none'd. */
.sv-form__trap {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.sv-form__result {
	margin: 0 0 var(--space-6);
	padding: var(--space-4) var(--space-5);
	border-left: var(--border-heavy) solid var(--jade-green);
	background: var(--alpha-white-08);
	font-size: 15px;
	line-height: var(--leading-relaxed);
	color: var(--white);
}

.sv-form__result--bad {
	border-left-color: var(--crimson-carrot);
}

/* ------------------------------------------------ search results --------- */

.sv-dir__hero--solo .sv-wrap {
	grid-template-columns: 1fr;
}

.sv-search {
	max-width: 560px;
	margin-top: var(--space-6);
}

.sv-search__row {
	display: flex;
	gap: var(--space-3);
	margin-top: var(--space-2);
}

.sv-search__field {
	flex: 1;
	min-width: 0;
	height: var(--control-height-lg);
	padding: 0 var(--space-4);
	background: var(--white);
	color: var(--text-strong);
	border: var(--border-regular) solid var(--border-default);
	border-radius: var(--control-radius);
	font-family: var(--font-body);
	font-size: var(--text-base);
}

.sv-search__field::placeholder {
	color: var(--text-muted);
}

.sv-search__field:focus {
	outline: none;
	border-color: var(--carbon-black);
	box-shadow: var(--focus-ring);
}

.sv-search__go {
	flex: none;
	height: var(--control-height-lg);
	padding: 0 var(--space-6);
	background: var(--action-primary-bg);
	color: var(--action-primary-fg);
	border: var(--border-regular) solid transparent;
	border-radius: var(--control-radius);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--weight-bold);
	letter-spacing: var(--tracking-label);
	cursor: pointer;
	transition: var(--transition-control);
}

.sv-search__go:hover {
	background: var(--action-primary-bg-hover);
}

.sv-search__go:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring);
}

/* Core's archive pagination, in the site's own type. */

.sv-page .navigation.pagination {
	margin-top: var(--space-10);
	padding-top: var(--space-5);
	border-top: var(--border-hairline) solid var(--border-subtle);
}

.sv-page .navigation.pagination .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.sv-page .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
}

.sv-page .nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 var(--space-3);
	border: var(--border-hairline) solid var(--border-default);
	color: var(--text-strong);
}

.sv-page .nav-links a.page-numbers:hover {
	border-color: var(--carbon-black);
	text-decoration: none;
}

.sv-page .nav-links .page-numbers.current {
	background: var(--carbon-black);
	border-color: var(--carbon-black);
	color: var(--jade-green);
}

/* ------------------------------------------------------ responsive ------- */

@media (max-width: 1023px) {
	/* The 404 router and the legal documents both drop to one column, and the
	   sticky index and margin notes stop sticking. */
	.sv-404 .sv-wrap,
	.sv-hero--doc .sv-wrap,
	.sv-doc,
	.sv-exits,
	.sv-cap {
		grid-template-columns: 1fr;
	}

	.sv-404 .sv-hero__main {
		padding: var(--space-10) var(--sv-gutter);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-404__aside {
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-exits {
		row-gap: var(--space-8);
	}

	.sv-hero--doc .sv-wrap {
		gap: var(--space-8);
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-doc__index {
		padding: var(--space-8) var(--sv-gutter);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-doc__sticky,
	.sv-clause__note {
		position: static;
	}

	.sv-doc__body {
		padding: var(--space-8) var(--sv-gutter);
	}

	.sv-clause {
		grid-template-columns: 1fr;
		gap: var(--space-5);
	}

	.sv-ledger__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-4);
	}

	.sv-cap {
		gap: var(--space-5);
		padding: var(--space-6);
	}

	.sv-elsewhere__grid {
		grid-template-columns: 1fr 1fr;
	}

	.sv-elsewhere__grid li:nth-child(2n) {
		padding-right: 0;
		border-right: 0;
	}

	.sv-elsewhere__grid li:nth-child(2n + 1) {
		padding-left: 0;
	}

	/* The SEO location page: hero, simulator, gap rows and plans all narrow. */
	.sv-hero--brand .sv-wrap,
	.sv-twocol,
	.sv-sim__panel,
	.sv-who,
	.sv-tiers {
		grid-template-columns: 1fr;
	}

	.sv-hero--brand .sv-hero__main {
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-twocol {
		gap: var(--space-4);
	}

	.sv-sim {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-who > div + div {
		margin-top: var(--space-8);
	}

	.sv-tiers {
		gap: var(--space-6);
	}

	.sv-tier__blurb {
		min-height: 0;
	}

	.sv-gap {
		grid-template-columns: 44px 1fr;
		gap: var(--space-4) var(--space-6);
	}

	.sv-gap__text {
		grid-column: 2;
	}

	/* Location page: the hero, the coverage strip and the spec all collapse to
	   a single column, and the town panel stops sticking. */
	.sv-hero--mile .sv-wrap,
	.sv-miles__grid,
	.sv-sectors,
	.sv-packs,
	.sv-case--brand .sv-wrap {
		grid-template-columns: 1fr;
	}

	.sv-hero--mile .sv-hero__main {
		padding: var(--space-10) var(--sv-gutter);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-hero__plate {
		min-height: 200px;
	}

	.sv-sheet {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-miles__grid {
		gap: var(--space-6);
	}

	.sv-town {
		position: static;
	}

	.sv-jobs__grid,
	.sv-spec__grid {
		grid-template-columns: 1fr 1fr;
		column-gap: var(--space-8);
	}

	.sv-spec__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-4);
	}

	.sv-centered .sv-wrap {
		padding: var(--space-10) var(--sv-gutter) var(--space-12);
	}

	.sv-case--brand .sv-wrap {
		gap: var(--space-8);
		padding: var(--space-10) var(--sv-gutter) var(--space-12);
	}

	.sv-hero--service .sv-wrap,
	.sv-costs .sv-wrap,
	.sv-vision .sv-wrap,
	.sv-argue__head,
	.sv-cross .sv-wrap {
		grid-template-columns: 1fr;
	}

	.sv-hero--service .sv-hero__main,
	.sv-costs__argument,
	.sv-vision__body {
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-costs__list {
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-argue__head {
		gap: var(--space-6);
	}

	.sv-tools__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.sv-tool {
		padding-inline: var(--space-6);
	}

	.sv-tool:nth-child(odd) {
		padding-left: 0;
	}

	.sv-tool:nth-child(even) {
		padding-right: 0;
		border-right: 0;
	}

	.sv-vision__media,
	.sv-vision__media img {
		min-height: 0;
		height: 320px;
	}

	.sv-process__grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.sv-vision--reverse .sv-wrap {
		grid-template-columns: 1fr;
	}

	.sv-vision--reverse .sv-vision__media {
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-vision--reverse .sv-vision__body {
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-covers__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.sv-statgrid .sv-stat,
	.sv-statgrid .sv-stat:last-child {
		padding: var(--space-8) var(--sv-gutter);
	}

	.sv-tabs--dark .sv-tabs__panel,
	.sv-tabs__panel {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}

	.sv-tabs__proof {
		border-left: 0;
		padding-left: 0;
	}

	.sv-faq__list {
		grid-template-columns: 1fr;
	}

	.sv-trades__hero .sv-wrap,
	.sv-index__grid,
	.sv-keep__grid,
	.sv-register__grid,
	.sv-cs__head,
	.sv-cs__client .sv-wrap,
	.sv-audit__grid,
	.sv-ai,
	.sv-words__grid,
	.sv-dir__hero .sv-wrap,
	.sv-dir__body .sv-wrap,
	.sv-feature__grid,
	.sv-contact .sv-wrap,
	.sv-pair .sv-wrap,
	.sv-area__grid,
	.sv-roi,
	.sv-blueprint__head,
	.sv-blueprint__picker,
	.sv-rec__notes,
	.sv-facet {
		grid-template-columns: 1fr;
	}

	.sv-roi__inputs {
		padding: var(--space-6) 0 var(--space-8);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-roi__result {
		margin-top: 0;
	}

	.sv-promises__grid,
	.sv-blueprint__cards {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-8) var(--space-10);
	}

	.sv-goals {
		padding: 26px 0;
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-contact__intro {
		padding: var(--space-10) var(--sv-gutter);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-dir__hero .sv-wrap,
	.sv-dir__body .sv-wrap {
		gap: var(--space-8);
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-cs__head {
		gap: var(--space-8);
	}

	.sv-article__grid {
		grid-template-columns: 1fr;
	}

	.sv-toc,
	.sv-rail {
		position: static;
		padding: var(--space-8) var(--sv-gutter);
		border-right: 0;
		border-left: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-post {
		max-width: none;
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-article__hero {
		height: 280px;
	}

	.sv-cs__facts {
		grid-template-columns: 1fr 1fr;
	}

	.sv-cs__facts li {
		padding-inline: var(--space-5);
	}

	.sv-cs__facts li:nth-child(odd) {
		padding-left: 0;
	}

	.sv-cs__facts li:nth-child(even) {
		padding-right: 0;
		border-right: 0;
	}

	.sv-cs__client-body {
		padding: var(--space-10) var(--sv-gutter);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-cs__client-media {
		min-height: 240px;
	}

	.sv-audit__panel {
		padding-right: 0;
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
		padding-bottom: var(--space-6);
	}

	.sv-audit__cost {
		padding-left: 0;
	}

	.sv-process__grid--5,
	.sv-why__grid,
	.sv-rule__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.sv-profile {
		position: static;
	}

	.sv-why__grid > div:nth-child(n + 3) {
		border-top: var(--border-hairline) solid var(--border-default);
		margin-top: var(--space-6);
	}

	.sv-trades__intro {
		padding: var(--space-10) var(--sv-gutter);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-cards {
		grid-template-columns: repeat(2, 1fr);
	}

	.sv-plan {
		position: static;
	}

	.sv-process__grid--5 .sv-step:nth-child(odd) {
		padding-left: 0;
	}

	.sv-process__grid--5 .sv-step:nth-child(even) {
		padding-right: 0;
		border-right: 0;
	}

	.sv-deltas {
		grid-template-columns: 1fr;
	}

	.sv-deltas li {
		padding-inline: 0;
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-words__grid {
		gap: var(--space-6);
	}

	.sv-filters {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-3);
		padding: var(--space-8) var(--sv-gutter) 18px;
	}

	.sv-feature {
		padding: var(--space-8) var(--sv-gutter) 0;
	}

	.sv-feature__media {
		min-height: 240px;
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-feature__body {
		padding: var(--space-8) 0;
	}

	.sv-row {
		grid-template-columns: 110px 1fr;
		gap: var(--space-5);
	}

	.sv-row__go {
		grid-column: 2;
		text-align: left;
	}

	.sv-form {
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-pair__left {
		padding: var(--space-10) var(--sv-gutter);
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-pair__right {
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-area__map {
		min-height: 240px;
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-area__list {
		padding: 26px 0;
	}

	.sv-rec {
		padding: 26px 0;
	}

	.sv-rec__notes {
		gap: var(--space-6);
	}

	.sv-addons {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}
}

@media (max-width: 759px) {
	/* 404 and legal documents on a phone. */
	.sv-ledger__cards,
	.sv-elsewhere__grid {
		grid-template-columns: 1fr;
	}

	.sv-elsewhere__grid li {
		padding: var(--space-4) 0;
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-elsewhere__grid li:last-child {
		border-bottom: 0;
	}

	.sv-elsewhere__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2);
	}

	.sv-ledger__card {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-cap,
	.sv-plate,
	.sv-clause__body .sv-inset {
		padding: var(--space-6) var(--sv-gutter);
	}

	/* The tools table becomes stacked rows, each value labelled. */
	.sv-tools-table__row {
		grid-template-columns: 1fr;
		gap: var(--space-2);
	}

	.sv-tools-table__row--head {
		display: none;
	}

	.sv-tools-table__row > span::before {
		content: attr(data-label);
		display: block;
		margin-bottom: var(--space-1);
		font-family: var(--font-mono);
		font-size: var(--text-3xs);
		font-weight: var(--weight-medium);
		letter-spacing: var(--tracking-kicker);
		text-transform: uppercase;
		color: var(--text-muted);
	}

	.sv-rows-plain div {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-1);
	}

	.sv-rows-plain dd {
		text-align: left;
	}

	/* The SEO location page on a phone. */
	.sv-sim__controls {
		gap: var(--space-4);
	}

	.sv-sim__set--queries {
		flex: 1 1 100%;
	}

	.sv-sim__opt {
		white-space: normal;
	}

	.sv-sim__bar {
		flex-wrap: wrap;
		gap: 8px 14px;
	}

	.sv-sim__state {
		margin-left: 0;
		width: 100%;
	}

	.sv-gap {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.sv-gap__text {
		grid-column: 1;
	}

	.sv-fine__grid {
		grid-template-columns: 1fr;
	}

	.sv-fine__grid li:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.sv-fine__grid li:last-child {
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-process__grid--3,
	.sv-process__bars--3 {
		grid-template-columns: 1fr;
	}

	.sv-process__bars--3 {
		row-gap: var(--space-2);
	}

	.sv-tier__head,
	.sv-tier__list {
		padding-inline: var(--sv-gutter);
	}

	/* Location page on a phone: the milepost row drops its right-hand tag, the
	   job and spec grids stack, and the packages sit one above the other. */
	.sv-crumb--dark .sv-wrap {
		flex-wrap: wrap;
		gap: 8px 10px;
	}

	.sv-crumb__coords {
		width: 100%;
	}

	.sv-mile0 {
		flex-wrap: wrap;
		gap: 10px;
	}

	.sv-hero__plate {
		min-height: 160px;
	}

	.sv-mile {
		grid-template-columns: 74px 1fr;
		gap: var(--space-4);
		padding: 14px 0;
	}

	.sv-mile__km b {
		font-size: 19px;
	}

	.sv-mile__name {
		font-size: 17px;
	}

	.sv-mile__note {
		font-size: var(--text-xs);
	}

	.sv-mile__tag {
		display: none;
	}

	.sv-town {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-jobs__grid,
	.sv-spec__grid {
		grid-template-columns: 1fr;
	}

	.sv-jobs__grid li {
		padding: 18px 0;
		border-top: 0;
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-jobs__grid li:last-child {
		border-bottom: 0;
	}

	.sv-jobs__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-1);
	}

	.sv-sector {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-pack {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-packs__addons {
		font-size: var(--text-2xs);
	}

	.sv-process__bars {
		column-gap: var(--space-2);
	}

	.sv-quote--brand {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-centered .sv-wrap,
	.sv-case--brand .sv-wrap,
	.sv-sec .sv-wrap {
		padding: var(--space-8) var(--sv-gutter) var(--space-10);
	}

	.sv-faq__foot b {
		font-size: 20px;
	}

	.sv-crumb .sv-wrap {
		padding: 10px var(--sv-gutter);
	}

	.sv-offer {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-tools .sv-wrap,
	.sv-argue .sv-wrap,
	.sv-compare .sv-wrap,
	.sv-faq .sv-wrap,
	.sv-cross .sv-wrap {
		padding: var(--space-12) var(--sv-gutter);
	}

	.sv-tools__head {
		flex-direction: column;
		gap: var(--space-2);
	}

	.sv-tools__grid,
	.sv-pledges,
	.sv-addons__list,
	.sv-process__grid--4 {
		grid-template-columns: 1fr;
	}

	.sv-tool {
		padding: var(--space-5) 0;
		border-right: 0;
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-tool:last-child {
		border-bottom: 0;
	}

	.sv-pledges li:nth-last-child(-n + 2),
	.sv-addons__list li:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.sv-pledges li:last-child,
	.sv-addons__list li:last-child {
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	/* Tabs stack into full-width rows; the panel follows the selected one. */
	.sv-tabs__list {
		flex-direction: column;
	}

	.sv-tabs__panel {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-compare__head,
	.sv-faq__head,
	.sv-sec__head {
		flex-direction: column;
		gap: var(--space-4);
	}

	.sv-sec__head .sv-note {
		max-width: none;
		text-align: left;
	}

	.sv-covers__grid,
	.sv-statgrid__pair,
	.sv-promises__grid,
	.sv-blueprint__cards,
	.sv-roi__fields {
		grid-template-columns: 1fr;
	}

	.sv-promises__grid,
	.sv-blueprint__cards {
		gap: var(--space-6);
	}

	.sv-rec__head {
		flex-direction: column;
		gap: var(--space-4);
	}

	.sv-rec__split {
		align-self: flex-start;
		text-align: left;
	}

	.sv-form__grid {
		grid-template-columns: 1fr;
	}

	.sv-scoreboard {
		grid-template-columns: 1fr 1fr;
		gap: var(--space-4) 0;
	}

	.sv-scoreboard li:nth-child(odd) {
		padding-left: 0;
	}

	.sv-scoreboard li:nth-child(even) {
		padding-right: 0;
		border-right: 0;
	}

	.sv-row {
		grid-template-columns: 1fr;
	}

	.sv-row__go {
		grid-column: 1;
	}

	.sv-cs__facts,
	.sv-process__grid--5,
	.sv-ranks__row,
	.sv-keep__grid,
	.sv-cards,
	.sv-why__grid,
	.sv-rule__grid,
	.sv-plan__route {
		grid-template-columns: 1fr;
	}

	.sv-market {
		grid-template-columns: 40px 1fr;
		gap: var(--space-3);
	}

	.sv-market__services {
		display: none;
	}

	.sv-market__state {
		grid-column: 2;
		text-align: left;
	}

	.sv-status {
		padding: var(--space-8) var(--sv-gutter);
	}

	.sv-index__head {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-4);
	}

	.sv-drivers,
	.sv-index .sv-wrap,
	.sv-why .sv-wrap {
		padding: var(--space-10) var(--sv-gutter);
	}

	.sv-cs__facts li,
	.sv-process__grid--5 .sv-step {
		padding-inline: 0;
		border-right: 0;
	}

	.sv-cs__facts li {
		border-bottom: var(--border-hairline) solid var(--border-inverse);
	}

	.sv-ranks__row {
		gap: var(--space-1);
	}

	.sv-ranks__row span:not(:first-child) {
		text-align: left;
	}

	.sv-ranks__row--head {
		display: none;
	}

	.sv-views__panel {
		padding: var(--space-6) var(--sv-gutter);
	}

	.sv-cta--stacked .sv-cta__top {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-6);
	}

	.sv-form__send button {
		width: 100%;
	}

	.sv-statgrid__pair .sv-stat {
		border-bottom: var(--border-hairline) solid var(--border-subtle);
	}

	.sv-tabs__line {
		display: block;
		text-align: center;
	}

	/* The comparison table becomes stacked rows, each value labelled. */
	.sv-table__row,
	.sv-table--3 .sv-table__row {
		grid-template-columns: 1fr;
	}

	.sv-table--3 .sv-table__cell {
		padding-inline: 0;
	}

	.sv-table--3 .sv-table__cell--plus {
		padding-inline: var(--sv-gutter);
	}

	.sv-table__cell--pro {
		border-left: 0;
	}

	.sv-table__label {
		padding: var(--space-4) 0 var(--space-2);
		border-right: 0;
	}

	.sv-table__cell {
		padding: var(--space-3) 0;
		border-right: 0;
	}

	.sv-table__cell--plus {
		padding-inline: var(--sv-gutter);
		margin-inline: calc(var(--sv-gutter) * -1);
	}

	.sv-table__row:not(.sv-table__row--header):not(.sv-table__row--actions) .sv-table__cell::before {
		content: attr(data-plan);
		display: block;
		margin-bottom: var(--space-1);
		font-family: var(--font-mono);
		font-size: var(--text-3xs);
		font-weight: var(--weight-medium);
		letter-spacing: var(--tracking-kicker);
		text-transform: uppercase;
		color: var(--text-muted);
	}

	.sv-table__cell--plus::before {
		color: var(--ink-300);
	}
}
