/* ============================================================
   WP theme component and layout styles.
   ============================================================ */

/* Dark cover blocks: show ink background before image lazy-loads so white
   text stays legible even before the photo appears. */
.wp-block-cover.is-dark {
	background-color: #181F2E;
}

/* Ink-background group sections: override the visibility-audit rule in main.css
   that forces dark text on all has-background groups. Ink (#181F2E) sections need
   white text instead. */
.wp-block-group.alignfull.has-background[style*="181F2E"] > h2,
.wp-block-group.alignfull.has-background[style*="181F2E"] > h2.wp-block-heading,
.wp-block-group.alignfull.has-background[style*="181F2E"] > .wp-block-group__inner-container h2,
.wp-block-group.alignfull.has-background[style*="181F2E"] > .wp-block-group__inner-container p {
	color: #ffffff !important;
}

/* Brand pill CTA. The transformer rewrites every imported "Find your next step"
   button + SimplePractice anchor into <a class="lw-cta" href="/contact/">. Style
   it as an ink pill so it reads as the primary action on the page. */
.lw-cta,
.sqs-block-button-element--primary,
.sqs-block-button-element {
	display: inline-block;
	padding: 14px 30px;
	background: #181F2E !important;
	background-image: none !important;
	color: #fff !important;
	text-decoration: none !important;
	border: none !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-family: 'Nunito Sans', sans-serif !important;
	font-weight: 600;
	line-height: 1.2;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.lw-cta:hover,
.sqs-block-button-element--primary:hover,
.sqs-block-button-element:hover {
	background: #2C3654 !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(24, 31, 46, .22) !important;
	color: #fff !important;
}

/* ============================================================
   Home contact / locations section (rebuilt; see inc/home-contact-section.php)
   ============================================================ */
/* Bright footer (rebuilt 2026-05-30). The site is cream everywhere, so the old
   night-sky dark block was scrapped for a light, airy footer: cream field, ochre
   top rule, the black LiveWell mark, moss section labels, ochre hover. */
.lw-footer {
	background: #E8F0EF;
	border-top: 3px solid #D9A648;
	color: #4A463F;
	padding: 60px 24px 44px;
}
.lw-footer__inner {
	max-width: 1200px; margin: 0 auto;
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr;
	gap: 48px;
	align-items: start;
}
.lw-footer__logo { width: 132px; height: auto; display: block; margin: 0 0 18px; }
.lw-footer__tag { font-size: .98rem; line-height: 1.65; color: #4A463F; max-width: 36ch; margin: 0 0 22px; }
.lw-footer__socials { display: flex; gap: 12px; }
.lw-footer__socials a {
	width: 40px; height: 40px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	color: #2B3A2E; background: #F4F8F8; border: 1px solid #C8D7DC;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.lw-footer__socials a:hover { background: #2B3A2E; color: #FDF8E8; border-color: #2B3A2E; transform: translateY(-2px); }
.lw-footer__h {
	font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .15em;
	color: #181F2E; margin: 0 0 14px;
}
.lw-footer__h--gap { margin-top: 28px; }
.lw-footer__col p { margin: 0 0 16px; line-height: 1.7; font-size: .95rem; color: #4A463F; }
.lw-footer__addr strong { display: block; color: #181F2E; font-weight: 700; margin-bottom: 2px; }
.lw-footer a { color: #2B3A2E; text-decoration: none; border-bottom: 1px solid transparent; transition: color .15s ease, border-color .15s ease; }
.lw-footer__col a:hover { color: #181F2E; border-bottom-color: #D9A648; }
.lw-footer__links { list-style: none; margin: 0; padding: 0; }
.lw-footer__links li { margin: 0 0 11px; }
.lw-footer__apps { display: flex; gap: 10px; flex-wrap: wrap; }
.lw-footer__app {
	padding: 8px 20px; border-radius: 999px; font-weight: 600; font-size: .9rem;
	color: #2B3A2E; background: #F4F8F8;
	border: 1px solid #C8D7DC; border-bottom-color: #C8D7DC;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.lw-footer__app:hover { background: #2B3A2E; color: #FDF8E8; border-color: #2B3A2E; }
@media (max-width: 900px) {
	.lw-footer__inner { grid-template-columns: 1fr 1fr; gap: 36px 32px; }
	.lw-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.lw-footer { padding: 48px 22px 36px; }
	.lw-footer__inner { grid-template-columns: 1fr; gap: 30px; }
}
.lw-contact__connect { margin-top: 28px !important; padding-top: 18px !important; }

/* ---- New home v2/v3 elements ---- */
/* Wellness scroll-snap carousel */
.lw-carousel {
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 2rem 1.5rem 1.5rem;
	margin-top: 2.5rem;
	scrollbar-width: thin;
}
.lw-carousel::-webkit-scrollbar { height: 8px; }
.lw-carousel::-webkit-scrollbar-thumb { background: rgba(24,31,46,.25); border-radius: 4px; }
.lw-carousel__slide {
	scroll-snap-align: start;
	flex: 0 0 320px;
	height: 380px;
	border-radius: 16px;
	background-size: cover;
	background-position: center;
	color: #fff;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 1.5rem;
	transition: transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 6px 22px rgba(24,31,46,.18);
}
.lw-carousel__slide:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 34px rgba(24,31,46,.28);
	color: #fff;
}
.lw-carousel__eyebrow {
	display: block;
	font-size: .8rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	opacity: .8;
	margin-bottom: .35rem;
}
.lw-carousel__title {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.15;
}
@media (max-width: 600px) {
	.lw-carousel__slide { flex: 0 0 86vw; height: 320px; }
}

/* Condition card hover */
.lw-condition-card {
	transition: transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 2px 12px rgba(24,31,46,.08);
}
.lw-condition-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(24,31,46,.18);
}
.lw-condition-card a { text-decoration: none; color: inherit; }
.lw-condition-card a:hover h3 { color: #536B7A; }
.lw-condition-card img { display: block; width: 100%; height: 180px; object-fit: cover; }

/* Fine Print accordion */
.lw-faq__item {
	border-top: 1px solid rgba(24,31,46,.12);
	padding: 1.1rem 0;
}
.lw-faq__item:last-child { border-bottom: 1px solid rgba(24,31,46,.12); }
.lw-faq__item summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 1.05rem;
	color: #181F2E;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.lw-faq__item summary::-webkit-details-marker { display: none; }
.lw-faq__item summary::after {
	content: "+";
	font-size: 1.5rem;
	font-weight: 300;
	color: #536B7A;
	transition: transform .2s ease;
}
.lw-faq__item[open] summary::after {
	content: "−";
}
.lw-faq__item p, .lw-faq__item ul { margin: .9rem 0; line-height: 1.6; color: #3D5260; }
.lw-faq__item ul { padding-left: 1.5rem; }

/* Testimonial video */
.lw-testimonial-video {
	box-shadow: 0 8px 26px rgba(24,31,46,.18);
}

/* ---- v4: Trust strip (under hero) ---- */
.lw-trust-strip {
	background: #22322E;
	color: #FDF8E8;
	padding: clamp(.55rem, 1.15vw, 1rem) clamp(.8rem, 1.55vw, 1.45rem);
}
body.home .lw-trust-strip,
body.front-page .lw-trust-strip {
	background: #181F2E;
}
.lw-trust-strip__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(.35rem, 1vw, .9rem);
	text-align: center;
}
.lw-trust-item {
	display: flex;
	flex-direction: column;
	gap: .08rem;
	min-width: 0;
	padding: 0 .25rem;
}
.lw-trust-item strong {
	font-weight: 700;
	font-size: clamp(.82rem, .9vw, 1.15rem);
	letter-spacing: .01em;
	line-height: 1.08;
	font-family: "Nunito Sans", system-ui, sans-serif;
	white-space: nowrap;
}
.lw-trust-item span {
	font-size: clamp(.76rem, .78vw, 1rem);
	line-height: 1.12;
	opacity: .7;
	white-space: nowrap;
}
@media (max-width: 1023px) {
	.lw-trust-item strong {
		font-size: clamp(.625rem, 1.85vw, .75rem);
	}
	.lw-trust-item span {
		font-size: clamp(.625rem, 1.6vw, .72rem);
	}
}
@media (max-width: 900px) {
	.lw-trust-strip__inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.lw-trust-strip {
		padding: .55rem .65rem;
	}
	.lw-trust-strip__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .38rem .5rem;
	}
	.lw-trust-item {
		padding: 0;
		gap: .05rem;
	}
	.lw-trust-item strong {
		font-size: clamp(.625rem, 2.45vw, .75rem);
		line-height: 1.05;
	}
	.lw-trust-item span {
		font-size: clamp(.625rem, 2.08vw, .72rem);
		line-height: 1.08;
	}
}

.lw-trust-strip--context {
	background: #22322E;
	border-top: 1px solid rgba(253,248,232,.16);
}
body.home .lw-trust-strip--context,
body.front-page .lw-trust-strip--context {
	background: #181F2E;
}

/* ---- v4: How it works ---- */
.lw-how {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-top: 3rem;
}
.lw-how__step {
	background: #fff;
	border: 1px solid #E3E9E0;
	border-radius: 16px;
	padding: 2rem 1.75rem;
	position: relative;
	box-shadow: 0 3px 14px rgba(24,31,46,.06);
	transition: transform .2s ease, box-shadow .2s ease;
}
.lw-how__step:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(24,31,46,.12);
}
.lw-how__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: #181F2E;
	color: #fff;
	border-radius: 50%;
	font-weight: 700;
	font-size: 1.2rem;
	margin-bottom: 1.25rem;
}
.lw-how__step h3 {
	font-size: 1.2rem;
	font-weight: 600;
	margin: 0 0 .65rem;
	color: #181F2E;
}
.lw-how__step p {
	margin: 0;
	color: #3D5260;
	line-height: 1.55;
	font-size: .98rem;
}
@media (max-width: 781px) {
	.lw-how { grid-template-columns: 1fr; }
}

/* ---- v4: Condition cards (image on top + body below) ---- */
.lw-cond-card {
	display: flex;
	flex-direction: column;
	border-radius: 14px;
	overflow: hidden;
	color: #181F2E;
	text-decoration: none;
	background: #fff;
	transition: transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 4px 14px rgba(24,31,46,.10);
}
.lw-cond-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(24,31,46,.20);
	color: #181F2E;
}
.lw-cond-card__img {
	display: block;
	width: 100%;
	height: 200px;
	background-size: cover;
	background-position: center;
}
.lw-cond-card__body {
	display: flex;
	flex-direction: column;
	gap: .55rem;
	padding: 1.4rem 1.4rem 1.5rem;
	flex: 1;
}
.lw-cond-card__name {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.lw-cond-card__desc {
	font-size: .95rem;
	line-height: 1.5;
	color: #3D5260;
	flex: 1;
}
.lw-cond-card__arrow {
	font-size: 1.4rem;
	font-weight: 300;
	color: #536B7A;
	align-self: flex-end;
}

/* Fine Print: narrower for readability */
.lw-faq-section .lw-faq { max-width: 640px; margin-left: auto; margin-right: auto; }

/* ---- v4: Team grid ---- */
.lw-team {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-top: 2.5rem;
}
.lw-team__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #fff;
	border-radius: 16px;
	padding: 1.75rem 1.25rem 1.5rem;
	text-decoration: none;
	color: #181F2E;
	transition: transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 2px 10px rgba(24,31,46,.08);
}
.lw-team__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(24,31,46,.16);
	color: #181F2E;
}
.lw-team__card img {
	width: 130px;
	height: 130px;
	border-radius: 50%;
	object-fit: cover;
	margin-bottom: 1rem;
	background: #ECE6D6;
}
.lw-team__card h3 {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 0 0 .25rem;
}
.lw-team__cred {
	font-size: .82rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #536B7A;
	font-weight: 600;
	display: block;
	margin-bottom: .35rem;
}
.lw-team__role {
	font-size: .9rem;
	color: #3D5260;
	line-height: 1.4;
	display: block;
}
@media (max-width: 900px) {
	.lw-team { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.lw-team { grid-template-columns: 1fr; }
}
/* (old dark .lw-contact__* footer styles removed; replaced by .lw-footer above) */



/* ---- About page: WHO/WHAT/WHY trio cards (also used on other index pages) ---- */
.lw-trio {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 3rem;
}
.lw-trio__card {
	display: flex;
	flex-direction: column;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: #181F2E;
	background: #fff;
	box-shadow: 0 4px 14px rgba(24,31,46,.10);
	transition: transform .2s ease, box-shadow .2s ease;
}
.lw-trio__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 36px rgba(24,31,46,.22);
	color: #181F2E;
}
.lw-trio__img {
	display: block;
	width: 100%;
	height: 220px;
	background-size: cover;
	background-position: center;
}
.lw-trio__body {
	padding: 1.5rem 1.5rem 1.6rem;
	display: flex;
	flex-direction: column;
	gap: .55rem;
}
.lw-trio__eyebrow {
	font-size: .8rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #536B7A;
	font-weight: 700;
}
.lw-trio__title {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
}
.lw-trio__cta {
	font-size: .95rem;
	color: #181F2E;
	font-weight: 600;
	margin-top: .35rem;
}
@media (max-width: 900px) {
	.lw-trio { grid-template-columns: 1fr; }
	.lw-trio__img { height: 200px; }
}

/* ---- Services grid (What We Do): 3-up image cards ---- */
.lw-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 3rem;
}
.lw-svc-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 360px;
	padding: 1.75rem;
	border-radius: 16px;
	color: #fff;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
	box-shadow: 0 6px 22px rgba(24,31,46,.18);
}
.lw-svc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 36px rgba(24,31,46,.28);
	color: #fff;
}
.lw-svc__eyebrow {
	display: block;
	font-size: .78rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	opacity: .85;
	margin-bottom: .5rem;
	font-weight: 700;
}
.lw-svc__title {
	display: block;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin-bottom: .55rem;
}
.lw-svc__desc {
	display: block;
	font-size: .95rem;
	line-height: 1.5;
	opacity: .9;
}
.lw-services-grid--4 { grid-template-columns: repeat(4, 1fr); }
.lw-services-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1100px) {
	.lw-services-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
	.lw-services-grid, .lw-services-grid--4, .lw-services-grid--2 { grid-template-columns: 1fr; }
	.lw-svc-card { min-height: 260px; }
}

/* ---- GRIT explainer cards (Core Values page) ---- */
.lw-grit-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-top: 3rem;
}
.lw-grit-card {
	background: #fff;
	border-radius: 16px;
	padding: 2rem 1.5rem;
	border: 1px solid #ECE6D6;
	display: flex;
	flex-direction: column;
	gap: .65rem;
	transition: transform .2s ease, box-shadow .2s ease;
}
.lw-grit-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(24,31,46,.12);
}
.lw-grit-letter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background: #181F2E;
	color: #fff;
	border-radius: 50%;
	font-weight: 800;
	font-size: 1.9rem;
	letter-spacing: -0.04em;
	margin-bottom: .35rem;
}
.lw-grit-name {
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #181F2E;
}
.lw-grit-card p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	color: #3D5260;
}
@media (max-width: 900px) {
	.lw-grit-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.lw-grit-grid { grid-template-columns: 1fr; }
}

/* ---- Insurance pills ---- */
.lw-insurance-list {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	margin: 1.5rem auto;
	max-width: 720px;
}
.lw-ins-pill {
	display: inline-block;
	padding: .55rem 1rem;
	background: #fff;
	border: 1px solid #181F2E;
	border-radius: 999px;
	font-size: .9rem;
	font-weight: 600;
	color: #181F2E;
}
/* Insurance tiers: preferred networks read loud, the rest read quiet. */
.lw-ins-tier__label {
	text-transform: uppercase; letter-spacing: .14em;
	font-size: .76rem; font-weight: 700; color: #2B3A2E;
	margin: 1.4rem auto .2rem; max-width: 720px;
}
.lw-ins-pill--preferred {
	background: #2B3A2E; color: #F5EFE4; border-color: #2B3A2E;
	font-weight: 700; font-size: 1.02rem; padding: .7rem 1.25rem;
	box-shadow: 0 6px 18px rgba(43,58,46,.22);
}
.lw-insurance-list--muted { gap: .45rem; margin-top: .4rem; }
.lw-insurance-list--muted .lw-ins-pill {
	background: transparent; border-color: #C9C0AC; color: #6B6356;
	font-size: .82rem; font-weight: 500; padding: .35rem .8rem;
}

/* Slim footer: the rich contact/locations block (.lw-contact) now carries the
   address/social/nav, so the footer is just a copyright + legal bar. */
.site-footer--slim { background: #EFE7D2; color: #6F6857; padding: 0; }
.site-footer--slim .site-footer__inner { max-width: 1200px; margin: 0 auto; padding: 18px 24px; }
.site-footer--slim .site-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: .85rem; padding-top: 0; border-top: 0; opacity: 1; }
.site-footer--slim a { color: #5A5446; margin-left: 16px; text-decoration: none; border-bottom: 1px solid transparent; transition: color .15s ease, border-color .15s ease; }
.site-footer--slim a:hover { color: #2B3A2E; border-bottom-color: #D9A648; }
@media (max-width: 600px){ .site-footer--slim .site-footer__bottom { flex-direction: column; text-align: center; } .site-footer--slim a{margin:0 8px;} }

/* ============================================================
   Card-grid uniform-height fix
   ------------------------------------------------------------
   wp-block-columns ships with align-items:normal which keeps each
   column's content at its intrinsic height: a column with 3 lines of
   prose stops short of one with 6, and the row gets visual noise from
   misaligned card bottoms (insurance pricing tiers are the canonical
   example of this on the site). Force the columns to stretch and
   every direct group child to fill its column.
   ============================================================ */
.wp-block-columns:not(.is-not-stacked-on-mobile) {
	align-items: stretch !important;
}
.wp-block-columns > .wp-block-column {
	display: flex;
}
.wp-block-columns > .wp-block-column > .wp-block-group,
.wp-block-columns > .wp-block-column > .wp-block-cover {
	width: 100%;
	display: flex;
	flex-direction: column;
}
/* Bordered card groups inside columns: fill the column height so the
   bottom border lines up across the row. */
.wp-block-columns > .wp-block-column > .wp-block-group.has-border-color,
.wp-block-columns > .wp-block-column > .wp-block-group.has-background {
	flex: 1;
}

/* Site background: cool concrete gives section rhythm without the old mint cast.
   Sections with no background inherit the body field; covers keep their media. */
:root { --lw-body-bg: #D5DBD7; }
body, .site, main#main, main {
	background-color: #D5DBD7 !important;
}
/* ---- Section color system (class-based, global variables) ----------------
   To color a section: add lw-warm, lw-frost, or lw-white as the block's
   "Additional CSS Class" in the WP editor. The DB migration stripped all
   inline background-color styles and replaced them with these classes.
   To change warm sand everywhere: update --lw-section-warm. One line.
   -------------------------------------------------------------------------- */
:root {
	/* Warm paper and cool concrete, with white reserved for true card/utility
	   surfaces. This prevents the old beige/mint wash from taking over pages. */
	--lw-section-warm:  #F3EBDD;
	--lw-section-frost: #D5DBD7;
}
.wp-block-group.lw-warm  { background-color: var(--lw-section-warm)  !important; }
.wp-block-group.lw-frost { background-color: var(--lw-section-frost) !important; }
.wp-block-group.lw-white { background-color: #F8FAF7 !important; }

/* FAQ/Fine Print: always frost */
.wp-block-group.lw-faq-section { background-color: var(--lw-section-frost) !important; }

/* ---- Homepage dark-navy anchor sections (owner-approved contrast) --------
   The deep moss green is a single accent (How it works); cream is the
   recurring light tone; the dark navy bands give the page real light/dark
   rhythm instead of an A-B-A-B checkerboard. In addition to the existing
   dark sections (the "more than your symptoms" manifesto and the CTA), the
   INTEGRATIVE-MEDICINE photo grid (7th section) and the TESTIMONIALS (9th
   section) under .livewell-home are turned dark. Position-based hook: if the
   homepage section order changes, update these nth-child indices.
   -------------------------------------------------------------------------- */
.livewell-home > :nth-child(7),
.livewell-home > :nth-child(9) { background-color: #181F2E !important; }
.livewell-home > :nth-child(7) :is(h1,h2,h3,h4,h5,p,li,cite,em,strong,blockquote),
.livewell-home > :nth-child(9) :is(h1,h2,h3,h4,h5,p,li,cite,em,strong,blockquote) { color: #EDEFEA !important; }
.livewell-home > :nth-child(7) [class*="eyebrow"],
.livewell-home > :nth-child(9) [class*="eyebrow"] { color: #C9D2CC !important; }
/* image-tile cards in the integrative grid keep their own scrim+white text */
.livewell-home > :nth-child(7) [class*="bento"] :is(h1,h2,h3,h4,p,span),
.livewell-home > :nth-child(7) [class*="feature"] :is(h1,h2,h3,h4,p,span) { color: #ffffff !important; }

/* ---- Inner-page dark-navy anchors (polish to match homepage rhythm) -------
   Same idea as the homepage: break the long cream runs with a dark band.
   Headings are targeted via BOTH .wp-block-heading and .lw-sectionhead__title
   (inner pages use both components) so they beat the (0,3,0)
   `.wp-block-group.alignfull .wp-block-heading{color:#1A1715!important}` rule;
   the light .lw-sidecard inside the dark band keeps its dark text (it stays a
   light card). Position-based hooks per page-id; update if section order moves.
   who-we-are #10 "A word from Ragnar"; what-we-do #6 "The bread and butter";
   about #6 "Where this started"; core-values #10 "We say the thing...";
   compare #8 "Where the volume model breaks"; insurance #6 "Who we work with
   directly"; contact #3 "What happens next?" (also kills the stray frost tone).
   careers is card/accordion-heavy with no clean pure-text section, so it gets
   no forced dark anchor (its cards already provide the rhythm).
   -------------------------------------------------------------------------- */
body.page-id-11 main > :nth-child(10),
body.page-id-62 main > :nth-child(6),
body.page-id-64 main > :nth-child(6),
body.page-id-63 main > :nth-child(10),
body.page-id-1206 main > :nth-child(8),
body.page-id-168 main > :nth-child(6),
body.page-id-28 main > :nth-child(3) { background-color: #181F2E !important; }
body.page-id-11 main > :nth-child(10) :is(.wp-block-heading,.lw-sectionhead__title,p,li,cite,em,strong,blockquote,a),
body.page-id-62 main > :nth-child(6)  :is(.wp-block-heading,.lw-sectionhead__title,p,li,cite,em,strong,blockquote,a),
body.page-id-64 main > :nth-child(6)  :is(.wp-block-heading,.lw-sectionhead__title,p,li,cite,em,strong,blockquote,a),
body.page-id-63 main > :nth-child(10) :is(.wp-block-heading,.lw-sectionhead__title,p,li,cite,em,strong,blockquote,a),
body.page-id-1206 main > :nth-child(8) :is(.wp-block-heading,.lw-sectionhead__title,p,li,cite,em,strong,blockquote,a),
body.page-id-168 main > :nth-child(6)  :is(.wp-block-heading,.lw-sectionhead__title,p,li,cite,em,strong,blockquote,a),
body.page-id-28 main > :nth-child(3)   :is(.wp-block-heading,.lw-sectionhead__title,p,li,cite,em,strong,blockquote,a) { color: #EDEFEA !important; }
body.page-id-11 main > :nth-child(10) [class*="eyebrow"],
body.page-id-62 main > :nth-child(6)  [class*="eyebrow"],
body.page-id-64 main > :nth-child(6)  [class*="eyebrow"],
body.page-id-63 main > :nth-child(10) [class*="eyebrow"],
body.page-id-1206 main > :nth-child(8) [class*="eyebrow"],
body.page-id-168 main > :nth-child(6)  [class*="eyebrow"],
body.page-id-28 main > :nth-child(3)   [class*="eyebrow"] { color: #C9D2CC !important; }
/* keep the light info-card light, with its own dark text (no-op where absent) */
body.page-id-11 main > :nth-child(10) .lw-sidecard :is(.wp-block-heading,p,li,cite,em,strong,blockquote,span),
body.page-id-62 main > :nth-child(6)  .lw-sidecard :is(.wp-block-heading,p,li,cite,em,strong,blockquote,span),
body.page-id-64 main > :nth-child(6)  .lw-sidecard :is(.wp-block-heading,p,li,cite,em,strong,blockquote,span) { color: #181F2E !important; }
body.page-id-11 main > :nth-child(10) .lw-sidecard [class*="label"],
body.page-id-62 main > :nth-child(6)  .lw-sidecard [class*="label"],
body.page-id-64 main > :nth-child(6)  .lw-sidecard [class*="label"] { color: #4A463F !important; }
body.page-id-11 main > :nth-child(10) .lw-sidecard a,
body.page-id-62 main > :nth-child(6)  .lw-sidecard a,
body.page-id-64 main > :nth-child(6)  .lw-sidecard a { color: #2B3A2E !important; }

/* Condition / men's-health template: the "From first message to a plan" process
   band (.lw-steps) -> dark anchor on EVERY condition/MH page at once, via
   body.lw-has-sticky-cta (that marker is present only on those pages) + :has().
   The numbered step cards stay light sage-grey with their own dark text; only
   the section heading + eyebrow (which sit on the dark band) go light. */
body.lw-has-sticky-cta main > *:has(.lw-steps):not(:has(.lw-sources)) { background-color: #181F2E !important; }
body.lw-has-sticky-cta main > *:has(.lw-steps):not(:has(.lw-sources)) .lw-sectionhead__title { color: #EDEFEA !important; }
body.lw-has-sticky-cta main > *:has(.lw-steps):not(:has(.lw-sources)) .lw-sectionhead__eyebrow { color: #C9D2CC !important; }

/* Tools/screener page: align the legacy global override with the current
   concrete surface. The template owns section-level contrast. */
body.page-id-1445,
body.page-id-1445 main#main { background-color: #D5DBD7 !important; }

/* Dark-anchor card-text fixes (axe caught these: my blanket text-lighten in the
   dark anchors washed text that sits on the cards' OWN light/colored backgrounds).
   contact #3: the ochre + cream step cards have light bgs -> keep their text dark.
   insurance #6: the "also accepted" outlined pills sit on the dark band -> light. */
body.page-id-28 main > :nth-child(3) .lw-stepcard--ochre :is(p,h3,span,.lw-stepcard__copy),
body.page-id-28 main > :nth-child(3) .lw-stepcard--cream :is(p,h3,span,.lw-stepcard__copy) { color: #1A1715 !important; }
body.page-id-168 main > :nth-child(6) .lw-insurance-list--muted .lw-ins-pill { color: #D9E0DA !important; border-color: rgba(217,224,218,.45) !important; }

/* Cards inside colored sections stay white for contrast */
.wp-block-group.lw-warm  .lw-team-card,
.wp-block-group.lw-frost .lw-team-card,
.wp-block-group.lw-warm  .lw-faq-item,
.wp-block-group.lw-frost .lw-faq-item {
	background-color: #ffffff;
}

/* ============================================================
   Editorial prose constraint (no walls of text)
   ------------------------------------------------------------
   When a wp-block-group sets its content-size to 760-800px (the wide
   manifesto sections), keep the prose inside readable line-length AND
   give it more breathing margins. This catches the long paragraph runs
   on /who-we-are/, /what-we-do/, /about/, etc.
   ============================================================ */
.wp-block-group.is-layout-constrained > p {
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 768px) {
	.wp-block-group.is-layout-constrained[style*="contentSize:760"],
	.wp-block-group.is-layout-constrained[style*="contentSize: 760"] {
		max-width: 640px !important;
	}
}

/* ============================================================
   Common Medications panel (condition pages)
   ------------------------------------------------------------
   Renders right before the dig-deeper block. Moss background to
   match the rhythm of the page; cards in a 2-column grid that
   collapses to 1 on mobile. Each card is an outbound link to the
   medication's psychiatry.help canonical, deliberately structured
   so Google reads it as topical depth + obvious cross-reference.
   ============================================================ */
.lw-meds-panel {
	background: #2B3A2E;
	color: #FDF8E8;
	padding: 4rem 1.5rem;
}
.lw-meds-panel__inner {
	max-width: 1100px;
	margin: 0 auto;
}
.lw-meds-panel__eyebrow {
	font-size: .82rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #E9D8A6;
	margin: 0 0 1rem;
	text-align: center;
}
.lw-meds-panel__lead {
	font-size: 1.05rem;
	line-height: 1.6;
	max-width: 640px;
	margin: 0 auto 2.5rem;
	text-align: center;
	color: rgba(253,248,232,.86);
}
.lw-meds-panel__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1rem;
}
.lw-meds-panel__list--count-4 .lw-meds-panel__card { grid-column: span 3; }
.lw-meds-panel__list--count-5 .lw-meds-panel__card { grid-column: span 2; }
.lw-meds-panel__list--count-5 .lw-meds-panel__card:nth-last-child(-n+2) { grid-column: span 3; }
.lw-meds-panel__list--count-6 .lw-meds-panel__card { grid-column: span 2; }
@media (max-width: 720px) {
	.lw-meds-panel__list { grid-template-columns: 1fr; }
	.lw-meds-panel__list .lw-meds-panel__card,
	.lw-meds-panel__list--count-5 .lw-meds-panel__card:nth-last-child(-n+2) {
		grid-column: 1 / -1;
	}
}
.lw-meds-panel__card { margin: 0; }
.lw-meds-panel__link {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	background: rgba(253,248,232,.06);
	border: 1px solid rgba(253,248,232,.18);
	border-radius: 12px;
	padding: 1.25rem 1.4rem;
	color: #FDF8E8;
	text-decoration: none;
	height: 100%;
	transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.lw-meds-panel__link:hover {
	transform: translateY(-2px);
	background: rgba(253,248,232,.12);
	border-color: rgba(233,216,166,.55);
	color: #FDF8E8;
}
.lw-meds-panel__name {
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}
.lw-meds-panel__generic {
	font-size: .95rem;
	font-weight: 400;
	color: rgba(253,248,232,.7);
}
.lw-meds-panel__note {
	font-size: .95rem;
	line-height: 1.5;
	color: rgba(253,248,232,.86);
	margin-top: .2rem;
}
.lw-meds-panel__cta {
	font-size: .8rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #fff;
	margin-top: .4rem;
}
.lw-meds-panel__footer {
	margin: 2rem 0 0;
	text-align: center;
	font-size: .9rem;
	color: rgba(253,248,232,.7);
}
.lw-meds-panel a,
.lw-meds-panel__footer a {
	color: #E9D8A6 !important; /* light gold: beat the prose-link #2B3A2E rule, which was invisible on the green-ink panel */
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.lw-meds-panel__footer a:hover { color: #FDF8E8; }

/* ============================================================
   Reusable patient testimonial block (condition + service pages)
   ------------------------------------------------------------
   Renders below the meds panel and above dig-deeper. 3-up card row
   on desktop, collapses to single column on mobile. The cards have
   a paper-cream background to match the brand and a subtle ink
   border so they sit clearly on the page-bg cream.
   ============================================================ */
.lw-testimonials {
	padding: 5rem 1.5rem;
	background: #8FAE9B;
}
.lw-testimonials__inner {
	max-width: 1180px;
	margin: 0 auto;
}
.lw-testimonials__eyebrow {
	text-align: center;
	margin: 0 0 .75rem;
	font-size: .82rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #536B7A;
}
.lw-testimonials__heading {
	text-align: center;
	font-size: clamp(1.8rem, 3.5vw, 2.6rem);
	font-weight: 500;
	margin: 0 0 3rem;
	color: #181F2E;
	letter-spacing: -0.01em;
}
.lw-testimonials__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
@media (max-width: 900px) {
	.lw-testimonials__list { grid-template-columns: 1fr; gap: 1rem; }
}
.lw-testimonials__card {
	background: #fff;
	border: 1px solid rgba(24,31,46,.12);
	border-radius: 14px;
	padding: 1.75rem 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: 0 2px 8px rgba(24,31,46,.06);
}
.lw-testimonials__quote {
	margin: 0 0 1.4rem;
	padding: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: #181F2E;
	border-left: none;
	quotes: "\201C" "\201D";
}
.lw-testimonials__quote::before { content: open-quote; margin-right: .15rem; color: #536B7A; }
.lw-testimonials__quote::after  { content: close-quote; margin-left: .15rem;  color: #536B7A; }
.lw-testimonials__attribution {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-top: auto;
}
.lw-testimonials__avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #2B3A2E;
	color: #FDF8E8;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1rem;
}
.lw-testimonials__name {
	font-size: .92rem;
	font-weight: 600;
	color: #3D5260;
	letter-spacing: .01em;
}

/* ============================================================
   Floating contact button (desktop + mobile, all pages but /contact/)
   ------------------------------------------------------------
   Pinned bottom-LEFT so it doesn't collide with the Smash Balloon
   wpchat livechat bubble that sits bottom-right. Two CTAs are good
   (chat for quick Qs, pill for full intake) as long as they're not
   visually smooshed together. On mobile the pill shrinks to an
   icon-only circle. Body gets bottom padding when the mobile sticky
   CTA bar is active so this floating button doesn't overlap it.
   ============================================================ */
/* The floating pill carries .lw-cta so the modal handler picks it up,
   but .lw-cta has background:#181F2E !important (ink) which would turn
   the pill stone-grey. Override with explicit moss + !important so the
   floating button stays brand-correct. */
.lw-floating-cta,
.lw-floating-cta.lw-cta {
	position: fixed;
	left: 20px;
	bottom: 22px;
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .8rem 1.15rem;
	background: #2B3A2E !important;
	color: #FDF8E8 !important;
	font-weight: 700;
	font-size: .92rem;
	letter-spacing: .01em;
	text-decoration: none;
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(24,31,46,.22);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
	z-index: 9000;
}
.lw-floating-cta:hover,
.lw-floating-cta.lw-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 40px rgba(24,31,46,.32) !important;
	background: #1F2C22 !important;
	color: #FDF8E8 !important;
}
.lw-floating-cta svg { display: block; }
@media (max-width: 720px) {
	.lw-floating-cta {
		bottom: 88px;
		left: 14px;
		padding: .85rem;
		border-radius: 50%;
	}
	.lw-floating-cta__label { display: none; }
}

/* "Text us" floating button. Replaces the old third-party live-chat bubble
   (deactivated for HIPAA + brand reasons); taps open the phone's SMS
   composer to the clinic's registered 10DLC line. Bottom-right so it doesn't
   collide with the bottom-left contact-form CTA. */
.lw-floating-text {
	position: fixed;
	right: 20px;
	bottom: 22px;
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .8rem 1.15rem;
	background: #D9A648;
	color: #1A1715;
	font-weight: 700;
	font-size: .92rem;
	text-decoration: none;
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(24,31,46,.22);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
	z-index: 9000;
}
.lw-floating-text:hover {
	transform: translateY(-2px);
	background: #cf9a35;
	color: #1A1715;
	box-shadow: 0 14px 40px rgba(24,31,46,.32);
}
.lw-floating-text svg { display: block; }
@media (max-width: 720px) {
	.lw-floating-text {
		bottom: 88px;
		right: 14px;
		padding: .85rem;
		border-radius: 50%;
	}
	.lw-floating-text__label { display: none; }
}

/* ============================================================
   Mobile sticky CTA bar (condition + service pages)
   ------------------------------------------------------------
   Pinned to the bottom of mobile viewports so the conversion CTA is
   always within thumb reach. Hidden on desktop (the floating button
   covers it there). The body needs ~76px bottom padding when the bar
   is present so the floating button + page footer don't overlap.
   ============================================================ */
.lw-sticky-cta {
	display: none;
}
@media (max-width: 720px) {
	.lw-sticky-cta {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		padding: .65rem .85rem env(safe-area-inset-bottom, .65rem);
		background: rgba(253,248,232,.97);
		backdrop-filter: blur(8px);
		border-top: 1px solid rgba(24,31,46,.12);
		z-index: 8500;
		box-shadow: 0 -8px 22px rgba(24,31,46,.08);
	}
	.lw-sticky-cta__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: .75rem;
		max-width: 560px;
		margin: 0 auto;
	}
	.lw-sticky-cta__copy {
		font-size: .9rem;
		font-weight: 600;
		color: #181F2E;
	}
	.lw-sticky-cta__btn {
		background: #181F2E;
		color: #FDF8E8;
		padding: .65rem 1.1rem;
		border-radius: 999px;
		font-size: .9rem;
		font-weight: 700;
		text-decoration: none;
		white-space: nowrap;
		flex-shrink: 0;
	}
	.lw-sticky-cta__btn:hover { color: #FDF8E8; background: #2B3A2E; }
	/* Reserve room at page-bottom so content isn't covered by the bar */
	body.lw-has-sticky-cta { padding-bottom: 72px; }
}

/* ============================================================
   Clinician-reviewed byline strip (condition + wellness pages)
   ------------------------------------------------------------
   Slim card right under the hero, gives credentialed reviewing
   signal to both human readers and Google's medical content team.
   ============================================================ */
.lw-byline {
	background: #F2EDE3; /* cream strip, not the deep green: keeps the grey label/cred text >=4.5:1 */
	border-bottom: 1px solid rgba(24,31,46,.08);
	padding: 1.1rem 1.5rem;
}
.lw-byline__inner {
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 1rem;
}
.lw-byline__avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(24,31,46,.12);
	background: #ECE6D6;
	flex-shrink: 0;
}
.lw-byline__meta { flex: 1; min-width: 0; }
.lw-byline__line {
	margin: 0;
	font-size: .95rem;
	line-height: 1.45;
	color: #181F2E;
}
.lw-byline__line--small {
	font-size: .82rem;
	color: #41515C;
	margin-top: .15rem;
}
.lw-byline__label {
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
	color: #41515C;
	margin-right: .35rem;
}
.lw-byline__name { font-weight: 700; }
.lw-byline__cred { color: #3D5260; font-weight: 500; }
/* a11y 2026-06-19: feature/sidecard inline links rendered as raw default-blue
   (#2872fa) on light cards = fails contrast AND distinguishable-by-color-only.
   Give them the dark link treatment + underline. */
.lw-feature a, .lw-sidecard a, .lw-feature__t a, .lw-feature__p a,
.lw-related a, a.lw-related__card {
	color: #2B3A2E;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.lw-feature a:hover, .lw-sidecard a:hover, .lw-related a:hover { color: #181F2E; }
/* the related-card has its own layout; keep the underline only on the title text */
a.lw-related__card { text-decoration: none; }
a.lw-related__card .lw-related__title { text-decoration: underline; text-underline-offset: 2px; }
/* a11y 2026-06-19: unclassed prose links inside content groups were distinguished
   by color only (link-in-text-block). Underline them; classed links (CTAs,
   glossary, buttons) keep their own treatment. */
.wp-block-group p a:not([class]),
.wp-block-group li a:not([class]) { color: #2B3A2E; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 600px) {
	.lw-byline__inner { gap: .75rem; }
	.lw-byline__avatar { width: 40px; height: 40px; }
	.lw-byline__line { font-size: .9rem; }
	.lw-byline__line--small { font-size: .78rem; }
}

/* ============================================================
   Condition-page FAQ accordion (after meds-panel)
   ------------------------------------------------------------
   Auto-detected by faq-schema.php as FAQPage rich-result content.
   ============================================================ */
.lw-condition-faq {
	background: #E8F0EF;
	padding: 4rem 1.5rem;
}
.lw-condition-faq__inner {
	max-width: 760px;
	margin: 0 auto;
}
.lw-condition-faq__eyebrow {
	text-align: center;
	margin: 0 0 .65rem;
	font-size: .82rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
	color: #536B7A;
}
.lw-condition-faq__heading {
	text-align: center;
	font-size: clamp(1.8rem, 3.5vw, 2.6rem);
	font-weight: 500;
	color: #181F2E;
	letter-spacing: -0.01em;
	margin: 0 0 2.5rem;
}
.lw-condition-faq__list { display: flex; flex-direction: column; gap: .55rem; }
.lw-condition-faq__item {
	background: #fff;
	border: 1px solid rgba(24,31,46,.12);
	border-radius: 12px;
	padding: 0;
	overflow: hidden;
	transition: box-shadow .2s ease;
}
.lw-condition-faq__item[open] { box-shadow: 0 4px 16px rgba(24,31,46,.08); }
.lw-condition-faq__item > summary {
	cursor: pointer;
	list-style: none;
	padding: 1.15rem 1.35rem;
	font-weight: 700;
	color: #181F2E;
	font-size: 1.02rem;
	line-height: 1.4;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
}
.lw-condition-faq__item > summary::-webkit-details-marker { display: none; }
.lw-condition-faq__item > summary::after {
	content: "+";
	font-size: 1.4rem;
	font-weight: 400;
	color: #2B3A2E;
	line-height: 1;
	flex-shrink: 0;
	transition: transform .2s ease;
}
.lw-condition-faq__item[open] > summary::after {
	content: "\2212"; /* minus */
	transform: rotate(0deg);
}
.lw-condition-faq__item > p {
	margin: 0;
	padding: 0 1.35rem 1.35rem;
	font-size: .98rem;
	line-height: 1.6;
	color: #3D5260;
}

/* ============================================================
   Accessibility: skip-to-content link
   ------------------------------------------------------------
   Hidden by default; appears on keyboard focus so keyboard + screen
   reader users can jump past the header straight to <main>.
   ============================================================ */
.lw-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: #181F2E;
	color: #FDF8E8;
	padding: .8rem 1.25rem;
	font-weight: 700;
	z-index: 99999;
	text-decoration: none;
	border-bottom-right-radius: 8px;
}
.lw-skip-link:focus,
.lw-skip-link:focus-visible {
	left: 0;
	outline: 3px solid #E9D8A6;
	outline-offset: 2px;
	color: #FDF8E8;
}

/* ============================================================
   Glossary popover (inline medication / treatment link intermediary)
   ------------------------------------------------------------
   Click on an .lw-glossary link opens a small floating card with the
   medication name, a one-line clinical note, and an explicit
   "Read the breakdown ->" button. Position is set by JS at click time.
   ============================================================ */
.lw-glossary-popover {
	position: absolute;
	width: 320px;
	max-width: calc(100vw - 24px);
	background: #fff;
	color: #181F2E;
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(24,31,46,.22), 0 2px 6px rgba(24,31,46,.08);
	padding: 1.1rem 1.25rem 1.15rem;
	z-index: 9700;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(6px) scale(.97);
	transform-origin: top center;
	transition: opacity .18s ease, transform .22s cubic-bezier(.2,.9,.3,1.1), visibility 0s linear .22s;
	border: 1px solid rgba(24,31,46,.08);
}
.lw-glossary-popover.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition: opacity .18s ease, transform .22s cubic-bezier(.2,.9,.3,1.1), visibility 0s;
}
.lw-glossary-popover--above {
	transform-origin: bottom center;
}
.lw-glossary-popover__close {
	position: absolute;
	top: .35rem;
	right: .5rem;
	background: transparent;
	border: 0;
	font-size: 1.35rem;
	line-height: 1;
	color: #536B7A;
	cursor: pointer;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}
.lw-glossary-popover__close:hover { background: #F4EDD5; color: #181F2E; }
.lw-glossary-popover__eyebrow {
	margin: 0 0 .25rem;
	font-size: .7rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 700;
	color: #2B3A2E;
}
.lw-glossary-popover__name {
	margin: 0 0 .45rem;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #181F2E;
}
.lw-glossary-popover__note {
	margin: 0 0 .9rem;
	font-size: .92rem;
	line-height: 1.5;
	color: #3D5260;
}
.lw-glossary-popover__cta {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .55rem .95rem;
	background: #181F2E;
	color: #FDF8E8;
	text-decoration: none;
	border-radius: 999px;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .01em;
	transition: background .18s ease, transform .15s ease;
}
.lw-glossary-popover__cta:hover {
	background: #2B3A2E;
	color: #FDF8E8;
	transform: translateY(-1px);
}

/* ============================================================
   Hero text legibility on dark covers
   ------------------------------------------------------------
   Hero images vary in brightness (some have bright sky / sand /
   foreground areas that wash out white text even with dimRatio in
   place). A subtle text-shadow on every wp-block-cover heading +
   paragraph keeps the heading and sub-deck readable without darkening
   the image itself, which the owner wants kept as-is.
   ============================================================ */
/* Subtle text-shadow ONLY on the smaller hero sub-deck paragraph, NOT on the
   big H1 / H2. Large headings stay clean (the home "LiveWell, with us."
   would blur with any shadow). Small sub-deck text needs a touch of help
   to stay legible against bright image patches like the ADHD desk hero. */
.wp-block-cover.is-dark .wp-block-cover__inner-container p {
	text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}

/* ============================================================
   /consent/ (page 193) legibility rescue. Scope a cream
   background + dark text to just that page and drop the dark
   section-background images so the legal copy is legible.
   ============================================================ */
body.page-id-193 .section-background,
body.page-id-193 .section-background img { display: none !important; }
body.page-id-193 .page-section,
body.page-id-193 .page-section .section-border,
body.page-id-193 .content-wrapper {
	background-color: #fff !important;
}
body.page-id-193 .page-section :is(p, li, h1, h2, h3, h4, h5, span, strong, em, blockquote) {
	color: #181F2E !important;
	text-shadow: none !important;
}
body.page-id-193 .page-section a { color: #2B3A2E !important; text-decoration: underline; }
/* Force every descendant in the consent page sections to dark. */
body.page-id-193 .page-section * { color: #181F2E !important; text-shadow: none !important; }
body.page-id-193 .page-section a { color: #2B3A2E !important; }
/* Imported reveal animation can leave consent text faded. Force it visible. */
body.page-id-193 .page-section,
body.page-id-193 .page-section * {
	opacity: 1 !important;
	visibility: visible !important;
	animation: none !important;
	transform: none !important;
	filter: none !important;
}

/* Safety so the inner row can never force overflow: let it shrink. */
.site-header__inner { min-width: 0; flex-wrap: nowrap; }
.site-nav { min-width: 0; }
.site-nav .nav-menu { flex-wrap: nowrap; }

/* ============================================================
   Condition page readability fixes (anxiety-treatment + siblings)
   ------------------------------------------------------------ */

/* Feature/benefit strip cards (trust-strip beneath bento): bump sub-label
   from .95rem to 1rem so it's comfortably legible at standard viewport. */
.lw-feature__p { font-size: 1rem !important; }

/* Step cards body copy: lift from 1rem to 1.1rem so it matches the
   surrounding section prose and doesn't read as a caption. */
.lw-step__p { font-size: 1.1rem !important; line-height: 1.65 !important; }

/* "Ready to talk" mid-page CTA cover: the global video-cover rule zeros
   the dim overlay, leaving body copy at low contrast. lw-cover-cta-readable
   punches back through, but also ensure the sub-deck text is at least 16px. */
.wp-block-cover.lw-cover-cta-readable .wp-block-cover__inner-container > p {
	font-size: 1.05rem !important;
	min-font-size: 16px;
}

/* "How We Do This" section: when it sits between two warm-sand blocks,
   give it the frost tint so each section reads as a distinct band. The
   section carries the .lw-frost utility class added in the post content. */
.wp-block-group.lw-frost { background-color: var(--lw-section-frost) !important; }

/* Testimonials section: make the section background match the current palette
   (the body bg is C8D1DA; testimonials uses the same color as body which makes
   it nearly invisible as a section). Give it a slightly warmer cream card feel. */
.lw-testimonials { background: #D7E4DF; }

/* Mobile drawer hierarchy: conversion actions first, then the long menu. */
@media (max-width: 767px) {
	.mobile-nav {
		max-height: calc(100vh - var(--nav-h, 88px));
		overflow-y: auto;
		padding: 0 1rem 1.25rem;
	}

	.mobile-nav .header-actions--mobile {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .6rem;
		position: sticky;
		top: 0;
		z-index: 3;
		padding: 1rem 0 .9rem;
		background: #F8FAF7;
		border-bottom: 1px solid rgba(24,31,46,.1);
	}

	.mobile-nav .header-actions--mobile .btn {
		display: flex !important;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		width: 100%;
		box-sizing: border-box;
		padding: .72rem .7rem;
		text-align: center;
		line-height: 1.05;
	}

	.mobile-nav .header-actions--mobile .header-cta {
		background: #2B3A2E !important;
		color: #FDF8E8 !important;
	}

	.mobile-nav .mobile-nav__menu {
		margin-top: .25rem;
	}
}

/* Mental health + medications page palette repair.
   The medication catalog needs a clinic reference-desk feel, not a black page
   and not the earlier green/pastel split. */
body.page-id-41 {
	--lw-bg: #E4DAC8;
	--lw-band: #211E1A;
	--lw-section: #E8DECC;
	--lw-surface: #F3EAD8;
	--lw-surface-alt: #D4C4A7;
	--lw-field: #F6EFDF;
	--lw-rule: #8A7650;
}

body.page-id-170 {
	--lw-med-bg: #EEF0EC;
	--lw-med-bg-soft: #F7F8F6;
	--lw-med-card: #FFFFFF;
	--lw-med-card-alt: #F3F5F2;
	--lw-med-ink: #1C211F;
	--lw-med-muted: #4F5853;
	--lw-med-rule: #BFC7C2;
	--lw-med-accent: #743625;
	--lw-med-brass: #A76F38;
	--lw-med-charcoal: #202326;
	--lw-med-steel: #27313A;
	--lw-med-oxide: #743625;
	--lw-med-concrete: #D2D8D5;
	--lw-med-tobacco: #2D2622;
}

body.page-id-41 main,
body.page-id-41 main#main {
	background: #E4DAC8 !important;
	background-color: #E4DAC8 !important;
}

body.page-id-41 main#main > .wp-block-group.alignfull:nth-of-type(n+6) {
	content-visibility: auto;
	contain-intrinsic-size: auto 1100px;
}

body.page-id-41 main > .wp-block-group.alignfull:has(.lw-bento),
body.page-id-41 main > .wp-block-group.alignfull:has(.lw-steps) {
	background: #211E1A !important;
	color: #F3EAD8 !important;
}

body.page-id-41 main > .wp-block-group.alignfull.lw-white,
body.page-id-41 main > .wp-block-group.alignfull.lw-warm:not(:has(.lw-bento)):not(:has(.lw-steps)),
body.page-id-41 main > .wp-block-group.alignfull:has(.lw-features),
body.page-id-41 main > .wp-block-group.alignfull:has(.lw-faq) {
	background: #E8DECC !important;
	color: #181F2E !important;
}

body.page-id-41 .lw-bento__tile.ochre {
	background: #8F4A2E !important;
	border-color: #8F4A2E !important;
	color: #F4EEDC !important;
}

body.page-id-41 .lw-bento__tile.ochre .lw-bento__p,
body.page-id-41 .lw-bento__tile.ochre .lw-bento__eyebrow {
	color: #F4EEDC !important;
	opacity: .92 !important;
}

body.page-id-41 .lw-bento__tile.ochre .lw-bento__pill {
	background: #F0E5CF !important;
	color: #181F2E !important;
}

body.page-id-41 .lw-feature,
body.page-id-41 .lw-sidecard,
body.page-id-41 .lw-step,
body.page-id-41 .lw-testimonial,
body.page-id-41 .lw-dig-deeper,
body.page-id-41 .wp-block-pullquote {
	background: #EDE2CD !important;
	border-color: #8A7650 !important;
	box-shadow: 0 18px 38px rgba(24,31,46,.16) !important;
}

body.page-id-41 .lw-step__n,
body.page-id-41 .lw-sectionhead__eyebrow,
body.page-id-41 .lw-sidecard__label {
	color: #8F4A2E !important;
}

body.page-id-41 main > .wp-block-group.alignfull:has(.lw-bento) .lw-sectionhead__title,
body.page-id-41 main > .wp-block-group.alignfull:has(.lw-steps) .lw-sectionhead__title,
body.page-id-41 main > .wp-block-group.alignfull:has(.lw-steps) .lw-sectionhead__eyebrow {
	color: #F0E5CF !important;
}

body.page-id-170 main,
body.page-id-170 main#main {
	background-color: var(--lw-med-bg) !important;
	background-image:
		radial-gradient(circle at 18% 8%, rgba(255,255,255,.55), rgba(255,255,255,0) 24rem),
		linear-gradient(180deg, #F8FAF7 0, var(--lw-med-bg) 22rem, #D8E0DC 100%) !important;
	color: var(--lw-med-ink) !important;
}

body.page-id-170 main > .wp-block-cover.alignfull:first-child {
	border-bottom: 1px solid rgba(80,55,30,.28);
}

body.page-id-170 main > .wp-block-cover.alignfull:first-child .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(20,17,14,.84) 0%, rgba(48,34,22,.58) 48%, rgba(133,82,25,.16) 100%) !important;
	opacity: 1 !important;
}

body.page-id-170 main > .wp-block-cover.alignfull:first-child .wp-block-cover__image-background {
	filter: saturate(.8) contrast(1.04) sepia(.08);
	object-position: center 42% !important;
}

body.page-id-170 main > .wp-block-cover.alignfull:first-child .lw-section-wrap {
	max-width: 920px !important;
}

body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) {
	background: linear-gradient(180deg, #F9FAF7 0%, #E6ECE8 100%) !important;
	border-bottom: 1px solid rgba(39,49,58,.18);
	color: var(--lw-med-ink) !important;
}

body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) .lw-section-wrap {
	max-width: 1000px !important;
}

body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) .lw-section-wrap > p:first-child {
	color: #55605A !important;
	font-size: .68rem !important;
	letter-spacing: .16em !important;
}

body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) a:has(img) {
	background: #FFFFFF !important;
	border: 1px solid rgba(39,49,58,.24) !important;
	border-radius: 7px !important;
	box-shadow: 0 10px 24px rgba(39,49,58,.12) !important;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) a:has(img):hover,
body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) a:has(img):focus-visible {
	border-color: rgba(116,54,37,.62) !important;
	box-shadow: 0 16px 34px rgba(39,49,58,.18) !important;
	transform: translateY(-2px);
}

body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) a:has(img) img {
	filter: saturate(.88) contrast(1.03);
}

body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) a:has(img) p {
	background: #FFFFFF !important;
	color: var(--lw-med-ink) !important;
	font-size: .74rem !important;
	font-weight: 800 !important;
	letter-spacing: -.01em !important;
	padding: .48rem .45rem !important;
}

@media (min-width: 900px) {
	body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) .lw-section-wrap > div {
		grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
	}
}

body.page-id-170 main > .wp-block-group.alignfull[id] {
	background: var(--lw-med-bg) !important;
	color: var(--lw-med-ink) !important;
	border-top: 1px solid rgba(39,49,58,.12);
	padding-top: clamp(2.8rem, 5vw, 4rem) !important;
	padding-bottom: clamp(1.4rem, 3vw, 2.4rem) !important;
}

body.page-id-170 main #adhd {
	background:
		linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0) 14rem),
		#F8FAF7 !important;
}

body.page-id-170 main #depression,
body.page-id-170 main #sexual-health {
	background:
		linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0) 16rem),
		#E6ECE8 !important;
}

body.page-id-170 main #anxiety,
body.page-id-170 main #antibiotics {
	background:
		linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0) 14rem),
		#D2D8D5 !important;
}

body.page-id-170 main #mood {
	background:
		linear-gradient(180deg, rgba(39,49,58,.05), rgba(39,49,58,0) 15rem),
		#EEF0EC !important;
}

body.page-id-170 main #sleep {
	background:
		linear-gradient(180deg, rgba(39,49,58,.06), rgba(39,49,58,0) 15rem),
		#E1E6E3 !important;
}

body.page-id-170 main #weight {
	background:
		linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0) 14rem),
		#EAF0EC !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap {
	max-width: 900px !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] {
	gap: .9rem 1.05rem !important;
	margin-bottom: 2.2rem !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div:first-child {
	border-left-color: var(--lw-med-brass) !important;
	border-left-width: 3px !important;
	margin-bottom: 1.35rem !important;
	padding-left: 1rem !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div:first-child p {
	color: var(--lw-med-accent) !important;
	font-size: .72rem !important;
	font-weight: 900 !important;
	letter-spacing: .14em !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] h2,
body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > p {
	color: var(--lw-med-ink) !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > p {
	opacity: .86 !important;
	color: var(--lw-med-muted) !important;
	max-width: 60rem;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] {
	background: var(--lw-med-card) !important;
	border: 1px solid var(--lw-med-rule) !important;
	border-radius: 5px !important;
	box-shadow: 0 10px 22px rgba(39,49,58,.1) !important;
	min-height: 132px;
	padding: 1.15rem 1.25rem !important;
	transition: background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"]:hover,
body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"]:focus-visible {
	background: #F8FAF7 !important;
	border-color: rgba(116,54,37,.7) !important;
	box-shadow: 0 17px 32px rgba(39,49,58,.16) !important;
	transform: translateY(-2px);
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] p,
body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] span {
	color: var(--lw-med-ink) !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] p:first-child {
	font-size: 1rem !important;
	font-weight: 850 !important;
	letter-spacing: -.01em !important;
	line-height: 1.24 !important;
	margin-bottom: .32rem !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] p:not(:first-child):not(:last-child) {
	color: #444D48 !important;
	font-size: .86rem !important;
	line-height: 1.54 !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] p:last-child {
	color: var(--lw-med-accent) !important;
	font-size: .79rem !important;
	font-weight: 800 !important;
	letter-spacing: .01em !important;
}

body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] span {
	color: #66706B !important;
}

body.page-id-170 main > .wp-block-group.alignfull:not([id]):has(a[href*="/appointments/"]) {
	background: linear-gradient(180deg, #27313A 0%, #1B2025 100%) !important;
	border-top: 1px solid rgba(167,111,56,.26);
	border-bottom: 1px solid rgba(167,111,56,.22);
	color: #F7F8F6 !important;
}

body.page-id-170 main > .wp-block-group.alignfull:not([id]):has(a[href*="/appointments/"]) h2,
body.page-id-170 main > .wp-block-group.alignfull:not([id]):has(a[href*="/appointments/"]) p {
	color: #F7F8F6 !important;
}

body.page-id-170 .wp-block-button__link,
body.page-id-170 main a[href*="/appointments/"] {
	background: #743625 !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	border-radius: 6px !important;
	box-shadow: 0 12px 24px rgba(39,49,58,.22) !important;
	color: #FFFFFF !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body.page-id-170 .wp-block-button__link:hover,
body.page-id-170 main a[href*="/appointments/"]:hover {
	background: #5E2D20 !important;
	color: #FFFFFF !important;
}

body.page-id-170 .lw-testimonials {
	background: #F8FAF7 !important;
	border-top: 1px solid rgba(39,49,58,.16);
	color: var(--lw-med-ink) !important;
}

body.page-id-170 .lw-testimonials__eyebrow {
	color: var(--lw-med-accent) !important;
}

body.page-id-170 .lw-testimonials__heading,
body.page-id-170 .lw-testimonials__quote,
body.page-id-170 .lw-testimonials__name {
	color: var(--lw-med-ink) !important;
}

body.page-id-170 .lw-testimonials__card {
	background: #FFFFFF !important;
	border-color: rgba(39,49,58,.2) !important;
	box-shadow: 0 14px 30px rgba(39,49,58,.1) !important;
}

body.page-id-170 .lw-testimonials__avatar {
	background: var(--lw-med-charcoal) !important;
	color: #F7F8F6 !important;
}

body.page-id-170 .lw-dig-deeper {
	background: linear-gradient(135deg, #743625 0%, #27313A 100%) !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	box-shadow: 0 18px 40px rgba(39,49,58,.24) !important;
	color: #FFFFFF !important;
}

body.page-id-170 .lw-dig-deeper__eyebrow,
body.page-id-170 .lw-dig-deeper__lead,
body.page-id-170 .lw-dig-deeper__source,
body.page-id-170 .lw-dig-deeper a {
	color: #FFFFFF !important;
}

body.page-id-170 .lw-dig-deeper a:hover {
	color: #FFFFFF !important;
	border-bottom-color: #D8A860 !important;
}

body.page-id-170 .lw-byline {
	background: #F8FAF7 !important;
	border-color: rgba(39,49,58,.2) !important;
	color: var(--lw-med-muted) !important;
}

/* Medication page template. This is the durable version of /medications/:
   data-driven PHP markup, class-based layout, alternating neutral bands. */
body.page-id-170 main.lw-med-page {
	background: #EEF0EC !important;
	color: var(--lw-med-ink) !important;
	overflow: clip;
	padding-top: var(--nav-h, 88px);
}

body.page-id-170 main.lw-med-page > .lw-med-page__hero:first-child {
	margin-top: 0 !important;
}

.lw-med-page__inner {
	width: min(100% - 48px, 980px);
	margin-inline: auto;
}

.lw-med-page__hero {
	--lw-med-hero-poster: url("/wp-content/uploads/video/meds-hero-ph-c-right-960.webp");
	position: relative;
	display: grid;
	align-items: center;
	min-height: clamp(560px, 48vw, 700px);
	overflow: hidden;
	background: #1D1A17;
}

.lw-med-page__hero-video,
.lw-med-page__hero-shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.lw-med-page__hero-video {
	object-fit: contain;
	object-position: center center;
	filter: saturate(.82) contrast(1.05) sepia(.07);
	transform: none;
	transform-origin: center center;
}

.lw-med-page__hero-shade {
	background:
		linear-gradient(90deg, rgba(18,16,14,.92) 0%, rgba(25,24,22,.76) 43%, rgba(39,49,58,.1) 74%, rgba(39,49,58,0) 100%),
		linear-gradient(180deg, rgba(18,16,14,0) 45%, rgba(18,16,14,.86) 100%);
	z-index: 1;
}

.lw-med-page__hero-inner {
	position: relative;
	z-index: 2;
	width: min(100% - 48px, var(--lw-hero-inner-max, 1120px));
	margin-inline: auto;
	padding-block: clamp(6rem, 10vw, 9rem);
	color: #FDF4E4;
}

.lw-med-page__eyebrow,
.lw-med-page__jump-label,
.lw-med-page__section-head p {
	margin: 0;
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .15em;
	line-height: 1.2;
	text-transform: uppercase;
}

.lw-med-page__eyebrow {
	color: #D8A860;
	margin-bottom: .9rem;
}

.lw-med-page__hero h1 {
	max-width: var(--lw-hero-title-max, min(12ch, 32vw));
	margin: 0 0 1.05rem;
	color: #FFF8EA;
	font-size: clamp(2.4rem, 5.2vw, 4.4rem);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: .98;
}

.lw-med-page__hero p:not(.lw-med-page__eyebrow) {
	max-width: 42rem;
	margin: 0;
	color: rgba(255,248,234,.84);
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	line-height: 1.62;
}

.lw-med-page__jump {
	padding-block: 2.6rem 2.85rem;
	background: linear-gradient(180deg, #EEF0EC 0%, #DDE1DD 100%);
	border-bottom: 1px solid rgba(39,49,58,.18);
}

.lw-med-page__jump-label {
	color: #55605A;
	margin-bottom: 1rem;
}

.lw-med-page__jump-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .78rem;
}

@media (min-width: 1120px) {
	.lw-med-page__jump-grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}
}

.lw-med-page__jump-card {
	display: block;
	overflow: hidden;
	border: 1px solid rgba(39,49,58,.26);
	border-radius: 7px;
	background: #FFFFFF;
	box-shadow: 0 10px 24px rgba(39,49,58,.12);
	color: var(--lw-med-ink);
	text-align: center;
	text-decoration: none;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.lw-med-page__jump-card:hover,
.lw-med-page__jump-card:focus-visible {
	border-color: rgba(124,61,42,.64);
	box-shadow: 0 16px 34px rgba(39,49,58,.18);
	color: var(--lw-med-ink);
	transform: translateY(-2px);
}

.lw-med-page__jump-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	filter: saturate(.88) contrast(1.03);
}

.lw-med-page__jump-card span {
	display: block;
	padding: .52rem .35rem;
	font-size: .76rem;
	font-weight: 850;
	letter-spacing: -.01em;
}

.lw-med-page__section {
	scroll-margin-top: 88px;
	padding-block: clamp(3.1rem, 5vw, 4.4rem);
	border-top: 1px solid rgba(39,49,58,.12);
	color: var(--lw-med-ink);
}

.lw-med-page__section,
.lw-med-page__prescribe {
	content-visibility: auto;
	contain-intrinsic-size: auto 1000px;
}

.lw-med-page__section--adhd {
	background:
		linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0) 14rem),
		#F8FAF7 !important;
}

.lw-med-page__section--weight {
	background:
		linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 14rem),
		#E6ECE8 !important;
}

.lw-med-page__section--depression {
	background:
		linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 16rem),
		#27313A !important;
}

.lw-med-page__section--anxiety {
	background:
		linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0) 14rem),
		#D2D8D5 !important;
}

.lw-med-page__section--mood {
	background:
		linear-gradient(180deg, rgba(39,49,58,.06), rgba(39,49,58,0) 15rem),
		#EEF0EC !important;
}

.lw-med-page__section--sleep {
	background:
		linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 15rem),
		#2D2622 !important;
}

.lw-med-page__section--sexual-health {
	background:
		linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 15rem),
		#743625 !important;
}

.lw-med-page__section--antibiotics {
	background:
		linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 14rem),
		#DCE4E1 !important;
}

body.page-id-170 main.lw-med-page #adhd.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0) 14rem),
		#F8FAF7 !important;
}

body.page-id-170 main.lw-med-page #depression.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 16rem),
		#27313A !important;
}

body.page-id-170 main.lw-med-page #anxiety.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0) 14rem),
		#D2D8D5 !important;
}

body.page-id-170 main.lw-med-page #mood.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(39,49,58,.06), rgba(39,49,58,0) 15rem),
		#EEF0EC !important;
}

body.page-id-170 main.lw-med-page #sleep.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 15rem),
		#2D2622 !important;
}

body.page-id-170 main.lw-med-page #sexual-health.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 15rem),
		#743625 !important;
}

body.page-id-170 main.lw-med-page #weight.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0) 14rem),
		#E6ECE8 !important;
}

body.page-id-170 main.lw-med-page #antibiotics.lw-med-page__section {
	background:
		linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 14rem),
		#DCE4E1 !important;
}

.lw-med-page__section-head {
	max-width: 64rem;
	margin-bottom: 1.35rem;
	padding-left: 1rem;
	border-left: 3px solid var(--lw-med-brass);
}

.lw-med-page__section-head p {
	color: var(--lw-med-accent);
	margin-bottom: .35rem;
}

.lw-med-page__section-head h2 {
	margin: 0;
	color: var(--lw-med-ink);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	font-weight: 850;
	letter-spacing: -.025em;
	line-height: 1.08;
}

.lw-med-page__section--depression,
.lw-med-page__section--sleep,
.lw-med-page__section--sexual-health {
	color: #F7EFE2;
}

.lw-med-page__section--depression .lw-med-page__section-head h2,
.lw-med-page__section--sleep .lw-med-page__section-head h2,
.lw-med-page__section--sexual-health .lw-med-page__section-head h2,
.lw-med-page__section--depression .lw-med-page__intro,
.lw-med-page__section--sleep .lw-med-page__intro,
.lw-med-page__section--sexual-health .lw-med-page__intro,
.lw-med-page__section--depression .lw-med-page__after,
.lw-med-page__section--sleep .lw-med-page__after,
.lw-med-page__section--sexual-health .lw-med-page__after {
	color: #F7EFE2;
}

.lw-med-page__section--depression .lw-med-page__section-head p,
.lw-med-page__section--sleep .lw-med-page__section-head p,
.lw-med-page__section--sexual-health .lw-med-page__section-head p {
	color: #D8A860;
}

.lw-med-page__section--depression .lw-med-page__section-head,
.lw-med-page__section--sleep .lw-med-page__section-head,
.lw-med-page__section--sexual-health .lw-med-page__section-head {
	border-left-color: #D8A860;
}

.lw-med-page__intro,
.lw-med-page__after {
	max-width: 58rem;
	margin: 0 0 1.35rem;
	color: var(--lw-med-muted);
	font-size: .98rem;
	line-height: 1.68;
}

.lw-med-page__after {
	margin-top: .95rem;
	margin-bottom: 0;
	font-size: .88rem;
}

.lw-med-page__after a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: .25rem .15rem;
	color: #743625;
	font-weight: 750;
	text-decoration-color: rgba(116,54,37,.36);
	text-underline-offset: .18em;
}

.lw-med-page__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .95rem 1.08rem;
}

.lw-med-page__card {
	display: flex;
	min-height: 132px;
	flex-direction: column;
	justify-content: space-between;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--lw-med-rule);
	border-radius: 5px;
	background: var(--lw-med-card);
	box-shadow: 0 10px 22px rgba(39,49,58,.1);
	color: var(--lw-med-ink);
	text-decoration: none;
	transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.lw-med-page__card:hover,
.lw-med-page__card:focus-visible {
	border-color: rgba(116,54,37,.7);
	background: #F8FAF7;
	box-shadow: 0 17px 32px rgba(39,49,58,.16);
	color: var(--lw-med-ink);
	transform: translateY(-2px);
}

.lw-med-page__card-name {
	display: block;
	margin-bottom: .34rem;
	font-size: 1rem;
	font-weight: 850;
	letter-spacing: -.01em;
	line-height: 1.24;
}

.lw-med-page__generic {
	color: #66706B;
	font-size: .9rem;
	font-weight: 520;
}

.lw-med-page__card-note {
	display: block;
	margin-bottom: .7rem;
	color: #444D48;
	font-size: .86rem;
	line-height: 1.54;
}

.lw-med-page__card-cta {
	display: block;
	color: var(--lw-med-accent);
	font-size: .79rem;
	font-weight: 850;
	letter-spacing: .01em;
}

.lw-med-page__prescribe {
	padding-block: clamp(3.3rem, 5vw, 4.7rem);
	background: linear-gradient(180deg, #27313A 0%, #1B2025 100%);
	border-top: 1px solid rgba(167,111,56,.26);
	border-bottom: 1px solid rgba(167,111,56,.22);
	color: #F7F8F6;
}

.lw-med-page__prescribe h2 {
	max-width: 42rem;
	margin: 0 0 1rem;
	color: #FFFFFF;
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	font-weight: 820;
	letter-spacing: -.02em;
}

.lw-med-page__prescribe p {
	max-width: 58rem;
	margin: 0 0 1rem;
	color: rgba(247,248,246,.86);
	font-size: .98rem;
	line-height: 1.72;
}

.lw-med-page__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: .35rem;
	padding: .82rem 1.1rem;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 6px;
	background: #743625;
	box-shadow: 0 12px 24px rgba(39,49,58,.22);
	color: #FFFFFF;
	font-size: .88rem;
	font-weight: 850;
	line-height: 1.1;
	text-decoration: none;
}

.lw-med-page__button:hover,
.lw-med-page__button:focus-visible {
	background: #5E2D20;
	color: #FFFFFF;
}

@media (max-width: 700px) {
	.lw-med-page__inner,
	.lw-med-page__hero-inner {
		width: min(100% - 32px, 980px);
	}

	.lw-med-page__hero {
		min-height: 56vh;
	}

	.lw-med-page__hero-video {
		object-position: 58% top;
	}

	.lw-med-page__hero h1 {
		max-width: 11ch;
	}

	.lw-med-page__jump {
		padding-block: 1.45rem 1.6rem;
	}

	.lw-med-page__jump-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .65rem;
	}

	.lw-med-page__section {
		padding-block: 2.35rem;
	}

	.lw-med-page__cards {
		grid-template-columns: 1fr;
		gap: .8rem;
	}

	.lw-med-page__card {
		min-height: 0;
		padding: 1rem;
	}

	body.page-id-170 main > .wp-block-cover.alignfull:first-child {
		min-height: 58vh !important;
	}

	body.page-id-170 main > .wp-block-cover.alignfull:first-child .lw-section-wrap {
		padding: 0 1.15rem !important;
	}

	body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) {
		padding-top: 1.4rem !important;
		padding-bottom: 1.5rem !important;
	}

	body.page-id-170 main > .wp-block-group.alignfull.lw-warm:has(a[href="#adhd"]) .lw-section-wrap > div {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: .65rem !important;
	}

	body.page-id-170 main > .wp-block-group.alignfull[id] {
		padding-top: 2.25rem !important;
		padding-bottom: 1.45rem !important;
	}

	body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap {
		padding: 0 1.05rem !important;
	}

	body.page-id-170 main > .wp-block-group.alignfull[id] .lw-section-wrap > div[style*="display:grid"] > a[href*="psychiatry.help"] {
		min-height: 0;
		padding: 1rem !important;
	}
}

@media (max-width: 767px) {
	.lw-med-page__hero {
		background-image: var(--lw-med-hero-poster);
		background-size: cover;
		background-position: 58% 50%;
		background-repeat: no-repeat;
	}
}

/* Visual system repair, 2026-06-27.
   The site had drifted into three different soft palettes. Keep one clinic
   system: steel anchors, warm paper, cool concrete, oxide/brass accents. */
body:not(.page-id-170):not(.page-id-41) .lw-sidecard,
body:not(.page-id-170):not(.page-id-41) .lw-rquote,
body:not(.page-id-170):not(.page-id-41) .lw-stat,
body:not(.page-id-170):not(.page-id-41) .lw-step,
body:not(.page-id-170):not(.page-id-41) .lw-connect__card,
body:not(.page-id-170):not(.page-id-41) .lw-tool__check,
body:not(.page-id-170):not(.page-id-41) .lw-tool__out,
body:not(.page-id-170):not(.page-id-41) .lw-dig-deeper,
body:not(.page-id-170):not(.page-id-41) .wp-block-pullquote,
body:not(.page-id-170):not(.page-id-41) .lw-bento__tile:not(.img):not(.moss):not(.ochre):not(.ink),
body:not(.page-id-170):not(.page-id-41) .mock__card,
body:not(.page-id-170):not(.page-id-41) .lw-real-team__card,
body:not(.page-id-170):not(.page-id-41) .lw-spoke-card {
	background: #F8FAF7 !important;
	border-color: #B8B0A2 !important;
	box-shadow: 0 18px 38px rgba(24,31,46,.14), 0 1px 0 rgba(255,255,255,.36) inset !important;
}

body:not(.page-id-170):not(.page-id-41) .lw-feature,
body:not(.page-id-170):not(.page-id-41) .lw-bento__tile.cream,
body:not(.page-id-170):not(.page-id-41) .lw-legal__note,
body:not(.page-id-170):not(.page-id-41) .lw-portal-modal__fallback,
body:not(.page-id-170):not(.page-id-41) .lw-stepcard--cream {
	background: #E6E3DA !important;
	border-color: #B8B0A2 !important;
}

body:not(.page-id-170):not(.page-id-41) .lw-sectionhead__eyebrow,
body:not(.page-id-170):not(.page-id-41) .lw-sidecard__label,
body:not(.page-id-170):not(.page-id-41) .lw-step__n,
body:not(.page-id-170):not(.page-id-41) .lw-bento__eyebrow {
	color: #743625 !important;
}

body.page-id-27 {
	--lw-appt-ink: #181F2E;
	--lw-appt-steel: #27313A;
	--lw-appt-charcoal: #211E1A;
	--lw-appt-paper: #F3EBDD;
	--lw-appt-concrete: #D5DBD7;
	--lw-appt-stone: #E6E3DA;
	--lw-appt-oxide: #743625;
	--lw-appt-brass: #A76F38;
	--lw-appt-rule: #B8B0A2;
}

body.page-id-27,
body.page-id-27 main,
body.page-id-27 main#main {
	background: var(--lw-appt-concrete) !important;
	color: var(--lw-appt-ink) !important;
}

body.page-id-27 main > .wp-block-group.alignfull.lw-warm,
body.page-id-27 main > .wp-block-group.alignfull.lw-white {
	background: var(--lw-appt-paper) !important;
	color: var(--lw-appt-ink) !important;
}

body.page-id-27 main > .wp-block-group.alignfull.lw-warm:nth-child(3),
body.page-id-27 main > .wp-block-group.alignfull.lw-white:nth-child(7) {
	background: linear-gradient(180deg, var(--lw-appt-steel) 0%, #1B2025 100%) !important;
	background-color: var(--lw-appt-steel) !important;
	background-image: linear-gradient(180deg, var(--lw-appt-steel) 0%, #1B2025 100%) !important;
	color: #F7F1E6 !important;
}

body.page-id-27 main > .wp-block-group.alignfull.lw-warm:nth-child(3) :is(.lw-sectionhead__title,.lw-sectionhead__sub,.lw-sectionhead__eyebrow),
body.page-id-27 main > .wp-block-group.alignfull.lw-white:nth-child(7) :is(.wp-block-heading,h2,h3,p,li,strong,span,blockquote,cite,em,a) {
	color: #F7F1E6 !important;
}

body.page-id-27 main > .wp-block-group.alignfull.lw-warm:nth-child(3) .lw-step,
body.page-id-27 main > .wp-block-group.alignfull.lw-white:nth-child(7) .lw-sidecard,
body.page-id-27 main > .wp-block-group.alignfull.lw-white:nth-child(7) .wp-block-pullquote {
	background: #F8FAF7 !important;
	border-color: var(--lw-appt-rule) !important;
	color: var(--lw-appt-ink) !important;
}

body.page-id-27 main > .wp-block-group.alignfull.lw-warm:nth-child(3) .lw-step :is(.lw-step__t,.lw-step__p),
body.page-id-27 main > .wp-block-group.alignfull.lw-white:nth-child(7) .lw-sidecard :is(p,li,strong,span),
body.page-id-27 main > .wp-block-group.alignfull.lw-white:nth-child(7) .wp-block-pullquote :is(p,blockquote,cite) {
	color: var(--lw-appt-ink) !important;
}

body.page-id-27 main > .wp-block-group.alignfull:nth-child(4),
body.page-id-27 main > .wp-block-group.alignfull:nth-child(8),
body.page-id-27 main > .wp-block-group.alignfull:nth-child(11) {
	background: var(--lw-appt-paper) !important;
}

body.page-id-27 main > .wp-block-group.alignfull:nth-child(6),
body.page-id-27 main > .wp-block-group.alignfull:nth-child(9) {
	background: var(--lw-appt-concrete) !important;
}

body.page-id-27 .lw-step__n,
body.page-id-27 .lw-sectionhead__eyebrow,
body.page-id-27 .lw-sidecard__label {
	color: var(--lw-appt-oxide) !important;
}

body.page-id-27 .wp-block-cover.lw-cover-cta-readable {
	background: #181F2E !important;
}

body.page-id-28 main > :nth-child(4),
body.page-id-28 main > :nth-child(6) {
	background: #D5DBD7 !important;
}

body.page-id-28 main > :nth-child(5),
body.page-id-28 main > :nth-child(7) {
	background: #F3EBDD !important;
}

body.page-id-28 .contact-page__button-hero {
	background: linear-gradient(180deg, #F3EBDD 0%, #E6E3DA 100%) !important;
}

body.page-id-49 main > :nth-child(6),
body.page-id-49 main > :nth-child(9),
body.page-id-49 main > :nth-child(12),
body.page-id-49 main > :nth-child(14) {
	background: #D5DBD7 !important;
}

body.page-id-49 main > .wp-block-group.alignfull:nth-child(8) {
	background: linear-gradient(180deg, #27313A 0%, #1B2025 100%) !important;
	background-color: #27313A !important;
	background-image: linear-gradient(180deg, #27313A 0%, #1B2025 100%) !important;
	color: #F7F1E6 !important;
}

body.page-id-49 main > .wp-block-group.alignfull:nth-child(8) :is(.wp-block-heading,.lw-sectionhead__title,p,li,strong,span,a) {
	color: #F7F1E6 !important;
}

body.page-id-49 main > .wp-block-group.alignfull:nth-child(8) .lw-sidecard,
body.page-id-49 main > .wp-block-group.alignfull:nth-child(8) .wp-block-pullquote {
	background: #F8FAF7 !important;
	color: #181F2E !important;
}

body.page-id-49 main > .wp-block-group.alignfull:nth-child(8) .lw-sidecard :is(p,li,strong,span),
body.page-id-49 main > .wp-block-group.alignfull:nth-child(8) .wp-block-pullquote :is(p,blockquote,cite) {
	color: #181F2E !important;
}

body.page-id-168 main > :nth-child(7),
body.page-id-168 main > :nth-child(10),
body.page-id-168 main > :nth-child(12) {
	background: #D5DBD7 !important;
}

body.page-id-168 main > :nth-child(9),
body.page-id-168 main > :nth-child(11) {
	background: #F3EBDD !important;
}

body.page-id-11 main > :nth-child(6),
body.page-id-11 main > :nth-child(9),
body.page-id-11 main > :nth-child(11) {
	background: #D5DBD7 !important;
}

body.page-id-41 {
	--lw-bg: #D5DBD7;
	--lw-band: #27313A;
	--lw-section: #F3EBDD;
	--lw-surface: #F8FAF7;
	--lw-surface-alt: #E6E3DA;
	--lw-field: #F8F4EA;
	--lw-rule: #B8B0A2;
}

body.page-id-41 main,
body.page-id-41 main#main {
	background: #D5DBD7 !important;
	background-color: #D5DBD7 !important;
}

@media (min-width: 768px) {
	body.page-id-41 main .wp-block-cover.alignfull:first-of-type .wp-block-cover__inner-container {
		align-items: flex-start !important;
		text-align: left !important;
	}

	body.page-id-41 main .wp-block-cover.alignfull:first-of-type h1 {
		max-width: min(11.5ch, 46vw) !important;
		font-size: clamp(2.55rem, 4.6vw, 4.25rem) !important;
		line-height: 1.02 !important;
	}

	body.page-id-41 main .wp-block-cover.alignfull:first-of-type .wp-block-cover__video-background {
		object-position: 60% center !important;
	}
}

@media (max-width: 767px) {
	body.page-id-41 main .wp-block-cover.alignfull:first-of-type {
		background-image: var(--lw-mobile-cover-poster);
		background-color: #EEF4F5;
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center bottom;
	}

	body.page-id-41 main .wp-block-cover.alignfull:first-of-type .wp-block-cover__inner-container {
		align-items: flex-start !important;
		text-align: left !important;
	}

	body.page-id-41 main .wp-block-cover.alignfull:first-of-type h1 {
		max-width: min(10.5ch, 62vw) !important;
		font-size: clamp(2.05rem, 8.2vw, 2.35rem) !important;
		line-height: 1 !important;
	}

	body.page-id-41 main .wp-block-cover.alignfull:first-of-type .wp-block-cover__video-background {
		object-position: 66% 50% !important;
	}
}

body.page-id-41 main > .wp-block-group.alignfull.lw-white,
body.page-id-41 main > .wp-block-group.alignfull.lw-warm:not(:has(.lw-bento)):not(:has(.lw-steps)),
body.page-id-41 main > .wp-block-group.alignfull:has(.lw-features),
body.page-id-41 main > .wp-block-group.alignfull:has(.lw-faq) {
	background: #F3EBDD !important;
	color: #181F2E !important;
}

body.page-id-41 main > .wp-block-group.alignfull:nth-child(6),
body.page-id-41 main > .wp-block-group.alignfull:nth-child(8),
body.page-id-41 main > .wp-block-group.alignfull:nth-child(12),
body.page-id-41 main > .wp-block-group.alignfull:nth-child(14) {
	background: #D5DBD7 !important;
}

body.page-id-41 main > .wp-block-group.alignfull:nth-child(7),
body.page-id-41 main > .wp-block-group.alignfull:nth-child(11),
body.page-id-41 main > .wp-block-group.alignfull:nth-child(13) {
	background: #F3EBDD !important;
}

body.page-id-41 main > .wp-block-group.alignfull:nth-child(3),
body.page-id-41 main > .wp-block-group.alignfull:nth-child(10) {
	background: linear-gradient(180deg, #27313A 0%, #1B2025 100%) !important;
	background-color: #27313A !important;
	background-image: linear-gradient(180deg, #27313A 0%, #1B2025 100%) !important;
	color: #F7F1E6 !important;
}

body.page-id-41 main > .wp-block-group.alignfull:nth-child(3) :is(.wp-block-heading,.lw-sectionhead__title,.lw-sectionhead__sub,.lw-sectionhead__eyebrow,p,li,strong,span,a),
body.page-id-41 main > .wp-block-group.alignfull:nth-child(10) :is(.wp-block-heading,.lw-sectionhead__title,.lw-sectionhead__sub,.lw-sectionhead__eyebrow,p,li,strong,span,a) {
	color: #F7F1E6 !important;
}

body.page-id-41 main > .wp-block-group.alignfull:nth-child(3) .lw-bento__tile.ochre a.lw-bento__pill,
body.page-id-41 .lw-bento__tile.ochre a.lw-bento__pill {
	background: #F0E5CF !important;
	border: 1px solid rgba(24,31,46,.18) !important;
	box-shadow: 0 10px 24px rgba(24,31,46,.18) !important;
	color: #181F2E !important;
	font-weight: 800 !important;
}

body.page-id-41 .lw-feature,
body.page-id-41 .lw-sidecard,
body.page-id-41 .lw-step,
body.page-id-41 .lw-testimonial,
body.page-id-41 .lw-dig-deeper,
body.page-id-41 .wp-block-pullquote {
	background: #F8FAF7 !important;
	border-color: #B8B0A2 !important;
	color: #181F2E !important;
	box-shadow: 0 18px 38px rgba(24,31,46,.14), 0 1px 0 rgba(255,255,255,.36) inset !important;
}

body.page-id-41 .lw-feature :is(p,h3,span,strong,a),
body.page-id-41 .lw-sidecard :is(p,li,strong,span,a),
body.page-id-41 .lw-step :is(.lw-step__t,.lw-step__p),
body.page-id-41 .wp-block-pullquote :is(p,blockquote,cite) {
	color: #181F2E !important;
}

body.page-id-41 .lw-step__n,
body.page-id-41 .lw-sectionhead__eyebrow,
body.page-id-41 .lw-sidecard__label {
	color: #743625 !important;
}

/* Education-site popover: make the outbound hop explicit and visually aligned
   with the darker clinic palette. */
.lw-glossary-popover {
	width: 360px;
	background: #151312;
	color: #F0E5CF;
	border: 1px solid rgba(217,166,72,.42);
	box-shadow: 0 22px 54px rgba(8,13,12,.38), 0 0 0 1px rgba(255,255,255,.05) inset;
}

.lw-glossary-popover__close {
	color: #D7CAB3;
}

.lw-glossary-popover__close:hover {
	background: rgba(217,166,72,.16);
	color: #F0E5CF;
}

.lw-glossary-popover__eyebrow {
	color: #D9A648;
}

.lw-glossary-popover__name {
	color: #F7EEDC;
}

.lw-glossary-popover__note {
	color: #D9D0BF;
}

.lw-glossary-popover__site {
	margin: -.25rem 0 1rem;
	padding-top: .75rem;
	border-top: 1px solid rgba(217,166,72,.24);
	font-size: .82rem;
	line-height: 1.45;
	color: #BDB09B;
}

.lw-glossary-popover__cta {
	background: #D9A648;
	color: #181F2E;
}

.lw-glossary-popover__cta:hover {
	background: #F0E5CF;
	color: #181F2E;
}

@media (max-width: 520px) {
	.lw-glossary-popover {
		width: calc(100vw - 28px);
	}
}

/* Global hero media and copy standard.
   Heroes use native media framing first, and desktop copy stays in the left column. */
	:root {
		--lw-hero-inner-max: 1120px;
		--lw-hero-lede-max: min(35rem, 35vw);
		--lw-hero-copy-max: min(35rem, 35vw);
		--lw-hero-title-max: min(12ch, 32vw);
		--lw-first-hero-min: 520px;
		--lw-first-hero-max: 920px;
		--lw-first-hero-trust-default: 56px;
		--lw-first-hero-media-position: center top;
	}

	main > :is(.lw-home-hero-fb, .lw-vhero, .wp-block-cover.alignfull, .lw-med-page__hero, .lw-tools__hero):first-child {
		margin-top: var(--nav-h, 88px) !important;
	}

	main > :is(.lw-home-hero-fb, .lw-vhero, .wp-block-cover.alignfull, .lw-med-page__hero, .lw-tools__hero):first-child:has(+ .lw-trust-strip),
	main > .lw-first-hero--with-trust {
		aspect-ratio: auto !important;
		height: clamp(var(--lw-first-hero-min), calc(100svh - var(--nav-h, 88px) - var(--trust-strip-h, var(--lw-first-hero-trust-default))), var(--lw-first-hero-max)) !important;
		min-height: clamp(var(--lw-first-hero-min), calc(100svh - var(--nav-h, 88px) - var(--trust-strip-h, var(--lw-first-hero-trust-default))), var(--lw-first-hero-max)) !important;
	}

	main > :is(.lw-home-hero-fb, .lw-vhero, .wp-block-cover.alignfull, .lw-med-page__hero, .lw-tools__hero):first-child:has(+ .lw-trust-strip) :is(video, img, .lw-home-hero-fb__media, .lw-vhero__vid, .wp-block-cover__video-background, .wp-block-cover__image-background, .lw-med-page__hero-video, .lw-tools__hero-bg),
	main > .lw-first-hero--with-trust :is(video, img, .lw-home-hero-fb__media, .lw-vhero__vid, .wp-block-cover__video-background, .wp-block-cover__image-background, .lw-med-page__hero-video, .lw-tools__hero-bg) {
			top: 0 !important;
			bottom: 0 !important;
		height: 100% !important;
		width: 100% !important;
		object-fit: cover !important;
		object-position: var(--lw-first-hero-media-position) !important;
		-webkit-mask-image: none !important;
		mask-image: none !important;
	}

@media (min-width: 761px) {
	main .wp-block-cover.alignfull:first-of-type,
	.lw-home-hero-fb,
	.lw-vhero,
	.lw-med-page__hero,
	.lw-tools__hero {
		aspect-ratio: 16 / 9 !important;
		background-color: #181F2E !important;
		min-height: auto !important;
		overflow: hidden !important;
	}

	main .wp-block-cover.alignfull:first-of-type .wp-block-cover__video-background,
	main .wp-block-cover.alignfull:first-of-type .wp-block-cover__image-background,
	main .wp-block-cover.alignfull:first-of-type > img.wp-block-cover__image-background,
	.lw-home-hero-fb__media,
	.lw-vhero__vid,
	.lw-med-page__hero-video,
	.lw-tools__hero-bg {
		background-color: #181F2E !important;
		object-fit: contain !important;
		object-position: center center !important;
		transform: none !important;
	}

	main .wp-block-cover.alignfull:first-of-type .wp-block-cover__inner-container {
		left: 50% !important;
		max-width: 1120px !important;
		padding: clamp(5.5rem, 9vw, 7rem) 24px 2.4rem !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		width: min(100%, 1120px) !important;
	}

	main .wp-block-cover.alignfull:first-of-type .wp-block-cover__inner-container > :is(h1,h2,p),
	.lw-home-hero-fb__title,
	.lw-vhero__title,
	.lw-med-page__hero h1,
	.lw-tools__hero .lw-tools__title {
		max-width: var(--lw-hero-title-max) !important;
	}

	main .wp-block-cover.alignfull:first-of-type .wp-block-cover__inner-container > p:not(:first-child) {
		background: transparent !important;
		border: 0 !important;
		bottom: auto !important;
		box-shadow: none !important;
		left: auto !important;
		margin: .95rem 0 0 !important;
		max-width: var(--lw-hero-lede-max) !important;
		padding: 0 !important;
		position: static !important;
		right: auto !important;
		width: auto !important;
	}

	.lw-home-hero-fb__inner,
	.lw-vhero__in,
	.lw-med-page__hero-inner,
	.lw-tools__hero-in {
		margin-inline: auto !important;
		max-width: 1120px !important;
		width: min(100% - 48px, 1120px) !important;
	}

	.lw-vhero__ov {
		background:
			linear-gradient(90deg, rgba(24,31,46,.76) 0%, rgba(24,31,46,.58) 43%, rgba(24,31,46,.18) 74%, rgba(24,31,46,.04) 100%),
			linear-gradient(0deg, rgba(24,31,46,.32), rgba(24,31,46,0) 48%) !important;
		opacity: 1 !important;
	}

	.lw-vhero__eyebrow,
	.lw-vhero__title,
	.lw-vhero__sub,
	.lw-vhero a {
		color: #FFFFFF !important;
		text-shadow: 0 2px 14px rgba(0,0,0,.78), 0 0 34px rgba(0,0,0,.54) !important;
	}

	.lw-vhero__eyebrow {
		display: inline-block !important;
		max-width: var(--lw-hero-lede-max) !important;
		width: fit-content !important;
	}

	.lw-home-hero-fb__sub,
	.lw-vhero__sub,
	.lw-med-page__eyebrow,
	.lw-med-page__hero p:not(.lw-med-page__eyebrow),
	.contact-page__head--video .contact-page__lede,
	.lw-tools__hero .lw-tools__lede {
		max-width: var(--lw-hero-lede-max) !important;
	}

		.lw-med-page__eyebrow {
			display: block !important;
			width: fit-content !important;
		}

			body.home .lw-home-hero-fb__scrim,
			body.front-page .lw-home-hero-fb__scrim {
				background: linear-gradient(90deg, rgba(8,13,16,.56) 0%, rgba(8,13,16,.40) 34%, rgba(8,13,16,.16) 58%, rgba(8,13,16,.04) 76%, rgba(8,13,16,0) 100%) !important;
			}

			body.home .lw-home-hero-fb__inner,
		body.front-page .lw-home-hero-fb__inner {
			box-sizing: border-box !important;
			height: 100% !important;
			min-height: 100% !important;
			width: 100% !important;
			max-width: none !important;
			margin: 0 !important;
			padding: clamp(6rem, 10vw, 15rem) clamp(4.8rem, 8.7vw, 10.5rem) clamp(2rem, 4vw, 5rem) !important;
			justify-content: flex-start !important;
		}

			body.home .lw-home-hero-fb__eyebrow,
			body.front-page .lw-home-hero-fb__eyebrow {
				color: #D9A648 !important;
				font-size: clamp(.78rem, .9vw, 1.05rem) !important;
				font-weight: 900 !important;
				text-shadow: 0 2px 14px rgba(0,0,0,.78), 0 0 30px rgba(0,0,0,.48) !important;
			}

		body.home .lw-home-hero-fb__title,
		body.front-page .lw-home-hero-fb__title {
				max-width: 10.8ch !important;
				font-size: clamp(2.8rem, 5vw, 6rem) !important;
				line-height: .98 !important;
				color: #FDF8E8 !important;
				text-shadow: 0 2px 16px rgba(0,0,0,.72), 0 0 40px rgba(0,0,0,.42) !important;
			}

		body.home .lw-home-hero-fb__sub,
		body.front-page .lw-home-hero-fb__sub {
				max-width: min(44rem, 46vw) !important;
				font-size: clamp(1.15rem, 1.28vw, 1.55rem) !important;
				line-height: 1.4 !important;
				margin: clamp(1rem, 1.3vw, 1.55rem) 0 clamp(1.6rem, 2vw, 2.25rem) !important;
				color: rgba(253,248,232,.92) !important;
				text-shadow: 0 2px 12px rgba(0,0,0,.66) !important;
			}

		body.home .lw-home-hero-fb__cta,
		body.front-page .lw-home-hero-fb__cta {
			font-size: clamp(1rem, .9vw, 1.2rem) !important;
			padding: clamp(.85rem, .95vw, 1.08rem) clamp(1.6rem, 1.8vw, 2.2rem) !important;
		}
	}

@media (max-width: 760px) {
	.lw-vhero {
		aspect-ratio: auto !important;
		min-height: clamp(430px, 112vw, 560px) !important;
	}

	.lw-vhero__in {
		box-sizing: border-box !important;
		padding-top: calc(var(--nav-h, 88px) + 1.25rem) !important;
		padding-bottom: 2rem !important;
	}

	main .wp-block-cover.alignfull:first-of-type .wp-block-cover__video-background,
	main .wp-block-cover.alignfull:first-of-type .wp-block-cover__image-background,
	main .wp-block-cover.alignfull:first-of-type > img.wp-block-cover__image-background,
	.lw-home-hero-fb__media,
	.lw-vhero__vid,
	.lw-med-page__hero-video,
	.lw-tools__hero-bg {
		background-color: #181F2E !important;
		object-fit: contain !important;
		object-position: center center !important;
		transform: none !important;
	}

	.lw-vhero__ov {
		background:
			linear-gradient(180deg, rgba(24,31,46,.78) 0%, rgba(24,31,46,.58) 46%, rgba(24,31,46,.2) 78%, rgba(24,31,46,.08) 100%) !important;
		opacity: 1 !important;
	}

	.lw-vhero__eyebrow,
	.lw-vhero__title,
	.lw-vhero__sub,
	.lw-vhero a {
		color: #FFFFFF !important;
		text-shadow: 0 2px 14px rgba(0,0,0,.82), 0 0 34px rgba(0,0,0,.58) !important;
	}

		.lw-home-hero-fb__sub,
	.lw-vhero__sub,
	.lw-med-page__hero p:not(.lw-med-page__eyebrow),
	.contact-page__head--video .contact-page__lede,
	.lw-tools__hero .lw-tools__lede {
			max-width: 100% !important;
		}

			:root {
				--lw-first-hero-min: 560px;
				--lw-first-hero-max: 720px;
				--lw-first-hero-trust-default: 64px;
			}

			body.home .lw-home-hero-fb__media,
			body.front-page .lw-home-hero-fb__media {
				--lw-first-hero-media-position: 62% top;
			}

		body.home .lw-home-hero-fb__scrim,
		body.front-page .lw-home-hero-fb__scrim {
			background: linear-gradient(180deg, rgba(8,13,16,.72) 0%, rgba(8,13,16,.44) 48%, rgba(8,13,16,.16) 100%) !important;
		}

		body.home .lw-home-hero-fb__inner,
		body.front-page .lw-home-hero-fb__inner {
			justify-content: center !important;
			padding: 2rem 1.25rem !important;
		}

		body.home .lw-home-hero-fb__eyebrow,
		body.front-page .lw-home-hero-fb__eyebrow,
		body.home .lw-home-hero-fb__title,
		body.front-page .lw-home-hero-fb__title,
		body.home .lw-home-hero-fb__sub,
		body.front-page .lw-home-hero-fb__sub {
			color: #FDF8E8 !important;
			text-shadow: 0 2px 14px rgba(0,0,0,.76), 0 0 30px rgba(0,0,0,.46) !important;
		}
	}

/* Lighthouse contrast hardening for dark brand surfaces. These stay late in the
   cascade because the imported page rhythm rules also use !important. */
body:not(.page-id-170):not(.page-id-41) .lw-bento__tile:is(.ink,.moss) .lw-bento__eyebrow {
	color: #F4EEDC !important;
	opacity: 1 !important;
}

body.home main > .wp-block-group.alignfull:nth-child(7) .lw-sectionhead__eyebrow,
body.home main > .wp-block-group.alignfull:nth-child(9) .lw-sectionhead__eyebrow {
	color: #F4EEDC !important;
	opacity: 1 !important;
}

.lw-fine-great-title__accent--gold {
	color: #8F5A00 !important;
}

body.page-id-28 main#main .contact-page__inner .contact-form__legal {
	color: #3A4250 !important;
}

body.page-id-11 main > .wp-block-cover.alignfull:first-of-type .wp-block-cover__video-background {
	opacity: .99 !important;
}
