/* ============================================================
   landing.css - PPC landing pages
   Scope: body.lp-page (set by page_lp.php)
   Rev 6: 08/06/26
   ------------------------------------------------------------
   Chrome removal belongs in page_lp.php. 
   ============================================================ */

/* ---------- 1. CHROME SUPPRESSION --------------------------- */
.lp-page .lp-topbar,          /* template topbar, non-CTM phone */
.lp-page .lp-footer,          /* template footer, duplicates the blue one */
.lp-page .nav-primary,        /* mega menu */
.lp-page .entry-title,        /* "LP - Veterans", a second H1 */
.lp-page .sticky-footer,      /* sitewide sticky bar, third phone number */
.lp-page .site-header,
.lp-page .site-footer,
.lp-page .footer-widgets,
.lp-page .breadcrumb { display: none !important; }

.lp-page .site-inner {
	margin-top: 0 !important; margin-bottom: 0 !important;
	padding-top: 0 !important; padding-bottom: 0 !important;
	overflow: visible !important;
}


html body.lp-page { padding-top: 0; }


html:has(body.lp-page) { scroll-padding-top: 0; }


.lp-page { overflow-x: clip; }


.lp-page .entry-content p:empty { display: none; margin: 0; }
.lp-page .entry-content > br { display: none; }

/* ---------- 2. CONTAINERS ----------------------------------- */
.lp-page .content { max-width: 100% !important; }

.lp-page .entry-content {
	max-width: 1140px; margin: 0 auto; padding: 0 24px 0;
}


.lp-page .lp-band + .lp-band { margin-top: 0; }


.lp-band .lp-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}
.lp-page .lp-band:not(.lp-header) {
	width: 100vw; position: relative;
	left: 50%; right: 50%;
	margin-left: -50vw; margin-right: -50vw;
	border-radius: 0 !important;
}


.lp-page .lp-band.lp-header {
	background: #fff;
	border-bottom: 1px solid #e4e8ef;
	box-shadow: 0 1px 12px rgba(9,38,87,0.10);
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: auto;    
	right: auto;    
	z-index: 999;
	padding: 12px 0;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	border-radius: 0;
}

.lp-page.admin-bar .lp-band.lp-header { top: 32px; }

.lp-header .lp-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: nowrap;
}
.lp-header .lp-inner > p { margin: 0; line-height: 0; }
.lp-header img {
	padding-top: 5px;
	width: 230px;
	max-width: 100%;
	height: auto;
	display: block;
	align-self: center;
}
@media (max-width: 600px) {
	.lp-header img { width: 170px; }
}
.lp-header-right {
	display: flex; align-items: center; gap: 18px;
	margin-left: auto; text-align: right;
}
.lp-header-label {
	font-size: 0.72em; letter-spacing: 0.12em; text-transform: uppercase;
	color: #6b7a90; line-height: 1.45;
}
.lp-header-phone {
	font-size: 1.45em; font-weight: 700; color: #1f6fb2 !important;
	text-decoration: none; white-space: nowrap;
}

@media screen and (max-width: 782px) {
	.lp-page.admin-bar .lp-band.lp-header { top: 46px; }
}
@media (max-width: 600px) {
	.lp-page .lp-band.lp-header { padding: 10px 0; }
	.lp-header .lp-inner { justify-content: center; }
	.lp-header-label { display: none; }
	.lp-header-phone { font-size: 1.2em; }
}

/* ---------- 4. TYPE SYSTEM ---------------------------------- */
.lp-rule {
	width: 44px; height: 0; margin: 0 0 16px;
	border-top: 3px double #1f6fb2;
}
.lp-rule span { display: none; }

.lp-eyebrow {
	display: block;
	font-size: 0.74em; letter-spacing: 0.16em; text-transform: uppercase;
	color: #7c8798; font-weight: 600; margin: 0 0 12px;
}

.lp-page .lp-display {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700; color: #0d2340;
	font-size: 2.5em; line-height: 1.12;
	margin: 0 0 18px;
	max-width: 700px;
}
.lp-band--navy .lp-display { color: #fff; }
.lp-band--navy .lp-eyebrow { color: #9fb2cc; }
.lp-band--navy .lp-rule { border-top-color: #4a8fd0; }

.lp-lede { font-size: 1.08em; line-height: 1.65; max-width: 660px; color: #3c4a5b; }

.lp-section { padding: 60px 0; }
@media (max-width: 600px) {
	.lp-page .lp-display { font-size: 1.85em; }
	.lp-section { padding: 40px 0; }
}

/* ---------- 5. BANDS ---------------------------------------- */
.lp-band--pale { background: #f2f6fb; padding: 64px 0; }
.lp-band--navy { background: #092657; color: #cfd8e6; padding: 64px 0; }
.lp-band--navy p { color: #cfd8e6; }
@media (max-width: 600px) {
	.lp-band--pale, .lp-band--navy { padding: 42px 0; }
}

/* ---------- 6. CTA BAND ------------------------------------- */
.lp-cta {
	background: #092657; color: #fff; text-align: center;
	padding: 44px 0;
}
.lp-cta .lp-cta-head {
	font-size: 1.85em; font-weight: 700; color: #fff;
	line-height: 1.2; margin: 0 0 8px;
}
.lp-cta .lp-cta-sub {
	font-size: 1.02em; color: #cfd8e6; margin: 0 0 22px;
}
.lp-btn {
	display: inline-block; background: #d3820c; color: #fff !important;
	font-weight: 700; font-size: 1.25em; text-decoration: none !important;
	padding: 16px 40px; border-radius: 4px; line-height: 1.2;
}
.lp-btn:hover { background: #b96f08; color: #fff !important; }
.lp-btn--ghost {
	background: transparent; border: 2px solid #fff;
	padding: 14px 38px;
}
.lp-btn--ghost:hover { background: rgba(255,255,255,0.12); }
@media (max-width: 600px) {
	.lp-cta .lp-cta-head { font-size: 1.4em; }
	.lp-btn {
		display: block;
		text-align: center;
		font-size: 1.15em;
		padding: 15px 20px;
	}
}
@media (max-width: 600px) {
	.lp-page a.lp-btn { display: block; text-align: center; }
}

/* ---------- 7. HAIRLINE CARD GRID --------------------------- */

.lp-grid { display: grid; gap: 1px; border: 1px solid #dfe4ec; background: #dfe4ec; }
.lp-grid-3 { grid-template-columns: repeat(3, 1fr); }
.lp-grid-2 { grid-template-columns: repeat(2, 1fr); }
.lp-grid > .lp-cell { background: #fff; padding: 28px 26px; }
.lp-grid > .lp-cell h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.22em; font-weight: 700; color: #0d2340;
	margin: 0 0 10px; line-height: 1.25;
}
.lp-grid > .lp-cell p { margin: 0; font-size: 0.97em; line-height: 1.6; color: #46546a; }


.lp-grid > .lp-cell .lp-icon {
	display: block;
	width: 50px;
	height: 50px;
	margin: 0 auto 16px;
	object-fit: contain;
}
.lp-grid > .lp-cell p:has(> .lp-icon) { margin: 0; }

@media (max-width: 860px) { .lp-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
	.lp-grid-3, .lp-grid-2 { grid-template-columns: 1fr; }
	.lp-grid > .lp-cell { padding: 22px 20px; }
	.lp-grid > .lp-cell .lp-icon { width: 42px; height: 42px; margin-bottom: 12px; }
}

.lp-card {
	background: #fff; border: 1px solid #dfe4ec;
	padding: 30px 28px;
}
.lp-card .lp-card-label {
	font-size: 0.72em; letter-spacing: 0.15em; text-transform: uppercase;
	color: #7c8798; font-weight: 600; display: block; margin-bottom: 10px;
}
.lp-card h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.35em; font-weight: 700; color: #0d2340;
	margin: 0 0 16px; line-height: 1.25;
}
.lp-cardset { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.lp-cardset-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 860px) { .lp-cardset-3 { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .lp-cardset { grid-template-columns: 1fr; } }

/* ---------- 8. LISTS ---------------------------------------- */

.lp-page .entry-content ol li,
.lp-page .entry-content ul li { margin-left: 0; }

.lp-page ul.lp-checklist {
	list-style: none; margin: 0; padding: 0;
}
.lp-page ul.lp-checklist li {
	position: relative; padding: 0 0 0 32px; margin: 0 0 12px;
	list-style: none; line-height: 1.5; font-size: 1em; color: #24303f;
}
.lp-page ul.lp-checklist li::before {
	content: "\2713";
	position: absolute; left: 0; top: 1px;
	width: 19px; height: 19px; border-radius: 3px;
	background: #1f6fb2; color: #fff;
	font-size: 12px; line-height: 19px; text-align: center; font-weight: 700;
}

.lp-page ol.lp-steps,
.lp-page ol.lp-steps > li,
.lp-page .entry-content ol.lp-steps,
.lp-page .entry-content ol.lp-steps > li {
	list-style: none !important;
	list-style-type: none !important;
}
.lp-page ol.lp-steps > li::marker { content: none; }
.lp-page ol.lp-steps { margin: 0; padding: 0; counter-reset: lpstep; }
.lp-page ol.lp-steps > li {
	position: relative; padding: 0 0 0 46px; margin: 0 0 16px;
	line-height: 1.55; color: #46546a;
}
.lp-page ol.lp-steps > li::before {
	counter-increment: lpstep;
	content: "0" counter(lpstep);
	position: absolute; left: 0; top: 0;
	background: #eaf0f8; color: #1f6fb2;
	font-size: 0.78em; font-weight: 700; letter-spacing: 0.04em;
	padding: 4px 7px; border-radius: 3px;
}

/* ---------- 9. SPLIT SECTION HEADER ------------------------- */
.lp-split {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 40px;
	align-items: start;
}
.lp-split-text > .lp-display,
.lp-split-text > .lp-lede { max-width: 100%; }
.lp-split-text > p:last-child { margin-bottom: 0; }

.lp-split-img { margin: 6px 0 0; }
.lp-split-img img {
	width: 100%; height: auto; display: block;
	border: 1px solid #dfe4ec; background: #fff;
}
@media (max-width: 860px) {
	.lp-split { grid-template-columns: 1fr; gap: 24px; }
	.lp-split-img { max-width: 340px; margin: 0; }
}

/* ---------- 10. STAT BAND ----------------------------------- */
.lp-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.lp-stats > div { padding: 0 34px; border-left: 1px solid rgba(255,255,255,0.18); }
.lp-stats > div:first-child { padding-left: 0; border-left: 0; }
.lp-stat-fig {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 3.1em; line-height: 1; font-weight: 400;
	color: #4fbcc9; margin: 0 0 14px; display: block;
}
.lp-stat-txt { font-size: 0.95em; line-height: 1.55; color: #b9c8dd; margin: 0; }
.lp-stat-txt em { color: #cfd8e6; }
@media (max-width: 860px) {
	.lp-stats { grid-template-columns: 1fr; gap: 30px; }
	.lp-stats > div { padding: 0; border-left: 0; }
	.lp-stat-fig { font-size: 2.5em; }
}

/* ---------- 11. HERO ---------------------------------------- */
.lp-hero {
	background-size: cover;
	background-position: 50% 30%;
	background-repeat: no-repeat;
	color: #fff;
	padding: 64px 0 68px;
}
.lp-hero-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 48px;
	align-items: center;
}
.lp-hero-text .lp-eyebrow { color: rgba(255,255,255,0.78); }

.lp-page .lp-hero-h1 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.75em; font-weight: 700; line-height: 1.08;
	color: #fff; margin: 0 0 0.35em;
	text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
.lp-hero-sub {
	font-size: 1.18em; line-height: 1.5; font-weight: 500;
	color: #e6ecf5; max-width: 520px; margin: 0 0 1.4em;
	text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}
.lp-hero-branches {
	display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 1.5em;
}
.lp-hero-branches img {
	width: 40px !important; height: 40px !important;
	max-width: 40px; flex: 0 0 auto;
}
.lp-hero-fineprint {
	font-size: 0.72em; font-style: italic; line-height: 1.45;
	color: rgba(255,255,255,0.7); max-width: 480px; margin: 0;
}
@media (max-width: 900px) {
	.lp-hero { padding: 44px 0 48px; }
	.lp-hero-grid { grid-template-columns: 1fr; gap: 32px; }
	.lp-page .lp-hero-h1 { font-size: 2.1em; }
	.lp-hero-sub { font-size: 1.05em; }
}
/* ---------- 11b. CENTERED HERO VARIANT ---------------------- */
/* Alternate LP with no hero form. Add lp-hero--centered alongside
   lp-hero on the band.  */
.lp-hero--centered .lp-hero-grid {
	grid-template-columns: 1fr;
}
.lp-hero--centered .lp-hero-text {
	text-align: center;
	max-width: 880px;
	margin: 0 auto;
}
.lp-hero--centered .lp-hero-sub {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.lp-hero--centered .lp-hero-branches {
	justify-content: center;
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}
.lp-hero--centered .lp-hero-btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: 0 0 1.5em;
}
.lp-hero--centered .lp-hero-fineprint {
	max-width: 820px;
	margin: 0 auto;
}
.lp-page .lp-hero--centered .lp-hero-h1 {
	max-width: 100%;
}

@media (max-width: 600px) {
	.lp-hero--centered .lp-hero-btns .lp-btn { width: 100%; }
}
/* ---------- 12. HERO FORM CARD ------------------------------ */
.lp-formcard {
	background: #fff;
	padding: 30px 30px 26px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.28);
	color: #24303f;
	max-width: 420px;
	margin-left: auto;
}
.lp-page .lp-formcard h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.6em; font-weight: 700; color: #0d2340;
	margin: 0 0 8px; line-height: 1.2;
}
.lp-formcard-sub {
	font-size: 0.94em; line-height: 1.5; color: #6b7a90;
	margin: 0 0 20px;
}
@media (max-width: 900px) {
	.lp-formcard { padding: 24px 22px 22px; max-width: 100%; margin-left: 0; }
}

/* ---------- 13. GRAVITY FORMS (hero card only) -------------- */

.lp-formcard .gform_wrapper { margin: 0; }
.lp-formcard .gform_wrapper form { margin: 0; }
.lp-formcard .gform_heading { display: none; }

.lp-formcard .gform_wrapper .gform_validation_container,
.lp-formcard .gform_wrapper .gfield--type-honeypot { display: none !important; }

.lp-formcard .gform_wrapper .gform_fields,
.lp-formcard .gform_wrapper ul.gform_fields {
	margin: 0; padding: 0; list-style: none;
	display: grid; gap: 12px;
}
.lp-formcard .gform_wrapper .gfield,
.lp-formcard .gform_wrapper li.gfield {
	margin: 0 !important; padding: 0; list-style: none;
}

.lp-formcard .gform_wrapper .gfield_label,
.lp-formcard .gform_wrapper label.gfield_label {
	font-size: 0.72em; letter-spacing: 0.1em; text-transform: uppercase;
	font-weight: 600; color: #6b7a90;
	margin: 0 0 5px; display: block;
}
.lp-formcard .gform_wrapper .gfield_required {
	font-size: 0.82em; letter-spacing: 0.06em;
	color: #a3141f; font-weight: 600; margin-left: 4px;
}

.lp-formcard .gform_wrapper input[type="text"],
.lp-formcard .gform_wrapper input[type="email"],
.lp-formcard .gform_wrapper input[type="tel"],
.lp-formcard .gform_wrapper select,
.lp-formcard .gform_wrapper textarea {
	width: 100% !important;
	box-sizing: border-box;
	border: 1px solid #cdd6e2;
	border-radius: 3px;
	background: #fff;
	padding: 11px 12px;
	font-size: 1em;
	line-height: 1.3;
	color: #24303f;
	margin: 0;
}
.lp-formcard .gform_wrapper input:focus,
.lp-formcard .gform_wrapper select:focus,
.lp-formcard .gform_wrapper textarea:focus {
	border-color: #1f6fb2;
	outline: 2px solid rgba(31,111,178,0.18);
	outline-offset: 0;
}

.lp-formcard .gform_wrapper select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7a90' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 11px;
	padding-right: 34px;
}


.lp-formcard .gform_wrapper .gfield--type-textarea,
.lp-formcard .gform_wrapper li.gfield textarea { display: none; }
.lp-formcard .gform_wrapper .charleft,
.lp-formcard .gform_wrapper .ginput_counter { display: none; }

.lp-formcard .gform_wrapper .ginput_complex {
	display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.lp-formcard .gform_wrapper .ginput_complex span {
	padding: 0 !important; width: auto !important;
}
.lp-formcard .gform_wrapper .ginput_complex label {
	font-size: 0.68em; letter-spacing: 0.08em; text-transform: uppercase;
	color: #8b97a8; margin: 0 0 4px; display: block;
}

.lp-formcard .gform_wrapper .gfield_checkbox li,
.lp-formcard .gform_wrapper .gfield_checkbox .gchoice {
	display: flex; align-items: flex-start; gap: 9px; margin: 0;
}
.lp-formcard .gform_wrapper .gfield_checkbox label {
	font-size: 0.8em; line-height: 1.45; color: #6b7a90;
	text-transform: none; letter-spacing: 0; font-weight: 400;
}
.lp-formcard .gform_wrapper input[type="checkbox"] { margin-top: 3px; }

.lp-formcard .gform_wrapper .gfield--type-html,
.lp-formcard .gform_wrapper .gfield_html { margin-top: 2px; }
.lp-formcard .gform_wrapper .gfield_html p,
.lp-formcard .gform_wrapper .gfield_html p.small {
	font-size: 0.78em; line-height: 1.45; color: #8b97a8; margin: 0;
}

/* Submit */
.lp-formcard .gform_footer,
.lp-formcard .gform-footer { margin: 14px 0 0; padding: 0; }
.lp-formcard .gform_wrapper .gform_button,
.lp-formcard .gform_wrapper button.gform_button {
	width: 100%;
	background: #d3820c;
	color: #fff;
	border: 0;
	border-radius: 3px;
	padding: 15px 20px;
	font-size: 1.08em;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
}
.lp-formcard .gform_wrapper .gform_button:hover { background: #b96f08; }

/* Validation */
.lp-formcard .gform_wrapper .validation_error {
	background: #fdf0f1; border: 1px solid #e4b8bc; color: #8a1420;
	padding: 10px 12px; margin: 0 0 16px; font-size: 0.9em;
}
.lp-formcard .gform_wrapper .gfield_error input,
.lp-formcard .gform_wrapper .gfield_error select { border-color: #a3141f; }
.lp-formcard .gform_wrapper .gfield_validation_message,
.lp-formcard .gform_wrapper .validation_message {
	font-size: 0.8em; color: #a3141f; margin-top: 5px;
	background: none; border: 0; padding: 0;
}

/* Confirmation */
.lp-formcard .gform_confirmation_message {
	font-size: 1.02em; line-height: 1.55; color: #0d2340;
	padding: 8px 0;
}

@media (max-width: 480px) {
	.lp-formcard .gform_wrapper .ginput_complex { grid-template-columns: 1fr; }
}

/* ---------- 14. BOTTOM FORM PANEL --------------------------- */
.lp-formwrap { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
@media (max-width: 800px) { .lp-formwrap { grid-template-columns: 1fr; } }
.lp-formpanel { background: #f2f6fb; border-top: 4px solid #092657; padding: 30px; }
.lp-formpanel h2 { margin-top: 0; }
.lp-asidepanel { text-align: center; }
.lp-asidepanel img { width: 100%; height: auto; border-radius: 4px; }

/* ---------- 15. REVIEWS CONTAINMENT ------------------------- */
.lp-reviews { max-width: 1140px; margin: 0 auto; }
.lp-reviews .wprevpro_reviewitem { box-sizing: border-box; }

/* ---------- 16. CRISIS BAR ---------------------------------- */
.lp-crisis {
	background: #a3141f; color: #fff;
	padding: 16px 0; text-align: center; font-size: 0.98em;
}
.lp-crisis a, .lp-crisis strong { color: #fff; }
.lp-crisis a { text-decoration: underline; }

/* ---------- 17. LP BLUE FOOTER ------------------------------ */
.lp-footer-blue {
	background: #092657; color: #cfd8e6; text-align: center;
	padding: 48px 0 44px;
}
.lp-footer-blue img.lp-foot-logo { max-width: 210px; height: auto; margin: 0 auto 18px; display: block; }
.lp-footer-blue .lp-foot-headline { font-size: 1.5em; font-weight: 700; color: #fff; margin-bottom: 6px; }
.lp-footer-blue .lp-foot-meta { font-size: 0.9em; line-height: 1.7; margin-top: 24px; }
.lp-footer-blue a { color: #fff; text-decoration: underline; }
.lp-footer-blue .lp-btn { text-decoration: none !important; }

.lp-foot-badges {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
	gap: 26px; margin: 28px auto 0; max-width: 620px;
}
.lp-foot-badges p { margin: 0; display: contents; }

.lp-foot-badges > img,
.lp-foot-badges > p > img { max-width: 220px; width: auto; height: 46px; object-fit: contain; }
.lp-foot-seal {
	background: #fff;
	border-radius: 6px;
	padding: 8px;
	width: 78px;
	height: 78px;
	flex: 0 0 78px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.lp-foot-seal > * { max-width: 100%; max-height: 100%; margin: 0; }
.lp-foot-seal img {
	width: auto !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: contain;
	display: block;
}
@media (max-width: 782px) { .lp-footer-blue { padding-bottom: 96px; } }
@media (max-width: 600px) {
	.lp-foot-badges { gap: 18px; }
	.lp-foot-badges > img,
	.lp-foot-badges > p > img { height: 38px; }
}

/* ---------- 18. SP PROGRAM CARD ----------------------------- */
.sp-vet-card {
	float: right; width: 340px; max-width: 100%;
	margin: 6px 0 22px 30px;
	border: 1px solid #dfe4ec; background: #fff;
	box-shadow: 0 2px 12px rgba(9,38,87,0.08);
	overflow: hidden;
	width: 380px;
}
@media (max-width: 600px) {
	.sp-vet-card { float: none !important; width: 100% !important; margin: 0 0 24px !important; }
}
/* ---------- 19. VIDEO EMBED --------------------------------- */
/* Responsive 16:9 wrapper. */
.lp-video {
	position: relative;
	width: 100%;
	max-width: 860px;
	margin: 34px auto 0;
	aspect-ratio: 16 / 9;
	background: #0d2340;
}
.lp-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
/* ---------- 20a. LP GALLERY, WIDE / NARROW SWAP -------------- */
/* renders appropriate gallery version */
.lp-gal--narrow { display: none; }
@media (max-width: 782px) {
	.lp-gal--wide   { display: none; }
	.lp-gal--narrow { display: block; }
}
/* ---------- 20. FEATURE PAIR -------------------------------- */
/* Two named modalities,
   ------------------------------------------------------------
   ------------------------------------------------------------ */
.page-id-99349 .lp-featurepair {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
	margin: 36px 0 0;
}
.page-id-99349 .lp-feature {
	background: #fff;
	border: 1px solid #dfe4ec;
	overflow: hidden;
}
.page-id-99349 .lp-feature img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}
/* wpautop wraps a standalone <img> in a <p>. */
.page-id-99349 .lp-feature > p { margin: 0; line-height: 0; }

.page-id-99349 .lp-feature-body { padding: 26px 28px 28px; }
.page-id-99349 .lp-feature-body .lp-card-label { margin-bottom: 8px; }
.page-id-99349 .lp-feature-body h3 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.3em; font-weight: 700; color: #0d2340;
	margin: 0 0 12px; line-height: 1.25;
}
.page-id-99349 .lp-feature-body p {
	margin: 0 0 12px;
	font-size: 0.97em;
	line-height: 1.6;
	color: #46546a;
}
.page-id-99349 .lp-feature-body p:last-child { margin-bottom: 0; }

@media (max-width: 700px) {
	.page-id-99349 .lp-featurepair { grid-template-columns: 1fr; gap: 22px; }
	.page-id-99349 .lp-feature img { height: 190px; }
}

/* ---------- 20. REGION PILLS (outpatient LP) ---------------- */
.lp-page .op-regions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}
@media (max-width: 860px) {
	.lp-page .op-regions { grid-template-columns: 1fr; gap: 28px; }
}

.lp-page .op-region-head {
	font-size: 0.74em; letter-spacing: 0.16em; text-transform: uppercase;
	color: #1f6fb2; font-weight: 700; margin: 0 0 14px;
}

.lp-page ul.op-pills,
.lp-page .entry-content ul.op-pills {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: 8px;
}
.lp-page ul.op-pills li,
.lp-page .entry-content ul.op-pills li {
	list-style: none; margin: 0; padding: 8px 16px;
	background: #fff; border: 1px solid #dfe4ec; border-radius: 100px;
	font-size: 0.88em; line-height: 1.3; color: #46546a;
}
.lp-page ul.op-pills li::before { content: none; }
.lp-page ul.op-pills li strong { color: #092657; font-weight: 700; }

/* On a white .lp-section the pills need a tint to separate. */
.lp-page .lp-section ul.op-pills li { background: #f8fafd; }

@media (max-width: 600px) {
	.lp-page ul.op-pills { gap: 6px; }
	.lp-page ul.op-pills li { padding: 7px 13px; font-size: 0.84em; }
}
/* ---------- 22. PHOTO CARDS (outpatient LP) ----------------- */
/*  */

.lp-page .op-photos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 30px;
	margin-top: 34px;
}
@media (max-width: 860px) {
	.lp-page .op-photos { grid-template-columns: 1fr; gap: 30px; }
}

.lp-page .op-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	height: auto;
	border-radius: 4px;
	background: #eef2f7;
}

.lp-page .op-photo-label {
	display: block;
	margin: 16px 0 8px;
	font-size: 0.74em; letter-spacing: 0.16em; text-transform: uppercase;
	color: #1f6fb2; font-weight: 700;
}

.lp-page .op-photo p {
	margin: 0;
	font-size: 0.95em; line-height: 1.62; color: #46546a;
}

@media (max-width: 600px) {
	.lp-page .op-photo p { font-size: 0.92em; }
}
/* ---------- 23. HERO, MOBILE (outpatient LP) ---------------- */
/* */

@media (max-width: 900px) {
	.lp-page .op-hero { padding: 36px 0 52px; }

	.lp-page .op-hero .lp-hero-grid { gap: 46px; }

	.lp-page .op-hero .lp-hero-text {
		min-height: 68vh;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

@media (max-width: 600px) {
	.lp-page .op-hero .lp-hero-text { min-height: 64vh; }
	.lp-page .op-hero .lp-hero-fineprint { font-size: 0.68em; }
}
/* ---------- 24. ACCREDITATION SEALS (outpatient LP) --------- */
.lp-page .op-seals {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 18px 26px;
	margin: 0 auto;
	max-width: 100%;
}
.lp-page .op-seals img {
	width: 88px !important;
	height: 88px !important;
	max-width: 88px;
	flex: 0 0 auto;
	object-fit: contain;
	margin: 0;
}
@media (max-width: 600px) {
	.lp-page .op-seals { gap: 14px 18px; }
	.lp-page .op-seals img { width: 72px !important; height: 72px !important; max-width: 72px; }
}
.lp-page .op-seals p { margin: 0; display: contents; }
.lp-page .op-seals br { display: none; }
/* ---------- 25. GRID ROW ALIGNMENT -------------------------- */
/* Aligns the heading row and body row across cells in a .lp-grid,
   so body copy starts at the same y regardless of heading wrap.
   Opt-in: add .lp-grid--rows alongside .lp-grid-2 / .lp-grid-3.
   Requires each .lp-cell to contain exactly two children: h3 + p. */

.lp-page .lp-grid--rows { grid-template-rows: auto auto; }

.lp-page .lp-grid--rows > .lp-cell {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
}

@media (max-width: 600px) {
	/* Single column: every cell is its own row, alignment is moot.
	   Released so a short heading does not inherit a tall track. */
	.lp-page .lp-grid--rows { grid-template-rows: none; }
	.lp-page .lp-grid--rows > .lp-cell {
		display: block;
		grid-row: auto;
	}
}
/* ---------- 26. HERO ART DIRECTION (outpatient LP) ---------- */

.lp-page .op-hero {
	background-image:
		linear-gradient(rgba(4,18,40,0.72), rgba(4,18,40,0.72)),
		var(--op-hero-img);
}

@media (max-width: 600px) {
	.lp-page .op-hero {
		background-image: none;
		background-color: #041228;
	}
	.lp-page .op-hero::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 700px;
		background-image:
			linear-gradient(
				rgba(4,18,40,0.55) 0%,
				rgba(4,18,40,0.70) 45%,
				rgba(4,18,40,0.92) 80%,
				#041228 100%
			),
			var(--op-hero-img-m, var(--op-hero-img));
		background-size: cover;
		background-position: 50% 25%;
		background-repeat: no-repeat;
		pointer-events: none;
		z-index: 0;
	}
	.lp-page .op-hero > .lp-inner {
		position: relative;
		z-index: 1;
	}
}
/* ---------- 20. REVIEW LINKS -------------------------------- */

.lp-page .rv-band {
	background: #f2f6fb;
	padding: 36px 0 48px;
	min-height: 72vh;
	min-height: 72svh;
	box-sizing: border-box;
}
.lp-page .rv-inner { max-width: 480px; text-align: center; }

.lp-page .rv-logo { margin: 0 auto 28px; line-height: 0; }
.lp-page .rv-logo img {
	width: 190px; max-width: 70%; height: auto;
	display: inline-block;
}

.lp-page .rv-title {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700; color: #0d2340;
	font-size: 1.85em; line-height: 1.15;
	margin: 0 0 12px;
}
.lp-page .rv-lede {
	font-size: 1.02em; line-height: 1.6; color: #3c4a5b;
	max-width: 400px; margin: 0 auto 28px;
}

/* Stack. wpautop safety: kill stray br/p inside the stack. */
.lp-page .rv-links { display: flex; flex-direction: column; gap: 16px; }
.lp-page .rv-links br { display: none; }
.lp-page .rv-links p { margin: 0; display: contents; }
.lp-page .rv-item { margin: 0; }

.lp-page .rv-btn {
	display: flex; flex-direction: column;
	align-items: center; justify-content: center; gap: 10px;
	width: 100%; min-height: 108px; padding: 18px 20px;
	box-sizing: border-box; border-radius: 10px;
	color: #fff !important; text-decoration: none !important;
	font-size: 1.08em; font-weight: 700; line-height: 1.2;
	box-shadow: 0 2px 10px rgba(9,38,87,0.16);
	transition: filter 0.15s ease, transform 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}
.lp-page .rv-btn img {
	height: 40px; width: auto; max-width: 180px;
	object-fit: contain; flex: 0 0 auto;
	margin: 0; display: block;
}
.lp-page .rv-btn span { color: #fff; }
.lp-page .rv-btn:hover { filter: brightness(0.92); }
.lp-page .rv-btn:active { transform: translateY(1px); }
.lp-page .rv-btn:focus-visible { outline: 3px solid #0d2340; outline-offset: 3px; }

.lp-page .rv-btn--google     { background: #1a73e8; }
.lp-page .rv-btn--trustpilot { background: #007a53; }
.lp-page .rv-btn--yelp       { background: #d32323; }

/* Slim footer. Overrides section 17's 96px mobile bottom pad,
   which exists for the sitewide sticky bar this page hides. */
.lp-page .lp-footer-blue.rv-footer { padding: 32px 0 36px; }
.lp-page .rv-footer .lp-foot-logo { max-width: 170px; margin-bottom: 4px; }
.lp-page .rv-footer .lp-foot-meta { margin-top: 12px; }

@media (min-width: 768px) {
	.lp-page .rv-band { padding: 72px 0 88px; }
	.lp-page .rv-title { font-size: 2.2em; }
}
@media (prefers-reduced-motion: reduce) {
	.lp-page .rv-btn { transition: none; }
	.lp-page .rv-btn:active { transform: none; }
}

/* ============================================================
   landing.css ADDENDUM — Mental Health LP (Unbounce variant G port)
   Rev 1: 09/14/26
   ------------------------------------------------------------
   Append to landing.css. All rules are additive and namespaced
   to new classes or new modifiers — nothing here changes the
   rendering of any existing LP.

   Sections 25-32 continue landing.css numbering.
   ============================================================ */


/* ---------- 25. LIGHT HERO VARIANT -------------------------- */
/* Variant G's hero is dark type on a light photo, the inverse of
   the stock .lp-hero. Add .lp-hero--light alongside .lp-hero.
   The photo carries its subject on the right, so the text column
   is constrained and left-anchored rather than centered.        */

.lp-page .lp-hero--light {
	color: #171717;
	background-position: left center;
	padding: 56px 0 60px;
	position: relative;
}
.lp-page .lp-hero--light > .lp-inner { position: relative; z-index: 1; }
.lp-page .lp-hero--light .lp-hero-grid {
	grid-template-columns: minmax(0, 560px) 1fr;
	align-items: center;
}
.lp-page .lp-hero--light .lp-hero-h1 {
	font-family: "source_sans_probold", "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-weight: normal;
	color: #171717;
	text-shadow: none;
	font-size: 3.4em;
	line-height: 1.05;
	margin: 0 0 0.3em;
}
.lp-page .lp-hero--light .lp-hero-sub {
	color: #171717;
	text-shadow: none;
	font-style: italic;
	font-weight: 400;
	font-size: 1.32em;
	margin: 0 0 1.5em;
}
.lp-page .lp-hero--light .lp-hero-media { display: none; }
.lp-page .lp-hero--light { border-bottom: 9px solid #0e224b; }

@media (max-width: 900px) {

	.lp-page .lp-hero--light {

		background-image:
			linear-gradient(rgba(255,255,255,0.40), rgba(255,255,255,0.40)),
			url('https://fherehab.com/wp-content/uploads/2026/09/FHE-HeroBanner-Family-portrait.jpg') !important;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
		padding: 28px 0 32px;
	}
	.lp-page .lp-hero--light .lp-hero-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.lp-page .lp-hero--light .lp-hero-h1 {
		font-size: 2.2em;
		max-width: 62%;
		margin: 0 0 0.4em;
	}
	.lp-page .lp-hero--light .lp-hero-sub { font-size: 1.08em; }
}


@media (max-width: 782px) {
	.lp-page .lp-band.lp-header,
	.lp-page.admin-bar .lp-band.lp-header {
		position: static;
		top: auto;
	}
}


/* ---------- 26. IMAGE CHECKLIST ----------------------------- */
/* .lp-checklist with the teal check asset instead of the CSS
   square. Add .lp-checklist--img alongside .lp-checklist and set
   --lp-check to the uploaded image URL on the <ul>.             */

.lp-page ul.lp-checklist--img li {
	padding-left: 44px;
	margin-bottom: 18px;
	font-size: 1.04em;
	line-height: 1.45;
}
.lp-page ul.lp-checklist--img li::before {
	content: "";
	width: 28px;
	height: 28px;
	top: 0;
	border-radius: 0;
	background: var(--lp-check) center / contain no-repeat;
}


/* ---------- 27. SPLIT CTA BAND ------------------------------ */
/* G repeats a navy band three times: headline hard left, a small
   availability line and a green button hard right. The stock
   .lp-cta is centered, so this is a modifier, not a replacement. */

.lp-page .lp-cta--split { text-align: left; padding: 34px 0; }
.lp-page .lp-cta--split .lp-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px 28px;
}
.lp-page .lp-cta--split .lp-cta-head {
	font-size: 2.2em;
	margin: 0;
	flex: 1 1 320px;
}
.lp-page .lp-cta--split .lp-cta-aside {
	display: flex;
	align-items: center;
	gap: 26px;
	flex: 0 0 auto;
}
.lp-page .lp-cta--split .lp-cta-sub {
	margin: 0;
	font-size: 1.12em;
	color: #fff;
	white-space: nowrap;
}

.lp-page .lp-btn--green {
	background: #3e761b;
	border-radius: 0;
}
.lp-page .lp-btn--green:hover { background: #69b048; }

.lp-page .lp-btn--gold {
	background: #c67a1f;
	border-radius: 0;
}
.lp-page .lp-btn--gold:hover { background: #dd9a49; }

@media (max-width: 860px) {
	.lp-page .lp-cta--split .lp-inner {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
	.lp-page .lp-cta--split .lp-cta-head {
		font-size: 1.6em;

		flex: 0 0 auto;
	}
	.lp-page .lp-cta--split .lp-cta-aside {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		width: 100%;
	}
	.lp-page .lp-cta--split .lp-cta-sub {
		white-space: normal;
		text-align: center;
	}
}


/* ---------- 28. LOGO STRIP ---------------------------------- */
/* Insurance carriers and university affiliations. Both are
   single flattened images in G, so this is a centered wrapper
   with a cap rather than a grid of individual logos.            */

.lp-page .lp-logostrip { text-align: center; }
.lp-page .lp-logostrip .lp-logostrip-head {
	font-size: 1.75em;
	font-weight: 700;
	color: #2860a7;
	line-height: 1.25;
	margin: 0 0 22px;
}
.lp-page .lp-logostrip .lp-logostrip-label {
	font-size: 1em;
	font-style: italic;
	color: #383838;
	margin: 0 0 16px;
}
.lp-page .lp-logostrip img {
	display: block;
	margin: 0 auto;
	max-width: 880px;
	width: 100%;
	height: auto;
}
.lp-page .lp-logostrip p { margin: 0; line-height: 0; }
.lp-page .lp-logostrip p + p { margin-top: 18px; }


.lp-page .lp-logostrip-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px 40px;
}
.lp-page .lp-logostrip-row p { margin: 0; flex: 0 1 auto; }
.lp-page .lp-logostrip-row img { max-width: 100%; }

@media (max-width: 600px) {
	.lp-page .lp-logostrip .lp-logostrip-head { font-size: 1.3em; }
}


/* ---------- 29. TEAL CALLOUT BAND --------------------------- */
/* Single use: the travel-for-treatment header. Teal is the only
   break in a long navy/white run, so it is kept as G has it.    */

.lp-page .lp-band--teal {
	background: #009faf;
	color: #fff;
	padding: 20px 0;
	text-align: center;
}
.lp-page .lp-band--teal .lp-band-head {
	font-size: 1.75em;
	font-weight: 700;
	color: #fff;
	line-height: 1.25;
	margin: 0;
}
@media (max-width: 600px) {
	.lp-page .lp-band--teal { padding: 18px 0; }
	.lp-page .lp-band--teal .lp-band-head { font-size: 1.25em; }
}


/* ---------- 30. MEDIA SPLIT --------------------------------- */
/* The stock .lp-split is a 1fr/340px text-and-thumbnail layout.
   G's content sections are closer to even halves with a large
   photo, and alternate which side the photo sits on.            */

.lp-page .lp-split--media { grid-template-columns: 1fr 1fr; gap: 48px; }
.lp-page .lp-split--media .lp-split-img { margin: 0; max-width: 100%; }
.lp-page .lp-split--media .lp-split-img img { border: 0; }


.lp-page .lp-split--rev .lp-split-img { order: 2; }

.lp-page .lp-split--media h2,
.lp-page .lp-split--media .lp-sec-head {
	font-size: 1.75em;
	font-weight: 700;
	color: #171717;
	line-height: 1.2;
	margin: 0 0 18px;
}
.lp-page .lp-split--media .lp-split-text > p { line-height: 1.6; }

@media (max-width: 860px) {
	.lp-page .lp-split--media { grid-template-columns: 1fr; gap: 26px; }
	.lp-page .lp-split--rev .lp-split-img { order: 0; }
}

.lp-page .lp-split--media .lp-split-stack {
	display: grid;
	gap: 20px;
	align-content: start;
}
.lp-page .lp-split--media .lp-split-stack img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}
.lp-page .lp-split--media .lp-split-stack p { margin: 0; line-height: 0; }


.lp-page ul.lp-condlist,
.lp-page .entry-content ul.lp-condlist {
	margin: 22px 0 0;
	padding: 0;
	columns: 2;
	column-gap: 28px;
}
.lp-page ul.lp-condlist li,
.lp-page .entry-content ul.lp-condlist li {
	list-style: disc outside;
	margin: 0 0 8px 1.15em;
	padding: 0;
	break-inside: avoid;
	color: #2860a7;
	font-weight: 700;
	line-height: 1.4;
}

.lp-page ul.lp-bullets,
.lp-page .entry-content ul.lp-bullets {
	margin: 0;
	padding: 0;
}
.lp-page ul.lp-bullets li,
.lp-page .entry-content ul.lp-bullets li {
	list-style: disc outside;
	margin: 0 0 12px 1.15em;
	padding: 0;
	line-height: 1.6;
	color: #171717;
}
@media (max-width: 600px) {
	.lp-page ul.lp-condlist,
	.lp-page .entry-content ul.lp-condlist { columns: 1; }
}


/* ---------- 31. PLAIN PULLQUOTE ----------------------------- */
/* G's testimonials are static copy with a star graphic, not the
   review plugin, so .lp-reviews does not apply here.            */

.lp-page .lp-quote { margin: 0 0 32px; }
.lp-page .lp-quote:last-child { margin-bottom: 0; }
.lp-page .lp-quote img.lp-quote-stars {
	display: block;
	width: 118px;
	height: auto;
	margin: 0 0 10px;
}
.lp-page .lp-quote p {
	margin: 0;
	font-size: 1em;
	line-height: 1.55;
	color: #171717;
}
.lp-page .lp-quote cite {
	font-style: italic;
	font-weight: 700;
	color: #2860a7;
	white-space: nowrap;
}


/* ---------- 32. FEATURE PAIR (renamed) ---------------------- */
/* landing.css §20 scopes .lp-featurepair to .page-id-99349 at
   specificity 0,2,0. A .lp-page-scoped copy would tie on
   specificity and win on source order, restyling that page.
   These use distinct class names instead: .lp-fpair / .lp-fcard.
   Nothing here can match existing markup.                       */

.lp-page .lp-fpair {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
	margin: 32px 0 0;
}
.lp-page .lp-fcard {
	background: #fff;
	border: 1px solid #dfe4ec;
	overflow: hidden;
}
.lp-page .lp-fcard img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}
.lp-page .lp-fcard > p { margin: 0; line-height: 0; }
.lp-page .lp-fcard-body { padding: 26px 28px 28px; }
.lp-page .lp-fcard-body h3 {
	font-size: 1.25em;
	font-weight: 700;
	color: #2860a7;
	margin: 0 0 12px;
	line-height: 1.25;
	font-family: inherit;
}
.lp-page .lp-fcard-body p {
	margin: 0;
	font-size: 0.97em;
	line-height: 1.6;
	color: #171717;
}
@media (max-width: 700px) {
	.lp-page .lp-fpair { grid-template-columns: 1fr; gap: 22px; }
	.lp-page .lp-fcard img { height: 190px; }
}


/* ---------- 33. BOTTOM FORM PANEL, PHOTO BACKGROUND --------- */
/* G sets the palm background on the band and floats a near-white
   form card over it. .lp-formwrap / .lp-formpanel / .lp-asidepanel
   already exist; this adds the photographic band around them.    */

.lp-page .lp-band--photo {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 56px 0;
	position: relative;
}

.lp-page .lp-band--photo::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,0.82);
	pointer-events: none;
}
.lp-page .lp-band--photo > .lp-inner { position: relative; z-index: 1; }
.lp-page .lp-band--photo .lp-formpanel {
	background: #f8f8f8;
	border-top: 12px solid #2860a7;
	padding: 32px 40px 40px;
	max-width: 460px;
}
.lp-page .lp-band--photo .lp-formpanel h2 {
	font-size: 1.75em;
	font-weight: 700;
	color: #171717;
	text-align: center;
	margin: 0 0 20px;
	font-family: inherit;
}
.lp-page .lp-band--photo .lp-asidepanel .lp-aside-label {
	font-size: 1em;
	color: #171717;
	margin: 22px 0 6px;
}
.lp-page .lp-band--photo .lp-asidepanel .lp-aside-head {
	font-size: 1.6em;
	font-weight: 700;
	color: #171717;
	line-height: 1.2;
	margin: 0 0 18px;
}
.lp-page .lp-band--photo .lp-asidepanel .lp-aside-fine {
	font-size: 1em;
	font-style: italic;
	color: #171717;
	margin: 16px 0 0;
}

.lp-page .lp-band--photo .lp-formpanel .gform_wrapper .gfield--type-textarea,
.lp-page .lp-band--photo .lp-formpanel .gform_wrapper li.gfield textarea {
	display: block;
}
.lp-page .lp-band--photo .lp-formpanel .gform_wrapper textarea {
	min-height: 96px;
	resize: vertical;
}
.lp-page .lp-band--photo .lp-formpanel .gform_wrapper .gform_button {
	background: #3e761b;
	border-radius: 0;
	font-size: 1.15em;
	padding: 16px 20px;
}
.lp-page .lp-band--photo .lp-formpanel .gform_wrapper .gform_button:hover { background: #69b048; }

@media (max-width: 800px) {
	.lp-page .lp-band--photo .lp-formpanel { max-width: 100%; padding: 26px 22px 30px; }
}


/* ---------- 34. FOOTER ROW ---------------------------------- */
/* G's footer is a single horizontal row rather than the stacked
   .lp-footer-blue default.                                      */

.lp-page .lp-footer-blue--row { text-align: left; padding: 34px 0; }
.lp-page .lp-footer-blue--row .lp-footrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 26px 34px;
}
.lp-page .lp-footer-blue--row .lp-footrow > * { margin: 0; }
.lp-page .lp-footer-blue--row img.lp-foot-logo {
	max-width: 190px;
	margin: 0;
}
.lp-page .lp-footer-blue--row .lp-foot-addr {
	font-size: 1em;
	line-height: 1.45;
	color: #fff;
	text-align: center;
}
.lp-page .lp-footer-blue--row .lp-foot-legal {
	font-size: 1em;
	line-height: 1.45;
	color: #fff;
	text-align: right;
}
.lp-page .lp-footer-blue--row .lp-foot-badges {
	margin: 0;
	max-width: 320px;
	gap: 18px;
}

@media (max-width: 860px) {
	.lp-page .lp-footer-blue--row { text-align: center; }
	.lp-page .lp-footer-blue--row .lp-footrow {
		flex-direction: column;
		align-items: center;
		gap: 22px;
	}
	.lp-page .lp-footer-blue--row img.lp-foot-logo { margin: 0 auto; }
	.lp-page .lp-footer-blue--row .lp-foot-legal { text-align: center; }
}


/* ---------- 35. MOBILE STICKY CALL BAR ---------------------- */
/* Mirrors G's fixed mobile footer. Hidden on desktop, where the
   sticky .lp-header already carries the number.
   landing.css §17 already pads .lp-footer-blue at <=782px, which
   clears the space this occupies.                               */

.lp-page .lp-callbar { display: none; }

@media (max-width: 782px) {
	.lp-page .lp-callbar {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 998;
		background: #3e761b;
		box-shadow: 0 -2px 12px rgba(0,0,0,0.22);
	}
	.lp-page .lp-callbar a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 12px;
		padding: 15px 16px;
		color: #fff !important;
		font-size: 1.4em;
		font-weight: 700;
		line-height: 1.2;
		text-decoration: none !important;
	}
	.lp-page .lp-callbar img {
		width: 26px;
		height: 26px;
		object-fit: contain;
		display: block;
		flex: 0 0 auto;
		/* Asset is the blue phone icon; brightness(0) flattens it to
		   black and invert(1) takes it to white, so no second upload. */
		filter: brightness(0) invert(1);
	}
}
/* ============================================================
   VARIANT H  (Unbounce page 79efb129, variant h)
   ------------------------------------------------------------
   Everything below is additive and uses classes that appear
   nowhere in landing.css or in the variant G rules above, so
   none of it can reach the G page.
   H does NOT use .lp-hero--light: G's mobile rule forces the
   family portrait onto that class with !important, which would
   put the wrong photo on H. H's hero is its own modifier.
   Palette: navy #0e224b, blue #2860a7, teal #009faf,
            gold #c67a1f, tab gold #dd9a49, grey #f5f5f5
   ============================================================ */


/* ---------- 36. NAVY HEADER --------------------------------- */
.lp-page .lp-band.lp-header.lp-header--navy {
	background: #0e224b;
	border-bottom: 0;
	box-shadow: 0 1px 12px rgba(0,0,0,0.25);
	padding: 14px 0;
}
.lp-page .lp-header--navy .lp-header-right { gap: 28px; }
.lp-page .lp-header--navy .lp-header-label {
	color: #fff;
	font-size: 1.3em;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
}
.lp-page .lp-header--navy .lp-btn { font-size: 1.4em; padding: 14px 34px; }

@media (max-width: 782px) {
	.lp-page .lp-header--navy .lp-inner {
		flex-direction: column;
		flex-wrap: wrap;
		gap: 10px;
	}
	.lp-page .lp-header--navy .lp-header-right {
		flex-direction: column;
		margin-left: 0;
		gap: 8px;
		text-align: center;
	}
	.lp-page .lp-header--navy .lp-header-label { font-size: 1.05em; }
	.lp-page .lp-header--navy .lp-btn { font-size: 1.25em; padding: 11px 40px; }
}


/* ---------- 37. PHOTO HERO, COPY RIGHT ---------------------- */
/* Subject sits left of frame, pale beach right. Anchoring RIGHT
   keeps the pale area fixed behind the copy as the viewport
   narrows — the subject crops off the left edge instead of
   sliding under the type. (Mirror image of G's left anchor.)   */
.lp-page .lp-hero--photo-r {
	color: #171717;
	background-size: cover;
	background-position: right center;
	background-repeat: no-repeat;
	padding: 76px 0 84px;
}
.lp-page .lp-hero--photo-r .lp-hero-grid {
	grid-template-columns: 1fr minmax(0, 600px);
	gap: 40px;
}
.lp-page .lp-hero--photo-r .lp-hero-text { grid-column: 2; }
.lp-page .lp-hero--photo-r .lp-hero-h1 {
	font-family: "source_sans_probold", "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-weight: normal;
	color: #171717;
	text-shadow: none;
	font-size: 3.7em;
	line-height: 1.07;
	margin: 0 0 0.3em;
}
.lp-page .lp-hero--photo-r .lp-hero-sub {
	color: #171717;
	text-shadow: none;
	font-style: italic;
	font-weight: 400;
	font-size: 1.35em;
	max-width: none;
	margin: 0 0 1.1em;
}
.lp-page .lp-hero--photo-r ul.lp-hero-list,
.lp-page .entry-content .lp-hero--photo-r ul.lp-hero-list {
	margin: 0 0 26px;
	padding: 0;
}
.lp-page .lp-hero--photo-r ul.lp-hero-list li,
.lp-page .entry-content .lp-hero--photo-r ul.lp-hero-list li {
	list-style: disc outside;
	margin: 0 0 10px 1.15em;
	color: #171717;
	font-size: 1.12em;
	line-height: 1.4;
}
.lp-page .lp-hero--photo-r .lp-hero-media { display: none; }

@media (max-width: 900px) {
	/* H ships a separate mobile photo. It displays as its own band
	   above the copy; the desktop background is suppressed.
	   !important is needed to beat the inline background-image.  */
	.lp-page .lp-hero--photo-r {
		background-image: none !important;
		padding: 0 0 36px;
	}
	.lp-page .lp-hero--photo-r .lp-hero-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.lp-page .lp-hero--photo-r .lp-hero-text { grid-column: 1; }
	.lp-page .lp-hero--photo-r .lp-hero-media {
		display: block;
		grid-row: 1;
		margin: 0 -24px 26px;
	}
	.lp-page .lp-hero--photo-r .lp-hero-media img {
		display: block;
		width: 100%;
		height: 250px;
		object-fit: cover;
		object-position: center top;
	}
	.lp-page .lp-hero--photo-r .lp-hero-h1 { font-size: 2.3em; }
	.lp-page .lp-hero--photo-r .lp-hero-sub { font-size: 1.12em; }
}


/* ---------- 38. BUTTON VARIANTS ----------------------------- */
.lp-page .lp-btn--teal { background: #009faf; border-radius: 0; }
.lp-page .lp-btn--teal:hover { background: #0094a6; }

.lp-page .lp-btn--outline-teal {
	background: transparent;
	border: 3px solid #009faf;
	color: #009faf !important;
	border-radius: 0;
	padding: 13px 37px;
}
.lp-page .lp-btn--outline-teal:hover { background: #009faf; color: #fff !important; }

.lp-page .lp-btn--outline-white {
	background: transparent;
	border: 3px solid #fff;
	border-radius: 0;
	padding: 13px 37px;
}
.lp-page .lp-btn--outline-white:hover { background: #fff; color: #2860a7 !important; }

/* Row of paired buttons. Wraps rather than squeezing. */
.lp-page .lp-btnrow {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 20px;
	margin: 0;
}
.lp-page .lp-btnrow .lp-btn { font-size: 1.4em; text-align: center; }
@media (max-width: 600px) {
	.lp-page .lp-btnrow { flex-direction: column; align-items: stretch; }
	.lp-page .lp-btnrow .lp-btn { width: 100%; box-sizing: border-box; }
}
/* "CALL NOW - Confidential Help 24/7" line above a button row. */
.lp-page .lp-ctaline {
	font-size: 1.3em;
	color: #171717;
	margin: 26px 0 16px;
}


/* ---------- 39. GREY INSURANCE BAND ------------------------- */
.lp-page .lp-band.lp-band--grey { background: #f5f5f5; padding: 36px 0 42px; }
.lp-page .lp-logostrip--dark .lp-logostrip-head { color: #171717; }


/* ---------- 40. SECTION TITLE + TEAL-MARKER LISTS ----------- */
/* The second selector outranks G's `.lp-split--media h2` rule,
   which would otherwise re-apply font-weight:700 on top of the
   already-bold face and synthesize a fake bold.                */
.lp-page h2.lp-sec-title,
.lp-page .lp-split--media h2.lp-sec-title {
	font-family: "source_sans_probold", "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 1.85em;
	color: #171717;
	line-height: 1.2;
	margin: 0 0 18px;
}
.lp-page ul.lp-condlist--teal li,
.lp-page .entry-content ul.lp-condlist--teal li { color: #171717; }
.lp-page ul.lp-condlist--teal li::marker,
.lp-page ul.lp-bullets--teal li::marker { color: #009faf; }

/* Label-led paragraphs ("Accreditation: ...") — bold dark label,
   no bullet, as H sets them.                                   */
.lp-page .lp-labeled p { margin: 0 0 16px; line-height: 1.6; color: #171717; }
.lp-page .lp-labeled p strong { color: #171717; }


/* ---------- 41. ROUNDED MEDIA ------------------------------- */
.lp-page .lp-rounded img,
.lp-page .lp-rounded iframe { border-radius: 10px; }


/* ---------- 42. TESTIMONIAL CARDS ON PHOTO BAND ------------- */
.lp-page .lp-band.lp-band--img {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 48px 0;
}
.lp-page .lp-tcards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}
.lp-page .lp-tcard {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 64px 44px 34px;
	text-align: center;
}
.lp-page .lp-tcard-tab {
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 198px;
	height: 42px;
	background: #dd9a49;
	border-radius: 0 0 10px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Reuses the yellow star asset; filter renders it white. */
.lp-page .lp-tcard-tab img {
	width: 124px;
	height: auto;
	display: block;
	filter: brightness(0) invert(1);
}
.lp-page .lp-tcard p {
	margin: 0;
	line-height: 1.6;
	color: #171717;
	font-size: 1.02em;
}
.lp-page .lp-tcard cite { font-weight: 700; font-style: italic; }
@media (max-width: 760px) {
	.lp-page .lp-tcards { grid-template-columns: 1fr; gap: 22px; }
	.lp-page .lp-tcard { padding: 60px 22px 26px; }
}


/* ---------- 43. BLUE CTA BAND ------------------------------- */
/* Flex lives on .lp-ctab-row, not .lp-inner, so the last band
   can also hold the form below the row without being pulled
   into the flex layout. Children carry no flex-basis, so the
   column flip at mobile can't turn a width into a height.     */
.lp-page .lp-band.lp-ctab {
	background: #2860a7;
	color: #fff;
	padding: 38px 0;
}
.lp-page .lp-ctab-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 22px 40px;
}
.lp-page .lp-ctab-copy p,
.lp-page .lp-ctab-act p { margin: 0; color: #fff; }
.lp-page .lp-ctab-eyebrow { font-size: 1.05em; line-height: 1.3; }
.lp-page .lp-ctab-head,
.lp-page .lp-ctab-sub {
	font-family: "source_sans_probold", "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-weight: normal;
}
.lp-page .lp-ctab-head { font-size: 2.35em; line-height: 1.15; }
.lp-page .lp-ctab-sub { font-size: 1.65em; line-height: 1.2; }
.lp-page .lp-ctab-act {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 14px;
}
.lp-page .lp-ctab-label { font-size: 1.35em; }
.lp-page .lp-ctab .lp-btnrow { justify-content: flex-end; }

@media (max-width: 860px) {
	.lp-page .lp-ctab-row {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 18px;
	}
	.lp-page .lp-ctab-act { align-items: center; width: 100%; gap: 12px; }
	.lp-page .lp-ctab .lp-btnrow {
		justify-content: center;
		width: 100%;
		max-width: 460px;
	}
	.lp-page .lp-ctab-head { font-size: 1.8em; }
	.lp-page .lp-ctab-sub { font-size: 1.25em; }
	.lp-page .lp-ctab-label { font-size: 1.1em; opacity: 0.9; }
}


/* ---------- 44. FACILITY: CARD OVER PHOTO ------------------- */
/* A real element carries the photo rather than a ::before —
   no dependency on stacking order set elsewhere.              */
.lp-page .lp-band.lp-facility {
	position: relative;
	background: #fff;
	padding: 40px 0 56px;
}
.lp-page .lp-facility-photo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 400px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 0;
}
.lp-page .lp-facility > .lp-inner { position: relative; z-index: 1; }
.lp-page .lp-facility-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}
.lp-page .lp-facility-card {
	background: #fff;
	border: 1px solid #ccc;
	padding: 48px 56px 50px;
}
.lp-page .lp-facility-card h3 {
	font-family: "source_sans_probold", "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-weight: normal;
	color: #009faf;
	font-size: 1.55em;
	margin: 30px 0 8px;
	line-height: 1.2;
}
.lp-page .lp-facility-card p { margin: 0; line-height: 1.6; color: #171717; }
/* Pushes the affiliation logos down below the photo band. */
.lp-page .lp-facility-aside { padding-top: 380px; }

@media (max-width: 860px) {
	.lp-page .lp-facility-photo { height: 240px; }
	.lp-page .lp-facility-grid { grid-template-columns: 1fr; gap: 32px; }
	.lp-page .lp-facility-card { margin-top: 170px; padding: 30px 22px 34px; }
	.lp-page .lp-facility-aside { padding-top: 0; }
}


/* ---------- 45. FEATURE ROWS (image left, copy right) ------- */
.lp-page .lp-split.lp-featrow { align-items: center; }
.lp-page .lp-featrow + .lp-featrow { margin-top: 44px; }
.lp-page .lp-featrow h3 {
	font-family: "source_sans_probold", "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 1.6em;
	color: #171717;
	margin: 0 0 12px;
	line-height: 1.2;
}
.lp-page .lp-featrow .lp-split-text p { line-height: 1.6; color: #171717; margin: 0; }


/* ---------- 46. FORM ON BLUE -------------------------------- */
/* No .lp-formcard wrapper, so landing.css §13's textarea hide
   never applies — "How Can We Help You?" renders as-is.        */
.lp-page .lp-band.lp-ctab--form { padding-bottom: 56px; }
.lp-page .lp-formblue {
	max-width: 680px;
	margin: 52px auto 0;
	scroll-margin-top: 120px;
}
.lp-page .lp-formblue > h2 {
	font-family: "source_sans_probold", "Source Sans Pro", Helvetica, Arial, sans-serif;
	font-weight: normal;
	color: #fff;
	font-size: 1.75em;
	margin: 0 0 14px;
}
.lp-page .lp-formblue .gform_wrapper .gfield_label,
.lp-page .lp-formblue .gform_wrapper label,
.lp-page .lp-formblue .gform_wrapper .gfield_required,
.lp-page .lp-formblue .gform_wrapper .gfield_description {
	color: #fff !important;
}
.lp-page .lp-formblue .gform_wrapper input[type="text"],
.lp-page .lp-formblue .gform_wrapper input[type="email"],
.lp-page .lp-formblue .gform_wrapper input[type="tel"],
.lp-page .lp-formblue .gform_wrapper textarea {
	width: 100%;
	background: #fff;
	border: 1px solid #bbb;
	border-radius: 0;
	padding: 11px 12px;
	font-size: 1em;
	box-sizing: border-box;
}
.lp-page .lp-formblue .gform_wrapper textarea { min-height: 104px; resize: vertical; }
.lp-page .lp-formblue .gform_wrapper .gform_button,
.lp-page .lp-formblue .gform_wrapper input[type="submit"] {
	background: #009faf;
	color: #fff;
	border: 0;
	border-radius: 0;
	font-size: 1.3em;
	font-weight: 700;
	padding: 16px 48px;
	cursor: pointer;
}
.lp-page .lp-formblue .gform_wrapper .gform_button:hover,
.lp-page .lp-formblue .gform_wrapper input[type="submit"]:hover { background: #0094a6; }


/* ---------- 47. NAVY FOOTER (H layout) ---------------------- */
.lp-page .lp-band.lp-footer-h {
	background: #0e224b;
	color: #fff;
	padding: 42px 0 30px;
	text-align: left;
}
.lp-page .lp-footer-h .lp-footrow-h {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 26px 34px;
}
.lp-page .lp-footer-h .lp-foot-brand img {
	display: block;
	max-width: 210px;
	height: auto;
	margin: 0 0 14px;
}
.lp-page .lp-footer-h .lp-foot-brand p { margin: 0; color: #fff; line-height: 1.45; }
.lp-page .lp-footer-h .lp-foot-badges { margin: 0; max-width: none; }
.lp-page .lp-footer-h .lp-foot-badges img { max-width: 340px; width: 100%; height: auto; }
.lp-page .lp-footer-h .lp-foot-copy {
	text-align: center;
	color: #fff;
	margin: 30px 0 0;
}
.lp-page .lp-footer-h a { color: #fff; text-decoration: underline; }

@media (max-width: 860px) {
	.lp-page .lp-footer-h { text-align: center; }
	.lp-page .lp-footer-h .lp-footrow-h { flex-direction: column; gap: 22px; }
	.lp-page .lp-footer-h .lp-foot-brand img { margin: 0 auto 14px; }
}


/* ---------- 48. GOLD CALL BAR ------------------------------- */
@media (max-width: 782px) {
	.lp-page .lp-callbar.lp-callbar--gold { background: #c67a1f; }
}
/* ---------- 49. H MOBILE HEADER + WPAUTOP GUARDS ------------ */
/* landing.css §3 hides .lp-header-label at <=600px sitewide. H
   keeps it: logo, "Call Now 24/7 Assistance", button — 3 lines. */
@media (max-width: 600px) {
	.lp-page .lp-header--navy .lp-header-label { display: block; }
}
/* wpautop turns a newline between two inline elements into <br />.
   Inside a flex or grid container that <br> becomes its own item,
   adding a line of height plus gaps on either side. The H markup
   keeps those siblings on one line; this catches any that slip
   through an editor round-trip. Scoped to H containers only.     */
.lp-page .lp-btnrow > br,
.lp-page .lp-header--navy .lp-header-right > br,
.lp-page .lp-callbar--gold a > br,
.lp-page .lp-ctab-row > br,
.lp-page .lp-ctab-copy > br,
.lp-page .lp-ctab-act > br,
.lp-page .lp-footrow-h > br,
.lp-page .lp-foot-brand > br,
.lp-page .lp-tcards > br,
.lp-page .lp-facility-grid > br { display: none; }
.lp-page .lp-btnrow > p:empty,
.lp-page .lp-ctab-row > p:empty,
.lp-page .lp-ctab-act > p:empty,
.lp-page .lp-tcards > p:empty,
.lp-page .lp-facility-grid > p:empty { display: none; }