/* UX improvements layer (loaded after main.css) */

/* Trust bar under the hero */
.trust-bar {
	background: #fff;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	padding: 1.25rem 1.5rem;
}
.trust-bar__inner {
	max-width: var(--main-width, 80rem);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem 3rem;
	flex-wrap: wrap;
}
.trust-bar__label {
	margin: 0;
	font-family: var(--title-font, 'EB Garamond', serif);
	font-size: 1.35rem;
	color: var(--text-dark, #292929);
	white-space: nowrap;
}
.trust-bar__badges {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem 2.5rem;
	flex-wrap: wrap;
}
.trust-bar__badges li { margin: 0; padding: 0; }
.trust-bar__badges img {
	display: block;
	height: 5.5rem;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}
@media (max-width: 800px) {
	.trust-bar { padding: 1rem; }
	.trust-bar__label { white-space: normal; text-align: center; font-size: 1.15rem; }
	.trust-bar__badges { gap: .5rem .75rem; flex-wrap: nowrap; }
	.trust-bar__badges li { flex: 1 1 0; min-width: 0; }
	.trust-bar__badges img { height: 3.25rem; width: 100%; }
}

/* Small print under the home form (office directions) */
.form-note {
	margin: 1rem 0 0;
	font-size: .875rem;
	line-height: 1.5;
	text-align: center;
	opacity: .85;
}

/* "Read more reviews" button under the slider */
#ReviewsV12BtnCon { margin-top: 1.5rem; text-align: right; }
@media (max-width: 800px) { #ReviewsV12BtnCon { text-align: center; } }

/* SMS / privacy consent text under the contact form (CF7 template: <div class="form-consent">) */
.form-consent {
	margin: 1rem 0 0;
	font-size: .75rem;
	line-height: 1.45;
	text-align: left;
	opacity: .8;
}
.form-consent a { text-decoration: underline; }

/* ==========================================================================
   Compact header (all pages)
   ========================================================================== */

/* solid dark header bar */
#HeaderZone #HeaderV11Alt,
#HeaderZone #HeaderV11AltTopNavigation { background: var(--dark, #2D2D2D) !important; }

/* language strip */
#HeaderZone #NotificationBannerV2 { padding: 0 !important; }
#HeaderZone #NotificationBannerV2 .side-padding,
#HeaderZone #NotificationBannerV2Notification { padding-top: .4rem !important; padding-bottom: .4rem !important; }
#HeaderZone #NotificationBannerV2 p { margin: 0 !important; font-size: .8125rem; line-height: 1.3; }

@media (min-width: 1025px) {
	#HeaderZone #HeaderV11AltTopNavigation {
		display: flex !important;
		align-items: center;
		flex-wrap: nowrap;
		gap: 1.25rem;
		padding: .4rem 1.75rem;
	}
	/* flatten wrapper divs so logo, nav, phone, language and search sit in one row */
	#HeaderZone #HeaderV11AltTopNavigation > .flex-column,
	#HeaderZone #HeaderV11AltTopNavigation .top-bar,
	#HeaderZone #HeaderV11AltTopNavigation .bottom-bar { display: contents !important; }

	#HeaderZone .max-logo { flex: 0 0 auto; width: auto !important; padding: 0 !important; }
	#HeaderZone .top-logo { height: auto !important; width: auto !important; }
	#HeaderZone .top-logo img { height: 84px !important; width: auto !important; }

	#HeaderZone .top-nav { order: 2; flex: 1 1 auto; min-width: 0; height: auto !important; padding: 0 !important; }
	#HeaderZone .top-nav > ul { flex-wrap: wrap; justify-content: center; gap: .25rem 1.25rem; }
	#HeaderZone .top-nav a { font-size: .95rem; }
	#HeaderZone #HeaderV11AltPhoneLinks { order: 3; width: auto !important; margin: 0 !important; }
	#HeaderZone .phone-number-style { font-size: 1.4rem !important; white-space: nowrap; line-height: 1.2; }
	#HeaderZone #HeaderV11AltCta { order: 4; height: auto !important; margin: 0 !important; padding: 0 !important; }
	#HeaderZone #HeaderV11AltCta .btn { padding: .5rem 1rem; font-size: .95rem; min-height: 0; }
	#HeaderZone .search-link { order: 5; margin: 0 !important; width: 2.5rem; height: 2.5rem; padding: .55rem; }
}

@media (max-width: 1024px) {
	#HeaderZone #HeaderV11AltTopNavigation {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: .75rem;
		padding: .4rem 4.5rem .4rem 1rem;
	}
	#HeaderZone #HeaderV11AltTopNavigation > .flex-column,
	#HeaderZone #HeaderV11AltTopNavigation .top-bar,
	#HeaderZone #HeaderV11AltTopNavigation .bottom-bar { display: contents !important; }
	#HeaderZone .max-logo { flex: 0 0 auto; width: auto !important; padding: 0 !important; }
	#HeaderZone .top-logo { height: auto !important; width: auto !important; justify-content: flex-start; }
	#HeaderZone .top-logo img { height: 52px !important; width: auto !important; }
	#HeaderZone #HeaderV11AltPhoneLinks { width: auto !important; margin: 0 !important; }
	#HeaderZone .phone-number-style {
		display: inline-block;
		font-size: 1rem !important;
		line-height: 1.2;
		padding: .55rem .9rem;
		background: var(--buttons, #A2834C);
		color: #fff !important;
		border-radius: 2rem;
		white-space: nowrap;
	}
	#HeaderZone .search-link { display: none !important; }
	#HeaderZone #HeaderV11AltCta { margin-left: auto !important; }
	#HeaderZone #HeaderV11AltCta .btn { padding: .45rem .9rem; font-size: .9rem; min-height: 0; }
}
@media (max-width: 480px) {
	#HeaderZone #NotificationBannerV2 p { font-size: .6875rem; }
	#HeaderZone .top-logo img { height: 46px !important; }
	#HeaderZone .phone-number-style { font-size: .9rem !important; padding: .5rem .75rem; }
}

/* ==========================================================================
   Home hero: offer + lead form above the fold
   ========================================================================== */
.hero2 {
	position: relative;
	padding: 0 !important;
	background: #232323;
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.hero2::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--hero-bg) no-repeat right bottom / min(64vw, 1000px) auto;
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 28%), linear-gradient(to bottom, transparent 0, #000 22%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to right, transparent 0, #000 28%), linear-gradient(to bottom, transparent 0, #000 22%);
	mask-composite: intersect;
}
.hero2__inner {
	max-width: var(--main-width, 80rem);
	margin: 0 auto;
	padding: 1.5rem 1.5rem 2.5rem;
	display: grid;
	grid-template-columns: minmax(0, 30rem) 25rem 1fr;
	gap: 2.5rem;
	align-items: center;
}
.hero2__tagline {
	margin: 0 0 .5rem;
	font-family: var(--title-font, 'EB Garamond', serif);
	font-size: 1.35rem;
	font-style: italic;
	color: var(--accent-light, #E4CB77);
}
.hero2 h1 {
	margin: 0 0 .75rem;
	font-family: var(--title-font, 'EB Garamond', serif);
	font-weight: 400;
	font-size: clamp(2rem, 3.4vw, 3.1rem);
	line-height: 1.1;
	color: #fff;
}
.hero2__sub { margin: 0 0 1.1rem; font-size: 1.1rem; line-height: 1.5; color: #f1f1f1; }
.hero2__points { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.hero2__points li {
	position: relative;
	margin: 0 0 .5rem;
	padding-left: 1.7rem;
	font-size: 1rem;
	line-height: 1.4;
}
.hero2__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 1.05rem;
	height: 1.05rem;
	border-radius: 50%;
	background: var(--accent-dark, #A2834C) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.hero2__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.hero2__call { white-space: nowrap; font-size: 1.15rem; }
.hero2__link { color: var(--link-light, #E7D495); text-decoration: underline; font-size: .95rem; }

.hero2__card {
	background: #fff;
	color: var(--text-dark, #292929);
	border-radius: .5rem;
	padding: 1.5rem 1.5rem 1.25rem;
	box-shadow: 0 .75rem 2.5rem rgba(0, 0, 0, .45);
	border-top: .3rem solid var(--accent-dark, #A2834C);
}
.hero2__form-title {
	margin: 0;
	text-align: center;
	font-family: var(--title-font, 'EB Garamond', serif);
	font-weight: 400;
	font-size: 1.9rem;
	line-height: 1.1;
	color: var(--text-dark, #292929);
}
.hero2__form-sub { margin: .25rem 0 1rem; text-align: center; font-size: .95rem; color: #555; }
.hero2__form-note { margin: .6rem 0 0; text-align: center; font-size: .8rem; color: #666; }
/* tighter fields inside the hero card */
.hero2__card .wpcf7 form { margin: 0; }
.hero2__card .wpcf7 ul { display: flex; flex-wrap: wrap; gap: .6rem .75rem; margin: 0; padding: 0; list-style: none; }
.hero2__card .wpcf7 li { flex: 1 1 100%; margin: 0 !important; padding: 0 !important; min-width: 0; }
.hero2__card .wpcf7 li.half { flex: 1 1 calc(50% - .4rem); }
.hero2__card .wpcf7 .input-text { margin: 0 !important; }
.hero2__card .wpcf7 input.wpcf7-form-control:not([type=submit]),
.hero2__card .wpcf7 select.wpcf7-form-control,
.hero2__card .wpcf7 textarea.wpcf7-form-control {
	background-color: #f6f6f6 !important;
	border: 1px solid #c9c9c9 !important;
	border-radius: .25rem;
	color: #292929;
}
.hero2__card .wpcf7 input.wpcf7-form-control:not([type=submit]):focus,
.hero2__card .wpcf7 select.wpcf7-form-control:focus,
.hero2__card .wpcf7 textarea.wpcf7-form-control:focus { border-color: var(--accent-dark, #A2834C) !important; outline: 0; background-color: #fff !important; }
.hero2__card .wpcf7 input.wpcf7-form-control:not([type=submit]),
.hero2__card .wpcf7 select.wpcf7-form-control { min-height: 2.75rem; padding-top: .45rem; padding-bottom: .45rem; font-size: .95rem; }
.hero2__card .wpcf7 textarea.wpcf7-form-control { height: 5rem !important; font-size: .95rem; }
.hero2__card .wpcf7 .wpcf7-submit { width: 100%; min-height: 3rem; }
.hero2__card .wpcf7 .top-margin-tiny { margin-top: .5rem; }

/* tablet / small laptop: copy + form, no photo */
@media (max-width: 1359px) {
	/* only the city part of the photo (the portrait sits on the right and would be cropped) */
	.hero2::before { background-size: 220% auto; background-position: 0 40%; opacity: .3; -webkit-mask-image: none; mask-image: none; }
	.hero2__inner { grid-template-columns: minmax(0, 1fr) 25rem; }
}
/* phones: stacked, form right under the offer */
@media (max-width: 800px) {
	.hero2__inner { grid-template-columns: 1fr; gap: 1.5rem; padding: 1rem 1rem 1.75rem; }
	.hero2__tagline { font-size: 1.1rem; margin-bottom: .25rem; }
	.hero2 h1 { font-size: 1.95rem; }
	.hero2__sub { font-size: 1rem; margin-bottom: .8rem; }
	.hero2__points li { font-size: .95rem; margin-bottom: .35rem; }
	.hero2__points li:nth-child(n+4) { display: none; }
	.hero2__actions { flex-direction: column; align-items: stretch; gap: .6rem; }
	.hero2__call { text-align: center; }
	.hero2__link { text-align: center; }
	.hero2__card { padding: 1.25rem 1rem 1rem; }
}

/* intro paragraph moved from the old hero */
.lead-promise { font-size: 1.1rem; line-height: 1.6; }

/* "How it works" card */
.steps-list { list-style: none; counter-reset: step; margin: 1rem 0 0; padding: 0; }
.steps-list li {
	counter-increment: step;
	position: relative;
	padding: 0 0 1.1rem 3.2rem;
	margin: 0;
}
.steps-list li::before {
	content: counter(step);
	position: absolute;
	left: 0;
	top: 0;
	width: 2.3rem;
	height: 2.3rem;
	border-radius: 50%;
	background: var(--accent-dark, #A2834C);
	color: #fff;
	font-weight: 700;
	line-height: 2.3rem;
	text-align: center;
}
.steps-list strong { display: block; font-size: 1.05rem; margin-bottom: .15rem; }
.steps-list span { display: block; font-size: .95rem; line-height: 1.5; }

/* ==========================================================================
   Mobile sticky call / case review bar
   ========================================================================== */
.mobile-cta { display: none; }
@media (max-width: 800px) {
	.mobile-cta {
		display: flex;
		gap: .5rem;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		padding: .5rem 4.75rem .5rem .6rem; /* right space keeps the chat bubble clear */
		background: rgba(35, 35, 35, .96);
		box-shadow: 0 -.25rem 1rem rgba(0, 0, 0, .3);
		transform: translateY(110%);
		transition: transform .25s ease;
	}
	.mobile-cta.is-visible { transform: translateY(0); }
	.mobile-cta a {
		flex: 1 1 0;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 2.9rem;
		border-radius: .35rem;
		font-weight: 700;
		font-size: .95rem;
		text-decoration: none;
		text-align: center;
		line-height: 1.15;
	}
	.mobile-cta__call { background: var(--buttons, #A2834C); color: #fff; }
	.mobile-cta__form { background: #fff; color: var(--text-dark, #292929); }
	body { padding-bottom: 0; }
}

/* hero form: phone + email share a row; hide the empty SMS-verify slot */
.hero2__card .wpcf7 .twcf7-verify-off li.code { display: none; }
.hero2__card .wpcf7 li:nth-child(3),
.hero2__card .wpcf7 li:nth-child(5) { flex: 1 1 calc(50% - .4rem); }
@media (max-width: 800px) {
	.hero2__card .wpcf7 li:nth-child(3),
	.hero2__card .wpcf7 li:nth-child(5) { flex: 1 1 100%; }
}

/* form feedback messages must not leave a gap when empty */
.hero2__card .wpcf7 .wpcf7-response-output { margin: .5rem 0 0 !important; padding: 0 !important; border: 0 !important; }
.hero2__card .wpcf7 .screen-reader-response { position: absolute; }

/* narrower desktops: keep the nav on one line */
@media (min-width: 1025px) and (max-width: 1359px) {
	#HeaderZone #HeaderV11AltTopNavigation { gap: 1rem; padding-left: 1.25rem; padding-right: 1.25rem; }
	#HeaderZone .top-logo img { height: 76px !important; }
	#HeaderZone .top-nav > ul { gap: .2rem .9rem; flex-wrap: nowrap; }
	#HeaderZone .top-nav a { font-size: .875rem; white-space: nowrap; }
	#HeaderZone .phone-number-style { font-size: 1.2rem !important; }
	#HeaderZone .search-link { display: none !important; }
}

/* tablets (801-1024): inline menu button; phones (<=800): floating one */
@media (min-width: 801px) and (max-width: 1024px) {
	#HeaderZone .menu-btn.mobile { display: none !important; }
	#HeaderZone .menu-btn.desktop { display: block !important; order: 6; margin: 0 !important; }
}
@media (max-width: 800px) {
	#HeaderZone .menu-btn.desktop { display: none !important; }
	#HeaderZone .menu-btn.mobile { display: block !important; top: 2.1rem !important; right: .6rem !important; width: 3rem; height: 3rem; }
}

/* CF7 spinner must not take a row under the submit button */
.hero2__card .wpcf7 .wpcf7-submit { position: relative; }
.hero2__card .wpcf7 .wpcf7-spinner { position: absolute; margin: 0; right: 1rem; bottom: 1rem; visibility: hidden; }
.hero2__card .wpcf7 form.submitting .wpcf7-spinner { visibility: visible; }
.hero2__card .wpcf7 .top-margin-tiny { position: relative; }

/* ==========================================================================
   Long text blocks: first lines visible, rest behind "Read more"
   (all text stays in the HTML; without JS everything is shown)
   ========================================================================== */
.wc-clamp-inner.is-clamped {
	max-height: var(--clamp-h, 15rem);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(#000 calc(100% - 4.5rem), transparent);
	mask-image: linear-gradient(#000 calc(100% - 4.5rem), transparent);
}
.wc-clamp-inner.is-clamped.is-open { max-height: none; -webkit-mask-image: none; mask-image: none; }
.wc-clamp-toggle {
	display: inline-block;
	margin: .5rem 0 0;
	padding: .25rem 0;
	background: none;
	border: 0;
	font: inherit;
	font-weight: 700;
	color: var(--link-dark, #A2834C);
	text-decoration: underline;
	cursor: pointer;
}
@media (max-width: 800px) {
	.wc-clamp-inner.is-clamped { max-height: calc(var(--clamp-h, 15rem) * .75); }
}

/* ==========================================================================
   Home FAQ
   ========================================================================== */
.home-faq { background: #fff; padding: 4rem 1.5rem; }
.home-faq__inner { max-width: 56rem; margin: 0 auto; }
.home-faq__head { text-align: center; margin-bottom: 1.75rem; }
.home-faq__head h2 { margin: 0 0 .5rem; font-family: var(--title-font, 'EB Garamond', serif); font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; color: var(--text-dark, #292929); }
.home-faq__head p { margin: 0; font-size: 1.05rem; color: #555; }
.home-faq__head a { color: var(--link-dark, #A2834C); font-weight: 700; white-space: nowrap; }
.home-faq__item { border: 1px solid rgba(0, 0, 0, .14); border-radius: .35rem; margin: 0 0 .6rem; background: #fff; }
.home-faq__item[open] { border-color: var(--accent-dark, #A2834C); box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .08); }
.home-faq__item summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 1rem 3rem 1rem 1.25rem;
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.4;
	color: var(--text-dark, #292929);
}
.home-faq__item summary::-webkit-details-marker { display: none; }
.home-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 1.1rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1;
	color: var(--accent-dark, #A2834C);
}
.home-faq__item[open] summary::after { content: "\2212"; }
.home-faq__answer { padding: 0 1.25rem 1.1rem; }
.home-faq__answer p { margin: 0 0 .6rem; line-height: 1.6; }
.home-faq__answer a { color: var(--link-dark, #A2834C); font-weight: 700; }
@media (max-width: 800px) { .home-faq { padding: 2.5rem 1rem; } }

/* Spanish menu labels are longer: keep the nav on one line */
@media (min-width: 1025px) {
	body[class*="espanol"] #HeaderZone .top-nav > ul { flex-wrap: nowrap; gap: .2rem .8rem; }
	body[class*="espanol"] #HeaderZone .top-nav a { font-size: .82rem; white-space: nowrap; }
	body[class*="espanol"] #HeaderZone .phone-number-style { font-size: 1.2rem !important; }
	body[class*="espanol"] #HeaderZone .search-link { display: none !important; }
}

/* ==========================================================================
   Attorney strip (home)
   ========================================================================== */
.team-strip { margin-top: 2.5rem; text-align: center; }
.team-strip__title { margin: 0 0 1.25rem; font-family: var(--title-font, 'EB Garamond', serif); font-weight: 400; font-size: 1.8rem; color: #fff; }
.team-strip__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.team-strip__list li { margin: 0; padding: 0; }
.team-strip__list a { display: block; text-decoration: none; color: #fff; }
.team-strip__list img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: .35rem;
	border: 1px solid rgba(255, 255, 255, .2);
	transition: transform .2s ease, border-color .2s ease;
}
.team-strip__list a:hover img, .team-strip__list a:focus-visible img { transform: translateY(-3px); border-color: var(--accent-light, #E4CB77); }
.team-strip__list strong { display: block; margin-top: .6rem; font-size: 1.05rem; font-weight: 700; }
.team-strip__list span { display: block; font-size: .875rem; color: var(--accent-light, #E4CB77); }
.team-strip__more { margin: 1.5rem 0 0; }
@media (max-width: 800px) { .team-strip__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } }

/* Static office list shown instead of Google Maps until an API key is set */
.map-fallback {
	background: #2d2d2d;
	color: #fff;
	padding: 2rem 1.75rem;
	height: 100%;
	box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .25);
}
.map-fallback h3 { margin: 0 0 1.25rem; font-family: var(--title-font, 'EB Garamond', serif); font-weight: 400; font-size: 1.7rem; color: #fff; }
.map-fallback ul { list-style: none; margin: 0; padding: 0; }
.map-fallback li { margin: 0 0 1.4rem; padding: 0 0 1.4rem; border-bottom: 1px solid rgba(255, 255, 255, .15); }
.map-fallback li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.map-fallback strong { display: block; font-size: 1.1rem; color: var(--accent-light, #E4CB77); }
.map-fallback address { margin: .25rem 0 .5rem; font-style: normal; line-height: 1.5; }
.map-fallback a { color: var(--link-light, #E7D495); font-weight: 700; text-decoration: underline; }
.map-fallback.is-standby { display: none; }
.maps-failed .map-fallback.is-standby { display: block; }
.maps-failed .map-container { display: none !important; }

/* Spanish headings are longer */
html[lang^="es"] .hero2 h1 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); }

/* ==========================================================================
   Reviews: three side by side on desktop, stars on every review
   ========================================================================== */
.review-stars { display: block; margin: 0 0 .4rem; color: var(--accent-light, #E4CB77); font-size: 1.15rem; letter-spacing: .15em; line-height: 1; }
@media (min-width: 1025px) {
	#ReviewsV12 .main > .flex-between-auto-responsive-margined > picture { display: none !important; }
	#ReviewsV12 .main > .flex-between-auto-responsive-margined > .bg-box { flex: 1 1 100%; width: 100%; max-width: 100%; }
	#ReviewsV12Header { text-align: center; }
	#ReviewsV12Header .header-flair { margin-left: auto; margin-right: auto; }
	#ReviewsV12Feed ul[data-role="list"] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; margin: 0; padding: 0; list-style: none; }
	#ReviewsV12Feed ul[data-role="list"] > li { width: auto; margin: 0; }
	#ReviewsV12Feed blockquote { height: 100%; margin: 0; padding: 1.5rem !important; background: rgba(0, 0, 0, .35); border-top: 3px solid var(--accent-dark, #A2834C); border-radius: .35rem; }
	#ReviewsV12Feed [data-role="arrows"] { display: none !important; }
	#ReviewsV12BtnCon { text-align: center; }
}

/* ==========================================================================
   Help-at-every-stage grid
   ========================================================================== */
.svc-grid { background: #f6f4ef; padding: 4rem 1.5rem; }
.svc-grid__inner { max-width: var(--main-width, 80rem); margin: 0 auto; }
.svc-grid__head { text-align: center; margin-bottom: 2rem; }
.svc-grid__head h2 { margin: 0 0 .5rem; font-family: var(--title-font, 'EB Garamond', serif); font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.15; color: var(--text-dark, #292929); }
.svc-grid__head p { margin: 0; font-size: 1.05rem; color: #555; }
.svc-grid__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.svc-grid__list li { margin: 0; padding: 0; }
.svc-grid__list a {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.25rem 1.25rem 1rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .1);
	border-top: 3px solid var(--accent-dark, #A2834C);
	border-radius: .35rem;
	text-decoration: none;
	color: var(--text-dark, #292929);
	transition: box-shadow .2s ease, transform .2s ease;
}
.svc-grid__list a:hover, .svc-grid__list a:focus-visible { box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .12); transform: translateY(-2px); }
.svc-grid__list strong { display: block; margin-bottom: .35rem; font-size: 1.1rem; line-height: 1.3; }
.svc-grid__list span { flex: 1 1 auto; font-size: .95rem; line-height: 1.5; color: #555; }
.svc-grid__list em { display: block; margin-top: .75rem; font-style: normal; font-weight: 700; font-size: .9rem; color: var(--link-dark, #A2834C); }
.svc-grid__cta a { background: #2d2d2d; color: #fff; border-color: #2d2d2d; border-top-color: var(--accent-light, #E4CB77); }
.svc-grid__cta span { color: #ddd; }
.svc-grid__cta em { color: var(--accent-light, #E4CB77); font-size: 1.05rem; }
@media (max-width: 1024px) { .svc-grid__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) {
	.svc-grid { padding: 2.5rem 1rem; }
	.svc-grid__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.svc-grid__list a { padding: 1rem .9rem .85rem; }
	.svc-grid__list strong { font-size: 1rem; }
	.svc-grid__list span { font-size: .875rem; }
}
@media (max-width: 480px) { .svc-grid__list span { display: none; } .svc-grid__cta span { display: block; } }
.svc-grid__cta em { white-space: nowrap; }
@media (max-width: 480px) { .svc-grid__cta em { font-size: .95rem; } }

/* ==========================================================================
   Contact page: call card + what happens next
   ========================================================================== */
.contact-call {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: 1.5rem 2.5rem;
	align-items: center;
	margin: 0 auto 1.5rem;
	padding: 1.5rem 2rem;
	max-width: 62rem;
	background: #2d2d2d;
	color: #fff;
	border-radius: .5rem;
	border-top: .3rem solid var(--accent-dark, #A2834C);
	text-align: left;
}
.contact-call__label { display: block; font-size: .95rem; color: var(--accent-light, #E4CB77); }
.contact-call__phone { display: block; margin: .15rem 0; font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 700; color: #fff; text-decoration: none; letter-spacing: .02em; white-space: nowrap; }
.contact-call__note { display: block; font-size: .85rem; color: #ddd; }
.contact-call__steps { list-style: none; counter-reset: cs; margin: 0; padding: 0; }
.contact-call__steps li { counter-increment: cs; position: relative; margin: 0 0 .6rem; padding-left: 2.2rem; font-size: .95rem; line-height: 1.45; }
.contact-call__steps li:last-child { margin-bottom: 0; }
.contact-call__steps li::before { content: counter(cs); position: absolute; left: 0; top: 0; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--accent-dark, #A2834C); color: #fff; font-weight: 700; font-size: .85rem; line-height: 1.6rem; text-align: center; }
@media (max-width: 800px) { .contact-call { grid-template-columns: 1fr; padding: 1.25rem 1rem; } }

/* ==========================================================================
   Practice / long-content pages: guide TOC, inline calls to action, sticky form
   ========================================================================== */
.page-toc { margin: 0 0 1.5rem; padding: 1rem 1.25rem; background: #f6f4ef; border: 1px solid rgba(0, 0, 0, .1); border-left: 4px solid var(--accent-dark, #A2834C); border-radius: .35rem; }
.page-toc summary { cursor: pointer; font-weight: 700; font-size: 1.05rem; list-style: none; }
.page-toc summary::-webkit-details-marker { display: none; }
.page-toc summary::after { content: " \25BE"; color: var(--accent-dark, #A2834C); }
.page-toc[open] summary::after { content: " \25B4"; }
.page-toc ol { margin: .75rem 0 0; padding-left: 1.25rem; columns: 2; column-gap: 2rem; }
.page-toc li { margin: 0 0 .4rem; break-inside: avoid; font-size: .95rem; line-height: 1.4; }
.page-toc a { color: var(--link-dark, #A2834C); }
@media (max-width: 800px) { .page-toc ol { columns: 1; } }

.inline-cta { margin: 2rem 0; padding: 1.25rem 1.5rem; background: #2d2d2d; color: #fff; border-radius: .5rem; border-left: 4px solid var(--accent-light, #E4CB77); display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
.inline-cta p { margin: 0; flex: 1 1 16rem; font-size: 1.05rem; line-height: 1.4; color: #fff; }
.inline-cta a { flex: 0 0 auto; padding: .7rem 1.2rem; border-radius: .3rem; font-weight: 700; text-decoration: none; text-align: center; }
.inline-cta__call { background: var(--buttons, #A2834C); color: #fff !important; }
.inline-cta__form { background: #fff; color: #292929 !important; }

/* sidebar form: compact, and it follows the reader on tall screens */
.side-contact .wpcf7 ul { display: flex; flex-wrap: wrap; gap: .55rem .75rem; margin: 0; padding: 0; list-style: none; }
.side-contact .wpcf7 li { flex: 1 1 100%; margin: 0 !important; padding: 0 !important; min-width: 0; }
.side-contact .wpcf7 li.half { flex: 1 1 calc(50% - .4rem); }
.side-contact .wpcf7 li.code { display: none; }
.side-contact .wpcf7 .input-text { margin: 0 !important; }
.side-contact .wpcf7 input.wpcf7-form-control:not([type=submit]),
.side-contact .wpcf7 select.wpcf7-form-control { min-height: 2.6rem; padding-top: .4rem; padding-bottom: .4rem; }
.side-contact .wpcf7 textarea.wpcf7-form-control { height: 4.5rem !important; }
.side-contact .wpcf7 .wpcf7-spinner { position: absolute; margin: 0; visibility: hidden; }
.side-contact .wpcf7 .wpcf7-response-output { margin: .5rem 0 0 !important; padding: 0 !important; border: 0 !important; }
#TwoColumnLayout { overflow: clip !important; }
@media (min-width: 1025px) and (min-height: 860px) {
	.side-zone .side-contact { position: sticky; top: 1rem; }
}

/* compact sub-banner on phones */
@media (max-width: 800px) {
	#SubBannerV2 { min-height: 0 !important; }
}

/* A/B test "mobile_bar", variant B */
.ab-no-mobile-bar .mobile-cta { display: none !important; }

/* hero form variant B (3 fields) */
.hero2__form-b[hidden], .hero2__form-a[hidden] { display: none !important; }
.hero2__form-b .wpcf7 textarea.wpcf7-form-control { height: 4.5rem !important; }

/* The submit button turned white-on-white after the first click / validation error: keep it readable */
html body .wpcf7 .wpcf7-submit:hover,
html body .wpcf7 .wpcf7-submit:focus,
html body .wpcf7 .wpcf7-submit:focus-visible,
html body .wpcf7 .wpcf7-submit:active {
	background-color: #8f7140 !important;
	border-color: #8f7140 !important;
	color: #fff !important;
}
