/* =========================================================================
 * Fund My Equipment — v3 premium upgrades
 * Layered on top of theme.css → theme-v2.css → theme-v3-blue.css
 *
 *   1. SVG icon defaults
 *   2. Premium stat band (animated counters)
 *   3. Trust signal bar
 *   4. Press / lender strips
 *   5. Premium cat card (with hover-arrow)
 *   6. Premium feature icons
 *   7. Premium process steps
 *   8. Premium site header + mega menu
 *   9. Mobile drawer
 *  10. Sticky bottom CTA
 * ========================================================================= */

/* ---------- 1. Icon defaults ---------- */
.fme-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.125em;
	color: currentColor;
}

/* ---------- 2. Stat band (animated counters) ---------- */
.stat-band {
	background: linear-gradient(135deg, #0b1e44 0%, #1e3a8a 55%, #1e40af 100%);
	color: #fff;
	padding: 56px 0;
	position: relative;
	overflow: hidden;
}
.stat-band::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 15% 30%, rgba(99,102,241,0.20) 0%, transparent 50%),
		radial-gradient(circle at 85% 70%, rgba(56,189,248,0.18) 0%, transparent 50%);
	pointer-events: none;
}
.stat-band .container { position: relative; z-index: 1; }
.stat-band-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	align-items: center;
}
.stat-band-item {
	text-align: center;
	border-right: 1px solid rgba(255,255,255,0.10);
	padding: 0 16px;
}
.stat-band-item:last-child { border-right: none; }
.stat-band-number {
	font-size: 48px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1;
	background: linear-gradient(180deg, #ffffff 0%, #c7d2fe 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	margin-bottom: 10px;
	font-variant-numeric: tabular-nums;
}
.stat-band-label {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255,255,255,0.78);
}
@media (max-width: 800px) {
	.stat-band-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; }
	.stat-band-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.10); padding-bottom: 28px; }
	.stat-band-item:nth-child(3), .stat-band-item:nth-child(4) { border-bottom: none; padding-bottom: 0; }
	.stat-band-number { font-size: 40px; }
}

/* ---------- 3. Trust signal bar ---------- */
.trust-bar {
	background: #ffffff;
	border-bottom: 1px solid #e2e8f0;
	padding: 28px 0;
	max-width: none !important;  /* override theme.css max-width:1160px */
	margin: 0 !important;
	border-radius: 0;
	width: 100%;
}
/* Force container inside trust-bar to center within the full-width section */
.trust-bar > .container {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 24px !important;
	width: 100%;
	box-sizing: border-box;
}
.trust-bar-grid {
	display: flex !important;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	width: 100%;
}
.trust-bar-item {
	flex: 1 1 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 0 18px !important;
	border-right: 1px solid #e2e8f0;
	text-align: center !important;
	min-width: 0;
}
.trust-bar-item:last-child { border-right: none; }
.trust-bar-item .trust-bar-text {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}
.trust-bar-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
	color: #1e40af;
	flex-shrink: 0;
	border: 1px solid #bfdbfe;
}
.trust-bar-icon svg { width: 22px; height: 22px; }
.trust-bar-text { display: flex; flex-direction: column; gap: 2px; }
.trust-bar-text strong {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.005em;
}
.trust-bar-text span {
	font-size: 12px;
	color: #64748b;
	line-height: 1.3;
}
@media (max-width: 800px) {
	.trust-bar-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
	.trust-bar-item { border-right: none; padding-right: 0; }
}

/* ---------- 4. Press + lender strips ---------- */
.press-strip {
	background: #f8fafc;
	padding: 32px 0;
	border-bottom: 1px solid #e2e8f0;
}
.press-strip .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}
.press-strip-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #64748b;
}
.press-strip-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 40px;
}
.press-logo {
	font-size: 18px;
	font-weight: 700;
	color: #94a3b8;
	font-family: Georgia, 'Times New Roman', serif;
	letter-spacing: -0.01em;
	transition: color 0.18s ease;
	cursor: default;
}
.press-logo:hover { color: #475569; }
.press-logo-bloomberg { font-family: 'Helvetica Neue', Arial, sans-serif; font-weight: 800; letter-spacing: -0.02em; }
.press-logo-cnbc { font-family: 'Helvetica Neue', Arial, sans-serif; font-weight: 800; text-transform: lowercase; letter-spacing: 0.04em; }
.press-logo-forbes { font-family: Georgia, serif; font-style: italic; font-weight: 700; }
.press-logo-entrepreneur { font-family: 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-style: italic; letter-spacing: -0.01em; }
.press-logo-ibd { font-family: Georgia, serif; font-weight: 700; font-size: 14px; }
.press-logo-inc { font-family: Georgia, serif; font-weight: 800; font-style: italic; font-size: 22px; }

.lender-strip {
	background: #ffffff;
	padding: 28px 0;
	border-bottom: 1px solid #e2e8f0;
}
.lender-strip-inner {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: center;
}
.lender-strip-label {
	font-size: 13px;
	color: #64748b;
	font-weight: 500;
}
.lender-strip-label strong { color: #1e40af; font-weight: 700; }
.lender-strip-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 18px;
}
.lender-strip-logos .lender-logo {
	font-size: 14px;
	font-weight: 600;
	color: #475569;
	letter-spacing: 0.005em;
	background: none;
	border: none;
	padding: 0;
}
.lender-logo-divider {
	display: inline-block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #cbd5e1;
}
@media (max-width: 700px) {
	.lender-logo-divider { display: none; }
	.lender-strip-logos { gap: 10px 18px; }
}

/* ---------- 5. Premium category cards ---------- */
.cat-card-fintech {
	position: relative;
	overflow: hidden;
}
.cat-card-fintech-icon {
	color: #1e40af;
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
	border: 1px solid #bfdbfe;
	border-radius: 14px;
	padding: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin-bottom: 18px;
	box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 4px 16px -8px rgba(30,64,175,0.25);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.cat-card-fintech-icon svg { width: 30px; height: 30px; stroke-width: 1.5; }
.cat-card-fintech:hover .cat-card-fintech-icon {
	transform: scale(1.08) rotate(-2deg);
	box-shadow: 0 4px 24px -8px rgba(30,64,175,0.4);
}
.cat-card-fintech-arrow {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #f1f5f9;
	color: #64748b;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.22s ease;
	opacity: 0;
	transform: translateX(-6px);
}
.cat-card-fintech-arrow svg { width: 18px; height: 18px; }
.cat-card-fintech:hover .cat-card-fintech-arrow {
	opacity: 1;
	transform: translateX(0);
	background: #1e40af;
	color: #ffffff;
}

/* ---------- 6. Premium feature icons ---------- */
.feature-icon {
	color: #1e40af;
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
	border: 1px solid #bfdbfe;
	border-radius: 16px;
	padding: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 22px;
	box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 6px 24px -10px rgba(30,64,175,0.3);
}
.feature-icon svg { width: 36px; height: 36px; stroke-width: 1.5; }

/* ---------- 7. Premium process steps (v3) ---------- */
.process-steps-v3 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	counter-reset: none;
	list-style: none;
	padding: 0;
}
.process-steps-v3 li {
	position: relative;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 32px 24px 24px;
	transition: all 0.28s ease;
}
.process-steps-v3 li:hover {
	border-color: #bfdbfe;
	transform: translateY(-3px);
	box-shadow: 0 12px 32px -16px rgba(30,64,175,0.25);
}
.process-step-icon {
	color: #1e40af;
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
	border: 1px solid #bfdbfe;
	border-radius: 14px;
	padding: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 16px;
}
.process-step-icon svg { width: 26px; height: 26px; stroke-width: 1.5; }
.process-step-num {
	position: absolute;
	top: 18px;
	right: 22px;
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #e2e8f0;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.process-steps-v3 li strong {
	display: block;
	font-size: 17px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 8px;
	letter-spacing: -0.005em;
}
.process-steps-v3 li p {
	font-size: 14px;
	color: #64748b;
	line-height: 1.55;
	margin: 0;
}
@media (max-width: 1000px) {
	.process-steps-v3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.process-steps-v3 { grid-template-columns: 1fr; }
}

/* ---------- 8. Premium site header + mega menu ---------- */
.site-header-v3 {
	background: rgba(255,255,255,0.96);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid #e2e8f0;
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}
.site-header-v3 > .container {
	display: flex;
	align-items: center;
	gap: 28px;
	height: 72px;
	padding-top: 0;
	padding-bottom: 0;
}

.site-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #0f172a;
	text-decoration: none;
	flex-shrink: 0;
}
.site-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);
	color: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 12px -4px rgba(30,64,175,0.45);
}
.site-brand-mark svg { width: 20px; height: 20px; stroke-width: 1.5; }
.site-name {
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.012em;
	color: #0f172a;
}

/* WP custom logo: constrain to header height. Aspect ratio preserved via auto width. */
.site-brand .custom-logo-link,
.site-brand a.custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	margin: 0;
}
.site-brand .custom-logo,
.custom-logo {
	display: block;
	height: 40px;
	width: auto;
	max-width: 220px;
	max-height: 40px;
	object-fit: contain;
}
@media (max-width: 900px) {
	.site-brand .custom-logo,
	.custom-logo {
		height: 34px;
		max-height: 34px;
		max-width: 180px;
	}
}
/* When WP's custom logo is active, the parent <a class="site-brand"> wraps both the WP-emitted
 * <a class="custom-logo-link"> and the WP <img>. Avoid double-link styling and nested-link issues. */
.site-brand .custom-logo-link { padding: 0; border: 0; }
.site-brand .custom-logo-link:focus { outline: 0; }

.site-nav-v3 .primary-menu {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-nav-v3 .primary-menu > li { position: relative; }
.primary-link, .mega-trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: 0;
	font: inherit;
	font-size: 14.5px;
	font-weight: 600;
	color: #334155;
	padding: 10px 14px;
	border-radius: 8px;
	cursor: pointer;
	letter-spacing: -0.005em;
	transition: color 0.15s ease, background 0.15s ease;
}
.primary-link:hover, .mega-trigger:hover { color: #1e40af; background: #f1f5f9; }
.has-mega.is-open .mega-trigger { color: #1e40af; background: #eff6ff; }
.mega-caret { width: 14px; height: 14px; transition: transform 0.2s ease; }
.has-mega.is-open .mega-caret { transform: rotate(180deg); }

.mega-panel {
	position: absolute;
	top: calc(100% + 6px);
	left: 50%;
	transform: translateX(-50%) translateY(-4px);
	min-width: 640px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow:
		0 20px 50px -12px rgba(15,23,42,0.14),
		0 8px 16px -8px rgba(15,23,42,0.06);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
	z-index: 110;
}
.mega-panel-wide { min-width: 880px; }
.has-mega.is-open .mega-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0s;
}
.mega-panel::before {
	content: '';
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	height: 14px;
}
.mega-panel-inner { padding: 24px; }
.mega-grid {
	display: grid;
	gap: 8px 24px;
}
.mega-grid-cats { grid-template-columns: repeat(4, 1fr); gap: 4px 16px; }
.mega-grid-3 { grid-template-columns: 1fr 1fr 1.1fr; gap: 0 28px; }
.mega-col { display: flex; flex-direction: column; gap: 2px; }
.mega-col-h {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.10em;
	color: #94a3b8;
	margin: 0 0 12px;
	padding: 0 12px;
}

.mega-link {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	color: #1f2937;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	transition: background 0.14s ease, color 0.14s ease;
}
.mega-link:hover { background: #f8fafc; color: #1e40af; }
.mega-link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: #eff6ff;
	color: #1e40af;
	flex-shrink: 0;
	border: 1px solid #dbeafe;
	transition: background 0.14s ease;
}
.mega-link-icon svg { width: 18px; height: 18px; stroke-width: 1.5; }
.mega-link:hover .mega-link-icon { background: #dbeafe; }
.mega-link strong {
	display: block;
	font-weight: 700;
	color: #0f172a;
}
.mega-link-sub {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: #64748b;
	margin-top: 1px;
}
.mega-link-recent {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mega-link-cta {
	color: #1e40af;
	font-weight: 700;
	font-size: 13.5px;
	margin-top: 6px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.mega-link-cta .fme-icon { width: 14px; height: 14px; }

.mega-link-cat {
	padding: 8px 10px;
	gap: 10px;
}
.mega-link-cat .mega-link-icon { width: 28px; height: 28px; }
.mega-link-cat .mega-link-icon svg { width: 16px; height: 16px; }
.mega-link-cat .mega-link-text { font-weight: 500; }

.mega-col-feature {
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
	border-radius: 12px;
	padding: 20px;
	border: 1px solid #bfdbfe;
}
.mega-feature-tag {
	display: inline-block;
	background: #1e40af;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.10em;
	padding: 3px 8px;
	border-radius: 999px;
	margin-bottom: 12px;
}
.mega-feature h4 {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.012em;
}
.mega-feature p {
	margin: 0 0 12px;
	font-size: 13px;
	color: #475569;
	line-height: 1.45;
}
.mega-feature-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	color: #1e40af;
	text-decoration: none;
}
.mega-feature-cta .fme-icon { width: 14px; height: 14px; }

.mega-footer {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #e2e8f0;
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}
.mega-footer-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #1e40af;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 6px;
	transition: background 0.14s ease;
}
.mega-footer-link:hover { background: #eff6ff; }
.mega-footer-link .fme-icon { width: 14px; height: 14px; }
.mega-footer-link-alt {
	color: #64748b;
	font-weight: 600;
}
.mega-footer-link-alt .fme-icon { color: #1e40af; }

.header-search-v3 {
	flex: 1;
	max-width: 280px;
	position: relative;
	margin-left: auto;
	display: flex;
	align-items: center;
	background: #f1f5f9;
	border: 1px solid transparent;
	border-radius: 999px;
	padding: 4px 6px 4px 12px;
	transition: all 0.18s ease;
}
.header-search-v3:focus-within {
	background: #ffffff;
	border-color: #bfdbfe;
	box-shadow: 0 0 0 3px rgba(30,64,175,0.08);
}
.header-search-v3 input {
	flex: 1;
	background: none;
	border: 0;
	padding: 6px 8px;
	font-size: 13.5px;
	color: #0f172a;
	outline: none;
	font-family: inherit;
	min-width: 0;
}
.header-search-v3 input::placeholder { color: #94a3b8; }
.header-search-icon {
	background: none;
	border: 0;
	padding: 4px;
	color: #64748b;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.header-search-icon svg { width: 16px; height: 16px; stroke-width: 2; }

.site-cta-v3 {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);
	color: #ffffff;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	padding: 11px 18px;
	border-radius: 10px;
	letter-spacing: -0.005em;
	box-shadow: 0 4px 14px -4px rgba(30,64,175,0.45), 0 1px 0 rgba(255,255,255,0.18) inset;
	transition: all 0.18s ease;
	flex-shrink: 0;
}
.site-cta-v3 .fme-icon { width: 14px; height: 14px; }
.site-cta-v3:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px -4px rgba(30,64,175,0.55);
	color: #ffffff;
}

/* Hide WP-menu nav inside primary on home but show new wp_nav as fallback below 1100 */
@media (max-width: 1100px) {
	.site-nav-v3 { display: none; }
	.header-search-v3 { display: none; }
	.site-cta-v3 { display: none; }
	.fme-mobile-toggle { display: inline-flex !important; }
}

/* ---------- 9. Mobile drawer ---------- */
.fme-mobile-toggle {
	display: none;
	margin-left: auto;
	background: #f1f5f9;
	border: 0;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #0f172a;
	flex-shrink: 0;
}
.fme-mobile-toggle svg { width: 22px; height: 22px; }
.fme-mobile-close { background: #f1f5f9; }

.fme-mobile-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: min(360px, 92vw);
	height: 100dvh;
	background: #ffffff;
	box-shadow: -16px 0 40px -16px rgba(15,23,42,0.18);
	z-index: 200;
	transform: translateX(100%);
	transition: transform 0.28s ease;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.fme-mobile-drawer.is-open { transform: translateX(0); }
body.fme-drawer-open { overflow: hidden; }
.fme-mobile-drawer-inner { padding: 20px 22px 40px; }
.fme-mobile-drawer-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
}
.drawer-group { border-bottom: 1px solid #f1f5f9; }
.drawer-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: none;
	border: 0;
	padding: 14px 0;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	cursor: pointer;
	font-family: inherit;
}
.drawer-toggle .fme-icon { width: 18px; height: 18px; color: #64748b; transition: transform 0.2s ease; }
.drawer-group.is-open .drawer-toggle .fme-icon { transform: rotate(180deg); color: #1e40af; }
.drawer-sub {
	display: none;
	flex-direction: column;
	gap: 4px;
	padding-bottom: 12px;
	padding-left: 4px;
}
.drawer-group.is-open .drawer-sub { display: flex; }
.drawer-sub a {
	padding: 8px 12px;
	font-size: 14px;
	color: #475569;
	text-decoration: none;
	border-radius: 6px;
}
.drawer-sub a:hover { background: #f1f5f9; color: #1e40af; }
.drawer-link {
	display: block;
	padding: 14px 0;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	text-decoration: none;
	border-bottom: 1px solid #f1f5f9;
}
.drawer-search {
	margin-top: 18px;
	display: flex;
	background: #f1f5f9;
	border-radius: 10px;
	padding: 4px 4px 4px 12px;
}
.drawer-search input {
	flex: 1;
	background: none;
	border: 0;
	padding: 8px 0;
	font-size: 14px;
	outline: none;
	font-family: inherit;
	min-width: 0;
}
.drawer-search button {
	background: #1e40af;
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: 0 12px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.drawer-search button svg { width: 16px; height: 16px; }

/* ---------- 10. Sticky bottom CTA ---------- */
.fme-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,1) 100%);
	border-top: 1px solid #e2e8f0;
	box-shadow: 0 -8px 24px -8px rgba(15,23,42,0.10);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transform: translateY(120%);
	transition: transform 0.32s cubic-bezier(.6,.2,.1,1);
	pointer-events: none;
}
.fme-sticky-cta.is-visible {
	transform: translateY(0);
	pointer-events: auto;
}
.fme-sticky-cta-inner {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 14px 0;
}
.fme-sticky-cta-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}
.fme-sticky-cta-text strong {
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.005em;
}
.fme-sticky-cta-text span {
	font-size: 12.5px;
	color: #64748b;
}
.fme-sticky-cta-btn {
	flex-shrink: 0;
}
.fme-sticky-cta-dismiss {
	background: #f1f5f9;
	border: 0;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
	cursor: pointer;
	flex-shrink: 0;
	transition: all 0.16s ease;
}
.fme-sticky-cta-dismiss:hover { background: #e2e8f0; color: #0f172a; }
.fme-sticky-cta-dismiss svg { width: 18px; height: 18px; }

@media (max-width: 700px) {
	.fme-sticky-cta-text span { display: none; }
	.fme-sticky-cta-btn { padding: 10px 14px; font-size: 13px; }
	.fme-sticky-cta-inner { gap: 12px; padding: 10px 0; }
}

/* ---------- Hide v3 nav fallback below 1100 already; show v3 above ---------- */
@media (min-width: 1101px) {
	.fme-mobile-toggle { display: none; }
	.fme-mobile-drawer { display: none; }
}

/* ---------- 11. Footer leadgen banner (replaces former newsletter banner) ---------- */
.footer-leadgen-banner {
	background: linear-gradient(135deg, #0b1e44 0%, #1e3a8a 55%, #1e40af 100%);
	color: #ffffff;
	padding: 64px 0;
	position: relative;
	overflow: hidden;
}
.footer-leadgen-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(99,102,241,0.20) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(56,189,248,0.18) 0%, transparent 50%);
	pointer-events: none;
}
.footer-leadgen-banner .container { position: relative; z-index: 1; }
.footer-leadgen-inner {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 48px;
	align-items: center;
}
.footer-leadgen-pitch h2 {
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 12px 0 14px;
	color: #ffffff;
	line-height: 1.15;
}
.footer-leadgen-pitch p {
	font-size: 16.5px;
	color: rgba(255,255,255,0.85);
	margin: 0 0 22px;
	max-width: 540px;
	line-height: 1.55;
}
.footer-leadgen-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #93c5fd;
	background: rgba(147,197,253,0.10);
	border: 1px solid rgba(147,197,253,0.25);
	padding: 5px 12px;
	border-radius: 999px;
}
.footer-leadgen-trust {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 4px;
}
.footer-leadgen-trust span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	color: rgba(255,255,255,0.85);
	font-weight: 500;
}
.footer-leadgen-trust span .fme-icon {
	width: 14px;
	height: 14px;
	color: #4ade80;
}
.footer-leadgen-cta {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: stretch;
}
.footer-leadgen-cta .btn-primary {
	background: #ffffff;
	color: #1e40af;
	border: 0;
	font-size: 16px;
	box-shadow: 0 6px 20px -4px rgba(0,0,0,0.25);
	justify-content: center;
}
.footer-leadgen-cta .btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 28px -4px rgba(0,0,0,0.35);
	color: #1e3a8a;
}
.footer-leadgen-cta .btn-secondary {
	background: rgba(255,255,255,0.10);
	color: #ffffff;
	border: 1px solid rgba(255,255,255,0.25);
	justify-content: center;
}
.footer-leadgen-cta .btn-secondary:hover {
	background: rgba(255,255,255,0.18);
	color: #ffffff;
}
@media (max-width: 900px) {
	.footer-leadgen-inner { grid-template-columns: 1fr; gap: 28px; }
	.footer-leadgen-pitch h2 { font-size: 28px; }
}

/* =========================================================================
 *  12. Design-QA fixes (2026-05)
 *  Hero buttons rendering black instead of blue gradient.
 *  Arrow icon crammed against button text.
 *  Mega menu trigger wrapping to 2 lines.
 *  Header search placeholder truncating.
 *  Hero eyebrow chip green instead of brand blue.
 *  Stat-band counters showing mid-animation values.
 * ========================================================================= */

/* ---------- .btn-primary: blue gradient instead of black ---------- */
/* Overrides theme-v3-blue.css line 132 which set this to --ink (black). */
/* Explicit context exclusions: sidebar-cta and footer-leadgen keep their own overrides. */
.btn-primary:not(.fme-keep-dark) {
	background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);
	color: #ffffff;
	border-color: #1e3a8a;
	box-shadow: 0 4px 14px -4px rgba(30,64,175,0.45), 0 1px 0 rgba(255,255,255,0.18) inset;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.btn-primary:not(.fme-keep-dark):hover {
	background: linear-gradient(135deg, #1e3a8a 0%, #0b1e44 100%);
	color: #ffffff;
	border-color: #0b1e44;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px -4px rgba(30,64,175,0.55);
}

/* Context overrides that need to stay specific to their container */
.sidebar-cta .btn-primary {
	background: #1e40af;
	border-color: #1e40af;
	box-shadow: 0 2px 8px -2px rgba(0,0,0,0.25);
}
.sidebar-cta .btn-primary:hover {
	background: #1e3a8a;
	border-color: #1e3a8a;
	box-shadow: 0 4px 12px -2px rgba(0,0,0,0.35);
}
.cta-final-blue .btn-primary,
.footer-leadgen-cta .btn-primary {
	background: #ffffff;
	color: #1e40af;
	border: 0;
	box-shadow: 0 6px 20px -4px rgba(0,0,0,0.25);
}
.cta-final-blue .btn-primary:hover,
.footer-leadgen-cta .btn-primary:hover {
	background: #f1f5f9;
	color: #1e3a8a;
	transform: translateY(-1px);
	box-shadow: 0 10px 28px -4px rgba(0,0,0,0.35);
}

/* ---------- .btn-arrow: proper spacing before the arrow ---------- */
/* Overrides theme-v2.css which used `content: "  →"` — the spaces get collapsed. */
.btn-arrow::after {
	content: "→";
	display: inline-block;
	margin-left: 8px;
	transition: transform 0.15s ease;
}
.btn-arrow:hover::after {
	transform: translateX(3px);
}

/* ---------- .mega-trigger: prevent wrapping ---------- */
.mega-trigger {
	white-space: nowrap;
}

/* ---------- Header search: wider and shorter placeholder fits ---------- */
.header-search-v3 {
	max-width: 240px;
	flex: 0 0 240px;
}
.header-search-v3 input {
	font-size: 13px;
	padding: 6px 6px;
}
.header-search-v3 input::placeholder {
	font-size: 13px;
}
/* Beat .header-search button rule from theme.css (specificity 0,2,0 > 0,1,1) */
.header-search-v3 .header-search-icon {
	background: transparent !important;
	color: #64748b;
	padding: 4px;
	border-radius: 0;
	border: 0;
	font-weight: normal;
}
.header-search-v3 .header-search-icon:hover {
	background: transparent !important;
	color: #1e40af;
}

/* Tighter spacing in primary nav to give the header room */
.site-header-v3 > .container {
	gap: 20px;
}
.site-nav-v3 .primary-menu {
	gap: 2px;
}
.primary-link, .mega-trigger {
	padding: 10px 11px;
	font-size: 14px;
}

/* ---------- Hero eyebrow: brand blue instead of green ---------- */
.hero-eyebrow {
	color: #1e40af;
	background: #dbeafe;
	border: 1px solid #bfdbfe;
}
.hero-eyebrow::before {
	background: #1e40af !important;
}

/* ---------- Stat-band: tabular numerals + reserve space to prevent jump ---------- */
.stat-band-number {
	font-variant-numeric: tabular-nums;
	min-width: 0;
}

/* Reduced-motion: skip animation entirely */
@media (prefers-reduced-motion: reduce) {
	.stat-band-number {
		transition: none !important;
	}
}

/* =========================================================================
 *  13. Page-band product page system (2026-05)
 *  Replaces blog-style 2-column flow with full-width banded sections.
 *  Each .page-band spans the viewport with its own background, so pages
 *  read like SaaS landing pages instead of long-form blog posts.
 * ========================================================================= */

.page-band {
	padding: 56px 0;
	position: relative;
}
.page-band-intro {
	background: #ffffff;
	padding: 48px 0 32px;
}
.page-band-light {
	background: #ffffff;
}
.page-band-tint {
	background: #f8fafc;
}
.page-band-faq {
	background: #ffffff;
	border-top: 1px solid #e2e8f0;
}
.page-band-meta {
	background: #ffffff;
	padding: 24px 0;
	border-top: 1px solid #e2e8f0;
}
.page-band-leadgen {
	background: #ffffff;
	padding: 0;
}

.page-band-header {
	max-width: 760px;
	margin: 0 auto 36px;
	text-align: center;
}
.page-band-header h2 {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.018em;
	color: #0f172a;
	margin: 0;
	line-height: 1.2;
}
.page-band-body {
	max-width: 1080px;
	margin: 0 auto;
}
/* Top-level paragraphs (direct children of band-body) keep narrow + centered styling */
.page-band-body > p {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	color: #475569;
	font-size: 16px;
	line-height: 1.65;
	margin-bottom: 20px;
}

/* Section subheadings inside bands */
.page-band-body h3 {
	font-size: 19px;
	font-weight: 700;
	color: #0f172a;
	margin: 28px 0 10px;
	letter-spacing: -0.005em;
}
.page-band-body h3:first-child { margin-top: 0; }

/* Each <section> inside a band becomes its own product-card panel */
.page-band .page-band-body > section,
.page-band .page-band-body section[id] {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 18px !important;
	padding: 32px 36px 30px !important;
	margin: 0 0 20px !important;
	box-shadow: 0 1px 0 rgba(15,23,42,0.02) !important;
	display: block !important;
}
.page-band-tint .page-band-body > section,
.page-band-tint .page-band-body section[id] {
	background: #ffffff;
	border-color: #e2e8f0;
}
.page-band-body > section > h2,
.page-band-body section[id] > h2 {
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 14px;
	letter-spacing: -0.012em;
	line-height: 1.25;
}
.page-band-body > section > p:not(:last-child),
.page-band-body section[id] > p:not(:last-child) {
	margin-bottom: 14px;
	color: #475569;
	font-size: 15px;
	line-height: 1.65;
	text-align: left;
}
.page-band-body > section > p:last-of-type,
.page-band-body section[id] > p:last-of-type {
	color: #475569;
	font-size: 15px;
	line-height: 1.65;
	text-align: left;
}

/* When section has a card-grid inside, make it tighter to that grid */
.page-band-body > section > .card-grid,
.page-band-body section[id] > .card-grid {
	margin-top: 18px;
}

@media (max-width: 700px) {
	.page-band-body > section,
	.page-band-body section[id] {
		padding: 22px 22px 20px;
	}
}

/* Card grids inside bands look more substantial */
.page-band-body .card-grid {
	margin-top: 24px;
}
.page-band-body .card-grid-2 {
	grid-template-columns: repeat(2, 1fr);
}
.page-band-body .card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 22px 22px 20px;
	box-shadow: 0 1px 0 rgba(15,23,42,0.02);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.page-band-body .card:hover {
	transform: translateY(-2px);
	border-color: #bfdbfe;
	box-shadow: 0 12px 32px -16px rgba(30,64,175,0.25);
}
.page-band-body .card-tint {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.page-band-body .card h3 {
	font-size: 16px;
	font-weight: 700;
	color: #1e40af;
	margin: 0 0 8px;
}
.page-band-body .card p {
	font-size: 14.5px;
	color: #475569;
	margin: 0;
	line-height: 1.55;
}

/* Tint band cards reverse to white */
.page-band-tint .page-band-body .card {
	background: #ffffff;
}
.page-band-tint .page-band-body .card-tint {
	background: linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
}

/* Check-lists become visual icon lists */
.page-band-body .check-list {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 16px;
	margin-top: 24px;
}
.page-band-body .check-list li {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 18px 20px 16px 50px;
	position: relative;
	font-size: 14.5px;
	color: #475569;
	line-height: 1.55;
}
.page-band-body .check-list li::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 18px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #dbeafe url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e40af' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 7'/></svg>") center / 14px no-repeat;
}
.page-band-body .check-list li strong {
	display: block;
	color: #0f172a;
	font-weight: 700;
	margin-bottom: 4px;
}
.page-band-tint .page-band-body .check-list li {
	background: #ffffff;
}

/* Pitfall callouts as visual cards */
.page-band-body .callout-warn {
	background: #ffffff;
	border: 1px solid #fde68a;
	border-left: 4px solid #d97706;
	border-radius: 10px;
	padding: 16px 20px;
	margin: 0 0 14px;
	box-shadow: 0 1px 0 rgba(15,23,42,0.02);
}
.page-band-body .callout-warn .callout-title {
	font-size: 14.5px;
	font-weight: 700;
	color: #92400e;
	margin-bottom: 6px;
	letter-spacing: -0.005em;
}
.page-band-body .callout-warn p {
	margin: 0;
	font-size: 14px;
	color: #475569;
	line-height: 1.55;
}

/* FAQ list inside band, wider and more polished */
.faq-list-band {
	max-width: 760px;
	margin: 0 auto;
}
.faq-list-band details {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.faq-list-band details[open] {
	border-color: #bfdbfe;
	box-shadow: 0 8px 24px -16px rgba(30,64,175,0.2);
}
.faq-list-band summary {
	padding: 18px 24px;
	cursor: pointer;
	font-size: 15.5px;
	font-weight: 700;
	color: #0f172a;
	list-style: none;
	position: relative;
}
.faq-list-band summary::-webkit-details-marker { display: none; }
.faq-list-band summary::after {
	content: "+";
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: #64748b;
	transition: transform 0.2s ease;
}
.faq-list-band details[open] summary::after {
	content: "−";
	color: #1e40af;
}
.faq-list-band .faq-answer {
	padding: 0 24px 22px;
	color: #475569;
	font-size: 14.5px;
	line-height: 1.6;
}

/* Inline leadgen strip — solid attention bar between bands */
.leadgen-strip {
	background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);
	color: #ffffff;
	border-radius: 18px;
	padding: 28px 36px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	box-shadow: 0 16px 40px -20px rgba(30,64,175,0.45);
}
.leadgen-strip-text { display: flex; flex-direction: column; gap: 2px; }
.leadgen-strip-text strong {
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.012em;
}
.leadgen-strip-text span {
	font-size: 13.5px;
	color: rgba(255,255,255,0.85);
}
.leadgen-strip .btn-primary {
	background: #ffffff !important;
	color: #1e40af !important;
	border: 0;
	box-shadow: 0 6px 20px -4px rgba(0,0,0,0.25);
}
.leadgen-strip .btn-primary:hover {
	background: #f1f5f9 !important;
	color: #1e3a8a !important;
	transform: translateY(-1px);
}
@media (max-width: 700px) {
	.leadgen-strip { flex-direction: column; align-items: stretch; text-align: center; padding: 24px; }
}

/* Related equipment grid */
.related-equipment-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
}
.related-equipment-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 22px 22px 18px;
	text-decoration: none;
	transition: all 0.2s ease;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.related-equipment-card h3 {
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	margin: 0;
	letter-spacing: -0.005em;
}
.related-equipment-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	color: #1e40af;
}
.related-equipment-cta .fme-icon { width: 14px; height: 14px; }
.related-equipment-card:hover {
	border-color: #bfdbfe;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px -16px rgba(30,64,175,0.25);
}

/* Advisor card v3 — horizontal card centered in band */
.advisor-card-v3 {
	max-width: 720px;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 28px 32px;
	display: flex;
	gap: 22px;
	align-items: flex-start;
	box-shadow: 0 1px 0 rgba(15,23,42,0.02);
}
.advisor-card-v3 .advisor-photo {
	flex-shrink: 0;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.02em;
}
.advisor-card-v3 .advisor-info { flex: 1; }
.advisor-card-v3 .advisor-meta {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #64748b;
}
.advisor-card-v3 .advisor-name {
	font-size: 20px;
	font-weight: 800;
	color: #0f172a;
	margin: 4px 0 2px;
}
.advisor-card-v3 .advisor-title { font-size: 13.5px; color: #1e40af; font-weight: 600; }
.advisor-card-v3 .advisor-creds { font-size: 12.5px; color: #64748b; margin-top: 4px; }
.advisor-card-v3 .advisor-bio { font-size: 14px; color: #475569; line-height: 1.55; margin-top: 12px; }

/* Less-prominent quiet byline (used in lede) */
.advisor-byline-quiet {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #e2e8f0;
	font-size: 12.5px;
	color: #64748b;
}

/* Final CTA band — deep blue gradient, centered hero pitch */
.page-band-final {
	background: linear-gradient(135deg, #0b1e44 0%, #1e3a8a 55%, #1e40af 100%);
	color: #ffffff;
	padding: 72px 0;
	position: relative;
	overflow: hidden;
}
.page-band-final::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(99,102,241,0.22) 0%, transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(56,189,248,0.20) 0%, transparent 50%);
	pointer-events: none;
}
.page-band-final .container {
	position: relative;
	z-index: 1;
	text-align: center;
}
.final-cta-eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #93c5fd;
	background: rgba(147,197,253,0.10);
	border: 1px solid rgba(147,197,253,0.25);
	padding: 5px 12px;
	border-radius: 999px;
	margin-bottom: 18px;
}
.final-cta-pitch h2 {
	font-size: 38px;
	font-weight: 800;
	color: #ffffff;
	letter-spacing: -0.018em;
	line-height: 1.15;
	margin: 0 0 14px;
}
.final-cta-pitch p {
	font-size: 16.5px;
	color: rgba(255,255,255,0.85);
	max-width: 560px;
	margin: 0 auto 28px;
	line-height: 1.55;
}
.final-cta-actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.final-cta-actions .btn-primary {
	background: #ffffff !important;
	color: #1e40af !important;
	border: 0;
	box-shadow: 0 8px 24px -4px rgba(0,0,0,0.3);
}
.final-cta-actions .btn-primary:hover {
	background: #f1f5f9 !important;
	color: #1e3a8a !important;
}
.final-cta-actions .btn-secondary {
	background: rgba(255,255,255,0.10);
	color: #ffffff;
	border: 1px solid rgba(255,255,255,0.25);
}
.final-cta-actions .btn-secondary:hover {
	background: rgba(255,255,255,0.18);
	color: #ffffff;
}
.final-cta-trust {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	justify-content: center;
}
.final-cta-trust span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	color: rgba(255,255,255,0.85);
	font-weight: 500;
}
.final-cta-trust .fme-icon {
	width: 14px;
	height: 14px;
	color: #4ade80;
}

@media (max-width: 900px) {
	.page-band { padding: 40px 0; }
	.page-band-header h2 { font-size: 26px; }
	.final-cta-pitch h2 { font-size: 28px; }
}

/* =========================================================================
 *  14. Premium site footer (v3) — replaces sparse 4-col WP menus
 * ========================================================================= */

.site-footer-v3 {
	background: #0b1e44;
	color: rgba(255,255,255,0.78);
	padding: 64px 0 0;
	position: relative;
	overflow: hidden;
	border-top: 0;
	font-size: 14px;
	line-height: 1.55;
}
.site-footer-v3::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 10% 0%, rgba(99,102,241,0.10) 0%, transparent 45%),
		radial-gradient(circle at 90% 100%, rgba(56,189,248,0.08) 0%, transparent 50%);
	pointer-events: none;
}
.site-footer-v3 .container {
	position: relative;
	z-index: 1;
	display: block !important;        /* override theme-v2.css .site-footer .container grid */
	grid-template-columns: none !important;
	gap: 0 !important;
}

/* ----- 5-column grid ----- */
.footer-grid-v3 {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr;
	gap: 48px;
	padding-bottom: 48px;
}

/* ----- Column headings ----- */
.footer-col-h {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #93c5fd;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255,255,255,0.10);
	width: 100%;
}
.footer-col-h .fme-icon {
	width: 14px;
	height: 14px;
	color: #60a5fa;
}
.footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.footer-col ul li a {
	color: rgba(255,255,255,0.72);
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 500;
	transition: color 0.14s ease, transform 0.14s ease;
	display: inline-block;
	padding: 2px 0;
}
.footer-col ul li a:hover {
	color: #ffffff;
}
.footer-col-more {
	color: #93c5fd !important;
	font-weight: 700 !important;
	margin-top: 8px;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}
.footer-col-more .fme-icon {
	width: 12px;
	height: 12px;
}

/* ----- Brand column ----- */
.footer-col-brand {
	padding-right: 12px;
}
.footer-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	margin-bottom: 16px;
}
.footer-brand-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
	color: #ffffff;
	border-radius: 10px;
	box-shadow: 0 4px 12px -4px rgba(59,130,246,0.5);
}
.footer-brand-mark svg {
	width: 20px;
	height: 20px;
	stroke-width: 1.5;
}
.footer-brand-name {
	font-size: 17px;
	font-weight: 800;
	color: #ffffff;
	letter-spacing: -0.012em;
}

/* Footer image logo (used when an <img class="footer-brand-logo"> replaces text+mark) */
.footer-brand-logo {
	display: block;
	height: auto;
	width: auto;
	max-height: 56px;
	max-width: 220px;
	/* aspect-ratio preserves natural ratio without needing HTML width/height attrs */
}
@media (max-width: 600px) {
	.footer-brand-logo {
		max-height: 44px;
		max-width: 180px;
	}
}
.footer-tagline {
	margin: 0 0 22px;
	color: rgba(255,255,255,0.72);
	font-size: 13.5px;
	line-height: 1.6;
	max-width: 340px;
}

/* ----- Trust pills in brand column ----- */
.footer-trust-row {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.footer-trust-pill {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 10px;
}
.footer-trust-pill .fme-icon {
	width: 20px;
	height: 20px;
	color: #60a5fa;
	flex-shrink: 0;
}
.footer-trust-pill span {
	display: flex;
	flex-direction: column;
	gap: 0;
	font-size: 11.5px;
	color: rgba(255,255,255,0.65);
	letter-spacing: 0.005em;
}
.footer-trust-pill strong {
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.005em;
	display: block;
}

/* ----- Contact block ----- */
.footer-contact-block {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,0.08);
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.footer-contact-line {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #93c5fd !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	text-decoration: none;
}
.footer-contact-line .fme-icon {
	width: 14px;
	height: 14px;
}
.footer-contact-hours {
	font-size: 12px;
	color: rgba(255,255,255,0.55);
	padding-left: 22px;
}

/* ----- Status row (dot + line) ----- */
.footer-status-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding: 20px 0;
	border-top: 1px solid rgba(255,255,255,0.08);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.footer-status {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: rgba(255,255,255,0.85);
	font-size: 13px;
	font-weight: 600;
}
.footer-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 0 rgba(34,197,94,0.6);
	animation: fme-pulse-dot 2.2s ease-in-out infinite;
	flex-shrink: 0;
}
@keyframes fme-pulse-dot {
	0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
	50%      { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
}
.footer-status-meta {
	font-size: 12.5px;
	color: rgba(255,255,255,0.55);
	letter-spacing: 0.005em;
}

/* ----- Legal section ----- */
.footer-legal {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 48px;
	padding: 32px 0 40px;
}
.footer-disclosure,
.footer-tcpa {
	font-size: 12px;
	color: rgba(255,255,255,0.55);
	line-height: 1.7;
	margin: 0 0 14px;
}
.footer-disclosure strong,
.footer-tcpa strong {
	color: rgba(255,255,255,0.85);
	font-weight: 700;
}
.footer-disclosure a,
.footer-tcpa a {
	color: #93c5fd;
	text-decoration: none;
}
.footer-disclosure a:hover,
.footer-tcpa a:hover {
	color: #ffffff;
	text-decoration: underline;
}
.footer-legal-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 14px;
}
.footer-legal-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	justify-content: flex-end;
}
.footer-legal-links li a {
	font-size: 12.5px;
	color: rgba(255,255,255,0.65);
	text-decoration: none;
	transition: color 0.14s ease;
}
.footer-legal-links li a:hover {
	color: #ffffff;
}
.footer-copyright {
	font-size: 12px;
	color: rgba(255,255,255,0.45);
	margin: 0;
	text-align: right;
}

@media (max-width: 1100px) {
	.footer-grid-v3 {
		grid-template-columns: 1.5fr 1fr 1fr;
		gap: 36px;
	}
	.footer-col-brand { grid-column: 1 / -1; padding-right: 0; }
	.footer-tagline { max-width: 100%; }
	.footer-trust-row { flex-direction: row; flex-wrap: wrap; }
	.footer-trust-pill { flex: 1 1 calc(33% - 10px); }
}
@media (max-width: 800px) {
	.site-footer-v3 { padding-top: 48px; }
	.footer-grid-v3 { grid-template-columns: 1fr 1fr; gap: 32px; }
	.footer-trust-row { flex-direction: column; }
	.footer-trust-pill { flex: 1 1 100%; }
	.footer-legal { grid-template-columns: 1fr; gap: 24px; }
	.footer-legal-right { align-items: flex-start; }
	.footer-legal-links { justify-content: flex-start; }
	.footer-copyright { text-align: left; }
	.footer-status-row { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (max-width: 560px) {
	.footer-grid-v3 { grid-template-columns: 1fr; }
}

/* =========================================================================
 *  15. Apply form — server-side rendered fields, JS-enhanced
 * ========================================================================= */

.apply-result {
	margin: 0 0 24px;
	padding: 14px 18px;
	border-radius: 12px;
	font-size: 14.5px;
	line-height: 1.55;
}
.apply-result-success {
	background: #ecfdf5;
	border: 1px solid #6ee7b7;
	color: #065f46;
}
.apply-result-error {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	color: #991b1b;
}
.apply-result strong { display: block; margin-bottom: 4px; font-weight: 700; }
.apply-result ul { margin: 6px 0 0 18px; padding: 0; }
.apply-result li { text-transform: capitalize; }

.application-form.full {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	padding: 32px 32px 24px;
	box-shadow: 0 1px 0 rgba(15,23,42,0.02);
}
.apply-fieldset {
	border: 0;
	margin: 0 0 22px;
	padding: 0;
}
.apply-legend {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #1e40af;
	padding: 0;
	margin-bottom: 14px;
}
.apply-row { margin-bottom: 16px; }
.apply-row-cols-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 16px;
}
.apply-row-cols-2 > div { margin: 0; }
.apply-row label,
.apply-row-cols-2 label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: #0f172a;
	margin-bottom: 6px;
}
.apply-req {
	color: #b91c1c;
	font-weight: 700;
	margin-left: 2px;
}
.apply-hint {
	display: block;
	font-size: 12.5px;
	color: #64748b;
	margin-top: 5px;
	line-height: 1.45;
}
.apply-hint a { color: #1e40af; }
.application-form.full input[type="text"],
.application-form.full input[type="email"],
.application-form.full input[type="tel"],
.application-form.full input[type="number"],
.application-form.full select {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	font-size: 15px;
	font-family: inherit;
	color: #0f172a;
	background: #ffffff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.application-form.full input:focus,
.application-form.full select:focus {
	outline: none;
	border-color: #1e40af;
	box-shadow: 0 0 0 3px rgba(30,64,175,0.12);
}
.application-form.full input[readonly] {
	background: #f8fafc;
	color: #475569;
	cursor: not-allowed;
}

.apply-fieldset-consent {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 16px 18px;
}
.apply-fieldset-consent .apply-legend {
	margin-bottom: 10px;
}
.apply-checkbox-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 12.5px;
	line-height: 1.55;
	color: #475569;
	cursor: pointer;
}
.apply-checkbox-row input[type="checkbox"] {
	flex-shrink: 0;
	margin-top: 3px;
	width: 18px;
	height: 18px;
	accent-color: #1e40af;
}

.apply-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding-top: 6px;
}
.apply-actions .btn {
	min-width: 280px;
	justify-content: center;
}
.apply-actions-trust {
	margin: 0;
	font-size: 12.5px;
	color: #64748b;
}

.apply-noscript-warn {
	margin-top: 16px;
	padding: 12px 16px;
	background: #fef3c7;
	border: 1px solid #fcd34d;
	border-radius: 10px;
	font-size: 13px;
	color: #78350f;
}

@media (max-width: 600px) {
	.application-form.full { padding: 22px 18px 18px; }
	.apply-row-cols-2 { grid-template-columns: 1fr; }
	.apply-actions .btn { width: 100%; min-width: 0; }
}

/* =========================================================================
 *  16. Hand-write slot system — editor-authored, premium treatment
 * ========================================================================= */

.hw-block {
	margin: 0 0 40px;
}
.hw-section {
	margin: 0 0 40px;
	padding: 28px 28px 22px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 1px 0 rgba(15,23,42,0.02);
}
.hw-section > h2 {
	margin: 0 0 14px;
	font-size: 26px;
	line-height: 1.2;
	color: #0f172a;
	letter-spacing: -0.01em;
}
.hw-section > h2::before {
	content: "";
	display: block;
	width: 38px;
	height: 3px;
	background: linear-gradient(90deg, #1e40af 0%, #3b82f6 100%);
	border-radius: 2px;
	margin-bottom: 12px;
}
.hw-section > p {
	font-size: 16px;
	line-height: 1.65;
	color: #334155;
	margin: 0 0 16px;
}
.hw-intro {
	background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
	border-left: 4px solid #1e40af;
}
.hw-intro p:first-of-type {
	font-size: 17px;
	font-weight: 500;
	color: #1e293b;
}

/* ---- Rate table ---- */
.hw-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}
.hw-rate-grid {
	width: 100%;
	border-collapse: collapse;
	font-size: 14.5px;
	background: #ffffff;
}
.hw-rate-grid thead th {
	background: #0f172a;
	color: #ffffff;
	font-weight: 600;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 12px 14px;
	text-align: left;
	white-space: nowrap;
}
.hw-rate-grid tbody th {
	background: #f8fafc;
	font-weight: 700;
	color: #0f172a;
	padding: 14px;
	border-top: 1px solid #e2e8f0;
	text-align: left;
}
.hw-rate-grid tbody td {
	padding: 14px;
	color: #1e293b;
	border-top: 1px solid #e2e8f0;
	font-variant-numeric: tabular-nums;
}
.hw-rate-grid tbody tr:hover td,
.hw-rate-grid tbody tr:hover th {
	background: #f1f5f9;
}
.hw-table-note {
	margin: 12px 0 0;
	font-size: 13px;
	color: #64748b;
	font-style: italic;
}

/* ---- Scenarios ---- */
.hw-scenario-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
	margin-top: 18px;
}
.hw-scenario {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 22px 22px 18px;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
}
.hw-scenario::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, #1e40af 0%, #3b82f6 50%, #60a5fa 100%);
}
.hw-scenario header { margin-bottom: 14px; }
.hw-scenario-tag {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #1e40af;
	background: #eef2ff;
	padding: 3px 9px;
	border-radius: 999px;
	margin-bottom: 8px;
}
.hw-scenario h3 {
	margin: 0;
	font-size: 17px;
	line-height: 1.3;
	color: #0f172a;
}
.hw-scenario-dl {
	margin: 0 0 14px;
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 6px 12px;
	font-size: 14px;
}
.hw-scenario-dl dt {
	color: #64748b;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding-top: 1px;
}
.hw-scenario-dl dd {
	margin: 0;
	color: #0f172a;
	font-weight: 500;
}
.hw-scenario-outcome {
	margin: auto 0 0;
	padding: 10px 12px;
	background: #f0fdf4;
	border-left: 3px solid #16a34a;
	border-radius: 6px;
	font-size: 13.5px;
	line-height: 1.5;
	color: #14532d;
}

/* ---- Named lenders ---- */
.hw-lender-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
	margin-top: 18px;
}
.hw-lender-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 20px 20px 16px;
}
.hw-lender-name { margin: 0 0 8px; font-size: 17px; color: #0f172a; }
.hw-lender-stance { margin: 0 0 12px; font-size: 14px; color: #475569; line-height: 1.55; }
.hw-lender-meta { margin: 0; padding: 0; list-style: none; font-size: 13px; color: #1e293b; }
.hw-lender-meta li { padding: 6px 0; border-top: 1px solid #f1f5f9; }
.hw-lender-meta li:first-child { border-top: 0; }
.hw-lender-meta strong { color: #64748b; font-weight: 600; }

/* ---- Underwriter questions ---- */
.hw-questions-list {
	margin: 0;
	padding-left: 0;
	counter-reset: hw-q;
	list-style: none;
}
.hw-questions-list li {
	counter-increment: hw-q;
	padding: 14px 14px 12px 50px;
	margin-bottom: 8px;
	position: relative;
	background: #f8fafc;
	border-radius: 10px;
	border-left: 3px solid #1e40af;
}
.hw-questions-list li::before {
	content: counter(hw-q);
	position: absolute;
	left: 14px;
	top: 14px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #1e40af;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hw-questions-list strong { display: block; font-size: 15px; color: #0f172a; margin-bottom: 4px; }
.hw-q-why { display: block; font-size: 13px; color: #64748b; line-height: 1.5; }

/* ---- Specific pitfalls (reuses .callout-warn) ---- */
.hw-pitfall { margin-bottom: 14px; }
.hw-pitfall:last-child { margin-bottom: 0; }

/* ---- Vendor checklist ---- */
.hw-vendor-list li { padding: 8px 0 8px 28px; }

/* ---- Resale + depreciation curve ---- */
.hw-resale-curve {
	margin-top: 22px;
	padding: 20px 22px;
	background: #f8fafc;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}
.hw-resale-curve-title {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #1e40af;
	margin-bottom: 14px;
}
.hw-resale-bars { display: flex; flex-direction: column; gap: 10px; }
.hw-resale-bar {
	display: grid;
	grid-template-columns: 60px 1fr 48px;
	align-items: center;
	gap: 12px;
	font-size: 13px;
}
.hw-resale-bar-label { font-weight: 600; color: #475569; }
.hw-resale-bar-track { height: 22px; background: #e2e8f0; border-radius: 6px; overflow: hidden; }
.hw-resale-bar-fill {
	height: 100%;
	background: linear-gradient(90deg, #1e40af 0%, #3b82f6 100%);
	border-radius: 6px;
	transition: width 0.5s ease;
}
.hw-resale-bar-pct { font-weight: 700; color: #0f172a; text-align: right; font-variant-numeric: tabular-nums; }

@media (max-width: 600px) {
	.hw-section { padding: 22px 18px 18px; }
	.hw-section > h2 { font-size: 22px; }
	.hw-scenario-dl { grid-template-columns: 88px 1fr; }
	.hw-resale-bar { grid-template-columns: 48px 1fr 40px; gap: 8px; }
}

/* =========================================================================
 *  17. CPT role chip + cross-CPT linking
 * ========================================================================= */

.cpt-role-header {
	margin: 14px 0 22px;
	padding: 16px 18px;
	background: #f8fafc;
	border-left: 4px solid #1e40af;
	border-radius: 0 10px 10px 0;
}
.cpt-role-chip {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #ffffff;
	padding: 4px 10px;
	border-radius: 999px;
	margin-bottom: 8px;
}
.cpt-role-description {
	margin: 0 0 6px;
	font-size: 14px;
	color: #1e293b;
	line-height: 1.55;
}
.cpt-role-parent {
	margin: 0;
	font-size: 12px;
	color: #64748b;
}
.cpt-role-parent a {
	color: #1e40af;
	text-decoration: none;
}
.cpt-role-parent a:hover { text-decoration: underline; }

/* ---- Cross-links block ---- */
.cpt-cross-links {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 24px 26px;
	margin: 8px 0;
}
.cpt-cross-links h3 {
	margin: 0 0 8px;
	font-size: 18px;
	color: #0f172a;
}
.cpt-cross-links-note {
	margin: 0 0 18px;
	font-size: 14px;
	color: #475569;
	line-height: 1.55;
}
.cpt-cross-group {
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f1f5f9;
}
.cpt-cross-group:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.cpt-cross-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #1e40af;
	margin-bottom: 8px;
}
.cpt-cross-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.cpt-cross-list li {
	margin: 0;
}
.cpt-cross-list a {
	display: inline-block;
	padding: 6px 12px;
	background: #eef2ff;
	color: #1e40af;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background 0.15s, border-color 0.15s;
}
.cpt-cross-list a:hover {
	background: #ffffff;
	border-color: #1e40af;
}

/* =========================================================================
 *  18. AEO/SGE depth extras — Q&A, decision branches, timeline, cost stack, recovery
 * ========================================================================= */

.depth-section.qa-block details {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	margin-bottom: 8px;
	padding: 0;
	transition: border-color 0.15s;
}
.depth-section.qa-block details[open] { border-color: #1e40af; }
.depth-section.qa-block summary {
	cursor: pointer;
	padding: 14px 18px;
	font-weight: 600;
	font-size: 15px;
	color: #0f172a;
	list-style: none;
	position: relative;
}
.depth-section.qa-block summary::-webkit-details-marker { display: none; }
.depth-section.qa-block summary::after {
	content: "+";
	position: absolute;
	right: 18px;
	top: 14px;
	font-size: 18px;
	font-weight: 400;
	color: #64748b;
}
.depth-section.qa-block details[open] summary::after { content: "−"; }
.depth-section.qa-block .faq-answer {
	padding: 0 18px 16px;
	color: #334155;
	font-size: 14.5px;
	line-height: 1.6;
}

/* ---- Decision branches ---- */
.decision-list {
	margin: 18px 0 0;
	padding: 0;
}
.decision-list dt {
	font-size: 15px;
	color: #0f172a;
	margin-top: 16px;
	padding: 10px 14px;
	background: #eef2ff;
	border-left: 3px solid #1e40af;
	border-radius: 0 8px 8px 0;
}
.decision-list dt:first-child { margin-top: 0; }
.decision-list dd {
	margin: 0 0 0 0;
	padding: 12px 14px 14px;
	background: #f8fafc;
	color: #334155;
	font-size: 14.5px;
	line-height: 1.6;
	border-left: 3px solid #16a34a;
	border-radius: 0 8px 8px 0;
	margin-top: 4px;
}

/* ---- Timeline ---- */
.timeline-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
	margin-top: 20px;
}
.timeline-item {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 16px 18px;
	border-top: 4px solid #1e40af;
}
.timeline-step {
	font-size: 13px;
	font-weight: 700;
	color: #1e40af;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}
.timeline-duration {
	font-size: 17px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 8px;
	font-variant-numeric: tabular-nums;
}
.timeline-note {
	font-size: 13.5px;
	color: #475569;
	line-height: 1.5;
}

/* ---- Recovery patterns reuse .callout-info ---- */
.callout-info {
	background: #f0f9ff;
	border-left: 4px solid #0ea5e9;
	padding: 14px 18px;
	margin: 0 0 14px;
	border-radius: 0 10px 10px 0;
}
.callout-info .callout-title {
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 4px;
}
.callout-info p {
	margin: 0;
	font-size: 14px;
	color: #1e293b;
	line-height: 1.55;
}

@media (max-width: 600px) {
	.timeline-grid { grid-template-columns: 1fr; }
}

/* =========================================================================
 *  19. E-E-A-T trust panel — visible reviewer + methodology + standards
 * ========================================================================= */

.eeat-trust-panel {
	margin: 18px 0 0;
	padding: 14px 18px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	font-size: 13.5px;
}
.eeat-trust-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-start;
	justify-content: space-between;
}
.eeat-reviewer {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	flex: 1 1 280px;
}
.eeat-reviewer-avatar {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #eef2ff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.eeat-reviewer-info { line-height: 1.4; }
.eeat-reviewer-label {
	font-size: 11px;
	color: #64748b;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.eeat-reviewer-name {
	font-size: 14.5px;
	font-weight: 600;
	color: #0f172a;
	margin-top: 2px;
}
.eeat-reviewer-name a {
	color: #0f172a;
	text-decoration: none;
}
.eeat-reviewer-name a:hover { text-decoration: underline; }
.eeat-reviewer-creds {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	background: #eef2ff;
	color: #1e40af;
	font-size: 11px;
	font-weight: 700;
	border-radius: 4px;
	letter-spacing: 0.02em;
}
.eeat-reviewer-expertise {
	font-size: 12px;
	color: #64748b;
	margin-top: 3px;
}
.eeat-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	font-size: 12.5px;
	color: #475569;
}
.eeat-reviewed-date {
	display: flex;
	align-items: center;
	gap: 5px;
}
.eeat-methodology-link {
	display: flex;
	align-items: center;
	gap: 5px;
	color: #1e40af;
	font-weight: 600;
	text-decoration: none;
}
.eeat-methodology-link:hover { text-decoration: underline; }
.eeat-trust-bullets {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #f1f5f9;
	font-size: 12.5px;
	color: #475569;
}
.eeat-trust-item {
	display: flex;
	align-items: center;
	gap: 5px;
}
.eeat-trust-item a {
	color: #1e40af;
	text-decoration: none;
}
.eeat-trust-item a:hover { text-decoration: underline; }

@media (max-width: 600px) {
	.eeat-meta { align-items: flex-start; }
}
