/* ========================================================================
   Scott Farmer Salon Theme. Main.css
   Premium editorial salon styling. Mobile-first.
   ======================================================================== */

:root {
	--color-background: #F8F5F0;
	--color-surface: #FFFFFF;
	--color-text: #1A1A1A;
	--color-muted: #5F5A54;
	--color-accent: #B8533A;
	--color-accent-dark: #8F3F2B;
	--color-border: #E3DDD4;
	--color-soft: #EFE8DF;

	--font-heading: "Instrument Serif", Georgia, "Times New Roman", serif;
	--font-body: "DM Sans", Arial, sans-serif;

	--container-width: 1180px;
	--container-narrow: 760px;
	--section-padding: 64px;
	--section-padding-mobile: 40px;

	--radius-sm: 8px;
	--radius-md: 8px;
	--radius-lg: 8px;

	--shadow-soft: 0 12px 32px rgba(0,0,0,0.08);
	--shadow-card: 0 2px 12px rgba(0,0,0,0.04);
}

/* Phase 16: conversion-first service pages */
.sf-service-hero {
	background:
		linear-gradient(110deg, rgba(248, 245, 240, 0.96) 0%, rgba(248, 245, 240, 0.88) 44%, rgba(238, 218, 205, 0.72) 100%),
		#f8f5f0;
	border-bottom: 1px solid rgba(143, 63, 43, 0.14);
	overflow: hidden;
	padding: clamp(34px, 6vw, 78px) 0 clamp(42px, 6vw, 88px);
}

.sf-service-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(30px, 5vw, 70px);
	grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
}

.sf-service-hero__content {
	max-width: 720px;
	min-width: 0;
}

.sf-service-kicker.sf-service-strip span {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sf-service-hero h1 {
	font-size: clamp(3rem, 6.2vw, 6rem);
	line-height: .94;
	margin-bottom: 20px;
	max-width: 820px;
}

.sf-service-lead {
	color: #4f4740;
	font-size: clamp(1.15rem, 1.7vw, 1.35rem);
	line-height: 1.62;
	margin-bottom: 26px;
	max-width: 680px;
}

.sf-service-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 26px;
}

.sf-service-actions .btn {
	min-width: 172px;
}

.sf-service-proof {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	max-width: 620px;
	padding: 0;
}

.sf-service-proof li {
	align-items: center;
	color: #2d2824;
	display: flex;
	font-size: 1rem;
	gap: 10px;
	line-height: 1.45;
}

.sf-service-proof li::before.sf-check-list li::before {
	background: var(--color-accent);
	border-radius: 999px;
	content: "";
	flex: 0 0 8px;
	height: 8px;
	width: 8px;
}

.sf-service-hero__media {
	margin: 0;
	position: relative;
}

.sf-service-hero__media::before {
	background: var(--color-accent);
	border-radius: var(--radius-lg);
	content: "";
	inset: 24px -18px -18px 34px;
	opacity: .18;
	position: absolute;
}

.sf-service-hero__media img {
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: block;
	height: auto;
	object-fit: cover;
	position: relative;
	width: 100%;
}

.sf-service-hero__media figcaption {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-radius: var(--radius-md);
	bottom: 18px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	left: 18px;
	padding: 16px 18px;
	position: absolute;
	right: 18px;
	z-index: 1;
}

.sf-service-hero__media figcaption strong.sf-service-hero__media figcaption span {
	display: block;
}

.sf-service-hero__media figcaption strong {
	font-family: var(--font-heading);
	font-size: 1.35rem;
	line-height: 1.1;
}

.sf-service-hero__media figcaption span {
	color: var(--color-muted);
	font-size: .95rem;
	margin-top: 4px;
}

.sf-service-strip {
	background: #201c19;
	color: #fff;
}

.sf-service-strip__inner {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding-bottom: 0;
	padding-top: 0;
}

.sf-service-strip span {
	align-items: center;
	color: rgba(255, 255, 255, 0.82);
	display: flex;
	justify-content: center;
	min-height: 58px;
	padding: 14px 12px;
	text-align: center;
}

.sf-service-section {
	background: #fff;
}

.sf-service-section--surface {
	background: #f8f5f0;
}

.sf-service-grid.sf-price-layout.sf-proof-layout.sf-faq-layout.sf-final-booking__inner {
	display: grid;
	gap: clamp(28px, 5vw, 64px);
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
}

.sf-service-intro h2.sf-price-layout h2.sf-proof-copy h2.sf-faq-layout h2.sf-final-booking h2 {
	font-size: clamp(2.1rem, 4vw, 3.6rem);
	line-height: 1;
}

.sf-check-list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.sf-check-list li {
	align-items: center;
	display: flex;
	font-size: 1.08rem;
	gap: 10px;
	line-height: 1.45;
}

.sf-decision-panel {
	background: #201c19;
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	color: #fff;
	padding: clamp(24px, 4vw, 42px);
}

.sf-decision-panel .section-eyebrow.sf-final-booking .section-eyebrow {
	color: #e9b8a7;
}

.sf-decision-row {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(140px, 0.38fr) minmax(0, 1fr);
	padding: 20px 0;
}

.sf-decision-row:last-child {
	padding-bottom: 0;
}

.sf-decision-row h3 {
	color: #fff;
	font-size: 1.35rem;
	margin: 0;
}

.sf-decision-row p {
	color: rgba(255, 255, 255, 0.76);
	line-height: 1.62;
	margin: 0;
}

.sf-price-layout > div:first-child p.sf-proof-copy p.sf-final-booking p {
	color: var(--color-muted);
	font-size: 1.08rem;
	line-height: 1.72;
	max-width: 700px;
}

.sf-price-card {
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.16);
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	overflow: hidden;
}

.sf-price-card table {
	border-collapse: collapse;
	margin: 0;
	width: 100%;
}

.sf-price-card th,
.sf-price-card td {
	border-bottom: 1px solid rgba(143,63,43,0.12);
	padding: 17px 18px;
	text-align: left;
	vertical-align: top;
}

.sf-price-card th {
	background: #201c19;
	color: #fff;
	font-size: .76rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sf-price-card td {
	color: #28231f;
	font-size: .98rem;
}

.sf-price-card td:last-child {
	color: var(--color-accent-dark);
	font-weight: 800;
	white-space: nowrap;
}

.sf-proof-layout {
	align-items: center;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
}

.sf-proof-photo {
	margin: 0;
}

.sf-proof-photo img {
	aspect-ratio: 16 / 11;
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	object-fit: cover;
	width: 100%;
}

.sf-faq-layout {
	grid-template-columns: minmax(0, 0.55fr) minmax(0, 1fr);
}

.sf-faq-list {
	display: grid;
	gap: 12px;
}

.sf-faq-list details {
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-radius: var(--radius-md);
	padding: 0;
}

.sf-faq-list summary {
	cursor: pointer;
	font-family: var(--font-heading);
	font-size: 1.35rem;
	line-height: 1.16;
	list-style: none;
	padding: 20px 22px;
}

.sf-faq-list summary::-webkit-details-marker {
	display: none;
}

.sf-faq-list p {
	border-top: 1px solid rgba(143, 63, 43, 0.12);
	color: var(--color-muted);
	line-height: 1.68;
	margin: 0;
	padding: 18px 22px 22px;
}

.sf-final-booking {
	background:
		linear-gradient(135deg, rgba(32, 28, 25, 0.94), rgba(32, 28, 25, 0.84)),
		#201c19;
	color: #fff;
	padding: clamp(42px, 6vw, 78px) 0;
}

.sf-final-booking h2.sf-final-booking p {
	color: #fff;
}

.sf-final-booking__inner {
	align-items: center;
	grid-template-columns: minmax(0, 1fr) auto;
}

.sf-final-booking__actions {
	display: grid;
	gap: 12px;
	min-width: min(330px, 100%);
}

.sf-final-booking .btn--ghost {
	border-color: rgba(255, 255, 255, 0.8);
	color: #fff;
}

.sf-mobile-booking {
	display: none;
}

@media (max-width: 980px) {
	.sf-service-hero__inner.sf-service-grid.sf-price-layout.sf-proof-layout.sf-faq-layout.sf-final-booking__inner {
		grid-template-columns: 1fr;
	}

	.sf-service-hero__media {
		max-width: 620px;
	}

	.sf-service-strip__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.sf-service-hero.sf-service-hero * {
		min-width: 0;
	}

	.sf-service-hero .container.sf-service-section .container.sf-final-booking .container {
		max-width: 100vw;
		overflow: hidden;
	}

	body:has(.sf-mobile-booking) {
		padding-bottom: 76px;
	}

	.site-header__inner {
		min-height: 72px;
	}

	.site-logo-img.custom-logo {
		width: 178px;
	}

	.mobile-menu-toggle {
		min-width: auto;
		padding-right: 0;
	}

	.sf-service-hero {
		padding: 28px 0 38px;
	}

	.sf-service-hero__inner {
		display: block !important;
	}

	.sf-service-hero__content {
		max-width: 100%;
		width: min(100%, calc(100vw - 48px));
	}

	.sf-service-hero h1 {
		font-size: clamp(2.25rem, 10vw, 2.78rem);
		max-width: calc(100vw - 48px);
		overflow-wrap: break-word;
		word-break: normal;
	}

	.sf-service-lead {
		font-size: 1.08rem;
		max-width: calc(100vw - 48px);
		overflow-wrap: break-word;
	}

	.sf-service-actions {
		display: grid;
		max-width: calc(100vw - 48px);
		width: min(100%, calc(100vw - 48px));
	}

	.sf-service-actions .btn {
		min-width: 0;
		width: 100%;
	}

	.sf-service-proof {
		max-width: calc(100vw - 48px);
		width: min(100%, calc(100vw - 48px));
	}

	.sf-service-proof li {
		align-items: flex-start;
	}

	.sf-service-proof li::before {
		margin-top: .55em;
	}

	.sf-service-hero__media::before {
		inset: 14px -8px -10px 18px;
	}

	.sf-service-hero__media {
		margin-top: 30px;
		max-width: 100%;
		width: min(100%, calc(100vw - 48px));
	}

	.sf-service-hero__media img {
		aspect-ratio: 4 / 4.8;
	}

	.sf-service-hero__media figcaption {
		bottom: 12px;
		left: 12px;
		right: 12px;
	}

	.sf-service-strip__inner {
		grid-template-columns: 1fr 1fr;
		max-width: 100vw;
		padding-left: 0;
		padding-right: 0;
		width: 100vw;
	}

	.sf-service-strip span {
		font-size: .68rem;
		min-height: 52px;
	}

	.sf-service-intro h2.sf-price-layout h2.sf-proof-copy h2.sf-faq-layout h2.sf-final-booking h2 {
		font-size: 2.2rem;
	}

	.sf-decision-panel {
		border-radius: var(--radius-md);
		padding: 22px 18px;
	}

	.sf-decision-row {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.sf-price-card {
		border-radius: var(--radius-md);
		overflow-x: auto;
	}

	.sf-price-card table {
		min-width: 540px;
	}

	.sf-proof-photo img {
		aspect-ratio: 4 / 3;
	}

	.sf-faq-list summary {
		font-size: 1.2rem;
		padding: 18px;
	}

	.sf-faq-list p {
		padding: 16px 18px 18px;
	}

	.sf-final-booking__actions {
		min-width: 0;
	}

	.sf-mobile-booking {
		background: rgba(255, 255, 255, 0.96);
		border-top: 1px solid rgba(143, 63, 43, 0.18);
		bottom: 0;
		box-shadow: 0 -12px 32px rgba(42, 34, 29, 0.12);
		display: grid;
		gap: 10px;
		grid-template-columns: 1fr 1fr;
		left: 0;
		max-width: 100vw;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		width: 100vw;
		z-index: 80;
	}

	.sf-mobile-booking a {
		align-items: center;
		background: #201c19;
		border-radius: 999px;
		color: #fff;
		display: flex;
		font-weight: 800;
		justify-content: center;
		min-height: 48px;
		min-width: 0;
		overflow: hidden;
		padding-left: 8px;
		padding-right: 8px;
		text-align: center;
		white-space: nowrap;
	}

	.sf-mobile-booking a:last-child {
		background: transparent;
		border: 1px solid rgba(32, 28, 25, 0.26);
		color: #201c19;
	}
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font-body);
	background: var(--color-background);
	color: var(--color-text);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--color-accent-dark); text-decoration: none; transition: color .2s ease; }
a:hover, a:focus { color: var(--color-accent); }
a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; border-radius: 2px; }

h1, h2, h3, h4, h5 {
	font-family: var(--font-heading);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.15;
	color: var(--color-text);
	margin: 0 0 .5em;
}
h1 { font-size: clamp(2.4rem, 4.6vw, 3.8rem); }
h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); }

p { margin: 0 0 1em; }

.container {
	width: 100%;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 24px;
}
.container--narrow { max-width: var(--container-narrow); }
.container--with-sidebar { display: grid; gap: 48px; grid-template-columns: minmax(0,1fr) 280px; align-items: start; }

/* Skip link / a11y */
.screen-reader-text {
	position: absolute !important;
	clip: rect(1px,1px,1px,1px);
	width: 1px; height: 1px; overflow: hidden;
}
.skip-link {
	position: absolute; top: -40px; left: 0;
	background: var(--color-text); color: #fff;
	padding: 8px 16px; z-index: 9999;
}
.skip-link:focus { top: 0; color: #fff; }

/* Buttons */
.btn {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: .95rem;
	letter-spacing: 0;
	padding: 14px 26px;
	border-radius: 999px;
	border: 1px solid transparent;
	text-align: center;
	cursor: pointer;
	transition: all .2s ease;
	line-height: 1.2;
}
.btn--primary {
	background: var(--color-accent);
	color: #fff;
	border-color: var(--color-accent);
}
.btn--primary:hover.btn--primary:focus {
	background: var(--color-accent-dark);
	border-color: var(--color-accent-dark);
	color: #fff;
}
.btn--ghost {
	background: transparent;
	color: var(--color-text);
	border-color: var(--color-text);
}
.btn--ghost:hover.btn--ghost:focus { background: var(--color-text); color: #fff; }
.btn--lg { padding: 16px 32px; font-size: 1rem; }
.btn--block { display: block; width: 100%; }

/* Header */
.site-header {
	background: var(--color-background);
	border-bottom: 1px solid var(--color-border);
	position: sticky; top: 0; z-index: 100;
	transition: box-shadow .2s ease, background .2s ease;
}
.site-header.is-scrolled { box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06); background: rgba(248, 245, 240, 0.96); backdrop-filter: blur(8px); }
.site-header > .container {
	width: 100%;
	max-width: none;
	padding-left: clamp(20px, 3vw, 56px);
	padding-right: clamp(20px, 3vw, 56px);
}
.site-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: clamp(18px, 2.4vw, 34px);
	min-height: 72px;
}
.site-branding { flex: 0 0 auto; min-width: 0; }
.site-logo-link { display: inline-flex; align-items: center; color: var(--color-text); text-decoration: none; }
.site-logo-img,
.site-logo-img.custom-logo {
	display: block;
	width: clamp(178px, 15vw, 224px);
	max-width: 224px;
	height: auto;
	object-fit: contain;
}
.brand-lockup {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--color-text);
}
.brand-lockup__mark {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border: 1.8px solid currentColor;
	border-radius: 50%;
	font-family: var(--font-heading);
	font-size: 1.55rem;
	line-height: 1;
}
.brand-lockup__mark-s.brand-lockup__mark-f { display: inline-block; }
.brand-lockup__mark-f {
	color: var(--color-accent-dark);
	font-style: italic;
	transform: translateX(-.12em);
}
.brand-lockup__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.brand-lockup__name {
	font-family: var(--font-heading);
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	line-height: .9;
	font-weight: 400;
	color: currentColor;
	white-space: nowrap;
}
.brand-lockup__tagline {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: .68rem;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: .34em;
	color: var(--color-muted);
	white-space: nowrap;
}
.site-title {
	font-family: var(--font-heading);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 600;
	color: var(--color-text);
	letter-spacing: 0;
	white-space: nowrap;
}
.site-header__actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.site-header__phone {
	font-weight: 600;
	color: var(--color-text);
	font-size: .92rem;
	white-space: nowrap;
}
.site-header__book { padding: 12px 22px; font-size: .9rem; white-space: nowrap; }

/* Mobile menu toggle */
.mobile-menu-toggle {
	display: none;
	background: transparent; border: 0; cursor: pointer;
	min-width: 72px; min-height: 44px;
	padding: 8px 10px;
	align-items: center;
	gap: 8px;
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: .92rem;
	font-weight: 600;
}
.mobile-menu-toggle__label { display: inline-block; }
.mobile-menu-toggle__bar {
	display: block; width: 20px; height: 2px; background: currentColor;
	margin: 4px 0; transition: transform .2s ease, opacity .2s ease;
}
.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(2) { transform: translateY(6px) rotate(45deg); }
.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(3) { opacity: 0; }
.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(4) { transform: translateY(-6px) rotate(-45deg); }

/* Menus */
.site-nav--desktop .menu {
	list-style: none; margin: 0; padding: 0;
	display: flex; gap: clamp(16px, 1.8vw, 28px);
	align-items: center;
	flex-wrap: nowrap;
}
.site-nav--desktop .menu li { position: relative; }
.site-nav--desktop .menu a {
	color: var(--color-text);
	font-weight: 500;
	font-size: .9rem;
	padding: 8px 0;
	display: inline-block;
	white-space: nowrap;
}
.site-nav--desktop .menu a:hover { color: var(--color-accent); }
.site-nav--desktop .menu .sub-menu {
	position: absolute; top: 100%; left: 0;
	background: #fff; border: 1px solid var(--color-border);
	min-width: 220px; padding: 8px 0;
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-soft);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: all .2s ease;
	list-style: none;
}
.site-nav--desktop .menu li:hover > .sub-menu,
.site-nav--desktop .menu li:focus-within > .sub-menu {
	opacity: 1; visibility: visible; transform: translateY(0);
}
.site-nav--desktop .menu .sub-menu a { padding: 8px 18px; display: block; }

.site-nav--mobile {
	display: none;
	background: var(--color-surface);
	border-bottom: 1px solid var(--color-border);
	padding: 24px;
}
.site-nav--mobile.is-open { display: block; }
.site-nav--mobile .menu { list-style: none; padding: 0; margin: 0 0 16px; }
.site-nav--mobile .menu a { display: block; padding: 12px 0; font-size: 1.05rem; color: var(--color-text); border-bottom: 1px solid var(--color-border); }
.site-nav--mobile .sub-menu { padding-left: 16px; }

/* Hero */
.hero {
	padding: 42px 0 56px;
	background:
		linear-gradient(90deg, rgba(248, 245, 240, 0.96) 0%, rgba(248, 245, 240, 0.82) 48%, rgba(239, 232, 223, 0.72) 100%),
		var(--color-soft);
	overflow: hidden;
}
.hero__inner {
	display: grid; gap: 40px;
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
	align-items: center;
	min-height: calc(100vh - 160px);
}
.hero__content { max-width: 610px; }
.hero__eyebrow {
	text-transform: uppercase; letter-spacing: 0;
	font-size: .8rem; color: var(--color-muted); font-weight: 600;
	margin-bottom: 16px;
}
.hero__headline {
	margin: 0 0 16px;
	font-size: clamp(2.8rem, 5.4vw, 5rem);
}
.hero__sub {
	font-size: 1.15rem; color: var(--color-muted);
	max-width: 540px;
	margin-bottom: 28px;
}
.hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.hero__offer {
	font-size: .95rem; color: var(--color-muted);
	display: inline-flex; gap: 10px; align-items: center;
}
.hero__offer-tag {
	background: var(--color-soft);
	border: 1px solid var(--color-border);
	color: var(--color-text);
	padding: 4px 10px; border-radius: 999px;
	font-weight: 600; font-size: .8rem;
	letter-spacing: 0;
	text-transform: uppercase;
}
.hero__media {
	position: relative;
	align-self: stretch;
	min-height: 520px;
}
.hero__media img {
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
	aspect-ratio: 5/4;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	min-height: 520px;
}
.hero__note {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 22px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	padding: 18px 20px;
	backdrop-filter: blur(10px);
}
.hero__note strong {
	display: block;
	font-family: var(--font-heading);
	font-size: 1.25rem;
	line-height: 1.1;
	margin-bottom: 4px;
}
.hero__note span {
	display: block;
	color: var(--color-muted);
	font-size: .92rem;
	line-height: 1.45;
}

/* Trust bar */
.trust-bar {
	background: var(--color-text);
	color: #f6efe8;
	padding: 18px 0;
	font-size: .9rem;
}
.trust-bar__list {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: 28px; justify-content: center;
	letter-spacing: 0;
}
.trust-bar__item { position: relative; }
.trust-bar__item:not(:last-child)::after {
	content: ""; position: absolute;
	right: -14px; top: 50%; width: 4px; height: 4px;
	background: rgba(255, 255, 255, 0.4); border-radius: 50%;
	transform: translateY(-50%);
}

/* Section base */
.section {
	padding: var(--section-padding-mobile) 0;
}
@media (min-width: 768px) {
	.section { padding: var(--section-padding) 0; }
}
.section-header { margin-bottom: 34px; max-width: 720px; }
.section-header--center { margin-left: auto; margin-right: auto; text-align: center; }
.section-eyebrow {
	text-transform: uppercase; letter-spacing: 0;
	font-size: .8rem; color: var(--color-accent-dark); font-weight: 700;
	margin: 0 0 12px;
}
.section-title { margin: 0 0 16px; }
.section-lede { font-size: 1.1rem; color: var(--color-muted); margin: 0; }
.section-footer { text-align: center; margin-top: 40px; }

/* Service grid */
.service-grid {
	display: grid; gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.service-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.service-card__link { display: block; color: var(--color-text); }
.service-card__media img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.service-card__body { padding: 22px 22px 24px; min-height: 194px; }
.service-card__eyebrow { font-size: .75rem; letter-spacing: 0; text-transform: uppercase; color: var(--color-muted); margin: 0 0 8px; }
.service-card__title { margin: 0 0 8px; }
.service-card__desc { color: var(--color-muted); margin: 0 0 16px; font-size: .95rem; }
.link-arrow { color: var(--color-accent-dark); font-weight: 600; font-size: .95rem; }

/* Why section */
.section--why { background: #fff; }
.why__grid { display: grid; gap: 40px; grid-template-columns: .9fr 1.1fr; }
.why__portrait { margin: 28px 0 0; }
.why__portrait img.featured__portrait {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center top;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
}
.why__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.why__list li { background: var(--color-background); border-radius: var(--radius-md); padding: 20px; border: 1px solid var(--color-border); }
.why__list strong { display: block; font-family: var(--font-heading); font-size: 1.2rem; font-weight: 600; margin-bottom: 4px; }
.why__list span { color: var(--color-muted); font-size: .95rem; }

/* Featured service */
.section--featured { background: var(--color-soft); }
.featured__grid { display: grid; gap: 56px; grid-template-columns: 1fr 1.1fr; align-items: center; }
.featured__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); aspect-ratio: 5/4; object-fit: cover; width: 100%; }
.featured__media .featured__portrait { aspect-ratio: 4 / 5; }
.featured__bullets { padding-left: 20px; color: var(--color-muted); margin: 0 0 24px; }
.featured__bullets li { padding: 4px 0; }

/* Reviews */
.review-grid {
	display: grid; gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.review-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 28px;
	box-shadow: var(--shadow-card);
}
.review-card__stars { color: #d49a2c; margin-bottom: 12px; font-size: 1rem; }
.review-card__text { font-size: 1rem; color: var(--color-text); margin-bottom: 16px; }
.review-card__author { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; font-size: .85rem; color: var(--color-muted); }
.review-card__service { font-style: italic; }

/* Gallery */
.gallery-grid {
	display: grid; gap: 14px;
	grid-template-columns: repeat(6, 1fr);
	grid-auto-flow: dense;
}
.gallery-grid--page { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.gallery-grid__item {
	position: relative;
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	aspect-ratio: 1/1;
	grid-column: span 2;
	background: var(--color-soft);
}
.gallery-grid__item--0.gallery-grid__item--3 { grid-column: span 3; aspect-ratio: 4/3; }
.gallery-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.gallery-grid__item:hover img { transform: scale(1.04); }
.gallery-grid__item figcaption {
	position: absolute; bottom: 12px; left: 12px;
	background: rgba(26, 26, 26, 0.72); color: #fff;
	padding: 4px 10px; border-radius: 999px;
	font-size: .75rem; letter-spacing: 0; text-transform: uppercase;
}
.gallery-grid__item.is-hidden { display: none; }
.gallery-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.gallery-filter__btn {
	background: transparent; border: 1px solid var(--color-border);
	color: var(--color-text); padding: 8px 16px;
	border-radius: 999px; cursor: pointer;
	font-family: var(--font-body); font-size: .85rem;
	transition: all .2s ease;
}
.gallery-filter__btn:hover.gallery-filter__btn.is-active {
	background: var(--color-text); color: #fff; border-color: var(--color-text);
}

/* Offer */
.section--offer { background: var(--color-text); color: #fff; }
.section--offer .section-eyebrow { color: #d49a2c; }
.section--offer .section-title { color: #fff; }
.offer__inner { display: grid; gap: 32px; grid-template-columns: 1.4fr 1fr; align-items: center; }
.offer__sub { color: rgba(255, 255, 255, 0.78); margin: 0; }
.offer__cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.section--offer .btn--ghost { color: #fff; border-color: #fff; }
.section--offer .btn--ghost:hover { background: #fff; color: var(--color-text); }

/* Location */
.location__grid { display: grid; gap: 48px; grid-template-columns: 1fr 1.2fr; align-items: center; }
.location__info {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 34px;
	box-shadow: var(--shadow-card);
}
.location__address { font-style: normal; font-size: 1.1rem; margin: 0 0 16px; }
.location__hours { margin: 0 0 24px; color: var(--color-muted); }
.location__map {
	position: relative;
	min-height: 420px;
}
.location__map iframe.location__map img.location__map-placeholder {
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--color-soft);
	min-height: 420px;
	display: flex; align-items: center; justify-content: center;
	color: var(--color-muted); font-size: .9rem;
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-soft);
	width: 100%;
}
.location__map img {
	display: block;
	height: 420px;
	object-fit: cover;
	object-position: center;
}
.location__map-card {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 20px;
	background: rgba(255, 255, 255, 0.94);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	padding: 16px 18px;
}
.location__map-card strong.location__map-card span { display: block; }
.location__map-card span { color: var(--color-muted); font-size: .9rem; }

/* FAQ */
.faq-list { list-style: none; padding: 0; margin: 0; }
.faq-item { border-top: 1px solid var(--color-border); }
.faq-item:last-child { border-bottom: 1px solid var(--color-border); }
.faq-item details { padding: 20px 0; }
.faq-item__q {
	cursor: pointer;
	font-family: var(--font-heading);
	font-size: 1.3rem;
	font-weight: 600;
	list-style: none;
	position: relative;
	padding-right: 32px;
}
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q::after {
	content: "+"; position: absolute; right: 0; top: 0;
	font-size: 1.5rem; color: var(--color-muted);
	transition: transform .2s ease;
}
.faq-item details[open] .faq-item__q::after { content: "−"; }
.faq-item__a { padding-top: 12px; color: var(--color-muted); }

/* CTA Band */
.cta-band {
	background: var(--color-soft);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	padding: 56px 0;
}
.cta-band__inner { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.cta-band__title { margin: 0 0 4px; }
.cta-band__sub { margin: 0; color: var(--color-muted); }
.cta-band__actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Booking CTA inline */
.booking-cta { background: var(--color-text); color: #fff; padding: 56px 0; }
.booking-cta__inner { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.booking-cta__title { color: #fff; margin: 0 0 4px; }
.booking-cta__sub { color: rgba(255, 255, 255, 0.78); margin: 0; }

/* Breadcrumbs */
.breadcrumbs { padding: 18px 0; font-size: .85rem; color: var(--color-muted); }
.breadcrumbs__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.breadcrumbs__item + .breadcrumbs__item::before { content: "›"; margin-right: 6px; color: var(--color-muted); }

/* Page header */
.page-header { padding: 80px 0 24px; }
.page-header--blog { background: var(--color-soft); padding: 80px 0; }
.page-header__title { margin: 0 0 12px; }
.page-header__subtitle { font-size: 1.15rem; color: var(--color-muted); max-width: 720px; }

/* Service page hero */
.service-hero { padding: 64px 0 32px; }
.service-hero__inner { display: grid; gap: 48px; grid-template-columns: 1.1fr 1fr; align-items: center; }
.service-hero__title { font-size: clamp(2.4rem, 4.4vw, 3.6rem); }
.service-hero__sub { font-size: 1.1rem; color: var(--color-muted); margin: 0 0 24px; max-width: 540px; }
.service-hero__media img { border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); aspect-ratio: 4/5; object-fit: cover; width: 100%; }

/* Quick Answer (AEO) */
.section--quick-answer { padding: 24px 0; }
.quick-answer {
	background: var(--color-soft);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-sm);
	padding: 20px 24px;
	margin: 24px 0;
}
.quick-answer__label { display: block; font-family: var(--font-heading); font-size: 1.1rem; color: var(--color-accent-dark); margin-bottom: 4px; }
.quick-answer p { margin: 0; color: var(--color-text); }

/* Benefits grid */
.benefit-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.benefit-card { background: var(--color-surface); padding: 28px; border-radius: var(--radius-md); border: 1px solid var(--color-border); }
.benefit-card h3 { margin: 0 0 8px; font-size: 1.25rem; }
.benefit-card p { margin: 0; color: var(--color-muted); }

/* Process list */
.process-list { padding-left: 20px; color: var(--color-muted); }
.process-list li { padding: 8px 0; }
.process-list strong { color: var(--color-text); }
.process-list--cards { list-style: none; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); counter-reset: step; }
.process-list--cards li {
	background: var(--color-surface); border: 1px solid var(--color-border);
	padding: 24px; border-radius: var(--radius-md);
	counter-increment: step;
	display: flex; flex-direction: column; gap: 6px;
}
.process-list--cards li::before {
	content: counter(step);
	font-family: var(--font-heading);
	font-size: 1.6rem; color: var(--color-accent-dark);
	font-weight: 600;
}

/* Related services */
.section--related { background: var(--color-soft); }
.related-services { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.related-services li a {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	padding: 18px 22px; border-radius: var(--radius-md);
	display: flex; justify-content: space-between; align-items: center;
	font-weight: 600; color: var(--color-text);
	transition: all .2s ease;
}
.related-services li a:hover { border-color: var(--color-accent); color: var(--color-accent-dark); transform: translateX(2px); }

/* Pricing */
.pricing-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 28px; margin-bottom: 24px; }
.pricing-card__title { margin: 0 0 16px; }
.pricing-list { list-style: none; padding: 0; margin: 0; }
.pricing-list__item { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px dashed var(--color-border); gap: 12px; }
.pricing-list__item:last-child { border-bottom: 0; }
.pricing-list__name { font-weight: 500; }
.pricing-list__price { color: var(--color-muted); white-space: nowrap; }

/* Reviews CTA */
.reviews-cta { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 32px; }

/* Contact */
.contact__grid { display: grid; gap: 48px; grid-template-columns: 1fr 1.2fr; align-items: start; }
.contact__map iframe.contact__map .location__map-placeholder { width: 100%; }

/* Blog */
.post-grid { display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.post-grid--3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.post-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; }
.post-card__media img { aspect-ratio: 16/10; object-fit: cover; }
.post-card__body { padding: 24px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.post-card__cat { font-size: .75rem; letter-spacing: 0; text-transform: uppercase; color: var(--color-accent-dark); margin: 0; }
.post-card__cat a { color: var(--color-accent-dark); }
.post-card__title { margin: 0; }
.post-card__title a { color: var(--color-text); }
.post-card__title a:hover { color: var(--color-accent); }
.post-card__meta { font-size: .85rem; color: var(--color-muted); margin: 0; }
.post-card__excerpt { color: var(--color-muted); flex: 1; margin: 0; }

/* Single post */
.entry { padding: 0; }
.entry__header { padding: 64px 0 32px; }
.entry__cat { font-size: .8rem; letter-spacing: 0; text-transform: uppercase; color: var(--color-accent-dark); margin: 0 0 12px; }
.entry__title { margin: 0 0 16px; font-size: clamp(2.2rem, 4.4vw, 3.6rem); }
.entry__meta { font-size: .9rem; color: var(--color-muted); margin: 0; }
.entry__media img { border-radius: var(--radius-md); margin: 32px 0; }
.entry__content { font-size: 1.05rem; line-height: 1.8; }
.entry__content h2 { margin-top: 1.6em; }
.entry__content h3 { margin-top: 1.4em; }
.entry__content img { border-radius: var(--radius-sm); margin: 24px 0; }
.entry__content blockquote {
	border-left: 4px solid var(--color-accent);
	padding: 8px 24px;
	margin: 24px 0;
	font-family: var(--font-heading);
	font-size: 1.4rem;
	font-style: italic;
	color: var(--color-text);
}
.entry__content ul.entry__content ol { padding-left: 22px; }
.entry__content li { padding: 4px 0; }

.article-decision-brief {
	align-items: stretch;
	background: #fff;
	border: 1px solid rgba(58, 48, 40, 0.14);
	border-radius: 18px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: grid;
	gap: clamp(18px, 3vw, 30px);
	grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.75fr);
	margin: 0 0 clamp(28px, 5vw, 46px);
	overflow: hidden;
}

.article-decision-brief__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(24px, 4vw, 42px);
}

.article-decision-brief__eyebrow {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.article-decision-brief h2 {
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	line-height: 1.12;
	margin: 0 0 14px;
}

.article-decision-brief p {
	color: var(--color-muted);
	font-size: 1.08rem;
	line-height: 1.68;
	margin: 0;
}

.article-decision-brief__next {
	align-items: flex-start;
	background: var(--color-soft);
	border-left: 4px solid var(--color-accent);
	color: var(--color-text);
	display: grid;
	gap: 4px;
	line-height: 1.55;
	margin-top: 22px;
	padding: 16px 18px;
}

.article-decision-brief__cues {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 22px;
}

.article-decision-brief__cue {
	background: rgba(143, 63, 43, 0.07);
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-radius: 14px;
	display: grid;
	gap: 5px;
	padding: 13px 14px;
}

.article-decision-brief__cue span {
	color: var(--color-accent-dark);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.article-decision-brief__cue strong {
	color: var(--color-text);
	font-size: .95rem;
	line-height: 1.35;
}

.article-decision-brief__next strong {
	font-size: .92rem;
	text-transform: uppercase;
}

.article-decision-brief__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.article-decision-brief__link {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.22);
	border-radius: 999px;
	color: var(--color-text);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	min-height: 46px;
	padding: 11px 17px;
	text-align: center;
}

.article-decision-brief__link:hover.article-decision-brief__link:focus {
	border-color: var(--color-accent);
	color: var(--color-accent-dark);
}

.article-decision-brief__link--primary {
	background: var(--color-text);
	border-color: var(--color-text);
	color: #fff;
}

.article-decision-brief__link--primary:hover.article-decision-brief__link--primary:focus {
	background: var(--color-accent-dark);
	border-color: var(--color-accent-dark);
	color: #fff;
}

.article-decision-brief__media {
	margin: 0;
	min-height: 100%;
}

.article-decision-brief__media img {
	aspect-ratio: 4/5;
	height: 100%;
	margin: 0;
	object-fit: cover;
	width: 100%;
}

.article-price-clarity {
	background:
		linear-gradient(135deg, rgba(143, 63, 43, 0.09), rgba(196, 165, 114, 0.12)),
		#fff;
	border: 1px solid rgba(58, 48, 40, 0.14);
	border-radius: 18px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: grid;
	gap: clamp(18px, 3vw, 28px);
	margin: clamp(30px, 5vw, 52px) 0;
	padding: clamp(22px, 4vw, 38px);
}

.article-price-clarity__header {
	display: grid;
	gap: 10px;
	max-width: 760px;
}

.article-price-clarity__eyebrow {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0;
	text-transform: uppercase;
}

.article-price-clarity h2 {
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	line-height: 1.16;
	margin: 0;
}

.article-price-clarity p {
	color: var(--color-muted);
	font-size: 1.04rem;
	line-height: 1.65;
	margin: 0;
}

.article-price-clarity__grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.article-price-clarity__item {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(58, 48, 40, 0.12);
	border-radius: 14px;
	display: grid;
	gap: 8px;
	padding: 16px;
}

.article-price-clarity__item span {
	color: var(--color-accent-dark);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.article-price-clarity__item strong {
	color: var(--color-text);
	font-family: var(--font-heading);
	font-size: 1.25rem;
	line-height: 1.2;
}

.article-price-clarity__item p {
	font-size: .96rem;
	line-height: 1.5;
}

.article-price-clarity__factors {
	background: rgba(255, 255, 255, 0.68);
	border-left: 4px solid var(--color-accent);
	display: grid;
	gap: 8px;
	padding: 16px 18px;
}

.article-price-clarity__factors strong {
	color: var(--color-text);
	font-size: .92rem;
	text-transform: uppercase;
}

.article-price-clarity__factors ul {
	margin: 0;
	padding-left: 20px;
}

.article-price-clarity__factors li {
	color: var(--color-muted);
	line-height: 1.55;
	padding: 3px 0;
}

.article-price-clarity__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.article-price-clarity__actions .button {
	margin: 0;
}

.article-choice-matrix {
	background: #fff;
	border: 1px solid rgba(58, 48, 40, 0.14);
	border-radius: 18px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: grid;
	gap: clamp(18px, 3vw, 28px);
	margin: clamp(30px, 5vw, 52px) 0;
	overflow: hidden;
}

.article-choice-matrix__header {
	background:
		linear-gradient(135deg, rgba(58, 48, 40, 0.88), rgba(143, 63, 43, 0.82)),
		var(--color-text);
	color: #fff;
	display: grid;
	gap: 10px;
	padding: clamp(24px, 4vw, 40px);
}

.article-choice-matrix__eyebrow {
	color: #f0d8b6;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0;
	text-transform: uppercase;
}

.article-choice-matrix h2 {
	color: #fff;
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	line-height: 1.16;
	margin: 0;
}

.article-choice-matrix__header p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.04rem;
	line-height: 1.65;
	margin: 0;
	max-width: 800px;
}

.article-choice-matrix__grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0 clamp(18px, 3vw, 28px);
}

.article-choice-matrix__option {
	background: var(--color-soft);
	display: grid;
	gap: 12px;
	padding: clamp(18px, 3vw, 24px);
}

.article-choice-matrix__option span {
	color: var(--color-accent-dark);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.article-choice-matrix__option h3 {
	font-size: 1.25rem;
	margin: 0;
}

.article-choice-matrix__option p {
	color: var(--color-muted);
	font-size: .98rem;
	line-height: 1.55;
	margin: 0;
}

.article-choice-matrix__advisor {
	border-left: 4px solid var(--color-accent);
	color: var(--color-muted);
	line-height: 1.65;
	margin: 0 clamp(18px, 3vw, 28px);
	padding: 4px 0 4px 16px;
}

.article-choice-matrix__advisor strong {
	color: var(--color-text);
}

.article-choice-matrix__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0 clamp(18px, 3vw, 28px) clamp(22px, 4vw, 34px);
}

.article-choice-matrix__actions .button {
	margin: 0;
}

.article-care-timeline {
	background:
		linear-gradient(180deg, rgba(248, 245, 240, 0.95), #fff 72%),
		#fff;
	border: 1px solid rgba(58, 48, 40, 0.14);
	border-radius: 18px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: grid;
	gap: clamp(18px, 3vw, 28px);
	margin: clamp(30px, 5vw, 52px) 0;
	padding: clamp(22px, 4vw, 38px);
}

.article-care-timeline__header {
	display: grid;
	gap: 10px;
	max-width: 800px;
}

.article-care-timeline__eyebrow {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0;
	text-transform: uppercase;
}

.article-care-timeline h2 {
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	line-height: 1.16;
	margin: 0;
}

.article-care-timeline p {
	color: var(--color-muted);
	font-size: 1.04rem;
	line-height: 1.65;
	margin: 0;
}

.article-care-timeline__steps {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.article-care-timeline__step {
	background: #fff;
	border: 1px solid rgba(58, 48, 40, 0.12);
	border-radius: 14px;
	display: grid;
	gap: 8px;
	padding: 16px;
	position: relative;
}

.article-care-timeline__step span {
	color: var(--color-accent-dark);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.article-care-timeline__step strong {
	color: var(--color-text);
	font-family: var(--font-heading);
	font-size: 1.18rem;
	line-height: 1.2;
}

.article-care-timeline__step p {
	font-size: .96rem;
	line-height: 1.5;
}

.article-care-timeline__ask {
	background: rgba(143, 63, 43, 0.07);
	border-left: 4px solid var(--color-accent);
	color: var(--color-muted);
	line-height: 1.65;
	padding: 16px 18px;
}

.article-care-timeline__ask strong {
	color: var(--color-text);
}

.article-care-timeline__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.article-care-timeline__actions .button {
	margin: 0;
}

.article-trust-checklist {
	background: #fff;
	border: 1px solid rgba(58, 48, 40, 0.14);
	border-radius: 18px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: grid;
	gap: clamp(18px, 3vw, 28px);
	margin: clamp(30px, 5vw, 52px) 0;
	overflow: hidden;
}

.article-trust-checklist__header {
	background:
		linear-gradient(135deg, rgba(248, 245, 240, 0.98), rgba(255, 255, 255, 0.94)),
		#fff;
	display: grid;
	gap: 10px;
	padding: clamp(24px, 4vw, 40px) clamp(22px, 4vw, 38px) 0;
}

.article-trust-checklist__eyebrow {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0;
	text-transform: uppercase;
}

.article-trust-checklist h2 {
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	line-height: 1.16;
	margin: 0;
}

.article-trust-checklist p {
	color: var(--color-muted);
	font-size: 1.04rem;
	line-height: 1.65;
	margin: 0;
}

.article-trust-checklist__grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0 clamp(22px, 4vw, 38px);
}

.article-trust-checklist__item {
	background: var(--color-soft);
	border: 1px solid rgba(58, 48, 40, 0.1);
	border-radius: 14px;
	display: grid;
	gap: 8px;
	padding: 16px;
}

.article-trust-checklist__item span {
	color: var(--color-accent-dark);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.article-trust-checklist__item strong {
	color: var(--color-text);
	font-family: var(--font-heading);
	font-size: 1.2rem;
	line-height: 1.2;
}

.article-trust-checklist__item p {
	font-size: .96rem;
	line-height: 1.5;
}

.article-trust-checklist p.article-trust-checklist__fit {
	background: var(--color-text);
	color: rgba(255, 255, 255, 0.92);
	display: grid;
	gap: 10px;
	padding: clamp(20px, 4vw, 30px) clamp(22px, 4vw, 38px);
}

.article-trust-checklist p.article-trust-checklist__fit strong {
	color: #fff;
	font-size: .92rem;
	text-transform: uppercase;
}

.article-trust-checklist__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0 clamp(22px, 4vw, 38px) clamp(22px, 4vw, 34px);
}

.article-trust-checklist__actions .button {
	margin: 0;
}

.article-fit-guide {
	background: linear-gradient(135deg, #2A2521 0%, #40342D 100%);
	color: #F8F1E8;
	border-radius: 18px;
	margin: clamp(34px, 6vw, 58px) 0;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.article-fit-guide__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 0;
}

.article-fit-guide__copy {
	padding: clamp(24px, 4vw, 44px);
}

.article-fit-guide__eyebrow {
	margin: 0 0 10px;
	color: #F3C9A8;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 800;
}

.article-fit-guide h2 {
	color: #FFF8F1;
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	margin-bottom: 12px;
}

.article-fit-guide p {
	color: #F8F1E8;
	font-size: 1rem;
	line-height: 1.65;
}
.article-fit-guide__cue {
	color: #F8F1E8;
}
.article-fit-guide__cue p,
.article-fit-guide__cue span {
	color: #F8F1E8;
}

.article-fit-guide__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 22px 0;
}

.article-fit-guide__item {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
	padding: 20px 22px;
	min-width: 0;
}

.article-fit-guide__item span {
	display: block;
	color: #F3C9A8;
	font-size: .76rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: 6px;
}

.article-fit-guide__item strong {
	display: block;
	color: #FFFFFF;
	font-size: 1rem;
	line-height: 1.28;
	margin-bottom: 6px;
}

.article-fit-guide__item p {
	margin: 0;
	font-size: .92rem;
	color: rgba(255, 248, 241, 0.92);
}

.article-fit-guide p.article-fit-guide__cue {
	margin: 0 0 20px;
	padding: 22px 24px;
	border-left: 4px solid #F3C9A8;
	background: rgba(255, 255, 255, 0.09);
	border-radius: 10px;
	color: #F8F1E8;
}

.article-fit-guide p.article-fit-guide__cue strong {
	color: #FFFFFF;
}

.article-fit-guide__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.article-fit-guide__actions .button {
	margin: 0;
}

.article-fit-guide__media {
	min-height: 100%;
	margin: 0;
	position: relative;
}

.article-fit-guide__media img {
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
}

.article-fit-guide__media figcaption {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 18px;
	margin: 0;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.72);
	color: #FFFFFF;
	font-size: .85rem;
	line-height: 1.35;
}

.service-appointment-planner {
	background: #FFFFFF;
	border: 1px solid rgba(184, 83, 58, 0.18);
	border-radius: 18px;
	margin: clamp(34px, 6vw, 58px) 0;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	overflow: hidden;
}

.service-appointment-planner__header {
	padding: clamp(24px, 4vw, 40px) clamp(22px, 4vw, 40px) 16px;
	background: linear-gradient(135deg, rgba(184, 83, 58, 0.11), rgba(239, 232, 223, 0.64));
}

.service-appointment-planner__eyebrow {
	margin: 0 0 9px;
	color: var(--color-accent-dark);
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 800;
}

.service-appointment-planner h2 {
	font-size: clamp(1.8rem, 3vw, 2.45rem);
	margin-bottom: 10px;
}

.service-appointment-planner p {
	color: var(--color-muted);
}

.service-appointment-planner__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	padding: 22px clamp(20px, 4vw, 38px);
}

.service-appointment-planner__card {
	background: #FAF7F2;
	border: 1px solid var(--color-border);
	border-radius: 14px;
	padding: 18px;
	min-width: 0;
}

.service-appointment-planner__card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 30px;
	margin-bottom: 10px;
	border-radius: 999px;
	background: var(--color-accent);
	color: #FFFFFF;
	font-weight: 800;
	font-size: .86rem;
}

.service-appointment-planner__card strong {
	display: block;
	color: var(--color-text);
	font-size: 1.06rem;
	line-height: 1.28;
	margin-bottom: 7px;
}

.service-appointment-planner__card p {
	font-size: .96rem;
	line-height: 1.55;
	margin: 0;
}

.service-appointment-planner p.service-appointment-planner__cue {
	margin: 0 clamp(20px, 4vw, 38px) 22px;
	padding: 16px 18px;
	background: #2A2521;
	color: #F8F1E8;
	border-radius: 12px;
}

.service-appointment-planner p.service-appointment-planner__cue strong {
	color: #FFFFFF;
}

.service-appointment-planner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0 clamp(20px, 4vw, 38px) clamp(22px, 4vw, 34px);
}

.service-appointment-planner__actions .button {
	margin: 0;
}

.related-posts { margin: 64px 0 0; }

/* Footer */
.site-footer { background: var(--color-text); color: #d8d4cf; padding: 72px 0 0; margin-top: 64px; }
.site-footer__grid { display: grid; gap: 48px; grid-template-columns: 1.4fr 1fr 1fr 1fr; }
.site-footer__logo-link { display: inline-flex; margin: 0 0 18px; color: #f6efe8; text-decoration: none; }
.site-footer__logo {
	display: block;
	width: min(240px, 100%);
	height: auto;
}
.brand-lockup--footer { color: #f6efe8; }
.brand-lockup--footer .brand-lockup__mark-f { color: #c4a572; }
.brand-lockup--footer .brand-lockup__tagline { color: rgba(255, 255, 255, 0.62); }
.site-footer__title { color: #fff; margin: 0 0 16px; font-size: 1.4rem; }
.site-footer__desc { font-size: .92rem; color: rgba(255, 255, 255, 0.7); margin: 0 0 16px; }
.site-footer__address { font-style: normal; line-height: 1.6; margin-bottom: 12px; color: rgba(255, 255, 255, 0.85); }
.site-footer__heading { font-family: var(--font-body); font-size: .8rem; letter-spacing: 0; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); margin: 0 0 16px; }
.site-footer .menu.menu--footer,
.site-footer .menu.menu--fallback { list-style: none; padding: 0; margin: 0 0 20px; }
.site-footer .menu li { padding: 8px 0; list-style: none; }
.site-footer .menu li::marker { content: ""; }
.site-footer .menu.menu--footer li a,
.site-footer .menu.menu--fallback li a {
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	font-size: 0.95rem;
	transition: color 0.15s ease;
}
.site-footer .menu.menu--footer li a:hover,
.site-footer .menu.menu--fallback li a:hover {
	color: #fff;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
.site-footer a.menu--footer a { color: rgba(255, 255, 255, 0.85); }
.site-footer a:hover { color: #fff; }
.site-footer__cta p { color: rgba(255, 255, 255, 0.75); }
.site-footer__social { list-style: none; padding: 0; margin: 20px 0 0; display: flex; gap: 12px; align-items: center; }
.site-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 50%;
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.site-footer__social a:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.55); color: #fff; }
.site-footer__social svg { width: 16px; height: 16px; fill: currentColor; display: block; }
.site-footer__social .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.site-footer__cta .btn { margin-top: 8px; }
.site-footer__hours { font-size: .9rem; color: rgba(255, 255, 255, 0.75); }
.site-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); margin-top: 48px; padding: 24px 0; }
.site-footer__bottom-inner { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; font-size: .85rem; color: rgba(255, 255, 255, 0.6); }
.site-footer__legal { list-style: none; padding: 0; margin: 0; display: flex; gap: 16px; }

/* Mobile sticky CTA bar — Call + Book (Older-UX advisor: 40-75 parking-lot booker friction kill) */
.sf-mobile-cta-bar {
	display: none;
	position: fixed; bottom: 0; left: 0; right: 0;
	z-index: 9999;
	box-shadow: 0 -2px 14px rgba(0,0,0,0.18);
}
.sf-mobile-cta {
	flex: 1;
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--sf-sans, 'Inter', system-ui, sans-serif);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	padding: 14px 8px;
	transition: filter .15s ease;
}
.sf-mobile-cta svg { flex-shrink: 0; }
.sf-mobile-cta--call { background: #2A1F18; color: #F8F4ED; }
.sf-mobile-cta--book { background: #B5563A; color: #F8F4ED; }
.sf-mobile-cta:active { filter: brightness(0.92); }
.sf-mobile-cta:focus-visible { outline: 2px solid #F8F4ED; outline-offset: -4px; }
@media (max-width: 899px) {
	.sf-mobile-cta-bar { display: flex; }
	body { padding-bottom: 64px; }
}

/* Body floor (Older-UX advisor: 40-75 readability — never below 17px) */
body { font-size: 17px; line-height: 1.65; }
.entry-content p, .sf-prose p, .sf-longform__body p,
.sf-method__copy p, .sf-author-bio__copy p,
.sf-card__body, .sf-section-header__lead {
	max-width: 65ch;
}
.site-footer__hours, .site-footer__address, .site-footer__bottom { font-size: 15px; }

/* Hero guarantee strap (Sabri advisor: risk reversal above the fold) */
.sf-hero__guarantee {
	margin: 14px 0 0;
	padding: 12px 16px;
	background: #F2EBDD;
	border-left: 4px solid #B5563A;
	font-size: 16px;
	line-height: 1.5;
	color: #2A1F18;
	border-radius: 2px;
}
.sf-hero__guarantee strong { color: #B5563A; font-weight: 600; }
@media (max-width: 640px) {
	.sf-hero__guarantee { font-size: 15px; padding: 10px 14px; }
}

/* Widget area */
.widget { background: var(--color-surface); padding: 24px; border: 1px solid var(--color-border); border-radius: var(--radius-md); margin-bottom: 24px; }
.widget-title { margin: 0 0 12px; font-size: 1.1rem; }

/* Text utilities */
.text-center { text-align: center; }

/* Phase 2: service-page UX, AEO, and conversion system */
.container--narrow {
	max-width: 920px;
}

.page:not(.home) .page-header {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(239, 232, 223, 0.66)),
		var(--color-soft);
	border-bottom: 1px solid var(--color-border);
	padding: clamp(48px, 7vw, 84px) 0 clamp(22px, 4vw, 38px);
}

.page-header__title {
	max-width: 900px;
}

.entry__content {
	font-size: 1.08rem;
	line-height: 1.78;
	min-width: 0;
	overflow-wrap: break-word;
}

.entry__content > section {
	margin: clamp(34px, 6vw, 64px) 0;
	max-width: 100%;
	min-width: 0;
}

.entry__content > section:first-child {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	padding: clamp(24px, 4.5vw, 42px);
	margin-top: 0;
}

.entry__content > section:first-child h1 {
	font-size: clamp(2.25rem, 5vw, 4rem);
	max-width: 820px;
}

.entry__content .eyebrow.entry__content .section-eyebrow {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0 0 10px;
}

.entry__content .lead {
	color: var(--color-muted);
	font-size: clamp(1.1rem, 2vw, 1.28rem);
	line-height: 1.58;
	max-width: 760px;
}

.sf-inline-ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0 0;
}

.entry__content .button.entry__content .wp-block-button__link {
	align-items: center;
	background: var(--color-text);
	border: 1px solid var(--color-text);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: 13px 22px;
	text-align: center;
	text-decoration: none;
}

.entry__content .button:hover.entry__content .button:focus.entry__content .wp-block-button__link:hover.entry__content .wp-block-button__link:focus {
	background: var(--color-accent-dark);
	border-color: var(--color-accent-dark);
	color: #fff;
}

.entry__content .button-secondary {
	background: transparent;
	border-color: var(--color-border);
	color: var(--color-text);
}

.entry__content .button-secondary:hover.entry__content .button-secondary:focus {
	background: var(--color-soft);
	border-color: var(--color-accent);
	color: var(--color-text);
}

.quick-answer {
	background: #fff9f4;
	border: 1px solid #ead7ca;
	border-left: 6px solid var(--color-accent);
	box-shadow: var(--shadow-card);
	padding: clamp(20px, 3vw, 30px);
}

.quick-answer__label {
	font-family: var(--font-body);
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.benefit-grid {
	gap: 16px;
}

.benefit-card.process-list--cards li {
	box-shadow: var(--shadow-card);
}

.benefit-card h3.process-list--cards strong {
	font-family: var(--font-heading);
}

.entry__content table {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-collapse: separate;
	border-radius: var(--radius-md);
	border-spacing: 0;
	box-shadow: var(--shadow-card);
	display: block;
	margin: 24px 0;
	overflow-x: auto;
	width: 100%;
}

.entry__content th,
.entry__content td {
	border-bottom: 1px solid var(--color-border);
	padding: 16px 22px;
	text-align: left;
	vertical-align: top;
}

.entry__content th:not(:first-child),
.entry__content td:not(:first-child) {
	padding-left: 28px;
}

.entry__content th:last-child,
.entry__content td:last-child {
	padding-right: 28px;
	text-align: right;
}

.entry__content th {
	background: var(--color-soft);
	color: var(--color-text);
	font-size: .88rem;
	font-weight: 800;
	text-transform: uppercase;
}

.entry__content tr:last-child td {
	border-bottom: 0;
}

.section--related {
	background: transparent;
}

.related-services li a {
	min-height: 58px;
	position: relative;
}

.related-services li a::after {
	content: ">";
	color: var(--color-accent-dark);
	font-weight: 800;
	margin-left: 16px;
}

.entry__content .faq-list.entry__content .related-services.entry__content .benefit-grid.entry__content .process-list--cards {
	margin-top: 18px;
}

/* Phase 3: premium service-page experience */
.page:not(.home) .page-header {
	background: transparent;
	border-bottom: 0;
	padding: 18px 0 0;
}

.page:not(.home) .page-header__title {
	clip: rect(1px,1px,1px,1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.entry__content > section:first-child {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 240, 232, 0.9)),
		var(--color-surface);
	border: 1px solid rgba(143, 63, 43, 0.16);
	box-shadow: none;
	margin-bottom: clamp(26px, 5vw, 54px);
	position: relative;
}

.entry__content > section:first-child::before {
	background: var(--color-accent);
	content: "";
	height: calc(100% - 36px);
	left: 0;
	position: absolute;
	top: 18px;
	width: 5px;
}

.entry__content > section:first-child h1 {
	margin-bottom: 14px;
	max-width: 760px;
}

.entry__content > section:first-child .lead {
	max-width: 680px;
}

.sf-inline-ctas {
	align-items: center;
	gap: 10px;
}

.entry__content .sf-inline-ctas .button {
	min-width: 156px;
}

.entry__content .sf-inline-ctas .button:first-child {
	background: var(--color-text);
	border-color: var(--color-text);
	box-shadow: 0 8px 18px rgba(26, 26, 26, 0.13);
}

.section--quick-answer {
	padding: 0;
}

.quick-answer {
	background: #fffaf5;
	border-color: rgba(184, 83, 58, 0.22);
	border-left-color: var(--color-accent);
	margin: clamp(24px, 4vw, 38px) 0;
}

.entry__content > section:not(:first-child) h2 {
	margin-bottom: 16px;
}

.benefit-grid {
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.benefit-card.process-list--cards li {
	background: #fffdf9;
	border-color: rgba(26, 26, 26, 0.09);
	box-shadow: none;
}

.benefit-card p.process-list--cards li {
	color: var(--color-muted);
}

.entry__content table {
	border-color: rgba(26, 26, 26, 0.1);
	box-shadow: none;
}

.entry__content th {
	background: #f3ece3;
}

.entry__content td:last-child {
	font-weight: 700;
	color: var(--color-text);
}

.section--related {
	border-top: 1px solid var(--color-border);
	padding-top: clamp(26px, 5vw, 42px);
}

.related-services {
	gap: 10px;
}

.related-services li a {
	background: #fffdf9;
	border-color: rgba(26, 26, 26, 0.09);
	box-shadow: none;
}

.entry__content .faq-list {
	border-top: 1px solid var(--color-border);
}

.entry__content .faq-item {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--color-border);
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.entry__content .faq-item__q {
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 800;
	padding: 18px 34px 18px 0;
}

.entry__content .faq-item__a {
	padding: 0 0 18px;
}

/* Phase 4: conversion-focused service-page polish */
.page:not(.home) .section > .container--narrow {
	max-width: 980px;
}

.entry__content > section:first-child {
	display: grid;
	gap: 18px;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(30px, 5vw, 58px);
}

/* Red gradient overlay removed 2026-05-18. Was: linear+radial terracotta wash on every first post-section. */
.entry__content > section:first-child::after {
	content: none;
}

.entry__content > section:first-child .eyebrow {
	align-items: center;
	display: inline-flex;
	gap: 10px;
}

.entry__content > section:first-child .eyebrow::before {
	background: var(--color-accent);
	content: "";
	display: inline-block;
	height: 2px;
	width: 34px;
}

.entry__content > section:first-child h1 {
	font-size: 3.7rem;
	letter-spacing: 0;
	line-height: 1.02;
}

.entry__content > section:first-child .lead {
	color: #4d4843;
	font-size: 1.26rem;
	max-width: 720px;
}

/* About page (page-id-27): dark intro card with light text — scoped 2026-05-19 (was unscoped, broke gallery). */
.page-id-27 .entry__content > section:first-child {
	background: #1A1A1A;
	color: #fff;
	border-radius: 4px;
}
.page-id-27 .entry__content > section:first-child .eyebrow {
	color: rgba(255,255,255,0.78);
}
.page-id-27 .entry__content > section:first-child .eyebrow::before {
	background: rgba(255,255,255,0.5);
}
.page-id-27 .entry__content > section:first-child h1,
.page-id-27 .entry__content > section:first-child h2,
.page-id-27 .entry__content > section:first-child h3,
.page-id-27 .entry__content > section:first-child p,
.page-id-27 .entry__content > section:first-child strong {
	color: #fff;
}
.page-id-27 .entry__content > section:first-child .lead {
	color: rgba(255,255,255,0.82);
}
.page-id-27 .entry__content > section:first-child a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255,0.5);
}
.page-id-27 .entry__content > section:first-child a:hover {
	text-decoration-color: #fff;
}

.sf-inline-ctas {
	margin-top: 10px;
}

.entry__content .sf-inline-ctas .button.entry__content .button.entry__content .wp-block-button__link {
	min-height: 52px;
}

.entry__content .sf-inline-ctas .button:first-child {
	background: var(--color-accent);
	border-color: var(--color-accent);
}

.entry__content .sf-inline-ctas .button:first-child:hover.entry__content .sf-inline-ctas .button:first-child:focus {
	background: var(--color-accent-dark);
	border-color: var(--color-accent-dark);
}

.quick-answer {
	align-items: start;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(120px, 0.28fr) minmax(0, 1fr);
}

.quick-answer__label {
	color: var(--color-accent-dark);
	line-height: 1.25;
	margin: 0;
}

.quick-answer__question {
	font-family: var(--font-heading);
	font-size: clamp(1.45rem, 2.6vw, 2.1rem);
	line-height: 1.12;
	margin: 0;
}

.entry__content > section:not(:first-child) {
	scroll-margin-top: 110px;
}

.entry__content > section:not(:first-child):not(.section--quick-answer):not(.section--related) {
	border-top: 1px solid rgba(26, 26, 26, 0.09);
	padding-top: clamp(24px, 4vw, 40px);
}

.entry__content > section:not(:first-child) h2 {
	max-width: 760px;
}

.entry__content > section:not(:first-child) > p {
	max-width: 800px;
}

.benefit-grid {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.benefit-card.process-list--cards li {
	position: relative;
}

.benefit-card::before.process-list--cards li::after {
	background: var(--color-accent);
	content: "";
	height: 3px;
	left: 22px;
	position: absolute;
	right: 22px;
	top: 0;
}

.benefit-card h3.process-list--cards strong {
	font-size: 1.34rem;
}

.entry__content table {
	font-size: 1rem;
}

.entry__content caption {
	caption-side: top;
	color: var(--color-muted);
	font-size: .95rem;
	margin-bottom: 10px;
	text-align: left;
}

.entry__content th:first-child.entry__content td:first-child {
	width: 48%;
}

.entry__content td:last-child {
	font-size: 1.08rem;
	white-space: nowrap;
}

.section--related {
	margin-top: clamp(44px, 6vw, 72px);
}

.related-services li a {
	min-height: 64px;
}

.entry__content .faq-item__q {
	color: var(--color-text);
}

.entry__content .faq-item__a p {
	color: var(--color-muted);
	margin-bottom: 0;
}

/* Phase 7: advisor-led conversion sections */
.advisor-panel {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 245, 240, 0.92)),
		var(--color-surface);
	border: 1px solid rgba(143, 63, 43, 0.18);
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: grid;
	gap: clamp(22px, 4vw, 34px);
	margin: clamp(30px, 5vw, 58px) 0;
	padding: clamp(24px, 4.5vw, 44px);
	position: relative;
	overflow: hidden;
}

.advisor-panel {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.46fr);
}

.advisor-panel::before {
	background: var(--color-accent);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 6px;
}

.advisor-panel::after {
	background: linear-gradient(135deg, rgba(184, 83, 58, 0.12), rgba(184,83,58,0) 62%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.advisor-panel > * {
	position: relative;
	z-index: 1;
}

.advisor-panel__copy {
	max-width: 820px;
}

.advisor-panel__media {
	align-self: stretch;
	border-radius: var(--radius-sm);
	grid-column: 2;
	grid-row: 1 / span 2;
	margin: 0;
	min-height: 100%;
	overflow: hidden;
	position: relative;
}

.advisor-panel__media img {
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.advisor-panel__media figcaption {
	background: rgba(26, 26, 26, 0.72);
	bottom: 12px;
	color: #fff;
	font-size: .82rem;
	left: 12px;
	line-height: 1.35;
	max-width: calc(100% - 24px);
	padding: 8px 10px;
	position: absolute;
}

.advisor-panel__copy h2 {
	font-size: clamp(2rem, 4vw, 3.15rem);
	line-height: 1.04;
	margin-bottom: 14px;
}

.single .entry__content .advisor-panel h2.single .entry__content .advisor-panel h3 {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

.advisor-panel__copy p:not(.section-eyebrow) {
	color: #4f4942;
	font-size: 1.12rem;
	line-height: 1.66;
	margin-bottom: 0;
}

.advisor-choice-grid {
	display: grid;
	gap: 14px;
	grid-column: 1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.advisor-choice {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: var(--radius-sm);
	padding: 22px;
}

.advisor-choice span {
	background: var(--color-text);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 1;
	margin-bottom: 14px;
	padding: 8px 10px;
	text-transform: uppercase;
}

.advisor-choice h3 {
	font-size: 1.36rem;
	margin-bottom: 8px;
}

.advisor-choice p {
	color: var(--color-muted);
	font-size: .98rem;
	line-height: 1.58;
	margin: 0;
}

.single .entry__content .advisor-choice p.single .entry__content .advisor-panel__copy p:not(.section-eyebrow) {
	margin-bottom: 0;
}

.advisor-cta-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	grid-column: 1;
	margin: 0;
}

.advisor-cta-row .button {
	min-width: 170px;
}

/* Phase 5: homepage and support-page experience polish */
.home .site-content {
	background: #fbf8f3;
}

.home .hero {
	background:
		linear-gradient(90deg, rgba(248, 245, 240, 0.98) 0%, rgba(248, 245, 240, 0.9) 46%, rgba(239, 232, 223, 0.76) 100%),
		var(--color-soft);
	border-bottom: 1px solid rgba(143, 63, 43, 0.14);
	padding: 46px 0 58px;
}

.home .hero__inner {
	gap: 54px;
	min-height: min(760px, calc(100vh - 142px));
}

.home .hero__content {
	max-width: 660px;
}

.home .hero__eyebrow {
	color: var(--color-accent-dark);
	font-size: .84rem;
	font-weight: 800;
	margin-bottom: 18px;
}

.home .hero__headline {
	font-size: 4.8rem;
	letter-spacing: 0;
	max-width: 660px;
}

.home .hero__sub {
	color: #4d4842;
	font-size: 1.24rem;
	line-height: 1.7;
	max-width: 590px;
}

.home .hero__cta {
	gap: 14px;
	margin-bottom: 18px;
}

.home .hero__cta .btn {
	min-height: 54px;
	padding-left: 30px;
	padding-right: 30px;
}

.home .hero__offer {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-radius: var(--radius-sm);
	color: #514a44;
	display: inline-flex;
	flex-wrap: wrap;
	line-height: 1.45;
	padding: 10px 14px;
}

.home .hero__media::before {
	background: var(--color-accent);
	border-radius: var(--radius-sm);
	content: "";
	height: 72%;
	left: -18px;
	position: absolute;
	top: 13%;
	width: 5px;
	z-index: 1;
}

.home .hero__media img {
	border: 1px solid rgba(255, 255, 255, 0.68);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.home .hero__note {
	left: 24px;
	max-width: 430px;
	right: auto;
}

.trust-bar {
	padding: 16px 0;
}

.trust-bar__list {
	gap: 22px 34px;
}

.trust-bar__item {
	font-weight: 700;
}

.section-header--center {
	max-width: 760px;
}

.service-card {
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.service-card__body {
	padding: 24px;
}

.service-card__title {
	font-size: 1.58rem;
}

.service-card__desc {
	font-size: 1rem;
	line-height: 1.65;
}

.link-arrow {
	align-items: center;
	display: inline-flex;
	min-height: 38px;
}

.section--why {
	background:
		linear-gradient(180deg, #fff 0%, #fbf8f3 100%);
}

.why__copy {
	align-self: start;
	position: sticky;
	top: 116px;
}

.why__list {
	gap: 14px;
}

.why__list li {
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	position: relative;
}

.why__list li::before {
	background: var(--color-accent);
	border-radius: 999px;
	content: "";
	height: 34px;
	left: 0;
	position: absolute;
	top: 22px;
	width: 4px;
}

.why__list strong {
	font-size: 1.28rem;
}

.why__list span.featured__copy p.featured__bullets.review-card__text {
	font-size: 1.03rem;
	line-height: 1.68;
}

.section--featured {
	background:
		linear-gradient(90deg, #efe8df 0%, #f7f1ea 100%);
}

.featured__copy {
	max-width: 680px;
}

.featured__bullets {
	background: rgba(255, 255, 255, 0.58);
	border: 1px solid rgba(143, 63, 43, 0.12);
	border-radius: var(--radius-sm);
	list-style: none;
	padding: 18px 22px;
}

.featured__bullets li {
	border-bottom: 1px solid rgba(143, 63, 43, 0.12);
	padding: 9px 0;
}

.featured__bullets li:last-child {
	border-bottom: 0;
}

.review-card {
	border-top: 4px solid var(--color-accent);
}

.review-card__stars {
	font-size: 1.08rem;
}

.gallery-grid__item {
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.section--offer {
	background:
		linear-gradient(90deg, rgba(26, 26, 26, 0.98), rgba(49, 35, 29, 0.96));
}

.section--offer .btn--primary {
	background: #fff;
	border-color: #fff;
	color: var(--color-text);
}

.section--offer .btn--primary:hover.section--offer .btn--primary:focus {
	background: var(--color-soft);
	border-color: var(--color-soft);
	color: var(--color-text);
}

.location__info {
	border-top: 4px solid var(--color-accent);
}

.page:not(.home) .entry__content > section:first-child + section {
	margin-top: 32px;
}

.page:not(.home) .entry__content > section:first-child + section h2 {
	margin-top: 0;
}

/* Phase 6: deeper support and resource-page polish */
.single .entry__header {
	background:
		linear-gradient(180deg, rgba(239, 232, 223, 0.78), rgba(248,245,240,0));
	border-bottom: 1px solid rgba(143, 63, 43, 0.12);
	padding-bottom: 42px;
}

.single .entry__cat {
	color: var(--color-accent-dark);
	font-weight: 800;
}

.single .entry__title {
	font-size: 3.4rem;
	line-height: 1.04;
	max-width: 780px;
}

.single .entry__meta {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(143, 63, 43, 0.12);
	border-radius: 999px;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 8px 14px;
}

.single .entry__toc:empty {
	display: none;
}

.single .entry__content {
	color: #302c28;
	font-size: 1.08rem;
	line-height: 1.82;
}

.single .entry__content > p:first-child {
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-sm);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	color: #332d27;
	font-size: 1.16rem;
	line-height: 1.72;
	margin-bottom: 30px;
	padding: 22px 24px;
}

.single .entry__content h2 {
	border-top: 1px solid rgba(26, 26, 26, 0.1);
	font-size: 2.25rem;
	line-height: 1.12;
	margin-top: 44px;
	padding-top: 34px;
}

.single .entry__content h3 {
	font-family: var(--font-body);
	font-size: 1.22rem;
	font-weight: 800;
	line-height: 1.35;
}

.single .entry__content ul.single .entry__content ol {
	background: rgba(255, 255, 255, 0.58);
	border: 1px solid rgba(143, 63, 43, 0.12);
	border-radius: var(--radius-sm);
	padding: 18px 24px 18px 44px;
}

.single .entry__content li {
	padding: 7px 0;
}

.single .entry__content a {
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.page-id-27 .featured__media {
	align-self: start;
	position: sticky;
	top: 116px;
}

.page-id-27 .featured__copy {
	background: rgba(255, 255, 255, 0.74);
	border: 1px solid rgba(143, 63, 43, 0.12);
	border-radius: var(--radius-sm);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	padding: 34px;
}

.page-id-27 .featured__copy .entry__content > section:first-child {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.page-id-27 .featured__copy .entry__content > section:first-child::before.page-id-27 .featured__copy .entry__content > section:first-child::after {
	display: none;
}

.entry__content .benefit-card {
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.entry__content .benefit-card p {
	line-height: 1.68;
}

.entry__content .faq-list {
	display: grid;
	gap: 12px;
}

.entry__content .faq-item {
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.12);
	border-radius: var(--radius-sm);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	overflow: hidden;
}

.entry__content .faq-item:last-child {
	border-bottom: 1px solid rgba(143, 63, 43, 0.12);
}

.entry__content .faq-item details {
	padding: 0;
}

.entry__content .faq-item__q {
	background: rgba(248, 245, 240, 0.78);
	font-size: 1.08rem;
	line-height: 1.35;
	padding: 18px 48px 18px 20px;
}

.entry__content .faq-item__q::after {
	right: 18px;
	top: 15px;
}

.entry__content .faq-item__a {
	padding: 16px 20px 20px;
}

.entry__content .related-services li a.post-card {
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.entry__content .related-services li a::after {
	color: var(--color-accent-dark);
	content: "View";
	font-size: .8rem;
	font-weight: 800;
	text-transform: uppercase;
}

.post-card {
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.post-card:hover.post-card:focus-within {
	border-color: rgba(184, 83, 58, 0.5);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	transform: translateY(-2px);
}

.post-card__title {
	font-size: 1.35rem;
	line-height: 1.22;
}

.post-card .link-arrow {
	margin-top: auto;
}

.related-posts {
	border-top: 1px solid rgba(26, 26, 26, 0.1);
	padding-top: 42px;
}

/* Phase 11: article conversion path polish */
.article-service-prompt {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(239, 232, 223, 0.74));
	border: 1px solid rgba(143, 63, 43, 0.16);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-sm);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(210px, 0.38fr);
	margin: 42px 0 8px;
	padding: 26px;
}

.article-service-prompt__body {
	min-width: 0;
}

.article-service-prompt__eyebrow {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.article-service-prompt__title {
	font-size: 1.92rem;
	line-height: 1.1;
	margin: 0 0 10px;
}

.article-service-prompt__copy {
	color: var(--color-muted);
	margin: 0 0 18px;
	max-width: 660px;
}

.article-service-prompt__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.article-service-prompt__links a.article-service-prompt__actions a {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.2);
	border-radius: 999px;
	color: var(--color-text);
	display: inline-flex;
	font-weight: 800;
	min-height: 44px;
	padding: 10px 16px;
}

.article-service-prompt__links a:hover.article-service-prompt__links a:focus.article-service-prompt__actions a:hover.article-service-prompt__actions a:focus {
	border-color: var(--color-accent);
	color: var(--color-accent-dark);
}

.article-service-prompt__actions {
	align-content: center;
	display: grid;
	gap: 10px;
}

.article-service-prompt__actions a {
	justify-content: center;
	text-align: center;
	width: 100%;
}

.article-service-prompt__actions .article-service-prompt__primary {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #fff;
}

.article-service-prompt__actions .article-service-prompt__primary:hover.article-service-prompt__actions .article-service-prompt__primary:focus {
	background: var(--color-accent-dark);
	border-color: var(--color-accent-dark);
	color: #fff;
}

.article-service-prompt__secondary {
	box-shadow: inset 0 0 0 1px rgba(143, 63, 43, 0.08);
}

/* Phase 13: article decision brief for resource posts */
.single .article-decision-brief {
	border-color: rgba(143, 63, 43, 0.14);
	margin-top: 4px;
}

.single .article-decision-brief__next span {
	color: var(--color-muted);
}

.single .article-decision-brief__media img {
	filter: saturate(.98) contrast(1.02);
}

.comment-form textarea.comment-form input[type="text"].comment-form input[type="email"].comment-form input[type="url"] {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

/* Phase 9: support-page trust and decision layer */
.quick-answer p {
	grid-column: 2;
	max-width: 760px;
}

.quick-answer__question + p {
	grid-column: 2;
}

.support-decision {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 245, 240, 0.9)),
		var(--color-surface);
	border: 1px solid rgba(143, 63, 43, 0.18);
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	margin: clamp(30px, 5vw, 56px) 0;
	overflow: hidden;
	padding: clamp(24px, 4vw, 40px);
	position: relative;
}

.support-decision::before {
	background: var(--color-accent);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 6px;
}

.support-decision__header {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 0.38fr);
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
}

.support-decision__eyebrow {
	color: var(--color-accent-dark);
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.support-decision h2 {
	font-size: clamp(1.9rem, 3.5vw, 2.9rem);
	line-height: 1.07;
	margin: 0 0 10px;
}

.support-decision__intro {
	color: #514a42;
	font-size: 1.08rem;
	line-height: 1.64;
	margin: 0;
}

.support-decision__note {
	align-self: start;
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.16);
	border-radius: var(--radius-sm);
	color: var(--color-muted);
	font-size: .96rem;
	line-height: 1.5;
	margin: 0;
	padding: 16px;
}

.support-decision__note strong {
	color: var(--color-text);
	display: block;
	font-size: 1.02rem;
	margin-bottom: 4px;
}

.support-decision__grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	position: relative;
	z-index: 1;
}

.support-card {
	background: #fff;
	border: 1px solid rgba(26, 26, 26, 0.09);
	border-radius: var(--radius-sm);
	padding: 20px;
}

.support-card span {
	color: var(--color-accent-dark);
	display: block;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .06em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.support-card h3 {
	font-size: 1.22rem;
	line-height: 1.18;
	margin: 0 0 8px;
}

.support-card p {
	color: var(--color-muted);
	font-size: .98rem;
	line-height: 1.55;
	margin: 0;
}

.support-decision__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 22px 0 0;
	position: relative;
	z-index: 1;
}

.support-decision__actions .button {
	min-height: 48px;
	min-width: 160px;
}

@media (max-width: 780px) {
	.quick-answer.quick-answer p.quick-answer__question.quick-answer__question + p {
		grid-column: auto;
	}

	.support-decision__header.support-decision__grid {
		grid-template-columns: 1fr;
	}

	.support-decision {
		border-radius: var(--radius-sm);
		padding: 24px 18px 24px 22px;
	}

	.support-decision::before {
		width: 4px;
	}

	.support-decision__actions {
		flex-direction: column;
	}

	.support-decision__actions .button {
		width: 100%;
	}
}

/* Phase 10: homepage decision and CTR layer */
.section--home-decision {
	background: linear-gradient(180deg, #fff 0%, rgba(248, 245, 240, 0.92) 100%);
	padding-top: clamp(34px, 5vw, 62px);
}

.home-decision {
	display: grid;
	gap: clamp(20px, 3vw, 30px);
	grid-template-columns: minmax(0, 0.95fr) minmax(260px, 0.42fr);
}

.home-decision__intro.home-decision__proof {
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.home-decision__intro {
	padding: clamp(24px, 4vw, 42px);
}

.home-decision__intro h2 {
	font-size: clamp(2rem, 4vw, 3.15rem);
	line-height: 1.05;
	margin-bottom: 14px;
}

.home-decision__intro p {
	color: #4d453e;
	font-size: 1.08rem;
	line-height: 1.68;
	max-width: 800px;
}

.home-decision__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}

.home-decision__actions .btn {
	min-height: 52px;
	min-width: 168px;
}

.home-decision__proof {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.home-decision__proof p {
	color: var(--color-muted);
	font-size: .98rem;
	line-height: 1.55;
	margin: 0;
	padding: 20px;
}

.home-decision__proof strong {
	color: var(--color-text);
	display: block;
	font-size: 1.08rem;
	margin-bottom: 6px;
}

.home-decision__proof img {
	aspect-ratio: 4 / 3;
	height: 100%;
	min-height: 220px;
	object-fit: cover;
	width: 100%;
}

.home-decision__cards {
	display: grid;
	gap: 14px;
	grid-column: 1 / -1;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-decision-card {
	background: var(--color-text);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-sm);
	color: #fff;
	display: block;
	min-height: 100%;
	padding: clamp(18px, 2.5vw, 24px);
}

.home-decision-card:hover.home-decision-card:focus {
	background: #2f2924;
	color: #fff;
}

.home-decision-card span {
	color: #f1c6b5;
	display: block;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .06em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.home-decision-card h3 {
	color: #fff;
	font-size: 1.34rem;
	line-height: 1.16;
	margin-bottom: 9px;
}

.home-decision-card p {
	color: rgba(255, 255, 255, 0.92);
	font-size: .98rem;
	line-height: 1.55;
	margin: 0;
}

@media (max-width: 980px) {
	.home-decision.home-decision__cards {
		grid-template-columns: 1fr;
	}

	.home-decision__proof {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(180px, 0.7fr);
	}
}

@media (max-width: 640px) {
	.section--home-decision {
		padding-top: 30px;
	}

	.home-decision__intro.home-decision__proof {
		border-radius: var(--radius-sm);
	}

	.home-decision__actions {
		flex-direction: column;
	}

	.home-decision__actions .btn {
		width: 100%;
	}

	.home-decision__proof {
		display: block;
	}

	.home-decision__proof img {
		min-height: 190px;
	}
}

/* Phase 8: revenue-page decision and CTR layer */
.revenue-decision {
	background:
		linear-gradient(135deg, rgba(26, 26, 26, 0.94), rgba(54, 38, 28, 0.92)),
		var(--color-text);
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	color: #fff;
	display: grid;
	gap: clamp(22px, 4vw, 34px);
	margin: clamp(34px, 5vw, 62px) 0;
	overflow: hidden;
	padding: clamp(24px, 4vw, 44px);
	position: relative;
}

.revenue-decision::before {
	background: linear-gradient(90deg, var(--color-accent), rgba(184,83,58,0));
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.revenue-decision__header {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) minmax(230px, 0.42fr);
	position: relative;
	z-index: 1;
}

.revenue-decision__eyebrow {
	color: #f5c7b9;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.revenue-decision h2 {
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.04;
	margin: 0 0 12px;
}

.revenue-decision__intro {
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.12rem;
	line-height: 1.62;
	margin: 0;
	max-width: 760px;
}

.revenue-decision__proof {
	align-self: start;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--radius-sm);
	color: rgba(255, 255, 255, 0.86);
	font-size: .98rem;
	line-height: 1.5;
	margin: 0;
	padding: 18px;
}

.revenue-decision__proof strong {
	color: #fff;
	display: block;
	font-size: 1.05rem;
	margin-bottom: 4px;
}

.revenue-choice-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	position: relative;
	z-index: 1;
}

.revenue-choice {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	min-height: 190px;
	padding: 22px;
}

.revenue-choice span {
	background: rgba(184, 83, 58, 0.12);
	border-radius: 999px;
	color: var(--color-accent-dark);
	display: inline-flex;
	font-size: .76rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 14px;
	padding: 8px 10px;
	text-transform: uppercase;
}

.revenue-choice h3 {
	font-size: 1.28rem;
	line-height: 1.15;
	margin: 0 0 8px;
}

.revenue-choice p {
	color: var(--color-muted);
	font-size: .98rem;
	line-height: 1.55;
	margin: 0;
}

.revenue-decision__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	position: relative;
	z-index: 1;
}

.revenue-decision__actions .button {
	min-height: 50px;
	min-width: 175px;
}

.revenue-decision__actions .button:first-child {
	background: #fff;
	border-color: #fff;
	color: var(--color-text);
}

.revenue-decision__actions .button:first-child:hover.revenue-decision__actions .button:first-child:focus {
	background: #f8e8e1;
	border-color: #f8e8e1;
	color: var(--color-text);
}

.revenue-decision__microcopy {
	color: rgba(255, 255, 255, 0.72);
	font-size: .94rem;
	margin: 0;
}

@media (max-width: 980px) {
	.revenue-decision__header {
		grid-template-columns: 1fr;
	}

	.revenue-choice-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.revenue-decision {
		border-radius: var(--radius-sm);
		margin-left: -2px;
		margin-right: -2px;
		padding: 24px 18px;
	}

	.revenue-decision h2 {
		font-size: 2rem;
	}

	.revenue-decision__intro {
		font-size: 1.02rem;
	}

	.revenue-choice-grid {
		grid-template-columns: 1fr;
	}

	.revenue-choice {
		min-height: 0;
		padding: 18px;
	}

	.revenue-decision__actions {
		flex-direction: column;
	}

	.revenue-decision__actions .button {
		width: 100%;
	}
}

/* Phase 12: support-page visual story panels */
.section--support-story {
	background:
		linear-gradient(180deg, rgba(248, 245, 240, 0.9), #fff 34%);
	padding-top: clamp(36px, 5vw, 64px);
}

.support-story-grid {
	align-items: start;
	display: grid;
	gap: clamp(24px, 4vw, 48px);
	grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
}

.support-story {
	position: sticky;
	top: 116px;
}

.support-story__media {
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	margin: 0;
	overflow: hidden;
}

.support-story__media img {
	aspect-ratio: 4 / 5;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.support-story__card {
	background: var(--color-text);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	color: #fff;
	margin: -46px 18px 0;
	padding: clamp(20px, 3vw, 28px);
	position: relative;
}

.support-story__eyebrow {
	color: rgba(255, 255, 255, 0.7);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.support-story__card h2 {
	color: #fff;
	font-size: clamp(1.55rem, 3vw, 2.08rem);
	line-height: 1.08;
	margin: 0 0 10px;
}

.support-story__card p:last-child {
	color: rgba(255, 255, 255, 0.92);
	line-height: 1.62;
	margin: 0;
}

.support-story-entry {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(143, 63, 43, 0.12);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	padding: clamp(22px, 4vw, 38px);
}

.support-story-entry .entry__content > h1:first-child {
	margin-top: 0;
}

@media (max-width: 980px) {
	.article-decision-brief {
		grid-template-columns: 1fr;
	}

	.article-decision-brief__cues {
		grid-template-columns: 1fr;
	}

	.article-decision-brief__media {
		order: -1;
	}

	.article-decision-brief__media img {
		aspect-ratio: 16/9;
		max-height: 360px;
	}

	.support-story-grid {
		grid-template-columns: 1fr;
	}

	.support-story {
		position: static;
	}

	.support-story__media img {
		aspect-ratio: 16 / 10;
		max-height: 460px;
	}
}

@media (max-width: 640px) {
	.section--support-story {
		padding-top: 28px;
	}

	.article-decision-brief {
		border-radius: 14px;
		margin-bottom: 28px;
	}

	.article-decision-brief__content {
		padding: 22px;
	}

	.article-decision-brief h2 {
		font-size: 1.58rem;
	}

	.article-decision-brief p {
		font-size: 1rem;
	}

	.article-decision-brief__next {
		padding: 14px;
	}

	.article-decision-brief__links {
		display: grid;
		grid-template-columns: 1fr;
	}

	.article-price-clarity {
		border-radius: 14px;
		margin: 28px 0;
		padding: 20px;
	}

	.article-price-clarity__grid {
		grid-template-columns: 1fr;
	}

	.article-price-clarity__actions {
		display: grid;
	}

	.article-choice-matrix {
		border-radius: 14px;
		margin: 28px 0;
	}

	.article-choice-matrix__header {
		padding: 22px;
	}

	.article-choice-matrix__grid {
		grid-template-columns: 1fr;
		padding: 0 20px;
	}

	.article-choice-matrix__advisor {
		margin: 0 20px;
	}

	.article-choice-matrix__actions {
		display: grid;
		padding: 0 20px 22px;
	}

	.article-care-timeline {
		border-radius: 14px;
		margin: 28px 0;
		padding: 20px;
	}

	.article-care-timeline__steps {
		grid-template-columns: 1fr;
	}

	.article-care-timeline__actions {
		display: grid;
	}

	.article-trust-checklist {
		border-radius: 14px;
		margin: 28px 0;
	}

	.article-trust-checklist__header {
		padding: 22px 20px 0;
	}

	.article-trust-checklist__grid {
		grid-template-columns: 1fr;
		padding: 0 20px;
	}

	.article-trust-checklist__fit {
		padding: 20px;
	}

	.article-trust-checklist__actions {
		display: grid;
		padding: 0 20px 22px;
	}

	.article-fit-guide {
		border-radius: 14px;
	}

	.article-fit-guide__inner {
		grid-template-columns: 1fr;
	}

	.article-fit-guide__copy {
		padding: 22px 18px;
	}

	.article-fit-guide__grid {
		grid-template-columns: 1fr;
	}

	.article-fit-guide__actions {
		display: grid;
	}

	.article-fit-guide__media {
		order: -1;
	}

	.article-fit-guide__media img {
		min-height: 280px;
		aspect-ratio: 16 / 11;
	}

	.service-appointment-planner {
		border-radius: 14px;
	}

	.service-appointment-planner__header {
		padding: 22px 18px 14px;
	}

	.service-appointment-planner__grid {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.service-appointment-planner__cue {
		margin: 0 18px 18px;
	}

	.service-appointment-planner__actions {
		display: grid;
		padding: 0 18px 22px;
	}

	.support-story__card {
		margin: -24px 12px 0;
	}

	.support-story-entry {
		padding: 20px 16px;
	}
}

/* Phase 13: full-width page and post layout */
.container--wide {
	--wide-gutter: clamp(20px, 4vw, 72px);
	max-width: none;
	padding-left: var(--wide-gutter);
	padding-right: var(--wide-gutter);
	width: 100%;
}

.page:not(.home) .section > .container--wide.single .entry > .container--wide.single .entry__header > .container--wide {
	max-width: none;
	width: 100%;
}

.page:not(.home) .entry__content.single .entry__content {
	max-width: none;
	width: 100%;
}

.page:not(.home) .section > .container--wide .entry__content > section.single .entry__content > section.single .entry__toc.single .article-decision-brief.single .article-service-prompt.single .related-posts {
	max-width: none;
	width: 100%;
}

.page:not(.home) .section > .container--wide .entry__content > section:first-child {
	border-left: 0;
	border-radius: 0;
	border-right: 0;
	margin-left: calc(var(--wide-gutter) * -1);
	margin-right: calc(var(--wide-gutter) * -1);
	padding-left: clamp(28px, 6vw, 96px);
	padding-right: clamp(28px, 6vw, 96px);
	width: auto;
}

.page:not(.home) .section > .container--wide .entry__content > section:first-child::before {
	left: var(--wide-gutter);
}

.page:not(.home) .section > .container--wide .entry__content > section:not(:first-child):not(.section--quick-answer):not(.section--related).single .entry__content > section:not(.section--quick-answer):not(.section--related) {
	margin-left: calc(var(--wide-gutter) * -1);
	margin-right: calc(var(--wide-gutter) * -1);
	padding-left: clamp(28px, 6vw, 96px);
	padding-right: clamp(28px, 6vw, 96px);
	width: auto;
}

.page:not(.home) .section > .container--wide .entry__content > section > h1.page:not(.home) .section > .container--wide .entry__content > section > h2.page:not(.home) .section > .container--wide .entry__content > section > h3.page:not(.home) .section > .container--wide .entry__content > section > p.page:not(.home) .section > .container--wide .entry__content > section > ul.page:not(.home) .section > .container--wide .entry__content > section > ol.single .entry__content > h2.single .entry__content > h3.single .entry__content > p.single .entry__content > ul.single .entry__content > ol.single .entry__content > blockquote {
	max-width: 880px;
}

.page:not(.home) .section > .container--wide .entry__content > section > table.page:not(.home) .section > .container--wide .entry__content .benefit-grid.page:not(.home) .section > .container--wide .entry__content .process-list--cards.page:not(.home) .section > .container--wide .entry__content .related-services.page:not(.home) .section > .container--wide .entry__content .faq-list.single .entry__content table.single .entry__content .benefit-grid.single .entry__content .process-list--cards.single .entry__content .related-services.single .entry__content .faq-list.single .article-choice-matrix.single .article-care-timeline.single .article-trust-checklist.single .article-fit-guide.single .service-appointment-planner {
	max-width: none;
	width: 100%;
}

.single .entry__media.container--wide {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}

@media (max-width: 768px) {
	.container--wide {
		--wide-gutter: 18px;
	}

	.page:not(.home) .section > .container--wide .entry__content > section:first-child.page:not(.home) .section > .container--wide .entry__content > section:not(:first-child):not(.section--quick-answer):not(.section--related).single .entry__content > section:not(.section--quick-answer):not(.section--related) {
		padding-left: 18px;
		padding-right: 18px;
	}
}

/* Phase 13b: support/contact pages use a dedicated full-width layout */
.section--support-story > .support-story-grid {
	--wide-gutter: clamp(20px, 4vw, 72px);
	max-width: none;
	padding-left: var(--wide-gutter);
	padding-right: var(--wide-gutter);
	width: 100%;
}

.section--support-story {
	overflow-x: hidden;
}

.support-story-grid {
	grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
}

.support-story-grid > * {
	min-width: 0;
}

.support-story.support-story__card.support-story-entry {
	max-width: none;
	min-width: 0;
	overflow-wrap: break-word;
}

.support-story-entry .entry__content > section:first-child {
	border-radius: var(--radius-md);
}

.support-story-entry .article-fit-guide {
	margin-left: 0;
	margin-right: 0;
}

.support-story-entry .article-fit-guide__inner {
	grid-template-columns: 1fr;
}

.support-story-entry .article-fit-guide__grid {
	grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.support-story-entry .article-fit-guide__media {
	order: -1;
}

.support-story-entry .article-fit-guide__media img {
	aspect-ratio: 16 / 7;
	max-height: 420px;
	min-height: 280px;
}

.support-story-entry .article-fit-guide h2 {
	max-width: 820px;
}

.support-story-entry .article-fit-guide__copy > p {
	max-width: 880px;
}

@media (max-width: 1180px) {
	.support-story-entry .article-fit-guide__grid {
		grid-template-columns: 1fr;
	}

	.support-story-entry .article-fit-guide__media img {
		aspect-ratio: 16 / 10;
		min-height: 320px;
	}
}

@media (max-width: 980px) {
	.section--support-story > .support-story-grid {
		--wide-gutter: clamp(18px, 5vw, 40px);
	}
}

@media (max-width: 640px) {
	.section--support-story > .support-story-grid {
		--wide-gutter: 18px;
	}

	.section--support-story .support-story {
		display: none;
	}

	.support-story__card {
		margin-left: 12px;
		margin-right: 12px;
	}

	.support-story__card h2 {
		font-size: 1.45rem;
	}

	.support-story-entry .article-fit-guide__media img {
		aspect-ratio: 16 / 10;
		min-height: 230px;
	}
}

/* Phase 14: normalize all page and post sizing to the homepage shell */
.container--wide.page:not(.home) .section > .container--wide.single .entry > .container--wide.single .entry__header > .container--wide.section--support-story > .support-story-grid {
	--wide-gutter: 24px;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--container-width);
	padding-left: 24px;
	padding-right: 24px;
	width: 100%;
}

.page:not(.home) .section > .container--wide .entry__content > section.single .entry__content > section.single .entry__toc.single .article-decision-brief.single .article-service-prompt.single .related-posts {
	max-width: 100%;
}

.page:not(.home) .section > .container--wide .entry__content > section:first-child.page:not(.home) .section > .container--wide .entry__content > section:not(:first-child):not(.section--quick-answer):not(.section--related).single .entry__content > section:not(.section--quick-answer):not(.section--related) {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}

.page:not(.home) .section > .container--wide .entry__content > section:first-child {
	border-left: 1px solid rgba(143, 63, 43, 0.16);
	border-radius: var(--radius-lg);
	border-right: 1px solid rgba(143, 63, 43, 0.16);
}

.page:not(.home) .section > .container--wide .entry__content > section:first-child::before {
	left: 0;
}

.single .entry__media.container--wide {
	max-width: var(--container-width);
}

@media (max-width: 768px) {
	.container--wide.page:not(.home) .section > .container--wide.single .entry > .container--wide.single .entry__header > .container--wide.section--support-story > .support-story-grid {
		--wide-gutter: 18px;
		padding-left: 18px;
		padding-right: 18px;
	}
}

/* Phase 15: money service page layout v2 */
.money-service-hero.money-service-section.money-service-final {
	background: #fff;
	border: 1px solid rgba(143, 63, 43, 0.16);
	border-radius: var(--radius-lg);
	box-sizing: border-box !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	margin: 0 0 clamp(22px, 4vw, 42px);
	max-width: 100%;
	overflow: hidden;
	padding: clamp(28px, 5vw, 64px);
	width: 100%;
}

.money-service-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.72fr);
	gap: clamp(28px, 4.8vw, 64px);
	align-items: center;
	background:
		linear-gradient(135deg, rgba(247, 240, 231, 0.94), rgba(255, 255, 255, 0.98) 48%, rgba(246, 232, 224, 0.92)),
		#fff;
}

.money-service-hero__copy {
	min-width: 0;
}

.money-service-hero h1 {
	max-width: 760px;
}

.money-service-hero .lead {
	max-width: 720px;
}

.money-service-hero__media {
	margin: 0;
	min-width: 0;
}

.money-service-hero__media img {
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-md);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.money-service-hero__media figcaption {
	color: var(--color-muted);
	font-size: .92rem;
	line-height: 1.5;
	margin-top: 12px;
}

.money-service-proof {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 24px 0 0;
	max-width: 660px;
	padding: 0;
}

.money-service-proof li {
	align-items: center;
	color: var(--color-text);
	display: flex;
	font-size: 1rem;
	gap: 10px;
}

.money-service-proof li::before {
	background: var(--color-accent);
	border-radius: 999px;
	content: "";
	flex: 0 0 8px;
	height: 8px;
	width: 8px;
}

.money-service__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0 0;
}

.money-service-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 26px;
}

.money-service-card {
	background: rgba(247, 240, 231, 0.55);
	border: 1px solid rgba(143, 63, 43, 0.14);
	border-radius: var(--radius-md);
	min-width: 0;
	padding: 22px;
}

.money-service-card span {
	color: var(--color-accent-dark);
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: .72rem;
	letter-spacing: .14em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.money-service-card h3 {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	margin-bottom: 10px;
}

.money-service-card p.money-service-section > p.money-service-final p {
	font-size: 1.05rem;
	line-height: 1.75;
}

.money-service-table-wrap {
	overflow-x: auto;
}

.money-service-steps {
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
}

.money-service-steps li {
	background: #fff;
	border-left: 4px solid var(--color-accent);
	box-shadow: inset 0 0 0 1px rgba(143, 63, 43, 0.14);
	display: grid;
	gap: 6px;
	padding: 18px 20px;
}

.money-service-steps strong {
	font-family: var(--font-heading);
	font-size: 1.2rem;
	font-weight: 500;
}

.money-service-steps span {
	color: var(--color-muted);
	font-size: 1.02rem;
	line-height: 1.65;
}

.money-service-final {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(24px, 4vw, 54px);
	background: var(--color-dark);
	color: #fff;
}

.money-service-final h2.money-service-final p.money-service-final a.money-service-final .section-eyebrow {
	color: #fff;
}

.money-service__directions {
	margin-top: 12px;
}

.page:not(.home) .section > .container--wide .entry__content > .money-service-hero:first-child {
	border-left: 1px solid rgba(143, 63, 43, 0.16);
	border-right: 1px solid rgba(143, 63, 43, 0.16);
}

@media (max-width: 1040px) {
	.money-service-hero.money-service-final {
		grid-template-columns: 1fr;
	}

	.money-service-hero__media img {
		aspect-ratio: 16 / 10;
		max-height: 520px;
	}

	.money-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.page:not(.home) .section > .container--wide .entry__content > .money-service-hero:first-child.page:not(.home) .section > .container--wide .entry__content > .money-service-section.page:not(.home) .section > .container--wide .entry__content > .money-service-final {
		border-radius: var(--radius-md);
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		padding: 24px 18px !important;
		width: 100% !important;
	}

	.money-service-hero.money-service-final {
		display: block;
	}

	.money-service-hero__copy.money-service-hero__media.money-service-card.money-service-final > * {
		max-width: 100%;
		min-width: 0;
	}

	.money-service-hero h1.money-service-hero .lead.money-service-section h2.money-service-section p {
		overflow-wrap: anywhere;
	}

	.money-service-grid {
		grid-template-columns: 1fr;
	}

	.money-service__actions.money-service__actions .button {
		width: 100%;
	}

	.money-service__actions .button {
		max-width: 100%;
		justify-content: center;
		text-align: center;
	}

	.money-service-hero__media img {
		aspect-ratio: 4 / 3;
	}
}

/* Phase 17: homepage mobile rescue */
@media (max-width: 760px) {
	.home .hero {
		padding: 26px 0 34px;
	}

	.home .hero__inner {
		display: flex;
		flex-direction: column;
		gap: 24px;
		min-height: 0;
	}

	.home .hero__content {
		order: 1;
		max-width: 342px !important;
		width: 342px !important;
	}

	.home .hero__media {
		order: 2;
		max-width: 342px !important;
		min-height: 0;
		width: 342px !important;
	}

	.home .hero__headline {
		font-size: 2.18rem !important;
		line-height: 1;
		max-width: 342px !important;
		overflow-wrap: break-word;
	}

	.home .hero__sub {
		font-size: 1.06rem;
		line-height: 1.62;
		max-width: 342px !important;
		overflow-wrap: break-word;
	}

	.home .hero__cta {
		display: grid;
		max-width: 342px !important;
		width: 342px !important;
	}

	.home .hero__cta .btn {
		min-width: 0;
		width: 100% !important;
	}

	.home .hero__offer {
		max-width: 342px !important;
		overflow: hidden;
		width: 342px !important;
	}

	.home .hero__media img {
		aspect-ratio: 4 / 3;
		min-height: 0;
		width: 100% !important;
	}

	.home .hero__note {
		left: 12px;
		right: 12px;
		bottom: 12px;
		max-width: none;
	}

	.trust-bar__list {
		display: grid;
		gap: 0;
		grid-template-columns: 1fr;
		text-align: center;
	}

	.trust-bar__item {
		padding: 8px 0;
	}

	.trust-bar__item:not(:last-child)::after {
		display: none;
	}
}

/* === Unified CTA group rules (2026-05-15) ============================
   Normalize all primary button containers sitewide:
   - consistent flex/wrap/gap
   - consistent min-height (older-user tap target) and min-width (even pills)
   - clean mobile stack below 600px with full-width buttons
   Targets every named CTA container in the theme. */

.hero__cta.offer__cta.cta-band__actions.sf-service-actions.sf-final-booking__actions.home-decision__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.hero__cta > .btn.offer__cta > .btn.cta-band__actions > .btn.sf-service-actions > .btn.sf-final-booking__actions > .btn.home-decision__actions > .btn {
	min-height: 52px;
	min-width: 180px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: normal;
}

@media (max-width: 600px) {
	.hero__cta.offer__cta.cta-band__actions.sf-service-actions.sf-final-booking__actions.home-decision__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.hero__cta > .btn.offer__cta > .btn.cta-band__actions > .btn.sf-service-actions > .btn.sf-final-booking__actions > .btn.home-decision__actions > .btn {
		min-width: 0;
		width: 100%;
	}
}

/* === Article body button classes (WP page content) ===================
   Some WP page bodies (e.g. /hair-salon-menu-of-services/) use .button /
   .button-secondary inside .article-fit-guide__actions. Style these so
   they match the theme's .btn--primary / .btn--ghost and wrap cleanly. */

.article-fit-guide__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 18px 0 0;
}

.article-fit-guide__actions .button.entry__content .button {
	background: var(--color-accent);
	color: #fff;
	border: 1px solid var(--color-accent);
	border-radius: 999px;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 1rem;
	padding: 16px 32px;
	line-height: 1.2;
	min-height: 52px;
	min-width: 180px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	transition: all .2s ease;
	white-space: normal;
}

.article-fit-guide__actions .button:hover.article-fit-guide__actions .button:focus.entry__content .button:hover.entry__content .button:focus {
	background: var(--color-accent-dark);
	border-color: var(--color-accent-dark);
	color: #fff;
}

.article-fit-guide__actions .button-secondary.entry__content .button-secondary {
	background: transparent;
	color: var(--color-text);
	border-color: var(--color-text);
}

.article-fit-guide__actions .button-secondary:hover.article-fit-guide__actions .button-secondary:focus.entry__content .button-secondary:hover.entry__content .button-secondary:focus {
	background: var(--color-text);
	color: #fff;
}

@media (max-width: 600px) {
	.article-fit-guide__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.article-fit-guide__actions .button.entry__content .button {
		min-width: 0;
		width: 100%;
	}
}

/* === Dark-context button overrides ====================================
   .article-fit-guide has a dark brown gradient bg (#2A2521 → #40342D)
   with cream text (#F8F1E8). Default .button-secondary uses --color-text
   (#1A1A1A), which is unreadable on the dark bg. Override here only. */

.article-fit-guide__actions .button-secondary {
	color: #F8F1E8;
	border-color: rgba(248, 241, 232, 0.85);
}

.article-fit-guide__actions .button-secondary:hover.article-fit-guide__actions .button-secondary:focus {
	background: #F8F1E8;
	color: #1A1A1A;
	border-color: #F8F1E8;
}

/* Primary button inside dark section gets a small contrast lift */
.article-fit-guide__actions .button {
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

/* === Revenue-decision section secondary button (dark bg) =============
   .revenue-decision uses a dark brown gradient. The primary button is
   intentionally white-on-dark. The secondary button needs cream text/border
   so it stays readable on the same gradient (matches surrounding text). */

.revenue-decision__actions .button.button-secondary.revenue-decision__actions .button-secondary {
	background: transparent;
	color: #FFFFFF;
	border-color: rgba(255, 255, 255, 0.85);
}

.revenue-decision__actions .button.button-secondary:hover.revenue-decision__actions .button.button-secondary:focus.revenue-decision__actions .button-secondary:hover.revenue-decision__actions .button-secondary:focus {
	background: #FFFFFF;
	color: var(--color-text);
	border-color: #FFFFFF;
}

/* === Sitewide dark-section secondary button safety net (2026-05-15) ====
   Every dark-background section gets readable secondary buttons.
   Covers theme .btn--ghost and WP article-body .button-secondary inside
   any of the known dark wrappers. Hover state inverts to filled white. */

.cta-band--dark .btn--ghost.cta-band--dark .button-secondary.booking-cta .btn--ghost.booking-cta .button-secondary.site-footer .btn--ghost.site-footer .button-secondary.support-story__card .btn--ghost.support-story__card .button-secondary.support-story__card .button.button-secondary.advisor-choice--dark .btn--ghost.advisor-choice--dark .button-secondary.home-decision-card .btn--ghost.home-decision-card .button-secondary.article-trust-checklist__fit .btn--ghost.article-trust-checklist__fit .button-secondary.service-appointment-planner__cue .btn--ghost.service-appointment-planner__cue .button-secondary {
	background: transparent;
	color: #FFFFFF;
	border-color: rgba(255, 255, 255, 0.85);
}

.cta-band--dark .btn--ghost:hover.cta-band--dark .btn--ghost:focus.cta-band--dark .button-secondary:hover.cta-band--dark .button-secondary:focus.booking-cta .btn--ghost:hover.booking-cta .btn--ghost:focus.booking-cta .button-secondary:hover.booking-cta .button-secondary:focus.site-footer .btn--ghost:hover.site-footer .btn--ghost:focus.site-footer .button-secondary:hover.site-footer .button-secondary:focus.support-story__card .btn--ghost:hover.support-story__card .btn--ghost:focus.support-story__card .button-secondary:hover.support-story__card .button-secondary:focus.support-story__card .button.button-secondary:hover.support-story__card .button.button-secondary:focus.advisor-choice--dark .btn--ghost:hover.advisor-choice--dark .btn--ghost:focus.advisor-choice--dark .button-secondary:hover.advisor-choice--dark .button-secondary:focus.home-decision-card .btn--ghost:hover.home-decision-card .btn--ghost:focus.home-decision-card .button-secondary:hover.home-decision-card .button-secondary:focus.article-trust-checklist__fit .btn--ghost:hover.article-trust-checklist__fit .btn--ghost:focus.article-trust-checklist__fit .button-secondary:hover.article-trust-checklist__fit .button-secondary:focus.service-appointment-planner__cue .btn--ghost:hover.service-appointment-planner__cue .btn--ghost:focus.service-appointment-planner__cue .button-secondary:hover.service-appointment-planner__cue .button-secondary:focus {
	background: #FFFFFF;
	color: var(--color-text);
	border-color: #FFFFFF;
}

/* === .card-eyebrow (replaces former <span> child of fit-guide / revenue-choice cards) =
   Stored content was changed from <span>X</span> (inline) to <p class="card-eyebrow">X</p>
   (block) to prevent wpautop from injecting rogue </p> tags between inline+block
   transitions. CSS preserves the original visual treatment. */

.article-fit-guide__item .card-eyebrow.revenue-choice .card-eyebrow {
	color: #F3C9A8;
	display: block;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.revenue-choice .card-eyebrow {
	background: rgba(184, 83, 58, 0.12);
	border-radius: 999px;
	color: var(--color-accent-dark);
	display: inline-flex;
	margin-bottom: 14px;
	padding: 8px 10px;
	width: auto;
}

/* === Featured Posts (homepage "From the blog" strip) ===================
   3-card horizontal layout. Lazy-loaded thumbnails. Card is fully clickable. */

.section--featured-posts {
	background: var(--color-soft);
}

.featured-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
}

.featured-posts-grid__item {
	display: flex;
}

.featured-post-card {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	color: var(--color-text);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease;
	width: 100%;
}

.featured-post-card:hover.featured-post-card:focus {
	transform: translateY(-3px);
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.featured-post-card__media {
	aspect-ratio: 8 / 5;
	margin: 0;
	overflow: hidden;
	background: var(--color-soft);
}

.featured-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.featured-post-card__body {
	padding: 22px 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.featured-post-card__title {
	font-family: var(--font-heading, var(--font-body));
	font-size: 1.18rem;
	line-height: 1.28;
	margin: 0;
	color: var(--color-text);
}

.featured-post-card__excerpt {
	color: var(--color-muted, rgba(58, 48, 40, 0.76));
	font-size: .95rem;
	line-height: 1.55;
	margin: 0;
}

.featured-post-card__more {
	color: var(--color-accent);
	font-weight: 700;
	font-size: .92rem;
	margin-top: auto;
}

.featured-posts-cta {
	margin: 28px 0 0;
	text-align: center;
}

@media (max-width: 900px) {
	.featured-posts-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
}

/* Blog index grid uses same card layout as homepage featured posts */
.blog-index-grid {
	margin-top: 32px;
}

.blog-index-pagination {
	margin-top: 36px;
	text-align: center;
}

.blog-index-pagination ul {
	list-style: none;
	display: inline-flex;
	gap: 6px;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	justify-content: center;
}

.blog-index-pagination li a,
.blog-index-pagination li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	font-weight: 600;
	text-decoration: none;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	text-decoration: none;
	font-weight: 600;
	background: #fff;
}

.blog-index-pagination li .current {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #fff;
}

.blog-index-pagination li a:hover,
.blog-index-pagination li a:focus {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.blog-index-pagination li .dots {
	border-color: transparent;
	background: transparent;
	min-width: 24px;
	padding: 0 4px;
}

/* Service-page tagline. Small italic subhead under H1 */
.sf-service-tagline {
	color: var(--color-accent-dark);
	font-style: italic;
	font-size: 1.05rem;
	margin: 0 0 12px;
	max-width: 660px;
}

/* Author bio block (blog posts). E-E-A-T */
.post-author-bio {
	background: var(--color-soft);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-md);
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 20px;
	margin: 40px 0;
	padding: 24px 26px;
	align-items: center;
}

.post-author-bio__media {
	margin: 0;
}

.post-author-bio__media img {
	border-radius: 50%;
	width: 120px;
	height: 120px;
	object-fit: cover;
	display: block;
}

.post-author-bio__name {
	font-weight: 700;
	font-size: 1.1rem;
	margin: 0 0 6px;
	color: var(--color-text);
}

.post-author-bio__credentials.post-author-bio__location {
	font-size: .92rem;
	line-height: 1.5;
	margin: 0 0 6px;
	color: var(--color-muted, rgba(58, 48, 40, 0.76));
}

.post-author-bio__links {
	margin: 8px 0 0;
	font-size: .92rem;
}

.post-author-bio__links a {
	color: var(--color-accent);
	font-weight: 600;
}

@media (max-width: 600px) {
	.post-author-bio {
		grid-template-columns: 1fr;
		text-align: left;
	}
	.post-author-bio__media img {
		width: 80px;
		height: 80px;
	}
}

/* Auto Table of Contents (blog posts) */
.auto-toc {
	background: var(--color-soft);
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-sm);
	padding: 18px 22px 20px;
	margin: 0 0 32px;
}
.auto-toc__label {
	font-weight: 700;
	font-size: .92rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--color-accent-dark);
	margin: 0 0 10px;
}
.auto-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.auto-toc__list li {
	margin: 0;
	padding: 4px 0;
	border-bottom: 1px dotted rgba(58, 48, 40, 0.15);
}
.auto-toc__list li:last-child {
	border-bottom: none;
}
.auto-toc__list li.auto-toc__sub {
	padding-left: 18px;
	font-size: .92rem;
}
.auto-toc__list a {
	color: var(--color-text);
	text-decoration: none;
	font-weight: 500;
}
.auto-toc__list a:hover.auto-toc__list a:focus {
	color: var(--color-accent);
	text-decoration: underline;
}

/* === Card padding pass. 2026-05-16 ===
   Give breathing room to all card components that previously felt cramped.
   Bumps padding ~25-40% on cards with multi-line content. */

.process-list--cards li {
	padding: 32px 28px 30px;
	gap: 10px;
}

.benefit-card {
	padding: 32px 28px;
}

.review-card {
	padding: 32px 28px;
}

.service-card__body {
	padding: 26px 26px 30px;
}

.advisor-choice {
	padding: 28px 26px;
}

.revenue-choice {
	padding: 28px 26px;
}

.article-fit-guide__item {
	padding: 22px 22px 24px;
}

.post-card__body {
	padding: 28px 26px;
	gap: 10px;
}

.featured-post-card__body {
	padding: 28px 26px 30px;
}

.related-services li a {
	padding: 22px 24px;
}

/* Decision rows on service pages were tight 20px 0. Give horizontal space too */
.sf-decision-row {
	padding: 22px 4px;
}

/* Push the .process-list--cards accent line down slightly so it doesn't feel
   flush against the very top edge of the card */
.process-list--cards li::after {
	top: 6px;
}

/* Same fix for benefit cards */
.benefit-card::before {
	top: 6px;
}

/* Page hero figure (AI-generated, inserted at top of WP body content) */
.page-hero-figure {
	margin: 0 0 32px;
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.page-hero-figure img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
@media (max-width: 600px) {
	.page-hero-figure {
		margin: 0 0 22px;
	}
	.page-hero-figure img {
		aspect-ratio: 4 / 3;
	}
}

/* === Card padding refinement v2. 2026-05-16 ====================
   Push the top accent line down + give the H3 + body more breathing
   room. Bumps benefit-card and process-list cards beyond v1 amounts. */

.benefit-card {
	padding: 38px 30px 34px;
}

.benefit-card::before {
	top: 14px;
	left: 30px;
	right: 30px;
}

.benefit-card h3 {
	margin: 6px 0 12px;
	line-height: 1.25;
}

.benefit-card p {
	line-height: 1.6;
}

.process-list--cards li {
	padding: 42px 30px 34px;
	gap: 12px;
}

.process-list--cards li::after {
	top: 14px;
	left: 30px;
	right: 30px;
}

.process-list--cards strong {
	margin-top: 4px;
	line-height: 1.25;
}

.benefit-grid {
	gap: 24px;
}

/* Suby homepage optimization. Reassurance microcopy under the decision section */
.home-decision__reassure {
	background: rgba(184, 83, 58, 0.06);
	border-left: 3px solid var(--color-accent);
	padding: 14px 18px;
	margin: 18px 0 4px;
	color: var(--color-text);
	font-size: .98rem;
	line-height: 1.55;
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.home-decision__reassure strong {
	color: var(--color-accent-dark);
}

/* ========================================================================
   Contact page (post 28) — redesign
   ======================================================================== */

/* Sticky sidebar card */
.contact-sidebar {
	align-self: start;
}
.contact-sidebar__card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 28px 26px;
	position: sticky;
	top: 100px;
	box-shadow: 0 2px 14px rgba(26, 26, 26, 0.04);
}
.contact-sidebar__eyebrow {
	color: var(--color-accent-dark);
	font-family: var(--font-body);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	margin: 0 0 8px;
	text-transform: uppercase;
}
.contact-sidebar__name {
	font-family: var(--font-heading);
	font-size: 1.55rem;
	line-height: 1.15;
	margin: 0 0 18px;
	color: var(--color-text);
}
.contact-sidebar__address {
	color: var(--color-text);
	font-size: .98rem;
	font-style: normal;
	line-height: 1.5;
	margin: 0 0 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--color-border);
}
.contact-sidebar__note {
	color: var(--color-muted);
	display: block;
	font-size: .88rem;
	margin-top: 6px;
}
.contact-sidebar__hours {
	margin: 0 0 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--color-border);
}
.contact-sidebar__hours div {
	display: flex;
	justify-content: space-between;
	font-size: .95rem;
	margin: 4px 0;
}
.contact-sidebar__hours dt {
	color: var(--color-muted);
	font-weight: 600;
}
.contact-sidebar__hours dd {
	color: var(--color-text);
	margin: 0;
}
.contact-sidebar__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 18px;
}
.contact-sidebar__actions .btn {
	width: 100%;
	text-align: center;
}
.contact-sidebar__directions {
	color: var(--color-accent-dark);
	display: inline-block;
	font-size: .92rem;
	font-weight: 600;
	text-decoration: none;
}
.contact-sidebar__directions:hover {
	text-decoration: underline;
}

/* Action triad (3 quick-action cards) */
.contact-action-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	list-style: none;
	margin: 28px 0 36px;
	padding: 0;
}
.contact-action-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	display: flex;
	flex-direction: column;
	padding: 26px 22px;
	position: relative;
}
.contact-action-card--primary {
	background: var(--color-soft);
	border-color: var(--color-accent);
}
.contact-action-card__step {
	color: var(--color-accent);
	font-family: var(--font-heading);
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: .12em;
	margin: 0 0 8px;
}
.contact-action-card h2 {
	font-family: var(--font-heading);
	font-size: 1.35rem;
	line-height: 1.15;
	margin: 0 0 10px;
	border: 0;
	padding: 0;
}
.contact-action-card p {
	color: var(--color-muted);
	font-size: .95rem;
	line-height: 1.55;
	margin: 0 0 18px;
	flex-grow: 1;
}
.contact-action-card .btn {
	align-self: flex-start;
}

/* Salon details grid */
.contact-details-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	margin: 18px 0 36px;
}
.contact-detail-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 24px 22px;
}
.contact-detail-card__label {
	color: var(--color-accent-dark);
	font-family: var(--font-body);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	margin: 0 0 10px;
	text-transform: uppercase;
}
.contact-detail-card__primary {
	font-size: 1.05rem;
	line-height: 1.45;
	margin: 0 0 12px;
}
.contact-detail-card__note {
	color: var(--color-muted);
	font-size: .9rem;
	line-height: 1.5;
	margin: 8px 0 0;
}
.contact-hours {
	margin: 0 0 6px;
}
.contact-hours div {
	display: flex;
	justify-content: space-between;
	font-size: 1rem;
	padding: 4px 0;
}
.contact-hours dt {
	color: var(--color-muted);
	font-weight: 600;
}
.contact-hours dd {
	color: var(--color-text);
	margin: 0;
}

/* Map embed */
.contact-map {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	margin: 18px 0 36px;
	overflow: hidden;
}
.contact-map iframe {
	display: block;
	width: 100%;
	height: 360px;
	border: 0;
}

/* Decision helper grid */
.contact-decision-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	list-style: none;
	margin: 18px 0 36px;
	padding: 0;
}
.entry__content .contact-decision-card,
.contact-decision-card {
	background: var(--color-surface);
	border-left: 3px solid var(--color-accent);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	padding: 28px 32px 28px 32px;
}
.contact-decision-card h3 {
	font-family: var(--font-heading);
	font-size: 1.15rem;
	line-height: 1.2;
	margin: 0 0 8px;
}
.contact-decision-card p {
	color: var(--color-muted);
	font-size: .94rem;
	line-height: 1.55;
	margin: 0;
}
.contact-decision-card p strong {
	color: var(--color-text);
}

/* Pre-appointment checklist */
.contact-prep-checklist {
	background: var(--color-soft);
	border-radius: var(--radius-md);
	list-style: none;
	margin: 18px 0 36px;
	padding: 22px 26px;
}
.contact-prep-checklist li {
	color: var(--color-text);
	font-size: .98rem;
	line-height: 1.55;
	padding: 8px 0 8px 26px;
	position: relative;
}
.contact-prep-checklist li::before {
	color: var(--color-accent);
	content: "\2713";
	font-weight: 700;
	left: 0;
	position: absolute;
	top: 8px;
}
.contact-prep-checklist li strong {
	color: var(--color-text);
}

/* Contact page (post 28) — override support-story-entry "card" wrap + hero size */
.support-story-entry.post-28 {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}
.support-story-entry.post-28 .page-hero-figure {
	margin: 0 0 32px;
	box-shadow: none;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.support-story-entry.post-28 .page-hero-figure img {
	aspect-ratio: auto;
	max-height: 380px;
	width: 100%;
	height: 380px;
	object-fit: cover;
	object-position: center;
}

/* Action cards — bump padding so text doesn't crowd the edges */
.support-story-entry.post-28 .contact-action-card {
	padding: 32px 28px;
}
.support-story-entry.post-28 .contact-action-card h2,
.support-story-entry.post-28 .contact-action-card .contact-action-card__title {
	margin: 6px 0 12px;
}
.support-story-entry.post-28 .contact-action-card p {
	margin: 0 0 22px;
}

/* CTA hierarchy: Book Online dominant, Call + Directions secondary */
.contact-action-stack {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 28px 0 36px;
}
.contact-action-card--hero {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 24px 36px;
	align-items: center;
	padding: 36px 36px !important;
	background: var(--color-soft);
	border-color: var(--color-accent);
}
.contact-action-card--hero .contact-action-card__step {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
}
.contact-action-card--hero .contact-action-card__title {
	grid-column: 1;
	grid-row: 2;
	font-size: 1.85rem !important;
	margin: 0 !important;
}
.contact-action-card--hero p {
	grid-column: 1;
	grid-row: 3;
	margin: 0 !important;
	font-size: 1rem;
}
.contact-action-card--hero .btn {
	grid-column: 2;
	grid-row: 1 / span 3;
	align-self: center;
	padding: 18px 36px;
	font-size: 1.05rem;
}
.contact-action-grid--secondary {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
.contact-action-grid--secondary .contact-action-card {
	padding: 24px 24px;
}
.contact-action-grid--secondary .contact-action-card__title {
	font-size: 1.2rem !important;
}
.contact-action-grid--secondary .contact-action-card .btn {
	align-self: flex-start;
}

@media (max-width: 720px) {
	.contact-action-card--hero {
		grid-template-columns: 1fr;
	}
	.contact-action-card--hero .btn {
		grid-column: 1;
		grid-row: auto;
		justify-self: stretch;
		text-align: center;
	}
	.contact-action-grid--secondary {
		grid-template-columns: 1fr;
	}
}

/* Sidebar — ensure children render (override any inherited collapsing rules) */
.contact-sidebar__card > * {
	display: block;
}
.contact-sidebar__card .contact-sidebar__hours {
	display: block;
}
.contact-sidebar__card .contact-sidebar__hours div {
	display: flex;
}
.contact-sidebar__card .contact-sidebar__actions {
	display: flex;
}

/* Map iframe — force full width, eager render so Google Maps reflows properly */
.contact-map {
	min-height: 360px;
}
.contact-map iframe {
	width: 100% !important;
	min-width: 100%;
	height: 360px !important;
	display: block;
	border: 0;
}

/* Mobile: stack everything, drop sticky, smaller hero */
@media (max-width: 860px) {
	.contact-sidebar__card {
		position: static;
	}
	.contact-map,
	.contact-map iframe {
		min-height: 280px;
		height: 280px !important;
	}
	.support-story-entry.post-28 .page-hero-figure img {
		height: 260px;
		max-height: 260px;
	}
}

/* ============================================================
 * Mens haircut page — stat strip + Pre-Cut Read + salon vs barbershop grid
 * Added 2026-05-23 after WP kses stripped inline display:grid declarations
 * ============================================================ */
.sfs-mens-stat-strip {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	background: #ffffff;
	border: 1px solid #e9e2d4;
	border-radius: 10px;
	padding: 18px clamp(16px, 3vw, 28px);
	margin: 0 0 clamp(28px, 5vw, 44px) 0;
	text-align: center;
	font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
}
.sfs-mens-stat-strip > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
	justify-content: center;
}
.sfs-mens-stat-strip strong {
	display: block;
	font-size: 1.45rem;
	color: #c8a951;
	font-weight: 800;
	line-height: 1.1;
}
.sfs-mens-stat-strip span {
	display: block;
	font-size: 0.78rem;
	color: #555;
	line-height: 1.35;
}
@media (max-width: 900px) {
	.sfs-mens-stat-strip {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 18px;
	}
}
@media (max-width: 520px) {
	.sfs-mens-stat-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.sfs-mens-salon-vs-barbershop > div[style*="grid-template-columns"] {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 24px 0;
}
@media (max-width: 700px) {
	.sfs-mens-salon-vs-barbershop > div[style*="grid-template-columns"] {
		grid-template-columns: 1fr;
	}
}

.sfs-precut-read h3 { color: #f5f0e8 !important; margin: 0 0 12px; font-family: 'Libre Baskerville', Georgia, serif; }
.sfs-precut-read p  { line-height: 1.65; }

/* Mens fit-guide table — explicit contrast so theme body color does not wash it out */
.sfs-mens-fit-table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 0.95rem;
	background: #ffffff;
	color: #333333;
}
.sfs-mens-fit-table thead tr {
	background: #333333;
	color: #f5f0e8;
}
.sfs-mens-fit-table thead th {
	padding: 12px;
	text-align: left;
	color: #f5f0e8;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.sfs-mens-fit-table tbody td {
	padding: 12px;
	color: #333333;
	border-bottom: 1px solid #e9e2d4;
	vertical-align: top;
}
.sfs-mens-fit-table tbody td:nth-child(3) {
	color: #555555;
	font-style: italic;
}
.sfs-mens-fit-table tbody td:nth-child(4),
.sfs-mens-fit-table tbody td:nth-child(5) {
	text-align: center;
}
.sfs-mens-fit-table tbody tr:nth-child(even) {
	background: #faf7f1;
}
.sfs-mens-fit-table tbody tr td strong {
	color: #333333;
	font-weight: 700;
}

/* ---------------------------------------------------------------------------
 * Dark-background contrast fixes (2026-05-28)
 * Brand accent #8F3F2B fails WCAG AA on dark sections (e.g. #201c19 ~2.5:1).
 * Override inside dark contexts with a lighter warm tone that hits AAA.
 * --------------------------------------------------------------------------- */
.sf-decision-panel,
.sf-cta-band--closer,
.booking-cta,
.cta-band--dark,
.sf-hero--dark,
.site-footer {
	--sfs-dark-link: #F5C2A8;        /* ~10.5:1 on #201c19 — warm, on-brand */
	--sfs-dark-link-hover: #FFFFFF;
	--sfs-dark-eyebrow: #E9B8A7;     /* matches existing tone used in .sf-final-booking */
}

/* Only inline text links — not buttons — get the dark-bg color override. */
.sf-decision-panel a:not(.btn):not(.button),
.sf-cta-band--closer a:not(.btn):not(.button),
.booking-cta a:not(.btn):not(.button),
.cta-band--dark a:not(.btn):not(.button),
.sf-hero--dark a:not(.btn):not(.button),
.site-footer a:not(.btn):not(.button) {
	color: var(--sfs-dark-link);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}

.sf-decision-panel a:not(.btn):not(.button):hover,
.sf-decision-panel a:not(.btn):not(.button):focus,
.sf-cta-band--closer a:not(.btn):not(.button):hover,
.sf-cta-band--closer a:not(.btn):not(.button):focus,
.booking-cta a:not(.btn):not(.button):hover,
.booking-cta a:not(.btn):not(.button):focus,
.cta-band--dark a:not(.btn):not(.button):hover,
.cta-band--dark a:not(.btn):not(.button):focus,
.sf-hero--dark a:not(.btn):not(.button):hover,
.sf-hero--dark a:not(.btn):not(.button):focus,
.site-footer a:not(.btn):not(.button):hover,
.site-footer a:not(.btn):not(.button):focus {
	color: var(--sfs-dark-link-hover);
}

/* Contact sidebar — add breathing room above the action buttons (Book Online / phone). */
.contact-sidebar .sf-hero__actions {
	margin-top: 20px;
}

/* ---------------------------------------------------------------------------
 * Blog post — Scott portrait paired with first People-Also-Ask block (2026-05-28)
 * Server-side filter wraps the first scott-v5 figure + first .section--quick-answer
 * in a .sf-paa-pair div. CSS makes them an equal-width 2-column grid where the
 * image scales to match the answer card's height.
 * --------------------------------------------------------------------------- */
.sf-paa-pair {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: stretch;
	margin: 32px 0;
}
.sf-paa-pair__answer,
.sf-paa-pair__media {
	min-width: 0;
}
/* PAA section inside the grid: remove its own outer margin so the grid gap controls spacing. */
.sf-paa-pair__answer > .section--quick-answer,
.sf-paa-pair__answer .quick-answer {
	margin: 0;
	height: 100%;
}
.sf-paa-pair__media {
	margin: 0;
}
.sf-paa-pair__media figure.wp-block-image {
	margin: 0;
	height: 100%;
}
.sf-paa-pair__media figure.wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--radius-sm);
	margin: 0;
}

@media (min-width: 768px) {
	.sf-paa-pair {
		grid-template-columns: 1fr 1fr;
	}
}

/* Eyebrow text on dark panels: was inheriting default cream/terracotta with poor contrast. */
.sf-decision-panel .sf-eyebrow,
.sf-cta-band--closer .sf-eyebrow,
.booking-cta .sf-eyebrow,
.cta-band--dark .sf-eyebrow,
.sf-hero--dark .sf-eyebrow {
	color: var(--sfs-dark-eyebrow);
}

/* ---------------------------------------------------------------------------
 * Phase 16: single-post featured image sizing (2026-05-28)
 * The .entry__media.container--wide wrapper allowed the portrait featured image
 * to stretch to the full 1180px column. The served `large` variant is 819px
 * wide, so it upscaled (pixelation) and ran ~1475px tall (too large). Cap the
 * image to a sensible centered size so the browser always downscales (crisp)
 * and the portrait never dominates the viewport.
 * --------------------------------------------------------------------------- */
.single .entry__media {
	display: flex;
	justify-content: center;
}
.single .entry__media img {
	width: auto;
	max-width: 640px;
	max-height: 720px;
	height: auto;
	margin: 32px auto;
}
@media (max-width: 768px) {
	.single .entry__media img {
		max-width: 100%;
		max-height: none;
	}
}
