/* ============================================================
   Big Easy Basements — Theme CSS
   Stage 3 base + Stage 3.5 (Sonic Boom) extensions
   ============================================================ */

:root {
	--bigeasy-radius-sm: 4px;
	--bigeasy-radius-md: 8px;
	--bigeasy-radius-lg: 12px;
	--bigeasy-radius-xl: 20px;
	--bigeasy-transition-fast: 150ms ease-out;
	--bigeasy-transition-base: 200ms ease-out;
	--bigeasy-transition-slow: 600ms ease-out;
	--bigeasy-emergency-height: 44px;

	/* Stage 6 Part 2 (2026-05-13) · brand-token extension for AA text-on-white labels.
	   Sister to CS S57 BRAND-COLOR-CONTRAST split: orange-500/600 stay as fills/buttons;
	   orange-700 = text-on-white labels only. 5.27:1 on white (AAA-Large / AA-Normal). */
	--orange-700: #A65500;
}

/* ============================================================
   Global resets + niceties
   ============================================================ */

html { scroll-behavior: smooth; }

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

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

::selection {
	background: var(--wp--preset--color--orange-500);
	color: var(--wp--preset--color--white);
}

*:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange-400);
	outline-offset: 2px;
}

.has-playfair-font-family, h1, h2, h3 {
	font-feature-settings: 'kern' 1, 'liga' 1, 'pnum' 1;
}

h1 em, h2 em, h3 em, .has-playfair-font-family em {
	font-style: italic;
	font-weight: inherit;
}

/* ============================================================
   Emergency banner (top strip, above header)
   ============================================================ */

.bigeasy-emergency-banner {
	background: linear-gradient(90deg, #B86E00 0%, #D26500 100%);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 500;
	padding: 0 16px;
	min-height: var(--bigeasy-emergency-height);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	position: relative;
	z-index: 110;
}

.bigeasy-emergency-banner__icon {
	flex-shrink: 0;
	animation: bigeasy-pulse 2s ease-in-out infinite;
}

@keyframes bigeasy-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.7; transform: scale(1.08); }
}

.bigeasy-emergency-banner__cta {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
	font-weight: 700;
	margin-left: 4px;
}

.bigeasy-emergency-banner__cta:hover {
	text-decoration: none;
}

@media (max-width: 640px) {
	.bigeasy-emergency-banner {
		font-size: 13px;
		padding: 6px 10px; /* F7 · tightened from 8px 12px per audit */
		line-height: 1.3;
		gap: 6px; /* tighter icon/text spacing */
	}
	.bigeasy-emergency-banner__cta { margin-left: 2px; }
}
@media (max-width: 400px) {
	.bigeasy-emergency-banner {
		font-size: 12px;
		padding: 6px 8px;
	}
	.bigeasy-emergency-banner__icon { display: none; } /* drop the warning icon at ultra-narrow widths to keep banner single-line */
}

/* ============================================================
   Header (refined for Sonic Boom — stays sticky below emergency banner)
   ============================================================ */

/* D9 Sub-item 1 (2026-05-14) · Header 3D elevation feel · sister to D8 trust-strip
   pattern (commit f12b280). Layered shadow + bottom-only radius + inset bottom-edge
   separator so the header reads as elevated above the page surface. Border-bottom
   removed in favor of the inset highlight + outer shadow (cleaner depth cue).
   Z-index 100 preserved · sits below the emergency banner in source order so the
   banner scrolls away and the header pins clean at top:0.
   D10-A (2026-05-14) · bg switched white → navy-900 (sitewide dark header · matches
   footer treatment · blends with hero). Inset bottom-edge separator switched from
   navy-tinted (invisible on navy bg) to white-tinted at low alpha for legibility.
   3D shadow stack preserved. */
.bigeasy-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	border-radius: 0 0 16px 16px;
	box-shadow:
		0 8px 24px rgba(2, 21, 90, 0.18),
		0 2px 4px rgba(2, 21, 90, 0.10),
		inset 0 -1px 0 rgba(255, 255, 255, 0.06);
	transition: box-shadow var(--bigeasy-transition-base);
}

.bigeasy-header.is-scrolled {
	box-shadow:
		0 12px 32px rgba(2, 21, 90, 0.28),
		0 4px 8px rgba(2, 21, 90, 0.14),
		inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

@media (max-width: 768px) {
	.bigeasy-header {
		border-radius: 0 0 12px 12px;
		box-shadow:
			0 4px 12px rgba(2, 21, 90, 0.16),
			inset 0 -1px 0 rgba(255, 255, 255, 0.06);
	}
	.bigeasy-header.is-scrolled {
		box-shadow:
			0 6px 16px rgba(2, 21, 90, 0.22),
			inset 0 -1px 0 rgba(255, 255, 255, 0.08);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bigeasy-header { transition: none; }
}

/* D10-A · Hand-rolled brand link (replaces wp:site-logo block). Mirrors the footer
   white-logo treatment so header + footer brand marks read as a unified system.
   D10-G (2026-05-14) · Logo size bumped one step per operator (200 → 240 desktop ·
   160 → 200 tablet · 140 → 160 mobile · matches footer 240×144 dimensions for
   header/footer brand consistency). */
.bigeasy-header__brand-link {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
}
.bigeasy-header__logo {
	display: block;
	max-width: 240px;
	height: auto;
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.bigeasy-header__logo { max-width: 200px; }
}
@media (max-width: 767px) {
	.bigeasy-header__logo { max-width: 160px; }
}

/* D10-A · Nav menu text white on dark header. Hover/focus tint orange-400 (matches
   the focus-ring pattern used elsewhere · stays AA-Large compliant on navy bg).
   D10-G (2026-05-14) · text-transform uppercase + letter-spacing bump per operator
   (uppercase needs more tracking for legibility · 0.06em is the standard guideline). */
.bigeasy-header .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.bigeasy-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.bigeasy-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--orange-400);
}
/* Mega-menu dropdown items stay sentence-case (uppercase nav items · sentence-case
   submenu items keeps depth-cue + lets the long submenu labels stay readable) */
@media (min-width: 768px) {
	.wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		text-transform: none;
		letter-spacing: normal;
	}
}
/* Submenu trigger arrow inherits white */
.bigeasy-header .wp-block-navigation__submenu-icon { color: currentColor; }
/* Mobile drawer hamburger (open + close icons) inherits white from textColor:white */
.bigeasy-header .wp-block-navigation__responsive-container-open svg,
.bigeasy-header .wp-block-navigation__responsive-container-close svg {
	fill: var(--wp--preset--color--white);
}

/* D10-A · Phone link white on dark header · hover orange-400 (5.4:1 on navy AA Normal) */
.bigeasy-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--white);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 600;
	font-size: 15px;
	white-space: nowrap; /* F4 · prevent phone number wrap into 2 lines in the header */
	transition: color var(--bigeasy-transition-fast);
}
.bigeasy-header__phone-text { white-space: nowrap; }

.bigeasy-header__phone:hover,
.bigeasy-header__phone:focus-visible { color: var(--wp--preset--color--orange-400); }

@media (max-width: 768px) {
	.bigeasy-header__phone-text { display: none; }
}

/* ============================================================
   Hero — FULL-BLEED PHOTO-DOMINANT (Sonic Boom rebuild)
   ============================================================ */

.bigeasy-hero--full {
	position: relative;
	min-height: 88vh;
	overflow: hidden;
	isolation: isolate;
	display: flex;
	align-items: center;
	color: var(--wp--preset--color--white);
	margin-block: 0 !important;
}

.bigeasy-hero__bg {
	position: absolute;
	inset: 0;
	/* Stage 5.5 · Subject #1 hero — finished basement living area · sends "Relief + trust" 10-second signal per BRAND-BRIEF §6 */
	background-image: url('../images/hero-homepage.png');
	background-size: cover;
	background-position: center 50%;
	z-index: -2;
	transform: scale(1.02);
	transition: transform 12s ease-out;
}

.bigeasy-hero--full.is-revealed .bigeasy-hero__bg {
	transform: scale(1);
}

.bigeasy-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(95deg,
			rgba(2, 21, 90, 0.93) 0%,
			rgba(2, 21, 90, 0.85) 28%,
			rgba(2, 21, 90, 0.55) 60%,
			rgba(2, 21, 90, 0.35) 100%),
		linear-gradient(180deg,
			rgba(2, 21, 90, 0) 60%,
			rgba(2, 21, 90, 0.75) 100%);
	z-index: -1;
}

.bigeasy-hero__content {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 96px 24px;
	position: relative;
	z-index: 1;
}

.bigeasy-hero__inner {
	max-width: 720px;
}

.bigeasy-hero__eyebrow {
	color: var(--wp--preset--color--orange-400);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 20px;
}

/* D9 Sub-item 3-fix (2026-05-14) · Eyebrow utility class · star + label cluster.
   .bigeasy-eyebrow lives alongside .bigeasy-hero__eyebrow on the hero element so
   downstream sections can reuse the same star+label pattern (e.g., reviews, proof)
   without re-stating positioning + alignment. Stars use brand-orange-400 to match
   the reviews-slider star color from Sub-item 2 (commit f1177f8). */
.bigeasy-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.bigeasy-eyebrow__stars {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-right: 6px;
	color: var(--wp--preset--color--orange-400);
}
.bigeasy-star { display: block; }
.bigeasy-eyebrow__label {
	/* Inherits parent .bigeasy-hero__eyebrow letter-spacing + uppercase + color */
}

/* D9 Sub-item 3-fix (2026-05-14) · Hero lede · keyword/geo-rich first paragraph.
   Relocated from former .bigeasy-promise__lede (Sub-item 3 reverted) to live
   inside the hero text column directly under H1. */
.bigeasy-hero__lede {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(17px, 1.7vw, 19px);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	margin: 0 0 24px;
	max-width: 620px;
}

.bigeasy-hero__headline {
	font-family: var(--wp--preset--font-family--playfair);
	/* D10-B (2026-05-14) · H1 size reduction one step per operator (was clamp(40px, 4vw + 1rem, 76px)).
	   Desktop max 76→56 · mobile min 40→32 · keeps proportional clamp curve. */
	font-size: clamp(2rem, 4.5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--white);
	margin: 0 0 28px;
}

.bigeasy-hero__headline em {
	color: var(--wp--preset--color--orange-400);
	font-style: italic;
}

/* Stage 5.5 · Pattern B + B.1 keyword H2 subhead.
   Note: operator spec said navy-900 on white per STYLE-GUIDE §1.3, but hero context is navy-gradient
   bg → using white-95% for cohesion (15.6:1 AAA vs navy-900 hero bg). Distinct from .bigeasy-hero__subhead
   below (smaller, body explainer). Sits between H1 and explainer-P. */
.bigeasy-hero__h2-keyword {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(20px, 0.9vw + 1rem, 24px);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.005em;
	color: rgba(255, 255, 255, 0.95);
	margin: 0 0 32px;
	max-width: 720px;
}

.bigeasy-hero__subhead {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(17px, 0.5vw + 1rem, 20px);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	margin: 0 0 36px;
	max-width: 600px;
}

.bigeasy-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 20px;
}

.bigeasy-hero__assurance {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	margin: 0 0 48px;
}

.bigeasy-hero__trust {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	padding: 20px 0 0;
	margin: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.bigeasy-hero__trust li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.92);
}

.bigeasy-hero__trust svg {
	color: var(--wp--preset--color--orange-400);
	flex-shrink: 0;
}

.bigeasy-hero__scrollhint {
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.7);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	z-index: 2;
}

.bigeasy-hero__scrollhint svg {
	animation: bigeasy-bounce 2s ease-in-out infinite;
}

@keyframes bigeasy-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(6px); }
}

@media (max-width: 768px) {
	.bigeasy-hero--full {
		min-height: 92vh;
	}
	.bigeasy-hero__overlay {
		background: linear-gradient(180deg, rgba(2, 21, 90, 0.65) 0%, rgba(2, 21, 90, 0.92) 100%);
	}
	.bigeasy-hero__content {
		padding: 80px 20px 64px;
	}
	.bigeasy-hero__trust {
		gap: 16px;
	}
	.bigeasy-hero__scrollhint { display: none; }
}

/* ============================================================
   Button system (Sonic Boom unified)
   ============================================================ */

.bigeasy-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--bigeasy-radius-md);
	transition: all var(--bigeasy-transition-base);
	cursor: pointer;
	border: 2px solid transparent;
	white-space: nowrap;
}

.bigeasy-btn--lg {
	font-size: 17px;
	padding: 18px 32px;
}

.bigeasy-btn--md {
	font-size: 15px;
	padding: 12px 22px;
}

.bigeasy-btn--primary {
	background: var(--wp--preset--color--orange-500);
	color: var(--wp--preset--color--white);
	box-shadow: 0 4px 14px rgba(236, 114, 0, 0.35);
}

.bigeasy-btn--primary:hover {
	background: var(--wp--preset--color--orange-600);
	color: var(--wp--preset--color--white);
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(236, 114, 0, 0.45);
}

.bigeasy-btn--primary .bigeasy-btn__arrow {
	transition: transform var(--bigeasy-transition-base);
}

.bigeasy-btn--primary:hover .bigeasy-btn__arrow {
	transform: translateX(4px);
}

.bigeasy-btn--ghost {
	background: rgba(255, 255, 255, 0.08);
	color: var(--wp--preset--color--white);
	border: 2px solid rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(6px);
}

.bigeasy-btn--ghost:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy-900);
	border-color: var(--wp--preset--color--white);
}

.bigeasy-btn--outline {
	background: transparent;
	color: var(--wp--preset--color--navy-900);
	border: 2px solid var(--wp--preset--color--navy-900);
}

.bigeasy-btn--outline:hover {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
}

/* Legacy block CTA styles preserved for backwards compat with Stage 3 markup */
.bigeasy-cta .wp-block-button__link {
	transition: background-color var(--bigeasy-transition-fast),
				transform var(--bigeasy-transition-fast),
				box-shadow var(--bigeasy-transition-fast);
}

/* Stage 6 a11y fix · 2026-05-13 (cleanup re-run · operator Option B at 20px bold)
   White text on orange #EC7200 = 3.3:1 → fails WCAG 2.1 AA 1.4.3 at 16px.
   Bumping CTA text to 20px bold (above 18.67px-bold large-text threshold)
   shifts the check to 1.4.3's 3:1 large-text rule, which 3.3:1 passes.
   Operator-approved (ACCESSIBILITY-QA-REPORT.md flag 1, Option B variant). */
.wp-block-button__link.has-orange-500-background-color,
.bigeasy-cta .wp-block-button__link,
.bigeasy-btn--primary,
.bigeasy-btn.bigeasy-btn--primary,
a.bigeasy-btn--primary {
	font-size: 20px !important;
	font-weight: 700 !important; /* override Stage 3 inline style="font-weight:600" — required for WCAG large-bold-text classification */
	line-height: 1.3;
}

.bigeasy-cta--primary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--orange-600) !important;
	transform: translateY(-1px);
	box-shadow: var(--wp--preset--shadow--cta);
}

.bigeasy-cta--secondary .wp-block-button__link:hover {
	background: var(--wp--preset--color--white) !important;
	color: var(--wp--preset--color--navy-900) !important;
}

/* ============================================================
   Section 2: PROBLEM — three trigger cards
   ============================================================ */

.bigeasy-problem {
	padding: clamp(64px, 8vw, 120px) 24px;
	background: var(--wp--preset--color--off-white);
}

.bigeasy-problem__inner {
	max-width: 1320px;
	margin: 0 auto;
}

.bigeasy-problem__header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 56px;
}

.bigeasy-problem__eyebrow {
	color: var(--wp--preset--color--orange-700);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 16px;
}

.bigeasy-problem__heading {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(30px, 3vw + 0.5rem, 48px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 16px;
}

.bigeasy-problem__sub {
	font-size: clamp(17px, 0.5vw + 1rem, 19px);
	color: var(--wp--preset--color--ink-700);
	line-height: 1.55;
	margin: 0;
}

.bigeasy-problem__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}

.bigeasy-trigger-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg);
	padding: 36px 32px;
	transition: transform var(--bigeasy-transition-base), box-shadow var(--bigeasy-transition-base), border-color var(--bigeasy-transition-base);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.bigeasy-trigger-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--lg);
	border-color: var(--wp--preset--color--orange-400);
}

.bigeasy-trigger-card__icon {
	width: 48px;
	height: 48px;
	border-radius: var(--bigeasy-radius-md);
	background: var(--wp--preset--color--navy-100);
	color: var(--wp--preset--color--navy-900);
	display: flex;
	align-items: center;
	justify-content: center;
}

.bigeasy-trigger-card--emergency .bigeasy-trigger-card__icon {
	background: rgba(236, 114, 0, 0.12);
	color: var(--wp--preset--color--orange-600);
}

.bigeasy-trigger-card__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 24px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 0;
}

.bigeasy-trigger-card__body {
	color: var(--wp--preset--color--ink-700);
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
	flex: 1;
}

.bigeasy-trigger-card__cta {
	color: var(--wp--preset--color--orange-700);
	font-weight: 600;
	text-decoration: none;
	font-size: 15px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
}

.bigeasy-trigger-card__cta:hover {
	color: var(--wp--preset--color--navy-900);
}

.bigeasy-trigger-card__cta svg {
	transition: transform var(--bigeasy-transition-base);
}

.bigeasy-trigger-card__cta:hover svg {
	transform: translateX(3px);
}

/* ============================================================
   Section 3: PROOF — stats with counter animation + trust badges + testimonial
   ============================================================ */

.bigeasy-proof {
	padding: clamp(64px, 8vw, 120px) 24px;
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	position: relative;
	overflow: hidden;
}

.bigeasy-proof::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at top left, rgba(236, 114, 0, 0.08), transparent 50%);
	pointer-events: none;
}

.bigeasy-proof__inner {
	max-width: 1320px;
	margin: 0 auto;
	position: relative;
}

.bigeasy-proof__heading {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(30px, 3vw + 0.5rem, 48px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--wp--preset--color--white);
	text-align: center;
	margin: 0 0 24px;
	max-width: 720px;
	margin-inline: auto;
}

/* D9 Sub-item 4 (2026-05-14) · Lede paragraph below proof H2.
   Light text on navy-900 bg · matches .bigeasy-hero__lede pattern. */
.bigeasy-proof__lede {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(17px, 1.7vw, 19px);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	text-align: center;
	max-width: 760px;
	margin: 0 auto 48px;
}

.bigeasy-proof__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 32px;
	margin-bottom: 64px;
	padding-bottom: 64px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.bigeasy-stat {
	text-align: center;
}

.bigeasy-stat__number {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(48px, 5vw + 1rem, 80px);
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--orange-400);
	display: block;
	margin-bottom: 12px;
}

.bigeasy-stat__suffix {
	font-size: 0.6em;
	color: rgba(255, 255, 255, 0.7);
	margin-left: 4px;
}

.bigeasy-stat__label {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.85);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bigeasy-stat[data-content-pending] .bigeasy-stat__number {
	color: var(--wp--preset--color--orange-400);
	font-size: clamp(20px, 2vw + 0.5rem, 28px);
	letter-spacing: 0;
	text-transform: none;
}

.bigeasy-trust-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
	margin-bottom: 64px;
}

.bigeasy-trust-badge {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--bigeasy-radius-md);
	padding: 12px 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.9);
}

.bigeasy-trust-badge svg {
	color: var(--wp--preset--color--orange-400);
	flex-shrink: 0;
}

.bigeasy-trust-badge[data-content-pending] {
	border-style: dashed;
	border-color: var(--wp--preset--color--orange-400);
}

/* D5 Item 1 (2026-05-13) · Visible "PENDING" pseudo-element retired.
   Operator-facing dashed-border signal above is preserved as a build hint;
   the visitor-facing text label has been removed because real credentials are
   pending operator provisioning, not pending verification by visitors. */

/* ============================================================
   Section 4: SOLUTION — contrarian framing + 6 services
   ============================================================ */

.bigeasy-solution {
	padding: clamp(64px, 8vw, 120px) 24px;
	background: var(--wp--preset--color--off-white);
}

.bigeasy-solution__inner {
	max-width: 1320px;
	margin: 0 auto;
}

.bigeasy-solution__lead {
	max-width: 900px;
	margin: 0 auto 72px;
	text-align: center;
}

.bigeasy-solution__eyebrow {
	color: var(--wp--preset--color--orange-700);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 16px;
}

.bigeasy-solution__heading {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(32px, 3.5vw + 0.5rem, 56px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 24px;
}

.bigeasy-solution__body {
	font-size: clamp(17px, 0.5vw + 1rem, 19px);
	color: var(--wp--preset--color--ink-700);
	line-height: 1.6;
	margin: 0 0 16px;
}

.bigeasy-solution__services {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}

.bigeasy-service-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg);
	padding: 28px;
	/* D7 Sub-item 3 (2026-05-14) · Premium hover pattern: gradient sweep + icon morph
	   + orange accent border slide-in. Anti-generic-AI per LESSON-S3 — no canned
	   image-reveal or generic shadow-bump. Compositor-only (transform + opacity). */
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}
.bigeasy-service-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg,
		var(--wp--preset--color--navy-100, rgba(2,21,90,0.04)) 0%,
		var(--wp--preset--color--white) 60%);
	opacity: 0;
	transition: opacity 260ms ease;
	z-index: -1;
	pointer-events: none;
}
.bigeasy-service-card::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--wp--preset--color--orange-500);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 320ms cubic-bezier(0.65, 0, 0.35, 1);
	pointer-events: none;
}
.bigeasy-service-card:hover,
.bigeasy-service-card:focus-within {
	transform: translateY(-6px);
	border-color: var(--wp--preset--color--orange-500);
	box-shadow: 0 14px 32px rgba(2, 21, 90, 0.14);
}
.bigeasy-service-card:hover::before,
.bigeasy-service-card:focus-within::before { opacity: 1; }
.bigeasy-service-card:hover::after,
.bigeasy-service-card:focus-within::after { transform: scaleY(1); }

.bigeasy-service-card__icon {
	width: 36px;
	height: 36px;
	color: var(--wp--preset--color--navy-900);
	margin-bottom: 16px;
	transition: color 260ms ease, transform 260ms ease;
}
.bigeasy-service-card:hover .bigeasy-service-card__icon,
.bigeasy-service-card:focus-within .bigeasy-service-card__icon {
	color: var(--wp--preset--color--orange-500);
	transform: scale(1.12);
}

/* D10-F (2026-05-14) · Stretched-link click-through pattern · each service card
   becomes a single click target navigating to its hub page. Link sits at z:5
   (above hover overlay z:1, text z:2, accent border z:3) so it captures clicks
   anywhere on the card. Visible content under the link stays accessible to AT
   via aria-label on the link + sr-only span (link has accessible name even with
   no visible text). Card hover/focus-within still fires through the article
   wrapper, so D10-C overlay slide-up + D7 hover stack still trigger. */
.bigeasy-service-card { /* ensure positioning context for stretched link */ }
.bigeasy-service-card__link {
	position: absolute;
	inset: 0;
	z-index: 5;
	text-decoration: none;
	border-radius: inherit;
}
.bigeasy-service-card__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--orange-400);
	outline-offset: -3px;
}
/* Cursor signal: hovering anywhere on the card is a clickable affordance */
.bigeasy-service-card { cursor: pointer; }

/* D10-C (2026-05-14) · Service-card hover image overlay · 6 cards each get a slide-up
   image (matching service hub hero) tinted by navy multiply blend. Coexists with D7
   hover stack: D7 ::before gradient sits at z:-1 (under the overlay), D7 ::after
   orange accent border bumped to z:3 (sits above the overlay so it stays as a brand
   accent). Card text + icon become white on hover and lift to z:2 for legibility on
   the image. Mobile (no hover-pointer) gets no overlay reveal. Reduced-motion gets
   no transition. */
.bigeasy-service-card__hover-overlay {
	position: absolute;
	inset: 0;
	transform: translateY(100%);
	transition: transform 350ms cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
	z-index: 1;
	overflow: hidden;
	border-radius: inherit;
}
.bigeasy-service-card__hover-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.bigeasy-service-card__hover-tint {
	position: absolute;
	inset: 0;
	background-color: var(--wp--preset--color--navy-900);
	mix-blend-mode: multiply;
	opacity: 0.55;
	pointer-events: none;
}
/* Bump the D7 orange accent border above the overlay so it stays as a brand frame */
.bigeasy-service-card::after { z-index: 3; }

@media (hover: hover) and (pointer: fine) {
	.bigeasy-service-card:hover .bigeasy-service-card__hover-overlay,
	.bigeasy-service-card:focus-within .bigeasy-service-card__hover-overlay {
		transform: translateY(0);
	}
	/* Card text + icon turn white + lift above the image overlay */
	.bigeasy-service-card:hover .bigeasy-service-card__title,
	.bigeasy-service-card:focus-within .bigeasy-service-card__title,
	.bigeasy-service-card:hover .bigeasy-service-card__body,
	.bigeasy-service-card:focus-within .bigeasy-service-card__body {
		color: var(--wp--preset--color--white);
		position: relative;
		z-index: 2;
	}
	/* D7 icon morph still applies (orange-500 + scale 1.12) but bumped to z:2 above
	   the overlay so it remains visible. Orange icon on dark navy-tint reads cleanly. */
	.bigeasy-service-card:hover .bigeasy-service-card__icon,
	.bigeasy-service-card:focus-within .bigeasy-service-card__icon {
		position: relative;
		z-index: 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bigeasy-service-card,
	.bigeasy-service-card::before,
	.bigeasy-service-card::after,
	.bigeasy-service-card__icon,
	.bigeasy-service-card__hover-overlay { transition: none; }
	.bigeasy-service-card:hover,
	.bigeasy-service-card:focus-within { transform: none; }
	.bigeasy-service-card:hover .bigeasy-service-card__icon,
	.bigeasy-service-card:focus-within .bigeasy-service-card__icon { transform: none; }
	.bigeasy-service-card:hover::after,
	.bigeasy-service-card:focus-within::after { transform: scaleY(1); }
}

.bigeasy-service-card__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 20px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 8px;
}

.bigeasy-service-card__body {
	color: var(--wp--preset--color--ink-700);
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
}

/* ============================================================
   Section 5: EVIDENCE — before/after slots + 2nd testimonial
   ============================================================ */

.bigeasy-evidence {
	padding: clamp(64px, 8vw, 120px) 24px;
	background: var(--wp--preset--color--navy-50);
}

.bigeasy-evidence__inner {
	max-width: 1320px;
	margin: 0 auto;
}

.bigeasy-evidence__header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 56px;
}

.bigeasy-evidence__heading {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(30px, 3vw + 0.5rem, 48px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 16px;
}

.bigeasy-evidence__sub {
	font-size: clamp(16px, 0.5vw + 0.9rem, 18px);
	color: var(--wp--preset--color--ink-700);
	margin: 0;
}

/* D9 Sub-item 4 (2026-05-14) · Lede paragraph below evidence H2.
   Dark text on white bg · matches .bigeasy-hero__lede pattern but inverted color. */
.bigeasy-evidence__lede {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(17px, 1.7vw, 19px);
	line-height: 1.55;
	color: var(--wp--preset--color--ink-700);
	text-align: center;
	max-width: 780px;
	margin: 0 auto 32px;
}

.bigeasy-case-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 32px;
	margin-bottom: 64px;
}

.bigeasy-case {
	background: var(--wp--preset--color--white);
	border-radius: var(--bigeasy-radius-lg);
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--sm);
	display: flex;
	flex-direction: column;
	position: relative;
}

.bigeasy-case__images {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	background: var(--wp--preset--color--ink-200);
}
/* D8 Combined Commit A+B (2026-05-14) · Single-image variant collapses the dual-pair grid.
   Adviser 5 Option B approved · 12 regen images replace 24 Stage 5.5 Nano Banana files
   that had panel-split + L-082 violations. Cards now show one image each, no Before/After
   labels (those labels were paired-presentation chrome; meaningless on single-image). */
.bigeasy-case__images:has(.bigeasy-case__image--single) {
	grid-template-columns: 1fr;
	background: transparent;
}
.bigeasy-case__image--single {
	aspect-ratio: 3 / 2;
	min-height: 0;
}
.bigeasy-case__image--single::before { content: none; }

/* D6 Sub-item 5 (2026-05-13) · Orange dashed border + CONTENT-PENDING ::after retired.
   Build hints no longer needed now that D5 Item 5 wired 264 real evidence images.
   The .bigeasy-case__image[data-label]::before badge rule at line ~2913 still renders
   the BEFORE/AFTER label on the wired images — that is the intentional, visitor-facing
   chrome. The retired rules below were operator-facing scaffolding. */
.bigeasy-case__image {
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--navy-100);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--navy-900);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	position: relative;
}

.bigeasy-case__body {
	/* Stage 5.5.1 Batch 5 (2026-05-13) · operator directive — hide visible meta+title under evidence images.
	   Lead-gen reframe · markup preserved for potential future enable. sr-only legal disclaimer (per Batch 1) stays. */
	display: none;
	padding: 24px 28px 28px;
}

.bigeasy-case__meta {
	color: var(--wp--preset--color--orange-600);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 8px;
}

.bigeasy-case__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 20px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 8px;
	line-height: 1.3;
}

.bigeasy-case__body [data-content-pending] {
	color: var(--wp--preset--color--orange-600);
	font-style: italic;
}

/* ============================================================
   Section 6: ACTION — multi-step inspection form
   ============================================================ */

.bigeasy-action {
	padding: clamp(64px, 8vw, 120px) 24px;
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	position: relative;
	overflow: hidden;
}

.bigeasy-action::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at bottom right, rgba(236, 114, 0, 0.12), transparent 55%);
	pointer-events: none;
}

.bigeasy-action__inner {
	max-width: 1140px;
	margin: 0 auto;
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

@media (max-width: 900px) {
	.bigeasy-action__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}
}

.bigeasy-action__heading {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(32px, 3.5vw + 0.5rem, 56px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--white);
	margin: 0 0 24px;
}

.bigeasy-action__sub {
	font-size: clamp(17px, 0.5vw + 1rem, 19px);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 32px;
}

.bigeasy-action__bullets {
	list-style: none;
	padding: 0;
	margin: 0 0 36px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bigeasy-action__bullets li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 16px;
}

.bigeasy-action__bullets svg {
	color: var(--wp--preset--color--orange-400);
	flex-shrink: 0;
	margin-top: 3px;
}

.bigeasy-action__phone {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 16px 24px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--bigeasy-radius-md);
	color: var(--wp--preset--color--white);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--outfit);
	transition: all var(--bigeasy-transition-base);
}

.bigeasy-action__phone:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: var(--wp--preset--color--orange-400);
	color: var(--wp--preset--color--white);
}

.bigeasy-action__phone-label {
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
	display: block;
	margin-bottom: 2px;
}

.bigeasy-action__phone-number {
	font-size: 22px;
	font-weight: 600;
}

/* Form card */
.bigeasy-form-card {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink-900);
	border-radius: var(--bigeasy-radius-xl);
	padding: 40px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}

@media (max-width: 540px) {
	.bigeasy-form-card { padding: 28px 24px; }
}

.bigeasy-form-card__header {
	margin-bottom: 28px;
}

.bigeasy-form-card__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 26px;
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 6px;
}

.bigeasy-form-card__sub {
	font-size: 14px;
	color: var(--wp--preset--color--ink-500);
	margin: 0;
}

.bigeasy-form__progress {
	display: flex;
	gap: 6px;
	margin-bottom: 28px;
}

.bigeasy-form__dot {
	flex: 1;
	height: 4px;
	background: var(--wp--preset--color--ink-200);
	border-radius: 2px;
	transition: background var(--bigeasy-transition-base);
}

.bigeasy-form__dot.is-active {
	background: var(--wp--preset--color--orange-500);
}

.bigeasy-form__step {
	display: none;
}

.bigeasy-form__step.is-active {
	display: block;
	animation: bigeasy-step-in 280ms ease-out;
}

@keyframes bigeasy-step-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.bigeasy-form__step-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--wp--preset--color--orange-600);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 0 8px;
}

.bigeasy-form__step-title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 20px;
	line-height: 1.3;
}

.bigeasy-form__choices {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 24px;
}

.bigeasy-form__choice {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	border: 2px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md);
	cursor: pointer;
	transition: all var(--bigeasy-transition-fast);
	background: var(--wp--preset--color--white);
}

.bigeasy-form__choice:hover {
	border-color: var(--wp--preset--color--orange-400);
	background: var(--wp--preset--color--orange-100);
}

.bigeasy-form__choice input[type="radio"] {
	margin: 0;
	accent-color: var(--wp--preset--color--orange-500);
}

.bigeasy-form__choice input[type="radio"]:checked + .bigeasy-form__choice-label {
	color: var(--wp--preset--color--navy-900);
	font-weight: 600;
}

.bigeasy-form__choice:has(input:checked) {
	border-color: var(--wp--preset--color--orange-500);
	background: var(--wp--preset--color--orange-100);
}

.bigeasy-form__choice-label {
	flex: 1;
	color: var(--wp--preset--color--ink-700);
}

.bigeasy-form__field {
	margin-bottom: 16px;
}

.bigeasy-form__label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--ink-700);
	margin-bottom: 6px;
}

.bigeasy-form__input,
.bigeasy-form__select {
	width: 100%;
	padding: 14px 16px;
	border: 2px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 16px;
	color: var(--wp--preset--color--ink-900);
	background: var(--wp--preset--color--white);
	transition: border-color var(--bigeasy-transition-fast);
}

.bigeasy-form__input:focus,
.bigeasy-form__select:focus {
	outline: none;
	border-color: var(--wp--preset--color--orange-500);
}

.bigeasy-form__input.is-error,
.bigeasy-form__select.is-error {
	border-color: var(--wp--preset--color--error);
}

/* D7 Sub-item 3.5 (2026-05-14) · File-upload field on hero form Step 3.
   UI only — backend transmission fires when WPForms/Gravity Forms swap lands. */
.bigeasy-form__field--upload { margin-bottom: 20px; }
.bigeasy-form__label-optional {
	font-weight: 400;
	color: var(--wp--preset--color--ink-500);
	font-size: 12px;
	margin-left: 4px;
}
.bigeasy-form__helper {
	font-size: 12px;
	color: var(--wp--preset--color--ink-500);
	line-height: 1.45;
	margin: 0 0 10px;
}
.bigeasy-form__dropzone {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 20px 16px;
	border: 2px dashed var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink-700);
	text-align: center;
	cursor: pointer;
	transition: border-color 200ms ease, background-color 200ms ease, color 200ms ease;
	font-family: var(--wp--preset--font-family--outfit);
}
.bigeasy-form__dropzone:hover,
.bigeasy-form__dropzone:focus-within,
.bigeasy-form__dropzone.is-dragover {
	border-color: var(--wp--preset--color--orange-500);
	background: var(--wp--preset--color--off-white);
}
.bigeasy-form__dropzone-icon { color: var(--wp--preset--color--orange-500); }
.bigeasy-form__dropzone-text { font-size: 14px; }
.bigeasy-form__dropzone-text strong {
	color: var(--wp--preset--color--orange-700);
	font-weight: 700;
}
.bigeasy-form__dropzone-meta {
	font-size: 11px;
	color: var(--wp--preset--color--ink-500);
}
.bigeasy-form__file-input {
	/* Visually hidden but accessible — click-target is the parent <label> dropzone */
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.bigeasy-form__file-input:focus-visible + .bigeasy-form__dropzone-text,
.bigeasy-form__dropzone:has(.bigeasy-form__file-input:focus-visible) {
	outline: 2px solid var(--wp--preset--color--orange-500);
	outline-offset: 2px;
}
.bigeasy-form__file-list {
	list-style: none;
	padding: 0;
	margin: 10px 0 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bigeasy-form__file-list:empty { margin: 0; }
.bigeasy-form__file-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	background: var(--wp--preset--color--off-white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-sm, 4px);
	font-size: 13px;
	font-family: var(--wp--preset--font-family--outfit);
	color: var(--wp--preset--color--navy-900);
}
.bigeasy-form__file-item.is-error {
	border-color: var(--wp--preset--color--error);
	color: var(--wp--preset--color--error);
}
.bigeasy-form__file-name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.bigeasy-form__file-size {
	font-size: 11px;
	color: var(--wp--preset--color--ink-500);
	flex-shrink: 0;
}
.bigeasy-form__file-remove {
	background: transparent;
	border: 0;
	padding: 4px;
	color: var(--wp--preset--color--ink-500);
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
	border-radius: var(--bigeasy-radius-sm, 4px);
}
.bigeasy-form__file-remove:hover,
.bigeasy-form__file-remove:focus-visible {
	color: var(--wp--preset--color--error);
	background: rgba(0, 0, 0, 0.04);
}

/* D6 Sub-item 4 (2026-05-13) · Step 3 visual centering fix.
   Root cause: no justify-content + Step 3's long submit button text
   ("Send my free inspection request") packed both buttons hard left,
   reading as off-center. space-between balances Back ↔ action, and
   :only-child handling pushes Step 1's lone Continue button to the right
   for visual consistency across all 3 steps (action button always on right). */
.bigeasy-form__nav {
	display: flex;
	gap: 12px;
	margin-top: 24px;
	justify-content: space-between;
	flex-wrap: wrap;
}
.bigeasy-form__nav > :only-child {
	margin-left: auto;
}

.bigeasy-form__success {
	text-align: center;
	padding: 24px 0;
}

.bigeasy-form__success-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp--preset--color--success);
	color: var(--wp--preset--color--white);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}

.bigeasy-form__success h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 26px;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 12px;
}

/* ============================================================
   Mobile sticky CTA (Sonic Boom signature element)
   ============================================================ */

.bigeasy-sticky-cta {
	position: fixed;
	bottom: 16px;
	left: 16px;
	right: 16px;
	z-index: 90;
	display: flex;
	gap: 8px;
	background: var(--wp--preset--color--white);
	padding: 10px;
	border-radius: var(--bigeasy-radius-lg);
	box-shadow: 0 8px 32px rgba(2, 21, 90, 0.25);
	transform: translateY(120%);
	transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.bigeasy-sticky-cta.is-visible {
	transform: translateY(0);
}

.bigeasy-sticky-cta__call,
.bigeasy-sticky-cta__book {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 14px 12px;
	border-radius: var(--bigeasy-radius-md);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 600;
	font-size: 14px;
	transition: all var(--bigeasy-transition-fast);
}

.bigeasy-sticky-cta__call {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
}

.bigeasy-sticky-cta__call:hover {
	background: var(--wp--preset--color--navy-800);
	color: var(--wp--preset--color--white);
}

.bigeasy-sticky-cta__book {
	background: var(--wp--preset--color--orange-500);
	color: var(--wp--preset--color--white);
}

.bigeasy-sticky-cta__book:hover {
	background: var(--wp--preset--color--orange-600);
	color: var(--wp--preset--color--white);
}

@media (min-width: 900px) {
	.bigeasy-sticky-cta {
		display: none; /* Desktop has persistent header CTA — no need for sticky */
	}
}

/* ============================================================
   Testimonial slot (Sonic Boom polish on Stage 3 base)
   ============================================================ */

/* Stage 5.5 (2026-05-13) · operator directive — hide testimonials sitewide until real customer
   testimonials arrive post-launch. Markup preserved for future swap-in. To re-enable: remove the
   display: none line below OR convert to a theme_mod-gated PHP conditional in functions.php. */
.bigeasy-testimonial {
	display: none !important;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg);
	padding: 36px;
	margin: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 28px;
	row-gap: 10px;
	box-shadow: var(--wp--preset--shadow--sm);
	position: relative;
	max-width: 760px;
	margin-inline: auto;
}

.bigeasy-testimonial[data-content-status="pending"] {
	border: 1px dashed var(--wp--preset--color--orange-400);
	background: var(--wp--preset--color--orange-100);
}

.bigeasy-testimonial[data-content-status="pending"]::before {
	content: 'CONTENT-PENDING';
	position: absolute;
	top: 12px;
	right: 16px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--orange-600);
}

.bigeasy-testimonial__photo {
	grid-row: span 2;
}

.bigeasy-testimonial__photo-placeholder {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: var(--wp--preset--color--navy-900);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--orange-400);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	line-height: 1.2;
	text-transform: uppercase;
	padding: 8px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

.bigeasy-testimonial__photo-placeholder::after {
	content: '';
	position: absolute;
	bottom: -8px;
	width: 50px;
	height: 30px;
	border-radius: 50% 50% 0 0;
	background: var(--wp--preset--color--orange-400);
	opacity: 0.45;
}

.bigeasy-testimonial__quote {
	font-family: var(--wp--preset--font-family--playfair);
	font-style: italic;
	font-size: 19px;
	line-height: 1.55;
	color: var(--wp--preset--color--navy-900);
	margin: 0;
}

.bigeasy-testimonial__quote p { margin: 0; }

.bigeasy-testimonial[data-content-status="pending"] .bigeasy-testimonial__quote {
	color: var(--wp--preset--color--orange-600);
	font-style: normal;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 16px;
}

.bigeasy-testimonial__cite {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--ink-700);
}

.bigeasy-testimonial[data-content-status="pending"] .bigeasy-testimonial__cite {
	color: var(--wp--preset--color--orange-600);
}

[data-content-pending] {
	background: linear-gradient(90deg, transparent 0%, rgba(236, 114, 0, 0.06) 50%, transparent 100%);
}

@media (max-width: 640px) {
	.bigeasy-testimonial {
		grid-template-columns: 1fr;
		text-align: center;
		justify-items: center;
		padding: 28px 24px;
	}
}

/* ============================================================
   Footer
   ============================================================ */

.bigeasy-footer a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
	transition: color var(--bigeasy-transition-fast);
}

.bigeasy-footer a:hover { color: var(--wp--preset--color--orange-400); }

/* ============================================================
   Reveal-on-scroll
   ============================================================ */

@media (prefers-reduced-motion: no-preference) {
	[data-bigeasy-reveal] {
		opacity: 0;
		transform: translateY(24px);
		transition: opacity var(--bigeasy-transition-slow), transform var(--bigeasy-transition-slow);
	}
	[data-bigeasy-reveal].is-revealed {
		opacity: 1;
		transform: translateY(0);
	}
	[data-bigeasy-reveal-stagger] > * {
		opacity: 0;
		transform: translateY(20px);
		transition: opacity 600ms ease-out, transform 600ms ease-out;
	}
	[data-bigeasy-reveal-stagger].is-revealed > * {
		opacity: 1;
		transform: translateY(0);
	}
	[data-bigeasy-reveal-stagger].is-revealed > *:nth-child(2) { transition-delay: 80ms; }
	[data-bigeasy-reveal-stagger].is-revealed > *:nth-child(3) { transition-delay: 160ms; }
	[data-bigeasy-reveal-stagger].is-revealed > *:nth-child(4) { transition-delay: 240ms; }
	[data-bigeasy-reveal-stagger].is-revealed > *:nth-child(5) { transition-delay: 320ms; }
	[data-bigeasy-reveal-stagger].is-revealed > *:nth-child(6) { transition-delay: 400ms; }
}

/* ============================================================
   LAYOUT FIX — full-bleed sections + 1080px content (Stage 3.5.1)
   ----------------------------------------------------------------
   Applied after Playwright empirical scan revealed sections rendered
   at 720px contentSize. Forces full-bleed breakout via alignfull +
   standardizes inner content wrapper to .bigeasy-section__inner.

   theme.json contentSize bumped 720px -> 1080px in parallel.
   ============================================================ */

/* Force full-bleed breakout — works regardless of parent constrain */
.bigeasy-section.alignfull,
.alignfull.bigeasy-section,
.bigeasy-hero.alignfull,
.bigeasy-problem.alignfull,
.bigeasy-proof.alignfull,
.bigeasy-solution.alignfull,
.bigeasy-evidence.alignfull,
.bigeasy-action.alignfull {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	box-sizing: border-box;
}

/* Unified inner wrapper — premium editorial spacing.
   D5 Item 2 (2026-05-13): vertical padding +25%.
   D6 Sub-item 3 (2026-05-13): bumped again to +50% from original baseline per Adviser 5 Option A approval. */
.bigeasy-section__inner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	padding: clamp(72px, 9vw, 144px) clamp(24px, 5vw, 80px);
	box-sizing: border-box;
}

/* Legacy per-section inner wrappers — promoted to the unified spec (D6 +50% applied). */
.bigeasy-problem__inner,
.bigeasy-proof__inner,
.bigeasy-solution__inner,
.bigeasy-evidence__inner,
.bigeasy-action__inner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	padding: clamp(72px, 9vw, 144px) clamp(24px, 5vw, 80px);
	box-sizing: border-box;
}

/* Hero content — constrain to 1080px reading column inside full-bleed bg.
   D6 Sub-item 3 (2026-05-13): first-time bump per Adviser 5 Option A approval —
   heroes should feel more open than sections. */
.bigeasy-hero__content {
	max-width: 1080px !important;
	padding: clamp(96px, 10vw, 140px) clamp(24px, 5vw, 80px) !important;
}

/* Action section uses 2-column grid — preserve via override */
.bigeasy-action__inner.bigeasy-section__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

@media (max-width: 900px) {
	.bigeasy-action__inner.bigeasy-section__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}
}

/* Edge-to-edge bg gradients on full-bleed sections need an inner wrap to keep their radial-overlay decorations bounded */
.bigeasy-proof.alignfull,
.bigeasy-action.alignfull {
	position: relative;
	overflow: hidden;
}
/* ============================================================
   STAGE 4 — Service template additions
   process steps · honest disclaimer · cross-service nav
   ============================================================ */

.bigeasy-process-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	margin: 0 0 48px;
}
/* Stage 5.5 · process-step + case-image now host real photos */
.bigeasy-process-step__image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--bigeasy-radius-md);
	margin: -8px 0 16px;
	background: var(--wp--preset--color--navy-100);
}
.bigeasy-case__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bigeasy-case__image:has(img)::before,
.bigeasy-case__image:has(img)::after {
	display: none;
}
.bigeasy-case__caption {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-style: italic;
	color: var(--wp--preset--color--ink-500);
	line-height: 1.4;
	margin: 8px 0 0;
}

.bigeasy-process-step {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg);
	padding: 32px 28px;
	position: relative;
	transition: all var(--bigeasy-transition-base);
}
.bigeasy-process-step:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--orange-400);
	box-shadow: var(--wp--preset--shadow--md);
}
.bigeasy-process-step__num {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--orange-700);
	letter-spacing: 0.18em;
	margin-bottom: 12px;
}
.bigeasy-process-step__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	line-height: 1.25;
	margin: 0 0 12px;
}
.bigeasy-process-step__body {
	color: var(--wp--preset--color--ink-700);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.bigeasy-solution__honest {
	background: var(--wp--preset--color--navy-50);
	border-left: 4px solid var(--wp--preset--color--orange-500);
	border-radius: var(--bigeasy-radius-md);
	padding: 32px 36px;
	margin-top: 32px;
}
.bigeasy-solution__honest-title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 12px;
}
.bigeasy-solution__honest p {
	color: var(--wp--preset--color--ink-700);
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}

.bigeasy-cross-services { background: var(--wp--preset--color--off-white); }
.bigeasy-cross-services__header { text-align: center; margin-bottom: 48px; }
.bigeasy-cross-services__eyebrow {
	color: var(--wp--preset--color--orange-700);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.bigeasy-cross-services__heading {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(28px, 2.5vw + 0.5rem, 40px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0;
}
.bigeasy-cross-services__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
}
.bigeasy-cross-service-link {
	display: flex;
	align-items: center;
	gap: 20px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg);
	padding: 24px 28px;
	text-decoration: none;
	color: var(--wp--preset--color--navy-900);
	transition: all var(--bigeasy-transition-base);
}
.bigeasy-cross-service-link:hover {
	transform: translateY(-2px);
	border-color: var(--wp--preset--color--navy-900);
	box-shadow: var(--wp--preset--shadow--md);
	color: var(--wp--preset--color--navy-900);
}
.bigeasy-cross-service-link > svg:first-child {
	flex-shrink: 0;
	color: var(--wp--preset--color--navy-900);
}
.bigeasy-cross-service-link > div { flex: 1; }
.bigeasy-cross-service-link__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 4px;
	line-height: 1.3;
}
.bigeasy-cross-service-link__body {
	color: var(--wp--preset--color--ink-500);
	font-size: 14px;
	margin: 0;
	line-height: 1.4;
}
.bigeasy-cross-service-link__arrow {
	flex-shrink: 0;
	color: var(--wp--preset--color--orange-500);
	transition: transform var(--bigeasy-transition-base);
}
.bigeasy-cross-service-link:hover .bigeasy-cross-service-link__arrow {
	transform: translateX(4px);
}
/* ============================================================
   STAGE 5 PHASE 3 — FAQ page components
   4-section FAQ architecture (hero typography · answer · related · action)
   ============================================================ */

.bigeasy-faq-hero {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	position: relative;
	overflow: hidden;
}
.bigeasy-faq-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at top left, rgba(236, 114, 0, 0.08), transparent 50%);
	pointer-events: none;
}
.bigeasy-faq-hero__eyebrow {
	color: var(--wp--preset--color--orange-400);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 20px;
	position: relative;
	z-index: 1;
}
.bigeasy-faq-hero__h1 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(32px, 3.5vw + 0.5rem, 56px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--white);
	margin: 0 0 24px;
	max-width: 900px;
	position: relative;
	z-index: 1;
}
.bigeasy-faq-hero__subhead {
	font-size: clamp(17px, 0.5vw + 1rem, 20px);
	line-height: 1.55;
	color: rgba(255,255,255,0.85);
	margin: 0;
	max-width: 700px;
	position: relative;
	z-index: 1;
}

.bigeasy-faq-answer {
	background: var(--wp--preset--color--off-white);
}
.bigeasy-faq-answer__tldr {
	background: var(--wp--preset--color--navy-100);
	border-left: 4px solid var(--wp--preset--color--orange-500);
	padding: 28px 36px;
	border-radius: var(--bigeasy-radius-md);
	margin-bottom: 48px;
	max-width: 820px;
}
.bigeasy-faq-answer__tldr h2 {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 19px; /* Stage 6 Part 2 edge-case · orange-700 on navy-100 = 4.24:1 (below 4.5 AA-normal) → bump size to clear 3:1 large-text rule (≥18.67px bold). Same Option B logic as CTAs. */
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-700);
	margin: 0 0 10px;
}
.bigeasy-faq-answer__tldr p {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--wp--preset--color--navy-900);
	margin: 0;
}
.bigeasy-faq-answer__body { max-width: 820px; }
.bigeasy-faq-answer__body h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(26px, 2vw + 0.5rem, 36px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 24px;
}
.bigeasy-faq-answer__body h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 32px 0 12px;
}
.bigeasy-faq-answer__body p {
	color: var(--wp--preset--color--ink-700);
	font-size: 17px;
	line-height: 1.7;
	margin: 0 0 16px;
}
.bigeasy-faq-answer__body ul,
.bigeasy-faq-answer__body ol {
	color: var(--wp--preset--color--ink-700);
	font-size: 17px;
	line-height: 1.7;
	margin: 0 0 16px;
	padding-left: 24px;
}
.bigeasy-faq-answer__body li { margin-bottom: 8px; }
.bigeasy-faq-answer__body em { font-style: italic; color: var(--wp--preset--color--navy-900); }
.bigeasy-faq-answer__body strong { color: var(--wp--preset--color--navy-900); }

.bigeasy-faq-related { background: var(--wp--preset--color--navy-50); }
.bigeasy-faq-related h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(26px, 2vw + 0.5rem, 36px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 32px;
}
.bigeasy-faq-related__links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 12px;
}
.bigeasy-faq-related__links li { margin: 0; }
.bigeasy-faq-related__links a {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md);
	padding: 16px 20px;
	text-decoration: none;
	color: var(--wp--preset--color--navy-900);
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.4;
	transition: all var(--bigeasy-transition-fast);
}
.bigeasy-faq-related__links a::before {
	content: '\2192';
	color: var(--wp--preset--color--orange-500);
	font-weight: 600;
	flex-shrink: 0;
}
.bigeasy-faq-related__links a:hover {
	border-color: var(--wp--preset--color--navy-900);
	transform: translateX(2px);
	color: var(--wp--preset--color--navy-900);
	box-shadow: var(--wp--preset--shadow--sm);
}
/* ============================================================
   PRE-STAGE-6 CLEANUP — /about/ promise grid · legal pages · FAQ index
   ============================================================ */

/* Legal pages (terms / privacy) — narrow readable column */
.bigeasy-legal-content {
	max-width: 760px;
	margin: 0 auto;
	line-height: 1.8;
}
.bigeasy-legal-content h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(24px, 2vw + 0.25rem, 32px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 56px 0 16px;
	line-height: 1.2;
}
.bigeasy-legal-content > h2:first-child { margin-top: 0; }
.bigeasy-legal-content h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 32px 0 12px;
}
.bigeasy-legal-content p {
	color: var(--wp--preset--color--ink-700);
	font-size: 17px;
	line-height: 1.8;
	margin: 0 0 16px;
}
.bigeasy-legal-content ul,
.bigeasy-legal-content ol {
	color: var(--wp--preset--color--ink-700);
	font-size: 17px;
	line-height: 1.8;
	margin: 0 0 16px;
	padding-left: 24px;
}
.bigeasy-legal-content li { margin-bottom: 8px; }
.bigeasy-legal-content em { font-style: italic; color: var(--wp--preset--color--navy-900); }
.bigeasy-legal-content strong { color: var(--wp--preset--color--navy-900); }

.bigeasy-legal-banner {
	background: var(--wp--preset--color--orange-100);
	border-left: 4px solid var(--wp--preset--color--orange-500);
	padding: 20px 28px;
	border-radius: var(--bigeasy-radius-md);
	margin: 0 auto 48px;
	max-width: 760px;
}
.bigeasy-legal-banner__label {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-600);
	margin: 0 0 8px;
}
.bigeasy-legal-banner__text {
	color: var(--wp--preset--color--ink-700);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}
.bigeasy-legal-meta {
	font-size: 14px;
	color: var(--wp--preset--color--ink-500);
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--wp--preset--color--ink-200);
}

/* About page promise grid */
.bigeasy-about-promise__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 40px;
}
.bigeasy-about-promise__item {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg);
	padding: 28px 32px;
	transition: all var(--bigeasy-transition-base);
}
.bigeasy-about-promise__item:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--orange-400);
	box-shadow: var(--wp--preset--shadow--md);
}
.bigeasy-about-promise__item h3 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 20px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 10px;
}
.bigeasy-about-promise__item p {
	color: var(--wp--preset--color--ink-700);
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
}
.bigeasy-about-context {
	background: var(--wp--preset--color--off-white);
}
.bigeasy-about-context__heading {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(28px, 2.5vw + 0.5rem, 42px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 24px;
	line-height: 1.15;
}

/* FAQ index page */
.bigeasy-faq-index { background: var(--wp--preset--color--off-white); }
.bigeasy-faq-index__header { text-align: center; max-width: 760px; margin: 0 auto 56px; }
.bigeasy-faq-index__intro {
	color: var(--wp--preset--color--ink-700);
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
}
.bigeasy-faq-index__groups {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
}
.bigeasy-faq-index-group {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg);
	padding: 32px;
}
.bigeasy-faq-index-group__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 6px;
}
.bigeasy-faq-index-group__count {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-700);
	margin: 0 0 20px;
}
.bigeasy-faq-index-group__list { list-style: none; padding: 0; margin: 0; }
.bigeasy-faq-index-group__list li {
	padding: 14px 0;
	border-bottom: 1px solid var(--wp--preset--color--ink-100);
}
.bigeasy-faq-index-group__list li:last-child { border-bottom: none; }
.bigeasy-faq-index-card__q {
	display: block;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 16px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
	margin-bottom: 6px;
	line-height: 1.35;
}
.bigeasy-faq-index-card__q:hover { color: var(--wp--preset--color--orange-600); }
.bigeasy-faq-index-card__preview {
	font-size: 14px;
	color: var(--wp--preset--color--ink-500);
	line-height: 1.5;
	margin: 0 0 6px;
}
.bigeasy-faq-index-card__cta {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--orange-700);
	text-decoration: none;
}

/* ============================================================
   Stage 5.5 (2026-05-13) · Back-to-top button
   Spec: STAGE-5.5-PREP-RESEARCH-REPORT.md §9
   ============================================================ */
.bigeasy-back-to-top {
	position: fixed;
	bottom: 24px;
	right: 24px;
	bottom: max(24px, env(safe-area-inset-bottom));
	width: 48px;
	height: 48px;
	border-radius: var(--bigeasy-radius-full, 9999px);
	background: var(--wp--preset--color--orange-500);
	color: var(--wp--preset--color--white);
	border: none;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 9999;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity 200ms ease-out, transform 200ms ease-out, background-color 150ms ease-out, box-shadow 150ms ease-out;
	box-shadow: 0 6px 18px rgba(236, 114, 0, 0.25);
}
.bigeasy-back-to-top[hidden] { display: flex; } /* override hidden so transform/opacity still apply when scrolled-out */
.bigeasy-back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.bigeasy-back-to-top:hover {
	background: var(--wp--preset--color--orange-600);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(236, 114, 0, 0.35);
}
.bigeasy-back-to-top:active { transform: translateY(0); }
.bigeasy-back-to-top:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange-400);
	outline-offset: 2px;
}
.bigeasy-back-to-top svg { display: block; }
@media (max-width: 767px) {
	.bigeasy-back-to-top {
		width: 44px;
		height: 44px;
		bottom: 16px;
		right: 16px;
		bottom: max(16px, env(safe-area-inset-bottom));
	}
}
@media (prefers-reduced-motion: reduce) {
	.bigeasy-back-to-top { transition: opacity 0ms, transform 0ms; }
	.bigeasy-back-to-top:hover { transform: none; }
}
.bigeasy-faq-index-card__cta:hover { color: var(--wp--preset--color--navy-900); }

/* ============================================================
   Stage 5.5.1 Batch 1 (2026-05-13) · Rescue pass
   ============================================================ */

/* sr-only utility — visually hidden, screen-reader accessible.
   Used for "Illustrative example…" disclaimers on before/after evidence images. */
.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;
}

/* Migrate the visible Stage 5.5 case caption to sr-only.
   Visible "Before"/"After" labels still render via [data-label]::before pseudo-element on case__image divs.
   Per operator directive: visitor sees only Before/After labels; FTC/state-law shield preserved in sr-only. */
.bigeasy-case__caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Hide 3 trust badges pending real-asset provisioning (Pre-Merge gate).
   Carrier-neutral insurance copy + remaining badges still render. */
.bigeasy-trust-badge[data-content-pending="license-ct"],
.bigeasy-trust-badge[data-content-pending="license-ny"],
.bigeasy-trust-badge[data-content-pending="bbb"] {
	display: none !important;
}

/* Section background images — subtle textural treatment, low opacity, doesn't compete with foreground.
   Applied to existing section selectors; falls back gracefully if image missing. */

/* Section 2 · Problem/Triggers — fieldstone texture */
[data-section="problem"] {
	position: relative;
	isolation: isolate;
}
[data-section="problem"]::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url('../images/bg-section-fieldstone-foundation.png');
	background-size: cover;
	background-position: right center;
	background-repeat: no-repeat;
	opacity: 0.08;
	z-index: -1;
	pointer-events: none;
}

/* Section 3 · Proof/Stats — navy bg + Northeast home overcast at 12% */
[data-section="proof"] {
	position: relative;
	isolation: isolate;
}
[data-section="proof"]::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url('../images/bg-section-northeast-home-overcast.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.12;
	mix-blend-mode: screen;
	z-index: 0;
	pointer-events: none;
}
[data-section="proof"] > *:not(::after) { position: relative; z-index: 1; }

/* Section 4 · Solution/Contrarian — basement interior soft at 6% */
[data-section="solution"] {
	position: relative;
	isolation: isolate;
}
[data-section="solution"]::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url('../images/bg-section-basement-interior-soft.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.06;
	z-index: -1;
	pointer-events: none;
}

/* Section 5 · Evidence/Cases — craft tools flatlay right-side accent at 5% grayscale */
[data-section="evidence"] {
	position: relative;
	isolation: isolate;
}
[data-section="evidence"]::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 40%;
	background-image: url('../images/bg-section-craft-tools-flatlay.png');
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	opacity: 0.05;
	filter: grayscale(1);
	z-index: -1;
	pointer-events: none;
}

/* Section 7 · Action/Form — CT autumn home front at 15% with navy gradient overlay */
[data-section="action"] {
	position: relative;
	isolation: isolate;
}
[data-section="action"]::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url('../images/bg-section-ct-autumn-home-front.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.15;
	mix-blend-mode: screen;
	z-index: 0;
	pointer-events: none;
}
[data-section="action"] > *:not(::after) { position: relative; z-index: 1; }

/* ============================================================
   Stage 5.5.1 Batch 2 (2026-05-13) · Portable elements rescue
   ============================================================ */

/* --- Hero 2-column split layout (text + form) --- */
.bigeasy-hero__inner--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
	gap: 48px;
	align-items: start;
	max-width: 1280px;
	margin: 0 auto;
}
@media (max-width: 1023px) {
	.bigeasy-hero__inner--split {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}
.bigeasy-hero__text { min-width: 0; }
.bigeasy-hero__form-col { min-width: 0; }

/* --- Trust badge row in hero (below H2) --- */
.bigeasy-hero__trust-row {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	margin: 24px 0 28px;
	max-width: 720px;
}
@media (max-width: 767px) {
	.bigeasy-hero__trust-row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.bigeasy-trust-slot {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 6px;
	border-radius: var(--bigeasy-radius-sm, 4px);
	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.22);
	min-height: 44px;
	text-align: center;
}
.bigeasy-trust-slot--logo {
	background: rgba(255, 255, 255, 0.06);
	border-style: dashed; /* placeholder slot styling — swap to solid + real PNG at Pre-Merge */
}
.bigeasy-trust-slot__label {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.2;
}
.bigeasy-trust-slot--text .bigeasy-trust-slot__label {
	color: rgba(255, 255, 255, 0.95);
}

/* --- Hero form (form-on-hero) --- */
.bigeasy-hero-form {
	background: var(--wp--preset--color--navy-900);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--bigeasy-radius-lg, 12px);
	padding: 24px 24px 20px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.30);
	color: var(--wp--preset--color--white);
}
.bigeasy-hero-form__eyebrow {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-400);
	margin: 0 0 8px;
}
.bigeasy-hero-form__title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wp--preset--color--white);
	margin: 0 0 6px;
}
.bigeasy-hero-form__tagline {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 16px;
	line-height: 1.5;
}
.bigeasy-hero-form__field {
	margin-bottom: 10px;
}
.bigeasy-hero-form__label {
	display: block;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 4px;
	letter-spacing: 0.02em;
}
.bigeasy-hero-form__input {
	display: block;
	width: 100%;
	padding: 10px 12px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 15px;
	color: var(--wp--preset--color--navy-900);
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: var(--bigeasy-radius-md, 8px);
	box-sizing: border-box;
	transition: border-color 150ms ease, box-shadow 150ms ease;
}
.bigeasy-hero-form__input::placeholder {
	color: var(--wp--preset--color--orange-700);
	opacity: 0.75;
}
.bigeasy-hero-form__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--orange-500);
	box-shadow: 0 0 0 3px rgba(236, 114, 0, 0.30);
}
.bigeasy-hero-form__input.is-error {
	border-color: var(--wp--preset--color--error);
	box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.25);
}
.bigeasy-hero-form__select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2302155A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 32px;
}
.bigeasy-hero-form__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	margin-top: 10px;
	padding: 14px 16px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--orange-500);
	border: none;
	border-radius: var(--bigeasy-radius-md, 8px);
	cursor: pointer;
	transition: background-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
	box-shadow: 0 6px 18px rgba(236, 114, 0, 0.25);
}
.bigeasy-hero-form__submit:hover {
	background: var(--wp--preset--color--orange-600);
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(236, 114, 0, 0.35);
}
.bigeasy-hero-form__submit:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange-400);
	outline-offset: 2px;
}
.bigeasy-hero-form__assurance {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 11px;
	color: rgba(255, 255, 255, 0.65);
	margin: 12px 0 0;
	line-height: 1.4;
}
.bigeasy-hero-form__live { min-height: 0; }
.bigeasy-hero-form__success {
	text-align: center;
	padding: 24px 12px;
}
.bigeasy-hero-form__success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--wp--preset--color--success, #0E7C50);
	color: var(--wp--preset--color--white);
	margin-bottom: 12px;
}
.bigeasy-hero-form__success h3 {
	font-family: var(--wp--preset--font-family--playfair);
	color: var(--wp--preset--color--white);
	margin: 0 0 8px;
	font-size: 20px;
}
.bigeasy-hero-form__success p {
	color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

/* --- 3-stripe operational-promise bar (below hero) --- */
.bigeasy-promise-bar {
	position: relative;
	z-index: 2;
	width: 100%;
}
.bigeasy-promise-bar__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: none;
	margin: 0;
}
@media (max-width: 767px) {
	.bigeasy-promise-bar__inner { grid-template-columns: 1fr; }
}
.bigeasy-promise-bar__stripe {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 22px 28px;
	min-height: 80px;
	/* D7 Sub-item 2 (2026-05-14) · Consistent hover lift across all 3 stripes regardless
	   of bg variant. Middle stripe (--orange) is intentional emphasis (not hover leak);
	   subtle translate-Y + drop-shadow + icon scale layered on top of existing bg. */
	transition: transform 240ms ease, box-shadow 240ms ease;
	position: relative;
	cursor: default;
}
.bigeasy-promise-bar__stripe:hover,
.bigeasy-promise-bar__stripe:focus-within {
	transform: translateY(-3px);
	box-shadow: 0 12px 26px rgba(2, 21, 90, 0.14);
	z-index: 1;
}
.bigeasy-promise-bar__stripe .bigeasy-promise-bar__icon {
	transition: transform 240ms ease;
}
.bigeasy-promise-bar__stripe:hover .bigeasy-promise-bar__icon,
.bigeasy-promise-bar__stripe:focus-within .bigeasy-promise-bar__icon {
	transform: scale(1.08);
}
@media (prefers-reduced-motion: reduce) {
	.bigeasy-promise-bar__stripe,
	.bigeasy-promise-bar__stripe .bigeasy-promise-bar__icon {
		transition: none;
	}
	.bigeasy-promise-bar__stripe:hover,
	.bigeasy-promise-bar__stripe:focus-within {
		transform: none;
	}
	.bigeasy-promise-bar__stripe:hover .bigeasy-promise-bar__icon,
	.bigeasy-promise-bar__stripe:focus-within .bigeasy-promise-bar__icon {
		transform: none;
	}
}
/* D8 Sub-item 5 (2026-05-14) · Unified all-white default + orange-on-hover treatment.
   Operator: "I want all of them to be white at first and only turn orange when hovered."
   Override the prior --orange variant (middle stripe was hardcoded orange-700 bg). All 3
   stripes now default to --white styling; hover flips to orange-500 with white text + icon.
   Per D7 cascade-source-order lesson: keep the --white + --orange variant rules but make
   both resolve to white-bg default (the orange variant rule below is intentionally
   redefined to white, not deleted, so any cached/legacy markup with --orange class still
   renders correctly during the next deploy). The `:hover` rule below provides the
   orange-on-hover flip uniformly regardless of --white/--orange variant class. */
.bigeasy-promise-bar__stripe--white,
.bigeasy-promise-bar__stripe--orange {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy-900);
}
/* Unified orange-on-hover (overrides D7 Commit B base hover transition with bg+color flip) */
.bigeasy-promise-bar__stripe:hover,
.bigeasy-promise-bar__stripe:focus-within {
	background: var(--wp--preset--color--orange-500);
	color: var(--wp--preset--color--white);
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(236, 114, 0, 0.28);
	z-index: 1;
}
.bigeasy-promise-bar__icon {
	flex: 0 0 22px;
	color: currentColor;
	transition: color 240ms ease;
}
.bigeasy-promise-bar__stripe--white .bigeasy-promise-bar__icon,
.bigeasy-promise-bar__stripe--orange .bigeasy-promise-bar__icon {
	color: var(--wp--preset--color--orange-700);
}
.bigeasy-promise-bar__stripe:hover .bigeasy-promise-bar__icon,
.bigeasy-promise-bar__stripe:focus-within .bigeasy-promise-bar__icon {
	color: var(--wp--preset--color--white);
}
@media (prefers-reduced-motion: reduce) {
	.bigeasy-promise-bar__stripe:hover,
	.bigeasy-promise-bar__stripe:focus-within {
		transform: none;
	}
	.bigeasy-promise-bar__icon { transition: none; }
}
.bigeasy-promise-bar__copy { min-width: 0; }
.bigeasy-promise-bar__title {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 2px;
	color: currentColor;
	line-height: 1.25;
}
.bigeasy-promise-bar__subtext {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	color: currentColor;
	/* 0.78 opacity drops effective contrast below 4.5:1 on orange-700 — bumped to 0.92 to pass AA-Normal */
	opacity: 0.92;
	margin: 0;
	line-height: 1.4;
}

/* --- Mobile sticky CTA refinement (existing class · spec from §F2) --- */
.bigeasy-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	display: none; /* JS toggles via .is-visible on scroll past 600px */
	grid-template-columns: 1fr 1fr;
	z-index: 1000;
	box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(100%);
	transition: transform 220ms ease-out;
	padding-bottom: env(safe-area-inset-bottom);
	background: var(--wp--preset--color--navy-900);
}
@media (max-width: 767px) {
	.bigeasy-sticky-cta { display: grid; }
}
.bigeasy-sticky-cta.is-visible { transform: translateY(0); }
.bigeasy-sticky-cta__call,
.bigeasy-sticky-cta__book {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 56px;
	padding: 0 12px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--white);
	text-decoration: none;
	transition: background-color 150ms ease;
}
.bigeasy-sticky-cta__call { background: var(--wp--preset--color--orange-500); }
.bigeasy-sticky-cta__call:hover { background: var(--wp--preset--color--orange-600); }
.bigeasy-sticky-cta__book { background: var(--wp--preset--color--navy-900); }
.bigeasy-sticky-cta__book:hover { background: var(--wp--preset--color--navy-800); }
.bigeasy-sticky-cta__call:focus-visible,
.bigeasy-sticky-cta__book:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange-400);
	outline-offset: -3px;
}
/* Offset back-to-top button above sticky CTA on mobile */
@media (max-width: 767px) {
	.bigeasy-sticky-cta.is-visible ~ .bigeasy-back-to-top {
		bottom: calc(56px + env(safe-area-inset-bottom) + 16px);
	}
}

/* --- D5 Item 4 (2026-05-13) · Footer subtle dark bg image overlay ---
   Adds depth to the footer beyond flat navy-900 fill. Uses an existing
   bg-section image at very low opacity layered over the navy-900 fill,
   so the footer keeps its dark identity while gaining a subtle texture. */
.bigeasy-footer.has-navy-900-background-color {
	position: relative;
	isolation: isolate;
}
.bigeasy-footer.has-navy-900-background-color::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url('/wp-content/themes/bigeasy/assets/images/bg-section-northeast-home-overcast.png');
	background-size: cover;
	background-position: center;
	opacity: 0.08;
	mix-blend-mode: luminosity;
	pointer-events: none;
	z-index: 0;
}
.bigeasy-footer.has-navy-900-background-color > * {
	position: relative;
	z-index: 1;
}

/* --- D5 Item 4 · Footer brand mark (white logo variant) --- */
.bigeasy-footer__brand {
	text-align: center;
	margin: 0 auto 32px;
}
.bigeasy-footer__brand-link {
	display: inline-block;
	line-height: 0;
}
.bigeasy-footer__brand-link:focus-visible {
	outline: 2px solid var(--wp--preset--color--orange-400);
	outline-offset: 4px;
	border-radius: var(--bigeasy-radius-sm, 4px);
}
.bigeasy-footer__logo {
	max-width: 240px;
	height: auto;
	width: 100%;
	display: inline-block;
}
@media (max-width: 600px) {
	.bigeasy-footer__logo { max-width: 180px; }
	.bigeasy-footer__brand { margin-bottom: 24px; }
}

/* --- Footer trust logos row --- */
.bigeasy-footer-trust {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	padding: 24px 0;
	margin-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
@media (max-width: 767px) {
	.bigeasy-footer-trust {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}
}
/* D6 Sub-item 6 (2026-05-13) · Trust-badges-A readability lift on dark navy footer.
   Operator-flagged: faded grayscale + low opacity made BBB / IICRC / Licensed labels
   unreadable. Lift: pure white text (16:1 contrast WCAG AAA), checkmark bullets (✓),
   solid border replacing the dashed build-hint, slight typography polish. */
.bigeasy-footer-trust__slot {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 12px;
	min-height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--bigeasy-radius-sm, 4px);
	background: rgba(255, 255, 255, 0.06);
	transition: background-color 200ms ease, border-color 200ms ease;
}
.bigeasy-footer-trust__slot:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.42);
}
/* Solid border across all slots (was dashed on --logo variants; build hint retired
   now that real credentials are operator-provisionable). */
.bigeasy-footer-trust__slot--logo { border-style: solid; }
.bigeasy-footer-trust__label {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--wp--preset--color--white);
	line-height: 1.2;
	text-align: center;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
/* Checkmark bullet (✓) before each badge text — operator-explicit ask.
   Color: brand orange-400 so it pops against the white label without overwhelming. */
.bigeasy-footer-trust__label::before {
	content: '\2713';
	color: var(--wp--preset--color--orange-400);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
@media (max-width: 480px) {
	.bigeasy-footer-trust__label { font-size: 11px; letter-spacing: 0.06em; }
}

/* ============================================================
   Stage 5.5.1 Batch 3 (2026-05-13) · Page heroes + new pages + mega-menu + bigger case images
   ============================================================ */

/* --- Universal page hero (used on /about/ /faq/ /contact/ /service-areas/ /blog/) ---
   D6 Sub-item 3 (2026-05-13): first-time clamp() bump per Adviser 5 Option A approval —
   replaces brittle fixed 80px with responsive scaling that matches homepage hero rhythm. */
.bigeasy-page-hero {
	position: relative;
	min-height: 320px;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: clamp(96px, 10vw, 140px) clamp(24px, 5vw, 80px);
	isolation: isolate;
}
.bigeasy-page-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: -2;
	transform: scale(1.02);
	transition: transform 800ms ease-out;
}
.bigeasy-page-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(2, 21, 90, 0.78) 0%, rgba(2, 21, 90, 0.55) 60%, rgba(2, 21, 90, 0.78) 100%);
	z-index: -1;
}
.bigeasy-page-hero__content {
	position: relative;
	z-index: 1;
	max-width: 920px;
	margin: 0 auto;
	color: var(--wp--preset--color--white);
	text-align: left;
}
.bigeasy-page-hero__eyebrow {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-400);
	margin: 0 0 12px;
}
.bigeasy-page-hero__h1 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(34px, 3vw + 0.5rem, 56px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--white);
	margin: 0 0 16px;
}
.bigeasy-page-hero__intro {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(16px, 0.4vw + 1rem, 19px);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
	max-width: 720px;
}

/* --- /contact/ split layout (form left · info right on desktop) --- */
.bigeasy-contact {
	background: var(--wp--preset--color--off-white, #FAFBFC);
	padding: 64px 24px;
}
.bigeasy-contact__inner {
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
	gap: 48px;
	align-items: start;
}
@media (max-width: 899px) {
	.bigeasy-contact__inner { grid-template-columns: 1fr; gap: 32px; }
}
.bigeasy-contact__info-col { color: var(--wp--preset--color--ink-900); }
.bigeasy-contact__block { margin-bottom: 28px; }
.bigeasy-contact__heading {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-700);
	margin: 0 0 6px;
}
.bigeasy-contact__phone {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 4px;
}
.bigeasy-contact__phone a {
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
}
.bigeasy-contact__phone a:hover { color: var(--wp--preset--color--orange-700); }
.bigeasy-contact__email {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 17px;
	font-weight: 600;
	margin: 0 0 4px;
}
.bigeasy-contact__email a {
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
}
.bigeasy-contact__email a:hover { color: var(--wp--preset--color--orange-700); }
.bigeasy-contact__detail {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-700);
	margin: 4px 0 0;
}
.bigeasy-contact__detail a {
	color: var(--wp--preset--color--orange-700);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.bigeasy-contact__form-col .bigeasy-hero-form { margin: 0; }

/* --- /service-areas/ city grid --- */
.bigeasy-areas {
	background: var(--wp--preset--color--off-white, #FAFBFC);
	padding: 64px 24px;
}
.bigeasy-areas__inner {
	max-width: 1140px;
	margin: 0 auto;
}
.bigeasy-areas__state { margin-bottom: 56px; }
.bigeasy-areas__state:last-child { margin-bottom: 32px; }
.bigeasy-areas__state-name {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(28px, 2vw + 0.5rem, 40px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 8px;
}
.bigeasy-areas__state-intro {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 16px;
	color: var(--wp--preset--color--ink-700);
	margin: 0 0 24px;
}
.bigeasy-areas__city-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}
.bigeasy-areas__city {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-lg, 12px);
	padding: 20px 22px;
}
.bigeasy-areas__city-name {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 20px;
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 12px;
}
.bigeasy-areas__service-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bigeasy-areas__service-list li {
	margin-bottom: 4px;
}
.bigeasy-areas__service-list a {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
	display: inline-block;
	padding: 4px 0;
	border-bottom: 1px solid transparent;
	transition: color 150ms ease, border-color 150ms ease;
}
.bigeasy-areas__service-list a:hover {
	color: var(--wp--preset--color--orange-700);
	border-bottom-color: var(--wp--preset--color--orange-500);
}
.bigeasy-areas__cta {
	text-align: center;
	padding: 32px 24px;
	background: var(--wp--preset--color--navy-100);
	border-radius: var(--bigeasy-radius-lg, 12px);
	margin-top: 32px;
}
.bigeasy-areas__cta p {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 17px;
	color: var(--wp--preset--color--navy-900);
	margin: 0;
	line-height: 1.5;
}
.bigeasy-areas__cta a {
	color: var(--wp--preset--color--orange-700);
	text-decoration: none;
}
.bigeasy-areas__cta a:hover { text-decoration: underline; }

/* --- Mega-menu styling for nav dropdowns --- *
 * Stage 5.5.1 Batch 4 (2026-05-13) · F1+F3 fix · scoped to desktop only.
 * Mobile drawer (≤767px) inherits Gutenberg native rendering — auto-expand all submenus
 * with the block-theme's own white-bg-fallback. Header.html no longer sets overlayBackgroundColor
 * or overlayTextColor on wp:navigation, so submenu containers no longer carry
 * `has-navy-900-background-color` / `has-white-color` utility classes (which caused the
 * navy-on-navy text invisibility on desktop dropdowns). */
@media (min-width: 768px) {
	.wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
		background: var(--wp--preset--color--white);
		border: 1px solid var(--wp--preset--color--ink-200);
		border-radius: var(--bigeasy-radius-md, 8px);
		box-shadow: 0 12px 32px rgba(2, 21, 90, 0.10);
		padding: 12px 4px;
		min-width: 260px;
	}
	.wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		color: var(--wp--preset--color--navy-900);
		font-family: var(--wp--preset--font-family--outfit);
		font-weight: 600; /* bumped 500 → 600 for stronger readability per audit */
		font-size: 16px;  /* bumped 15 → 16 baseline */
		padding: 12px 18px; /* bumped 10 → 12 for better touch + visual breathing */
		border-radius: var(--bigeasy-radius-sm, 4px);
		transition: background-color 120ms ease, color 120ms ease;
		white-space: nowrap;
	}
	.wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
		background: var(--wp--preset--color--navy-100);
		color: var(--wp--preset--color--orange-700);
	}
	/* Bucket B · 2-col Service Areas dropdown reverted to simple single-column (default WP block dropdown).
	   .bigeasy-nav-areas__index keeps a subtle top-border separator for the "all 11 cities" indicator. */
	.bigeasy-nav-areas > .wp-block-navigation__submenu-container > .bigeasy-nav-areas__index {
		border-top: 1px solid var(--wp--preset--color--ink-200);
		margin-top: 8px;
		padding-top: 8px;
	}
	.bigeasy-nav-areas__index > .wp-block-navigation-item__content {
		font-style: italic;
		color: var(--wp--preset--color--orange-700) !important;
	}
	/* Bucket B · in-nav "Book Free Inspection" CTA-style item removed in nav post 8 patch.
	   The header__cta button (parts/header.html) is the single header CTA surface now. */
}

/* --- Bigger before/after evidence images (per operator directive) --- */
.bigeasy-case__image {
	aspect-ratio: 16 / 11; /* taller than the prior 4:3 — gives image more vertical presence */
	min-height: 360px;
}
@media (max-width: 767px) {
	.bigeasy-case__image { min-height: 240px; }
}
/* Data-label "Before" / "After" badge → repositioned to bottom-left for clarity at the larger size */
.bigeasy-case__image[data-label]::before {
	content: attr(data-label);
	position: absolute;
	left: 12px;
	top: auto;
	bottom: 12px;
	background: rgba(2, 21, 90, 0.85);
	color: var(--wp--preset--color--white);
	padding: 4px 10px;
	border-radius: var(--bigeasy-radius-sm, 4px);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	z-index: 2;
}
.bigeasy-case__image { position: relative; }
/* Hover affordance on desktop only */
@media (hover: hover) and (min-width: 768px) {
	.bigeasy-case {
		transition: transform 200ms ease-out, box-shadow 200ms ease-out;
	}
	.bigeasy-case:hover {
		transform: translateY(-2px);
		box-shadow: 0 14px 30px rgba(2, 21, 90, 0.10);
	}
}

/* ============================================================
   Stage 5.5.1 Batch 6 (2026-05-13) · HTML Site Map page
   ============================================================ */
.bigeasy-sitemap {
	background: var(--wp--preset--color--off-white, #FAFBFC);
	padding: 64px 24px 80px;
}
.bigeasy-sitemap__inner {
	max-width: 1140px;
	margin: 0 auto;
}
.bigeasy-sitemap__header {
	text-align: left;
	margin-bottom: 48px;
}
.bigeasy-sitemap__eyebrow {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-700);
	margin: 0 0 8px;
}
.bigeasy-sitemap__h1 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(32px, 3vw + 0.5rem, 48px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 12px;
	line-height: 1.1;
}
.bigeasy-sitemap__intro {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 17px;
	color: var(--wp--preset--color--ink-700);
	line-height: 1.55;
	margin: 0;
	max-width: 680px;
}

.bigeasy-sitemap__section {
	margin-bottom: 48px;
}
.bigeasy-sitemap__h2 {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(24px, 1.5vw + 0.5rem, 32px);
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wp--preset--color--ink-200);
}
.bigeasy-sitemap__h2 .bigeasy-sitemap__count {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 400;
	color: var(--wp--preset--color--ink-500);
	margin-left: 8px;
	letter-spacing: 0;
	text-transform: none;
}

/* Main + Services lists */
.bigeasy-sitemap__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bigeasy-sitemap__list--2col {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4px 24px;
}
@media (max-width: 600px) {
	.bigeasy-sitemap__list--2col { grid-template-columns: 1fr; }
}
.bigeasy-sitemap__list li {
	padding: 6px 0;
}
.bigeasy-sitemap__list a {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 15px;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
	display: inline-block;
	padding: 2px 0;
	border-bottom: 1px solid transparent;
	transition: color 150ms ease, border-color 150ms ease;
}
.bigeasy-sitemap__list a:hover {
	color: var(--wp--preset--color--orange-700);
	border-bottom-color: var(--wp--preset--color--orange-500);
}

/* Service Areas — state group + city grid */
.bigeasy-sitemap__state {
	margin-bottom: 32px;
}
.bigeasy-sitemap__state-name {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 22px;
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 16px;
}
.bigeasy-sitemap__state-name .bigeasy-sitemap__count {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	font-weight: 400;
	color: var(--wp--preset--color--ink-500);
	margin-left: 6px;
}
.bigeasy-sitemap__city-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
}
.bigeasy-sitemap__city {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md, 8px);
	padding: 16px 18px;
}
.bigeasy-sitemap__city-name {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 700;
	color: var(--wp--preset--color--orange-700);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 8px;
}
.bigeasy-sitemap__city-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bigeasy-sitemap__city-list li { padding: 3px 0; }
.bigeasy-sitemap__city-list a {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
	display: inline-block;
	padding: 1px 0;
	transition: color 150ms ease;
}
.bigeasy-sitemap__city-list a:hover { color: var(--wp--preset--color--orange-700); }

/* FAQ grid */
.bigeasy-sitemap__faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}
@media (max-width: 768px) {
	.bigeasy-sitemap__faq-grid { grid-template-columns: 1fr; }
}
.bigeasy-sitemap__faq-group {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md, 8px);
	padding: 20px 22px;
}
.bigeasy-sitemap__faq-group-name {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 18px;
	font-weight: 700;
	color: var(--wp--preset--color--navy-900);
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--wp--preset--color--ink-100);
}
.bigeasy-sitemap__faq-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bigeasy-sitemap__faq-list li { padding: 5px 0; }
.bigeasy-sitemap__faq-list a {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	color: var(--wp--preset--color--navy-900);
	text-decoration: none;
	line-height: 1.4;
	display: inline-block;
	padding: 2px 0;
	border-bottom: 1px solid transparent;
	transition: color 150ms ease, border-color 150ms ease;
}
.bigeasy-sitemap__faq-list a:hover {
	color: var(--wp--preset--color--orange-700);
	border-bottom-color: var(--wp--preset--color--orange-500);
}

/* ============================================================
   BUCKET B · 2026-05-13 · live-site parity + new homepage sections
   ------------------------------------------------------------
   Tokens used (all already declared upstream via theme.json + :root):
     var(--wp--preset--color--*) for palette
     var(--bigeasy-radius-*)     for radii
     var(--orange-700)           for AA text-on-white labels
   ============================================================ */

/* --- B1 · Header right cluster (primary CTA + secondary phone) ---
   D2.6 (2026-05-13) · Phase 2 polish · P1 CTA tighten + P2 phone-text collapse @ 1024-1279 +
   P3 mobile logo cap @ 140px + P4 tablet inner-flex gap 16px. Addresses measured nav-wrap @ 1440
   (right cluster was 609px starving nav row) + oversized mobile logo (200x120 → 140xauto). */
/* D6 Sub-item 2 · stack phone callout BELOW orange CTA on desktop + tablet (≥1024px).
   Below 1024 the CTA hides (existing rule line 3160) and mobile keeps its hamburger + sticky pattern. */
/* D10-A initial direction · horizontal flex row · superseded by D10-E.
   D10-E (2026-05-14) · Operator post-D10 review: with both items horizontal the
   right cluster is too wide and pushes the 6th nav item ("Blog") to a second row.
   Stacking vertically with phone callout ABOVE the orange CTA narrows the cluster
   and lets the menu fit on one row. Phone is first in DOM order so column-flow
   places it on top naturally. flex-end alignment keeps both items hugging the
   right edge of the cluster. */
.bigeasy-header__right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}
@media (max-width: 1023px) {
	/* Below 1024 the orange CTA hides (existing rule) · phone-only cluster · re-allow
	   horizontal layout in the rare case we add another sibling later */
	.bigeasy-header__right { flex-direction: row; align-items: center; gap: 16px; }
}
.bigeasy-header__cta {
	display: inline-block;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;           /* P1 · 14 → 13 */
	font-weight: 700;
	letter-spacing: 0.03em;    /* P1 · 0.04 → 0.03 (tighter at smaller size) */
	padding: 10px 16px;        /* P1 · 12px 20px → 10px 16px */
	background: var(--wp--preset--color--orange-500);
	color: var(--wp--preset--color--white);
	text-decoration: none;
	border-radius: var(--bigeasy-radius-md, 8px);
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(236, 114, 0, 0.22);
	transition: background-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}
.bigeasy-header__cta:hover,
.bigeasy-header__cta:focus-visible {
	background: var(--wp--preset--color--orange-600);
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(236, 114, 0, 0.32);
}
.bigeasy-header__phone-num { font-weight: 400; opacity: 0.92; margin-left: 6px; }
@media (max-width: 1023px) {
	.bigeasy-header__cta { display: none; } /* mobile drawer + emergency banner surface CTA */
}
/* P2 · Collapse phone TEXT to icon-only between 1024-1279 (icon stays · still tappable) */
@media (min-width: 1024px) and (max-width: 1279px) {
	.bigeasy-header__phone-text { display: none; }
}
/* P4 · Tighten inner-flex gap on tablets so nav has breathing room before 1280 */
@media (max-width: 1279px) {
	.bigeasy-header > .wp-block-group { gap: 16px; }
}
/* P3 · Cap mobile logo size so header doesn't dominate viewport */
@media (max-width: 767px) {
	.bigeasy-header .wp-block-site-logo img { max-width: 140px; height: auto; }
	.bigeasy-header { padding-top: 12px; padding-bottom: 12px; }
}
/* P5 (D2.7) · Tighten wp:navigation blockGap @ 1024-1279 so 5 items fit on 1 row.
   Pairs with P2 (phone-text collapse) + P4 (inner-flex gap → 16) to close the ~48px nav underflow
   measured in D2.6: nav natural width 468px vs available ~421px after logo/cluster/gaps.
   NOTE: WP wp:navigation block wraps the actual <ul> inside several __responsive-container
   divs — the UL is NOT a direct child of <nav>. Using descendant selector + targeting the
   UL's own class (.wp-block-navigation__container) for reliability. */
@media (min-width: 1024px) and (max-width: 1279px) {
	.bigeasy-header .wp-block-navigation { --wp--style--block-gap: 16px; }
	.bigeasy-header .wp-block-navigation .wp-block-navigation__container { gap: 16px !important; }
}
/* P6 (D4 · Bucket D Item 1) · Logo cap @ 1024-1279 to recover ~38px horizontal space
   so 5-item nav finally collapses to 1 row at tablet width. Adviser-approved Option A. */
@media (min-width: 1024px) and (max-width: 1279px) {
	.bigeasy-header .wp-block-site-logo img { max-width: 160px; height: auto; }
}

/* --- B10 · Trust logos strip (between hero close + promise-bar) ---
   D8 Sub-item 4 (2026-05-14) · 3D elevation feel applied per Adviser 5 approval.
   Operator wants the WHOLE SECTION to read as elevated above the page surface
   (not just the icon-circles having internal hover-lift). Layered shadow + radius
   + inset top highlight + lateral inset to detach from edges. */
.bigeasy-trust-strip {
	background: var(--wp--preset--color--navy-100);
	padding: 32px 24px;
	border-radius: 16px;
	border-top: 0;
	border-bottom: 0;
	box-shadow:
		0 12px 32px rgba(2, 21, 90, 0.10),
		0 4px 8px rgba(2, 21, 90, 0.05),
		inset 0 1px 0 rgba(255, 255, 255, 0.7);
	margin: 32px auto;
	max-width: calc(100% - 48px);
	transition: transform 240ms ease, box-shadow 240ms ease;
}
@media (hover: hover) and (min-width: 768px) {
	.bigeasy-trust-strip:hover {
		transform: translateY(-2px);
		box-shadow:
			0 16px 40px rgba(2, 21, 90, 0.13),
			0 6px 12px rgba(2, 21, 90, 0.06),
			inset 0 1px 0 rgba(255, 255, 255, 0.7);
	}
}
@media (max-width: 768px) {
	.bigeasy-trust-strip {
		box-shadow: 0 8px 16px rgba(2, 21, 90, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6);
		margin: 24px auto;
		max-width: calc(100% - 32px);
		padding: 24px 16px;
		border-radius: 12px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bigeasy-trust-strip { transition: none; }
	.bigeasy-trust-strip:hover { transform: none; }
}
.bigeasy-trust-strip__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	gap: 24px;
	max-width: 1140px;
	margin: 0 auto;
}
.bigeasy-trust-strip__badge {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--wp--preset--color--ink-700);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.bigeasy-trust-strip__badge svg { color: var(--wp--preset--color--navy-900); flex-shrink: 0; }
@media (max-width: 640px) {
	.bigeasy-trust-strip__inner { gap: 16px; }
	.bigeasy-trust-strip__badge { font-size: 12px; }
}

/* D6 Sub-item 7a (2026-05-13) · Enriched icon-circles variant
   Approved by Adviser 5 (Direction A). Filled orange-500 48px circle with white inline
   SVG icon + bold title label. Secondary metric line omitted per Adviser caveat (no
   fabricated numbers). Hover lift gives polish. */
.bigeasy-trust-strip__inner:has(.bigeasy-trust-strip__badge--enriched) {
	padding: 8px 0;
}
.bigeasy-trust-strip__badge--enriched {
	gap: 14px;
	align-items: center;
	text-transform: none;
	letter-spacing: 0;
	color: var(--wp--preset--color--navy-900);
	font-weight: 400;
}
.bigeasy-trust-strip__icon-circle {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wp--preset--color--orange-500);
	/* WCAG 1.4.11 non-text contrast: orange-500 #EC7200 on navy-100 #E7EAF3 = 2.50:1
	   (fails 3:1 minimum for UI components). Navy-900 #02155A ring provides
	   independent separation at ~13:1 vs the navy-100 background, satisfying SC 1.4.11. */
	border: 1.5px solid var(--wp--preset--color--navy-900);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--white);
	box-shadow: 0 4px 12px rgba(236, 114, 0, 0.22);
	flex-shrink: 0;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.bigeasy-trust-strip__icon-circle svg { color: var(--wp--preset--color--white); }
.bigeasy-trust-strip__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.25;
}
.bigeasy-trust-strip__title {
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 700;
	font-size: 15px;
	color: var(--wp--preset--color--navy-900);
	letter-spacing: 0.01em;
}
.bigeasy-trust-strip__sub {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 12px;
	font-weight: 500;
	color: var(--wp--preset--color--ink-500);
}
.bigeasy-trust-strip__badge--enriched:hover .bigeasy-trust-strip__icon-circle {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(236, 114, 0, 0.32);
}
@media (max-width: 640px) {
	.bigeasy-trust-strip__icon-circle { width: 40px; height: 40px; }
	.bigeasy-trust-strip__icon-circle svg { width: 18px; height: 18px; }
	.bigeasy-trust-strip__title { font-size: 13px; }
}

/* --- New homepage section base (shared) ---
   D7 Sub-item 1 (2026-05-14): Duplicate .bigeasy-section__inner rule deleted from
   this block. The duplicate previously declared `padding: 0 24px;` and won the
   cascade by source-order against the unified-spec rule at line 1463, silently
   cancelling D5 Item 2 AND D6 Commit B spacing bumps for 2 sessions. Root cause
   confirmed via D7-spacing-rootcause-audit-gate. Adviser 5 approved verbatim delete.
   .bigeasy-section__inner now resolves cleanly to line 1463's
   `padding: clamp(72px, 9vw, 144px) clamp(24px, 5vw, 80px);` */
.bigeasy-section { padding: 80px 0; }
@media (max-width: 768px) { .bigeasy-section { padding: 56px 0; } }

/* --- B12 · CT Experts section --- */
.bigeasy-ct-experts { background: var(--wp--preset--color--white); text-align: center; }
.bigeasy-ct-experts__inner { max-width: 920px; }
.bigeasy-ct-experts__heading {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3.2vw, 44px);
	line-height: 1.15;
	margin: 0 0 16px;
}
.bigeasy-ct-experts__subheading { color: var(--wp--preset--color--ink-500); font-size: 20px; font-style: italic; margin: 0 0 24px; }
.bigeasy-ct-experts__body { color: var(--wp--preset--color--ink-700); font-size: 17px; line-height: 1.7; margin: 0; }

/* --- B3 · Working Plan section --- */
.bigeasy-working-plan { background: var(--wp--preset--color--off-white); }
.bigeasy-working-plan__heading {
	text-align: center;
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 48px;
}
.bigeasy-working-plan__steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; }
.bigeasy-working-plan__step { text-align: center; padding: 24px; }
.bigeasy-working-plan__num {
	display: block;
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	font-size: 56px;
	font-weight: 700;
	color: var(--orange-700);
	line-height: 1;
	margin-bottom: 12px;
}
.bigeasy-working-plan__icon { color: var(--wp--preset--color--navy-900); margin-bottom: 16px; }
.bigeasy-working-plan__title {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 12px;
}
.bigeasy-working-plan__desc { color: var(--wp--preset--color--ink-700); font-size: 16px; line-height: 1.6; margin: 0; }

/* --- B5 · Service Areas 2-col list --- */
.bigeasy-areas-2col { background: var(--wp--preset--color--off-white); }
.bigeasy-areas-2col__heading {
	text-align: center;
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 48px;
}
.bigeasy-areas-2col__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: 720px; margin: 0 auto; }
.bigeasy-areas-2col__state {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--wp--preset--color--orange-500);
}
.bigeasy-areas-2col__list { list-style: none; padding: 0; margin: 0; }
.bigeasy-areas-2col__list li { padding: 8px 0; }
.bigeasy-areas-2col__list a {
	color: var(--wp--preset--color--navy-900);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	transition: color 150ms ease;
}
.bigeasy-areas-2col__list a:hover,
.bigeasy-areas-2col__list a:focus-visible { color: var(--orange-700); }
@media (max-width: 640px) {
	.bigeasy-areas-2col__grid { grid-template-columns: 1fr; gap: 32px; }
}

/* --- B4 · Service Area Map --- */
.bigeasy-areas-map { background: var(--wp--preset--color--white); }
.bigeasy-areas-map__inner { text-align: center; }
.bigeasy-areas-map__heading {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 8px;
}
.bigeasy-areas-map__subhead { color: var(--wp--preset--color--ink-500); font-size: 18px; margin: 0 0 32px; }
.bigeasy-areas-map__image {
	max-width: 100%;
	height: auto;
	border-radius: var(--bigeasy-radius-md, 8px);
	box-shadow: 0 8px 24px rgba(2, 21, 90, 0.12);
}
.bigeasy-areas-map__placeholder {
	display: flex; align-items: center; justify-content: center;
	min-height: 320px;
	background: var(--wp--preset--color--navy-100);
	border-radius: var(--bigeasy-radius-md, 8px);
	color: var(--wp--preset--color--ink-500);
	font-style: italic;
}

/* --- D5 Item 3 (2026-05-13) · Merged Service Areas + Map (2-col desktop, stacked mobile) ---
   Replaces the previously stacked B4/B5 sections with a single side-by-side layout.
   List LEFT (with CT + NY inner 2-col), Map RIGHT, breakpoint 768px for stack. */
.bigeasy-service-areas-merged { background: var(--wp--preset--color--off-white); }
.bigeasy-service-areas-merged__inner { text-align: center; }
.bigeasy-service-areas-merged__heading {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 8px;
}
.bigeasy-service-areas-merged__subhead {
	color: var(--wp--preset--color--ink-500);
	font-size: 18px;
	margin: 0 0 40px;
}
.bigeasy-service-areas-merged__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	max-width: 1080px;
	margin: 0 auto;
	text-align: left;
}
.bigeasy-service-areas-merged__list-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}
.bigeasy-service-areas-merged__col { min-width: 0; }
.bigeasy-service-areas-merged__state {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 12px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--wp--preset--color--orange-500);
}
.bigeasy-service-areas-merged__list { list-style: none; padding: 0; margin: 0; }
.bigeasy-service-areas-merged__list li { padding: 6px 0; }
.bigeasy-service-areas-merged__list a {
	color: var(--wp--preset--color--navy-900);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 17px;
	font-weight: 600;
	text-decoration: none;
	transition: color 150ms ease;
}
.bigeasy-service-areas-merged__list a:hover,
.bigeasy-service-areas-merged__list a:focus-visible { color: var(--orange-700); }
.bigeasy-service-areas-merged__map-col { min-width: 0; }
.bigeasy-service-areas-merged__image {
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: var(--bigeasy-radius-md, 8px);
	box-shadow: 0 8px 24px rgba(2, 21, 90, 0.12);
	display: block;
}
@media (max-width: 768px) {
	.bigeasy-service-areas-merged__layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.bigeasy-service-areas-merged__list-col { gap: 24px; }
}
@media (max-width: 480px) {
	.bigeasy-service-areas-merged__list-col { grid-template-columns: 1fr; gap: 24px; }
}

/* --- B6 · Homepage FAQ accordion (native details/summary) --- */
.bigeasy-faq-home { background: var(--wp--preset--color--white); }
.bigeasy-faq-home__heading {
	text-align: center;
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 48px;
}
.bigeasy-faq-home__list { max-width: 800px; margin: 0 auto; }
.bigeasy-faq-home__item {
	background: var(--wp--preset--color--off-white);
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md, 8px);
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color 150ms ease;
}
.bigeasy-faq-home__item[open] { border-left: 4px solid var(--wp--preset--color--orange-500); }
.bigeasy-faq-home__q {
	cursor: pointer;
	padding: 20px 56px 20px 24px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 18px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	position: relative;
	list-style: none;
}
.bigeasy-faq-home__q::-webkit-details-marker { display: none; }
.bigeasy-faq-home__q::after {
	content: '+';
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
	color: var(--orange-700);
	transition: transform 200ms ease;
}
.bigeasy-faq-home__item[open] .bigeasy-faq-home__q::after { content: '−'; }
.bigeasy-faq-home__a { padding: 0 24px 20px; color: var(--wp--preset--color--ink-700); font-size: 16px; line-height: 1.65; }
.bigeasy-faq-home__a p { margin: 0; }
.bigeasy-faq-home__cta { text-align: center; margin-top: 32px; }

/* --- B7 · Latest Blogs widget (placeholder cards) --- */
.bigeasy-latest-blogs { background: var(--wp--preset--color--off-white); }
.bigeasy-latest-blogs__heading {
	text-align: center;
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 48px;
}
.bigeasy-latest-blogs__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; }
.bigeasy-latest-blogs__card {
	background: var(--wp--preset--color--white);
	border-radius: var(--bigeasy-radius-md, 8px);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(2, 21, 90, 0.06);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.bigeasy-latest-blogs__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(2, 21, 90, 0.12);
}
.bigeasy-latest-blogs__image {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, var(--wp--preset--color--orange-100), var(--wp--preset--color--navy-100));
	position: relative;
	overflow: hidden;
}
/* D7 Commit E (2026-05-14) · Featured image rendering when post has post-thumbnail.
   Category eyebrow overlays bottom-left over the photo for cluster context. */
.bigeasy-latest-blogs__img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	aspect-ratio: 16 / 9;
}
.bigeasy-latest-blogs__category--overlay {
	position: absolute;
	left: 12px;
	bottom: 10px;
	background: rgba(2, 21, 90, 0.78);
	color: var(--wp--preset--color--orange-400);
	padding: 4px 10px;
	border-radius: var(--bigeasy-radius-sm, 4px);
	z-index: 2;
	pointer-events: none;
}

/* D6 Sub-item 7b (2026-05-13) · Improved placeholder design for blog cards.
   Replaces gradient PNG placeholders with intentional editorial chrome:
   navy gradient + subtle diagonal stripe pattern + category eyebrow + topic icon.
   Approved by Adviser 5 (Direction A). */
.bigeasy-latest-blogs__image--brand {
	aspect-ratio: 16 / 9;
	background:
		repeating-linear-gradient(45deg, transparent 0 8px, rgba(255, 255, 255, 0.04) 8px 9px),
		linear-gradient(135deg, var(--wp--preset--color--navy-900) 0%, var(--wp--preset--color--navy-700, #1c317a) 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	color: var(--wp--preset--color--white);
	position: relative;
	overflow: hidden;
}
.bigeasy-latest-blogs__image--brand::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--wp--preset--color--orange-500);
}
.bigeasy-latest-blogs__category {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 11px;
	letter-spacing: 0.16em;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-400);
	position: relative;
	z-index: 1;
}
.bigeasy-latest-blogs__topic-icon {
	display: inline-flex;
	color: rgba(255, 255, 255, 0.88);
	position: relative;
	z-index: 1;
}
.bigeasy-latest-blogs__topic-icon svg { display: block; }
.bigeasy-latest-blogs__title {
	padding: 20px;
	margin: 0;
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: 18px;
	font-weight: 700;
}

/* --- B8 · Instagram placeholder grid --- */
.bigeasy-instagram { background: var(--wp--preset--color--white); }
.bigeasy-instagram__heading {
	text-align: center;
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3vw, 40px);
	margin: 0 0 32px;
}
.bigeasy-instagram__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	max-width: 720px;
	margin: 0 auto 24px;
}
@media (max-width: 640px) {
	.bigeasy-instagram__grid { grid-template-columns: repeat(2, 1fr); }
}
.bigeasy-instagram__tile {
	aspect-ratio: 1;
	background: var(--wp--preset--color--orange-100);
	border-radius: var(--bigeasy-radius-sm, 4px);
	display: block;
	position: relative;
	transition: transform 200ms ease, background-color 200ms ease;
	overflow: hidden;
}
.bigeasy-instagram__tile::after {
	content: '';
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='%23A65500' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='2' width='20' height='20' rx='5'/><path d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/><line x1='17.5' y1='6.5' x2='17.51' y2='6.5'/></svg>") center no-repeat;
	opacity: 0.5;
	transition: opacity 200ms ease;
}
.bigeasy-instagram__tile:hover,
.bigeasy-instagram__tile:focus-visible {
	transform: scale(1.02);
	background: #FAD9B5;
}
.bigeasy-instagram__tile:hover::after,
.bigeasy-instagram__tile:focus-visible::after { opacity: 0.75; }
.bigeasy-instagram__follow { text-align: center; margin: 0; }
.bigeasy-instagram__follow a {
	color: var(--orange-700);
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 600;
	font-size: 18px;
	text-decoration: none;
}
.bigeasy-instagram__follow a:hover,
.bigeasy-instagram__follow a:focus-visible { text-decoration: underline; }

/* --- B9 · 4-col footer grid (replaces wp:columns layout) --- */
.bigeasy-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1.4fr 1.2fr 1fr;
	gap: 48px;
	margin-top: 48px;
}
@media (max-width: 900px) { .bigeasy-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media (max-width: 560px) { .bigeasy-footer__grid { grid-template-columns: 1fr; gap: 24px; } }
.bigeasy-footer__heading {
	font-family: var(--wp--preset--font-family--outfit);
	color: var(--wp--preset--color--orange-400);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 16px;
}
.bigeasy-footer__list { list-style: none; padding: 0; margin: 0; }
.bigeasy-footer__list li { line-height: 2; }
.bigeasy-footer__list a {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	text-decoration: none;
	transition: color 150ms ease;
}
.bigeasy-footer__list a:hover,
.bigeasy-footer__list a:focus-visible { color: var(--wp--preset--color--orange-400); text-decoration: underline; }
.bigeasy-footer__areas { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 560px) { .bigeasy-footer__areas { grid-template-columns: 1fr; } }
.bigeasy-footer__area-state {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 4px;
}
.bigeasy-footer__list--areas li { line-height: 1.9; }
.bigeasy-footer__list--areas a {
	font-size: 13px;
	color: var(--wp--preset--color--ink-200);
	text-decoration: none;
	transition: color 180ms ease;
}
/* D8 Sub-item 3 (2026-05-14) · Footer area-link hover/focus state. Was href="#" placeholders
   pre-D8 · now real anchor targets to /service-areas/ + service-location pages. */
.bigeasy-footer__list--areas a:hover,
.bigeasy-footer__list--areas a:focus-visible {
	color: var(--wp--preset--color--orange-400);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.bigeasy-footer__list--areas a:focus-visible {
	outline: 2px solid var(--wp--preset--color--orange-400);
	outline-offset: 2px;
	border-radius: 2px;
}
.bigeasy-footer__contact { margin: 0 0 20px; line-height: 1.7; }
.bigeasy-footer__contact a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
}
.bigeasy-footer__phone strong { font-size: 16px; font-weight: 700; }
.bigeasy-footer__email:hover { color: var(--wp--preset--color--orange-400); }
.bigeasy-footer__social {
	list-style: none;
	display: flex;
	gap: 12px;
	padding: 0;
	margin: 16px 0 0;
}
.bigeasy-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--wp--preset--color--white);
	background: rgba(255, 255, 255, 0.08);
	transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}
.bigeasy-footer__social a:hover,
.bigeasy-footer__social a:focus-visible {
	background: var(--wp--preset--color--orange-500);
	color: var(--wp--preset--color--white);
	transform: translateY(-1px);
}
.bigeasy-footer__sep {
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	margin: 48px 0 24px;
}
.bigeasy-footer__copyright {
	text-align: center;
	color: var(--wp--preset--color--ink-300);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	margin: 0;
}

/* --- B11 · Contact form (7-field + upload + captcha placeholder) --- */
.bigeasy-contact-form .bigeasy-hero-form__fieldset {
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md, 8px);
	padding: 12px 16px 16px;
	margin: 0 0 16px;
}
.bigeasy-contact-form .bigeasy-hero-form__fieldset legend {
	padding: 0 6px;
}
.bigeasy-contact-form .bigeasy-hero-form__fieldset .bigeasy-hero-form__input {
	margin-bottom: 8px;
}
.bigeasy-contact-form .bigeasy-hero-form__fieldset .bigeasy-hero-form__input:last-child { margin-bottom: 0; }
.bigeasy-contact-form .bigeasy-hero-form__textarea {
	min-height: 120px;
	resize: vertical;
	font-family: inherit;
}
.bigeasy-contact-form .bigeasy-hero-form__field--upload .bigeasy-hero-form__upload {
	display: block;
	width: 100%;
	padding: 18px;
	border: 2px dashed var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md, 8px);
	background: var(--wp--preset--color--off-white);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	cursor: pointer;
}
.bigeasy-contact-form .bigeasy-hero-form__field--upload .bigeasy-hero-form__upload:hover,
.bigeasy-contact-form .bigeasy-hero-form__field--upload .bigeasy-hero-form__upload:focus-visible {
	border-color: var(--wp--preset--color--orange-500);
	background: var(--wp--preset--color--white);
}
.bigeasy-contact-form .bigeasy-hero-form__hint {
	color: var(--wp--preset--color--ink-500);
	font-size: 12px;
	margin: 6px 0 0;
}
.bigeasy-contact-form .bigeasy-hero-form__field--captcha .bigeasy-hero-form__captcha-placeholder {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid var(--wp--preset--color--ink-200);
	border-radius: var(--bigeasy-radius-md, 8px);
	background: var(--wp--preset--color--off-white);
}
.bigeasy-contact-form .bigeasy-hero-form__captcha-placeholder input[type="checkbox"] {
	width: 20px; height: 20px;
	accent-color: var(--wp--preset--color--orange-500);
}
.bigeasy-contact-form .bigeasy-hero-form__captcha-placeholder label {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--navy-900);
	cursor: pointer;
}
.bigeasy-contact-form .bigeasy-hero-form__captcha-icon {
	margin-left: auto;
	font-size: 11px;
	color: var(--wp--preset--color--ink-500);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
/* Required-field asterisk colour (consistent with brand) */
.bigeasy-contact-form .bigeasy-hero-form__label span[aria-hidden] {
	color: var(--orange-700);
	margin-left: 2px;
}
/* Screen-reader-only utility used by Instagram tiles + others */
.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;
}

/* ============================================================
   BUCKET C · 2026-05-13 · blog CPT + archive + single + cards
   ============================================================ */

/* Blog archive grid */
.bigeasy-blog-archive .bigeasy-blog-grid__inner {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 32px;
}
.bigeasy-blog-card {
	background: var(--wp--preset--color--white);
	border-radius: var(--bigeasy-radius-md, 8px);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(2, 21, 90, 0.06);
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.bigeasy-blog-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(2, 21, 90, 0.12);
}
.bigeasy-blog-card .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.bigeasy-blog-card__title a {
	color: var(--wp--preset--color--navy-900);
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	font-size: 22px;
	font-weight: 700;
	text-decoration: none;
	display: block;
	padding: 16px 20px 0;
}
.bigeasy-blog-card__title a:hover { color: var(--orange-700); }
.bigeasy-blog-card__excerpt {
	padding: 8px 20px 20px;
	margin: 0;
	color: var(--wp--preset--color--ink-700);
	font-size: 15px;
	line-height: 1.55;
}

/* Blog single */
.bigeasy-blog-single__title {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(28px, 3.6vw, 44px);
	line-height: 1.15;
	margin: 0 0 16px;
}
.bigeasy-blog-single__meta {
	color: var(--wp--preset--color--ink-500);
	font-size: 14px;
	gap: 8px;
	margin-bottom: 32px;
}
.bigeasy-blog-single__meta p { margin: 0; }
.bigeasy-blog-single .wp-block-post-content { font-size: 17px; line-height: 1.75; color: var(--wp--preset--color--ink-700); }
.bigeasy-blog-single .wp-block-post-content h2 {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	font-size: 28px; color: var(--wp--preset--color--navy-900);
	margin: 40px 0 16px;
}
.bigeasy-blog-single .wp-block-post-content h3 {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	font-size: 22px; color: var(--wp--preset--color--navy-900);
	margin: 32px 0 12px;
}
.bigeasy-blog-single .wp-block-post-content p { margin: 0 0 20px; }
.bigeasy-blog-single .wp-block-post-content ul,
.bigeasy-blog-single .wp-block-post-content ol { margin: 0 0 24px 24px; }
.bigeasy-blog-single .wp-block-post-content li { margin-bottom: 8px; }
.bigeasy-blog-single__cta {
	background: var(--wp--preset--color--off-white);
	border-radius: var(--bigeasy-radius-md, 8px);
	padding: 32px;
	margin-top: 56px;
	text-align: center;
	border: 1px solid var(--wp--preset--color--ink-200);
}
.bigeasy-blog-single__cta h3 {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	color: var(--wp--preset--color--navy-900);
	font-size: 24px;
	margin: 0 0 12px;
}
.bigeasy-blog-single__cta p {
	color: var(--wp--preset--color--ink-700);
	margin: 0 0 24px;
}

/* Wave 3 · live latest-blogs card link wrapper */
.bigeasy-latest-blogs__link {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.bigeasy-latest-blogs__link:hover .bigeasy-latest-blogs__title { color: var(--orange-700); }
.bigeasy-latest-blogs__link img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* ============================================================
   D9 Sub-item 2 (2026-05-14) · Reviews slider section
   Atmospheric basement-context bg image + navy darken overlay for AA contrast on
   white text. Centered content card · serif headline · sans body. ARIA carousel
   semantics + dot tablist controls. JS in sonic-boom.js::initReviewsSlider().
   ============================================================ */
.bigeasy-reviews-slider {
	position: relative;
	overflow: hidden;
	background-color: var(--wp--preset--color--navy-900);
	background-image: var(--bigeasy-reviews-bg, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: var(--wp--preset--color--white);
	padding: clamp(72px, 10vw, 120px) 24px;
	isolation: isolate;
}
.bigeasy-reviews-slider__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(2,21,90,0.78) 0%, rgba(2,21,90,0.72) 50%, rgba(2,21,90,0.85) 100%);
	z-index: 0;
	pointer-events: none;
}
.bigeasy-reviews-slider__inner {
	position: relative;
	z-index: 1;
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}
.bigeasy-reviews-slider__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-400);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(244, 147, 64, 0.4);
	border-radius: 999px;
	padding: 8px 16px;
	margin: 0 0 28px;
}
.bigeasy-reviews-slider__chip-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--orange-400);
	box-shadow: 0 0 0 4px rgba(244, 147, 64, 0.18);
}
.bigeasy-reviews-slider__heading {
	font-family: var(--wp--preset--font-family--playfair, 'Playfair Display'), serif;
	font-size: clamp(32px, 5vw, 56px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--white);
	margin: 0 0 16px;
}
.bigeasy-reviews-slider__sub {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(16px, 1.6vw, 18px);
	color: rgba(255, 255, 255, 0.88);
	margin: 0 0 48px;
}
.bigeasy-reviews-slider__viewport {
	position: relative;
	min-height: 280px;
}
.bigeasy-reviews-slider__slide {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 360ms ease, transform 360ms ease, visibility 360ms;
	pointer-events: none;
}
.bigeasy-reviews-slider__slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
.bigeasy-reviews-slider__quoteframe {
	color: var(--wp--preset--color--orange-400);
	margin: 0 0 20px;
	opacity: 0.9;
}
.bigeasy-reviews-slider__quoteicon {
	width: 48px;
	height: 48px;
}
.bigeasy-reviews-slider__quote {
	margin: 0 0 24px;
	max-width: 720px;
}
.bigeasy-reviews-slider__quote p {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.55;
	color: var(--wp--preset--color--white);
	margin: 0;
	font-weight: 400;
}
.bigeasy-reviews-slider__stars {
	display: inline-flex;
	gap: 4px;
	margin: 0 0 18px;
	color: var(--wp--preset--color--orange-400);
}
.bigeasy-reviews-slider__star { display: block; }
.bigeasy-reviews-slider__cite {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 15px;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
	letter-spacing: 0.02em;
}
.bigeasy-reviews-slider__name { font-weight: 600; color: var(--wp--preset--color--white); }
.bigeasy-reviews-slider__sep { color: rgba(255, 255, 255, 0.45); }
.bigeasy-reviews-slider__loc { color: rgba(255, 255, 255, 0.78); }

.bigeasy-reviews-slider__controls {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}
.bigeasy-reviews-slider__dot {
	width: 12px;
	height: 12px;
	padding: 0;
	border-radius: 50%;
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.55);
	cursor: pointer;
	transition: background 200ms ease, border-color 200ms ease, transform 200ms ease;
	position: relative;
}
.bigeasy-reviews-slider__dot:hover { border-color: var(--wp--preset--color--orange-400); }
.bigeasy-reviews-slider__dot.is-active {
	background: var(--wp--preset--color--orange-500);
	border-color: var(--wp--preset--color--orange-500);
	transform: scale(1.15);
}
.bigeasy-reviews-slider__dot:focus-visible {
	outline: 2px solid var(--wp--preset--color--orange-400);
	outline-offset: 4px;
}

@media (max-width: 768px) {
	.bigeasy-reviews-slider { padding: 56px 20px; }
	.bigeasy-reviews-slider__sub { margin-bottom: 36px; }
	.bigeasy-reviews-slider__viewport { min-height: 360px; }
	.bigeasy-reviews-slider__quoteicon { width: 36px; height: 36px; }
	.bigeasy-reviews-slider__quote p { font-size: 17px; line-height: 1.5; }
	.bigeasy-reviews-slider__controls { margin-top: 32px; }
	/* Touch-target spec compliance — dots stay 12×12 visual but get 44×44 hit area via padding */
	.bigeasy-reviews-slider__dot {
		width: 44px;
		height: 44px;
		border-width: 0;
		background: transparent;
	}
	.bigeasy-reviews-slider__dot::after {
		content: '';
		position: absolute;
		top: 50%; left: 50%;
		transform: translate(-50%, -50%);
		width: 12px;
		height: 12px;
		border-radius: 50%;
		border: 2px solid rgba(255, 255, 255, 0.55);
		background: transparent;
		transition: background 200ms ease, border-color 200ms ease;
	}
	.bigeasy-reviews-slider__dot.is-active::after {
		background: var(--wp--preset--color--orange-500);
		border-color: var(--wp--preset--color--orange-500);
	}
	.bigeasy-reviews-slider__dot:hover::after { border-color: var(--wp--preset--color--orange-400); }
}

@media (prefers-reduced-motion: reduce) {
	.bigeasy-reviews-slider__slide { transition: opacity 0ms, transform 0ms, visibility 0ms; }
	.bigeasy-reviews-slider__dot { transition: none; }
}

/* D9 Sub-item 3-fix (2026-05-14) · the prior .bigeasy-promise section + classes
   (.bigeasy-promise · .bigeasy-promise__inner · .bigeasy-promise__eyebrow ·
   .bigeasy-promise__heading · .bigeasy-promise__lede) shipped in commit 9bf7baa
   were retired here. Hero block restructure (Sub-item 3-fix) carries the
   eyebrow + lede payload inside the hero itself — see .bigeasy-eyebrow,
   .bigeasy-eyebrow__stars, .bigeasy-star, .bigeasy-eyebrow__label, and
   .bigeasy-hero__lede declarations earlier in this file. */
