/* Bold clinical-editorial theme.
   Loaded last, after opstyle.css, responsive.css and home.css. */

:root {
	--forest: #0B2B27;
	--forest-2: #123C36;
	--cream: #F6EEE1;
	--sand: #EFE3D2;
	--lime: #E5EDE5;
	--lime-soft: #F6EEE1;
	--terra: #E05A33;
	--terra-deep: #B3401F;
	--lilac: #E5EDE5;
	--peach: #FFD8C6;
	--mint: #E5EDE5;
	--ink: #10201D;
	--body: #3F4B47;
	--muted: #5F6B66;
	--display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

body {
	background: var(--forest);
	color: var(--body);
	font-family: var(--sans);
}

.container {
	background: var(--cream) !important;
	border-left: 0;
	border-right: 0;
	border-top: 12px solid var(--terra);
	border-bottom: 12px solid var(--lime);
	color: var(--body);
}

h1, h2, h3, h4, h5, h6,
.section-heading,
.staff-title,
.hero-title,
.section-head h2,
.home-cta h2,
.page-hero h1 {
	font-family: var(--display);
	font-weight: 700;
	letter-spacing: -.03em;
	color: var(--forest);
}

a {
	color: var(--terra-deep);
}

a:hover {
	color: #8f2f14;
}

/* ===== Header ===== */
.site-header {
	background: var(--forest);
	margin: 0 -20px;
	padding: 18px 20px;
	border-bottom: 1px solid rgba(246, 238, 225, .14);
}

.site-header::after {
	content: "";
	display: table;
	clear: both;
}

.site-header .span-10.top-pad {
	padding-top: 0;
}

.site-header .span-10.top-pad a {
	display: inline-block;
	padding: 10px 14px;
	background: var(--cream);
	border-radius: 14px;
}

.site-header .span-10.top-pad img {
	display: block;
	width: 220px;
	max-width: 100%;
	height: auto;
}

.site-header .menu {
	margin-top: 19px;
}

.site-header .menu ul li a {
	background: transparent;
	color: rgba(246, 238, 225, .8);
}

.site-header .menu ul li a:hover,
.site-header .menu ul li a:focus-visible {
	background: rgba(246, 238, 225, .08);
	color: var(--lime);
}

.site-header .menu ul li a.activemenu {
	background: rgba(246, 238, 225, .08) !important;
	color: var(--cream);
	box-shadow: inset 0 -2px 0 var(--lime);
}

.site-header .menu ul li a.nav-cta {
	padding: 10px 16px;
	background: var(--cream);
	color: var(--forest);
	border-radius: 999px;
}

.site-header .menu ul li a.nav-cta:hover,
.site-header .menu ul li a.nav-cta:focus-visible {
	background: var(--lime);
	color: var(--forest);
}

.site-header .menu ul li a.activemenu.nav-cta {
	background: var(--cream) !important;
	color: var(--forest);
}

/* ===== Page hero (inner pages) ===== */
.page-hero {
	margin: 0 -20px;
	padding: 52px 20px 46px;
	background: var(--forest);
	border-bottom: 1px solid rgba(246, 238, 225, .12);
}

.page-hero .eyebrow {
	color: var(--peach);
}

.page-hero h1 {
	margin: 0 0 12px;
	font-weight: 800;
	font-size: clamp(2.2rem, 4.2vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: -.04em;
	color: var(--cream);
}

.page-hero-lede {
	max-width: 720px;
	margin: 0;
	font-family: var(--sans);
	font-size: 17px;
	line-height: 1.6;
	color: rgba(246, 238, 225, .78);
}

/* ===== Inner content ===== */
.section-heading {
	margin: 0 0 12px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.03em;
	color: var(--forest);
}

.section-heading::before {
	width: 40px;
	height: 3px;
	margin-bottom: 10px;
	background: var(--terra-deep);
}

.staff-title {
	color: var(--forest);
}

.staff-title a {
	color: inherit;
}

.staff-desc {
	color: var(--body);
}



.legal-page h2 {
	font-family: var(--display);
	color: var(--forest);
}

.provider-jump {
	background: var(--lilac);
}

.provider-jump a {
	color: var(--forest);
}

.provider-jump a:hover,
.provider-jump a:focus {
	color: var(--terra-deep);
}

/* ===== Footer ===== */
.footer {
	margin: 0 -20px;
	padding: 36px 20px 28px;
	background: var(--forest);
	border-top: 1px solid rgba(216, 242, 107, .2);
	color: rgba(246, 238, 225, .7);
}

.footer-crisis {
	color: var(--cream);
}

.footer-crisis a {
	color: var(--peach);
}

.footer-brand,
.footer-copy {
	color: rgba(246, 238, 225, .62);
}

.footer-links a {
	color: rgba(246, 238, 225, .82);
}

.footer-links a:hover,
.footer-links a:focus {
	color: var(--peach);
}

/* ===== Homepage ===== */
.home-hero {
	clear: both;
	margin: 0 -20px;
	padding: 56px 20px 52px;
	background:
		url("../images/bg-flow-light.svg") no-repeat right -60px top -60px / 720px auto,
		radial-gradient(circle at 85% 18%, rgba(216, 242, 107, .14), transparent 38%),
		radial-gradient(circle at 70% 85%, rgba(224, 90, 51, .16), transparent 45%),
		var(--forest);
	border-bottom: 1px solid rgba(246, 238, 225, .12);
}

.home-hero::before {
	background: radial-gradient(circle, rgba(216, 242, 107, .20), rgba(224, 90, 51, .12) 45%, transparent 70%);
}

.home-hero .eyebrow {
	color: var(--peach);
}

.hero-title {
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(2rem, 2.5vw, 2.4rem);
	line-height: 1.08;
	letter-spacing: -.03em;
	color: var(--cream);
}

.hero-actions .btn {
	min-height: 44px;
	padding: 10px 18px;
	font-size: 14px;
}

.hero-lede {
	color: rgba(246, 238, 225, .8);
}

.hero-call {
	color: rgba(246, 238, 225, .7);
}

.hero-call a {
	color: var(--peach);
}

.hero-proof {
	border-top: 1px solid rgba(246, 238, 225, .2);
}

.hero-proof strong {
	color: var(--cream);
}

.hero-proof span {
	color: rgba(246, 238, 225, .66);
}

.hero-photo {
	border-color: var(--cream);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .35);
}

.hero-photo-2 {
	border-color: var(--lime);
}

.btn-primary {
	background: var(--terra-deep);
	color: var(--cream);
}

.btn-primary:hover,
.btn-primary:focus {
	background: #8f2f14;
	color: var(--cream);
}

.btn-secondary {
	background: transparent;
	border-color: rgba(246, 238, 225, .45);
	color: var(--cream);
}

.btn-secondary:hover,
.btn-secondary:focus {
	border-color: var(--lime);
	color: var(--lime);
}

.home-section {
	margin: 0 -20px;
	padding: 56px 20px;
	border-bottom: 0;
}

.home-services {
	background: var(--cream);
}

.section-head h2 {
	color: var(--forest);
}

.section-head p {
	color: var(--muted);
}

.section-head .eyebrow {
	color: var(--terra-deep);
}

.service-card {
	background: var(--peach);
	border: 0;
}

.service-card:nth-child(2) {
	background: var(--lilac);
}

.service-card:nth-child(3) {
	background: var(--mint);
}

.service-card h3 {
	color: var(--forest);
	font-weight: 700;
	letter-spacing: -.02em;
}

.service-card p {
	color: var(--body);
}

.card-icon {
	background: var(--forest);
	color: var(--cream);
}

.service-card .card-link {
	color: var(--forest);
	text-decoration: underline;
	text-decoration-color: var(--terra);
	text-underline-offset: 3px;
}

.home-providers {
	background: var(--lilac);
}

.home-providers .section-head h2,
.home-providers .provider-card h3 {
	color: var(--forest);
	font-weight: 700;
	letter-spacing: -.01em;
}

.home-providers .section-head p {
	color: rgba(16, 32, 29, .7);
}

.home-providers .section-head .eyebrow,
.home-providers .text-link {
	color: var(--forest);
}

.provider-card {
	background: var(--cream);
	border: 1px solid rgba(16, 32, 29, .06);
}

.provider-card p {
	color: var(--muted);
}

.home-locations {
	background: var(--lime);
}

.home-locations .section-head h2,
.home-locations .location-card h3 {
	color: var(--forest);
	font-weight: 700;
	letter-spacing: -.01em;
}

.home-locations .section-head p {
	color: rgba(16, 32, 29, .7);
}

.home-locations .section-head .eyebrow,
.home-locations .text-link {
	color: var(--forest);
}

.location-card {
	background: var(--cream);
	border: 0;
}

.location-card p {
	color: var(--body);
}

.location-card a {
	color: var(--terra-deep);
}

.home-insurance {
	background: var(--cream);
}

.insurance-chips li {
	background: var(--forest);
	border: 0;
	color: var(--cream);
}

.insurance-chips li::before {
	background: var(--lime);
}

.insurance-note,
.self-pay {
	color: var(--muted);
}

.insurance-note a {
	color: var(--terra-deep);
}

.home-cta {
	background:
		url("../images/bg-flow-light.svg") no-repeat right -60px center / 620px auto,
		radial-gradient(circle at 82% 45%, rgba(216, 242, 107, .14), transparent 40%),
		var(--terra-deep);
	border: 0;
	color: var(--cream);
}

.home-cta h2 {
	color: var(--cream);
}

.home-cta p {
	color: rgba(246, 238, 225, .8);
}

.home-cta .eyebrow {
	color: var(--cream);
}

.home-cta .btn-light {
	background: var(--cream);
	color: var(--forest);
}

.home-cta .btn-light:hover,
.home-cta .btn-light:focus {
	background: var(--sand);
	color: var(--forest);
}

.home-cta .cta-call {
	color: rgba(246, 238, 225, .8);
}

.home-cta .cta-call a {
	color: var(--peach);
}

@media (max-width: 991px) {
	.site-header,
	.page-hero,
	.home-hero,
	.home-section,
	.footer {
		margin-left: -16px;
		margin-right: -16px;
	}

	.site-header {
		padding: 14px 16px;
	}

	.site-header .span-10.top-pad img {
		width: 190px;
	}

	.site-header .menu ul li a.nav-cta {
		padding: 9px 10px;
	}

	.page-hero {
		padding: 40px 16px 36px;
	}

	.home-section {
		padding: 40px 16px;
	}

	.home-hero {
		padding: 44px 16px 40px;
	}

	.footer {
		padding: 32px 16px 24px;
	}
}

@media (max-width: 520px) {
	.site-header .span-10.top-pad img {
		width: 165px;
	}

	.page-hero h1 {
		font-size: 2.35rem;
	}
}

/* Beat the old #a a background reset */
#a a.nav-cta {
	background: var(--cream) !important;
	color: var(--forest) !important;
}

#a a.nav-cta:hover,
#a a.nav-cta:focus {
	background: var(--lime) !important;
	color: var(--forest) !important;
}

#a a.activemenu.nav-cta {
	background: var(--cream) !important;
	color: var(--forest) !important;
}

#a a.activemenu {
	background: rgba(246, 238, 225, .08) !important;
	color: var(--cream);
	box-shadow: inset 0 -2px 0 var(--lime);
}

@media (max-width: 991px) {
	.container > [class*="span-"],
	.container > main > [class*="span-"] {
		max-width: 680px;
	}
}

/* ===== Refined modern palette: forest, cream, sage, burnt terracotta ===== */
:root {
	--sage: #E5EDE5;
	--cta: #9A3B1F;
	--card: #FFFBF4;
	--card-line: #E3D8C7;
}

.container {
	border-top: 0;
	border-bottom: 0;
}

/* Header accents */
.site-header .menu ul li a:hover,
.site-header .menu ul li a:focus-visible {
	color: var(--peach);
}

.site-header .menu ul li a.activemenu {
	color: var(--cream);
	box-shadow: inset 0 -2px 0 var(--terra);
}

.site-header .menu ul li a.nav-cta:hover,
.site-header .menu ul li a.nav-cta:focus-visible {
	background: var(--sand);
	color: var(--forest);
}

#a a.nav-cta:hover,
#a a.nav-cta:focus {
	background: var(--sand) !important;
}

#a a.activemenu {
	box-shadow: inset 0 -2px 0 var(--terra);
}

/* Page heroes: same dark language as the homepage */
.page-hero {
	background:
		url("../images/bg-flow-light.svg") no-repeat right -80px top -40px / 620px auto,
		var(--forest);
	border-bottom: 1px solid rgba(246, 238, 225, .12);
}

.page-hero .eyebrow {
	color: var(--peach);
}

.page-hero h1 {
	color: var(--cream);
}

.page-hero-lede {
	color: rgba(246, 238, 225, .78);
}

/* Inner-page accents */
.provider-jump {
	background: var(--sand);
}

/* Hero portrait ring */
.hero-photo-2 {
	border-color: var(--terra);
}

.btn-secondary:hover,
.btn-secondary:focus {
	border-color: var(--peach);
	color: var(--peach);
}

/* Services: neutral cards on cream */
.home-services {
	background: var(--cream);
}

.service-card,
.service-card:nth-child(2),
.service-card:nth-child(3) {
	background: var(--card);
	border: 1px solid var(--card-line);
}

.card-icon {
	background: var(--forest);
	color: var(--cream);
}

/* Providers: soft sage, cream cards */
.home-providers {
	background: var(--sage);
}

.home-providers .section-head h2 {
	color: var(--forest);
}

.home-providers .section-head p {
	color: var(--muted);
}

.home-providers .section-head .eyebrow {
	color: var(--terra-deep);
}

.home-providers .text-link {
	color: var(--forest);
}

.provider-card {
	background: var(--card);
	border: 1px solid rgba(16, 32, 29, .08);
}

/* Locations: deep forest band, cream cards */
.home-locations {
	background: var(--forest);
}

.home-locations .section-head h2 {
	color: var(--cream);
}

.home-locations .section-head p {
	color: rgba(246, 238, 225, .78);
}

.home-locations .section-head .eyebrow {
	color: var(--peach);
}

.home-locations .text-link {
	color: var(--peach);
}

.location-card {
	background: var(--card);
	border: 0;
}

.location-card h3 {
	color: var(--forest);
}

.location-card p {
	color: var(--body);
}

.location-card a {
	color: var(--terra-deep);
}

/* Insurance: cream with forest chips */
.home-insurance {
	background: var(--cream);
}

.insurance-chips li {
	background: var(--forest);
	color: var(--cream);
}

.insurance-chips li::before {
	background: var(--peach);
}

/* Closing CTA: burnt terracotta */
.home-cta {
	background:
		url("../images/bg-flow-light.svg") no-repeat right -60px center / 620px auto,
		var(--cta);
}

.home-cta .eyebrow {
	color: var(--peach);
}

.home-cta .cta-call a {
	color: var(--peach);
}

.home-cta .btn-light {
	background: var(--cream);
	color: var(--forest);
}

.home-cta .btn-light:hover,
.home-cta .btn-light:focus {
	background: var(--sand);
	color: var(--forest);
}

/* Footer */
.footer {
	background: var(--forest);
}

.footer-crisis a,
.footer-links a:hover,
.footer-links a:focus {
	color: var(--peach);
}

/* Blend the baked white photo backgrounds into cream/sage */
.staff-page .span-6 img,
.staff-page .staff-desc img {
	mix-blend-mode: multiply;
}

/* Three distinct hero portrait rings: cream, terracotta, muted sage */
.hero-photo-1 {
	border-color: var(--cream);
}

.hero-photo-2 {
	border-color: var(--terra);
}

.hero-photo-3 {
	border-color: #8FA9C4;
}

.hero-photo-4 {
	border-color: #D8CBB8;
}

/* Header CTA: outline by default, filled only when it is the current page */
.site-header .menu ul li a.nav-cta {
	background: transparent;
	border: 1px solid rgba(246, 238, 225, .55);
	color: var(--cream);
}

.site-header .menu ul li a.nav-cta:hover,
.site-header .menu ul li a.nav-cta:focus-visible {
	background: var(--cream);
	border-color: var(--cream);
	color: var(--forest);
}

#a a.nav-cta {
	background: transparent !important;
	border: 1px solid rgba(246, 238, 225, .55);
	color: var(--cream) !important;
}

#a a.nav-cta:hover,
#a a.nav-cta:focus {
	background: var(--cream) !important;
	border-color: var(--cream);
	color: var(--forest) !important;
}

#a a.activemenu.nav-cta {
	background: var(--cream) !important;
	border-color: var(--cream);
	color: var(--forest) !important;
}

/* ===== Brand lockup: mark + live wordmark, no tile ===== */
.site-header .span-10.top-pad .brand {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0;
	background: transparent;
	border-radius: 0;
	text-decoration: none;
}
.site-header .span-10.top-pad .brand-mark {
	display: block;
	width: 62px;
	max-width: 62px;
	height: auto;
	flex: 0 0 auto;
}
.brand-type { display: block; }
.brand-name {
	display: block;
	color: var(--cream);
	font-family: var(--sans);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.0;
	letter-spacing: -.035em;
	white-space: nowrap;
}
.brand-group {
	display: block;
	margin-top: 6px;
	color: var(--peach);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .05em;
	text-transform: none;
	white-space: nowrap;
}
.site-header .menu { margin-top: 6px; }

/* ===== No more white boxes ===== */
.service-card,
.service-card:nth-child(2),
.service-card:nth-child(3) {
	background: transparent;
	border: 1px solid #D8CBB8;
}
.service-card:hover,
.service-card:focus-visible {
	background: #F1E7D9;
	border-color: #C9B79F;
	box-shadow: none;
}
.provider-card {
	background: transparent;
	border: 1px solid rgba(11, 43, 39, .14);
}
.provider-card:hover,
.provider-card:focus-visible {
	background: rgba(11, 43, 39, .045);
	box-shadow: none;
}
.location-card {
	background: transparent;
	border: 1px solid rgba(246, 238, 225, .22);
}
.location-card:hover { background: rgba(246, 238, 225, .06); }
.location-card h3 { color: var(--cream); }
.location-card p { color: rgba(246, 238, 225, .78); }
.location-card a { color: var(--peach); }
.location-card img { border: 1px solid rgba(246, 238, 225, .18); }

.doxyme-badge2 {
	background: #F1E7D9;
	border-color: #E3D8C7;
}

.staff-page .span-6 img,
.staff-page .staff-desc img {
	border-radius: 50%;
}

@media (min-width: 1200px) {
	.site-header > .span-10.top-pad,
	.home-page .site-header > .span-10.top-pad {
		width: 440px;
	}
	.site-header > .span-10.top-pad + .span-14.last,
	.home-page .site-header > .span-10.top-pad + .span-14.last {
		width: 610px;
	}
	.site-header .span-10.top-pad .brand-mark {
		width: 74px;
		max-width: 74px;
	}
	.brand-name {
		font-size: 34px;
	}
	.brand-group {
		font-size: 14px;
	}
}
@media (max-width: 991px) {
	.site-header .menu { margin-top: 10px; }
	.site-header .span-10.top-pad .brand {
		gap: 12px;
	}
	.site-header .span-10.top-pad .brand-mark { width: 52px; max-width: 52px; }
	.brand-name { font-size: 24px; }
	.brand-group { font-size: 12px; }
}
@media (max-width: 520px) {
	.site-header .menu { margin-top: 8px; }
	.site-header .span-10.top-pad .brand-mark { width: 46px; max-width: 46px; }
	.brand-name { font-size: 22px; }
	.brand-group { font-size: 11px; }
}

/* Small form icons: blend the baked white background into the cream */
.container img[src*="form-icon"] {
	mix-blend-mode: multiply;
}

/* OnPatient section heading: larger and heavier */
#OnPatient {
	font-size: 36px;
	font-weight: 800;
	letter-spacing: -.035em;
}

@media (max-width: 640px) {
	#OnPatient {
		font-size: 29px;
	}
}

/* ===== Homepage full-bleed sections ===== */
.home-page {
	overflow-x: hidden;
}

.home-hero,
.home-section {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding-left: max(20px, calc((100vw - 1100px) / 2));
	padding-right: max(20px, calc((100vw - 1100px) / 2));
}

.home-cta-band {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding: 56px max(20px, calc((100vw - 1100px) / 2));
	background: var(--cream);
}

.home-cta-band .home-cta {
	max-width: 1100px;
	margin: 0 auto;
}

@media (min-width: 992px) and (max-width: 1199px) {
	.home-hero,
	.home-section,
	.home-cta-band {
		padding-left: max(20px, calc((100vw - 950px) / 2));
		padding-right: max(20px, calc((100vw - 950px) / 2));
	}
}

@media (max-width: 991px) {
	.home-hero,
	.home-section {
		padding-left: 16px;
		padding-right: 16px;
	}

	.home-cta-band {
		padding: 40px 16px;
	}
}

/* Keep the centered header from shifting when a page does or does not scroll. */
html {
	scrollbar-gutter: stable;
}

/* Keep the desktop menu right-aligned on every page, not just the homepage. */
@media (min-width: 992px) {
	.site-header .menu ul {
		display: flex;
		justify-content: flex-end;
	}
	.site-header .menu ul li,
	.site-header .menu ul li a {
		float: none;
	}
	.site-header .menu ul li a {
		display: block;
	}
}

/* Breathing room before the Contact Us CTA on every page. */
.site-header .menu ul li:last-child {
	margin-left: 8px;
}
