/**
 * Bux Homepage Studio
 * Scoped to the generated concept page.
 *
 * The few !important declarations below are limited to the concept page and
 * exist only to neutralize Medicora's global page/header/footer wrappers.
 */

body.bux-homepage-active {
	--bux-green: #7ed859;
	--bux-teal: #215a6d;
	--bux-blue: #509eb8;
	--bux-blue-text: #377a91;
	--bux-white: #ffffff;
	--bux-light: #f5f5f5;
	--bux-ink: #173f4d;
	--bux-body: #3f5962;
	--bux-muted: #64767c;
	--bux-border: rgba(33, 90, 109, 0.14);
	--bux-wash: #eef5f6;
	--bux-green-wash: #f0faec;
	--bux-radius-sm: 10px;
	--bux-radius-md: 22px;
	--bux-radius-lg: 36px;
	--bux-shadow: 0 22px 70px rgba(23, 63, 77, 0.1);
	--bux-font-heading: "Poppins", "Avenir Next", "Segoe UI", sans-serif;
	--bux-font-body: "Inter", "Segoe UI", Arial, sans-serif;
	background: var(--bux-white);
	color: var(--bux-body);
	font-family: var(--bux-font-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.bux-homepage-active #site-header,
body.bux-homepage-active .site-footer,
body.bux-homepage-active footer#colophon,
body.bux-homepage-active .page-header {
	display: none !important;
}

body.bux-homepage-active #content.site-content,
body.bux-homepage-active #page.site,
body.bux-homepage-active #primary,
body.bux-homepage-active #primary[data-attr="single-page"],
body.bux-homepage-active .site-main,
body.bux-homepage-active article.bux-site-page-document,
body.bux-homepage-active article.bux-article,
body.bux-homepage-active .entry-content,
body.bux-homepage-active .content-area,
body.bux-homepage-active .elementor {
	box-sizing: border-box;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

body.bux-homepage-active #content.site-content {
	overflow: clip;
}

body.bux-homepage-active #page.site {
	min-width: 0;
}

body.bux-homepage-active.bux-menu-open {
	overflow: hidden;
}

body.bux-homepage-active :focus-visible {
	box-shadow: 0 0 0 6px #17617a;
	outline: 3px solid var(--bux-white);
	outline-offset: 2px;
}

.bux-homepage,
.bux-homepage *,
.bux-homepage *::before,
.bux-homepage *::after {
	box-sizing: border-box;
}

.bux-homepage {
	background: var(--bux-white);
	color: var(--bux-body);
	font-family: var(--bux-font-body);
	font-size: 18px;
	line-height: 1.62;
	max-width: none;
	overflow: clip;
	padding: 0;
	width: 100%;
}

.bux-homepage [id^="bux-"] {
	scroll-margin-top: 112px;
}

.bux-homepage .elementor-widget-bux_header {
	position: sticky;
	top: 0;
	z-index: 999;
}

/*
 * Elementor containers ship with a two-class flex selector. These equally
 * specific, page-scoped rules are intentionally later in the cascade so the
 * concept's editorial grids and row groups remain deterministic.
 */
.bux-homepage.bux-homepage {
	display: flex;
	flex-direction: column;
}

.bux-homepage .bux-homepage__hero-inner,
.bux-homepage .bux-trust-grid,
.bux-homepage .bux-trust-item,
.bux-homepage .bux-homepage__hero-proof,
.bux-homepage .bux-path-grid,
.bux-homepage .bux-path-step,
.bux-homepage .bux-heading-row,
.bux-homepage .bux-resources-grid,
.bux-homepage .bux-treatments-grid,
.bux-homepage .bux-treatment-tile,
.bux-homepage .bux-doctor-layout,
.bux-homepage .bux-doctor-credentials,
.bux-homepage .bux-stories-layout,
.bux-homepage .bux-stories-written,
.bux-homepage .bux-coverage-layout,
.bux-homepage .bux-coverage-logos,
.bux-homepage .bux-final-layout,
.bux-homepage .bux-locations-grid,
.bux-homepage .bux-footer-layout {
	display: grid;
}

.bux-homepage .bux-homepage__hero-copy,
.bux-homepage .bux-actions,
.bux-homepage .bux-trust-item,
.bux-homepage .bux-path-step,
.bux-homepage .bux-resource-card,
.bux-homepage .bux-treatment-tile,
.bux-homepage .bux-doctor-copy,
.bux-homepage .bux-story,
.bux-homepage .bux-coverage-copy,
.bux-homepage .bux-final-copy,
.bux-homepage .bux-location-card,
.bux-homepage .bux-footer-brand {
	flex-direction: column;
}

.bux-homepage .bux-homepage__hero-copy,
.bux-homepage .bux-resource-card,
.bux-homepage .bux-treatment-tile,
.bux-homepage .bux-doctor-copy,
.bux-homepage .bux-story,
.bux-homepage .bux-coverage-copy,
.bux-homepage .bux-final-copy,
.bux-homepage .bux-location-card,
.bux-homepage .bux-footer-brand {
	display: flex;
}

.bux-homepage .bux-actions {
	display: flex;
	flex-direction: row;
}

.bux-homepage .bux-homepage__hero-media {
	display: block;
}

.bux-homepage :where(h1, h2, h3, h4, p) {
	margin-block-start: 0;
}

.bux-homepage :where(h1, h2, h3, h4) {
	color: var(--bux-teal);
	font-family: var(--bux-font-heading);
	letter-spacing: -0.035em;
}

.bux-homepage :where(p, a, button) {
	font-family: var(--bux-font-body);
}

.bux-homepage img {
	display: block;
	height: auto;
	max-width: 100%;
}

.bux-section {
	max-width: none;
	position: relative;
	width: 100%;
}

.bux-homepage .bux-container {
	margin-inline: auto;
	max-width: none;
	padding: 0;
	width: min(calc(100% - 48px), 1200px);
}

.bux-homepage .bux-section > .bux-container:not(.bux-homepage__hero-inner):not(.bux-trust-grid):not(.bux-doctor-layout):not(.bux-coverage-layout):not(.bux-final-layout):not(.bux-footer-layout):not(.bux-footer-bottom) {
	display: block;
}

.bux-eyebrow,
.bux-eyebrow .elementor-heading-title {
	align-items: center;
	color: var(--bux-teal);
	display: flex;
	font-family: var(--bux-font-body);
	font-size: 13px;
	font-weight: 800;
	gap: 12px;
	letter-spacing: 0.16em;
	line-height: 1.3;
	margin: 0 0 24px;
	text-transform: uppercase;
}

/* Elementor wraps eyebrow text in a heading element. Keep the visual spacing
   on the outer widget so the rule centers against the letters, not the text's
   former bottom margin. */
.bux-eyebrow.elementor-widget {
	margin-bottom: 0 !important;
	padding-bottom: 24px;
}

.bux-eyebrow .elementor-heading-title {
	margin: 0;
}

.bux-eyebrow::before {
	background: var(--bux-green);
	border-radius: 999px;
	content: "";
	flex: 0 0 36px;
	height: 3px;
}

.bux-eyebrow--light,
.bux-eyebrow--light .elementor-heading-title {
	color: rgba(255, 255, 255, 0.76);
}

/* The hero eyebrow's box measures exactly its own max-content width, so it has
   no slack at all and tips to two lines under any zoom or font substitution. */
.bux-homepage__hero .bux-eyebrow,
.bux-homepage__hero .bux-eyebrow .elementor-heading-title {
	white-space: nowrap;
}

.bux-section-title .elementor-heading-title,
.bux-section-title {
	color: var(--bux-teal);
	font-family: var(--bux-font-heading);
	font-size: clamp(36px, 3.8vw, 52px);
	font-weight: 600;
	letter-spacing: -0.045em;
	line-height: 1.06;
	margin: 0;
	max-width: 760px;
}

.bux-section-title--light .elementor-heading-title,
.bux-section-title--light {
	color: var(--bux-white);
}

.bux-section-intro .elementor-widget-container,
.bux-section-intro {
	color: var(--bux-body);
	font-size: 19px;
	line-height: 1.65;
	max-width: 720px;
}

.bux-section-intro p {
	margin: 24px 0 0;
}

.bux-card-label,
.bux-card-label .elementor-heading-title {
	color: var(--bux-blue-text);
	font-family: var(--bux-font-body);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.4;
	margin: 0;
	text-transform: uppercase;
}

.bux-admin-note .elementor-widget-container,
.bux-admin-note {
	color: var(--bux-muted);
	font-size: 14px;
	font-style: italic;
	line-height: 1.55;
	margin-top: 18px;
}

/* Header */

.bux-header {
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid rgba(33, 90, 109, 0.09);
	position: relative;
	transition: background-color 250ms ease, box-shadow 250ms ease;
	width: 100%;
	z-index: 999;
}

.bux-header.is-scrolled {
	background: rgba(255, 255, 255, 0.985);
	box-shadow: 0 12px 36px rgba(23, 63, 77, 0.09);
}

.bux-header__inner {
	align-items: center;
	display: flex;
	height: 88px;
	margin-inline: auto;
	max-width: none;
	padding-inline: 0;
	width: min(calc(100% - 48px), 1280px);
}

/* Sizing the logo off the padded brand height rather than its own width gives
   it clear space above and below at every header height. */
.bux-header__brand {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	height: 100%;
	padding: 14px 0;
	position: relative;
	width: 180px;
	z-index: 2;
}

.bux-header__brand img {
	aspect-ratio: 2048 / 997;
	height: 100%;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.bux-header__nav {
	align-items: center;
	display: flex;
	gap: clamp(18px, 1.8vw, 30px);
	margin-left: auto;
}

.bux-header__nav > a,
.bux-header__submenu-toggle {
	align-items: center;
	color: var(--bux-teal);
	display: inline-flex;
	font-size: 16px;
	font-weight: 650;
	line-height: 1.3;
	min-height: 44px;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}

.bux-header__submenu-toggle {
	cursor: pointer;
	gap: 6px;
	list-style: none;
}

.bux-header__submenu-toggle::-webkit-details-marker {
	display: none;
}

.bux-header__nav > a:not(.bux-header__cta)::after,
.bux-header__submenu-toggle::after {
	background: var(--bux-green);
	bottom: -8px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 220ms ease;
	width: 100%;
}

.bux-header__nav > a:not(.bux-header__cta):hover::after,
.bux-header__nav > a:not(.bux-header__cta):focus-visible::after,
.bux-header__menu[open] .bux-header__submenu-toggle::after,
.bux-header__submenu-toggle:hover::after,
.bux-header__submenu-toggle:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.bux-header__menu {
	position: relative;
}

.bux-header__submenu {
	background: rgba(255, 255, 255, 0.995);
	border: 1px solid var(--bux-border);
	border-radius: 12px;
	box-shadow: 0 18px 48px rgba(23, 63, 77, 0.16);
	display: grid;
	gap: 4px;
	left: -18px;
	min-width: 224px;
	opacity: 0;
	padding: 8px;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 8px);
	transform: translateY(-6px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
	visibility: hidden;
	z-index: 10;
}

.bux-header__menu[open] .bux-header__submenu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

.bux-header__submenu a {
	border-radius: 8px;
	color: var(--bux-teal);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	padding: 11px 12px;
	text-decoration: none;
	white-space: nowrap;
}

.bux-header__submenu a:hover,
.bux-header__submenu a:focus-visible {
	background: var(--bux-wash);
}

.bux-header__nav .bux-header__cta {
	background: var(--bux-green);
	border: 1px solid var(--bux-green);
	border-radius: var(--bux-radius-sm);
	color: var(--bux-ink);
	font-weight: 800;
	margin-left: 6px;
	padding: 15px 21px;
	transition: background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.bux-header__nav .bux-header__cta:hover {
	background: #94e477;
	border-color: #94e477;
	transform: translateY(-2px);
}

.bux-accessibility-link--header {
	align-items: center;
	border: 1px solid var(--bux-border);
	border-radius: 50%;
	color: var(--bux-teal);
	display: inline-flex;
	flex: 0 0 auto;
	height: 42px;
	justify-content: center;
	margin-left: 14px;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
	width: 42px;
}

.bux-accessibility-link--header:hover,
.bux-accessibility-link--header:focus-visible {
	background: var(--bux-wash);
	border-color: var(--bux-green);
	transform: translateY(-2px);
}

.bux-accessibility-link--header img,
.bux-accessibility-footer-link img {
	display: block;
	height: 24px;
	width: 24px;
}

.bux-header__toggle {
	align-items: center;
	background: transparent;
	border: 1px solid var(--bux-border);
	border-radius: 10px;
	color: var(--bux-teal);
	display: none;
	gap: 10px;
	margin-left: auto;
	min-height: 48px;
	padding: 10px 13px;
}

.bux-header__toggle-label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.bux-header__toggle-icon {
	display: grid;
	gap: 4px;
	width: 20px;
}

.bux-header__toggle-icon span {
	background: currentColor;
	border-radius: 2px;
	display: block;
	height: 2px;
	transition: transform 200ms ease, opacity 200ms ease;
	width: 20px;
}

.bux-header__toggle[aria-expanded="true"] .bux-header__toggle-icon span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.bux-header__toggle[aria-expanded="true"] .bux-header__toggle-icon span:nth-child(2) {
	opacity: 0;
}

.bux-header__toggle[aria-expanded="true"] .bux-header__toggle-icon span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

/* Buttons */

.bux-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.bux-button .elementor-button,
a.bux-button,
button.bux-button,
.bux-condition-explorer__cta {
	appearance: none;
	align-items: center;
	border: 1px solid transparent;
	border-radius: var(--bux-radius-sm);
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1.2;
	min-height: 54px;
	padding: 16px 25px;
	text-decoration: none;
	text-transform: none;
	transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.bux-button .elementor-button::after,
a.bux-button::after,
button.bux-button::after,
.bux-condition-explorer__cta::after {
	content: "→";
	margin-left: 11px;
	transition: transform 220ms ease;
}

.bux-button .elementor-button:hover::after,
a.bux-button:hover::after,
button.bux-button:hover::after,
.bux-condition-explorer__cta:hover::after {
	transform: translateX(4px);
}

.bux-button--primary .elementor-button,
a.bux-button--primary,
button.bux-button--primary {
	background: var(--bux-green);
	border-color: var(--bux-green);
	color: var(--bux-ink);
}

.bux-button--primary .elementor-button:hover,
a.bux-button--primary:hover,
button.bux-button--primary:hover {
	background: #94e477;
	border-color: #94e477;
	color: var(--bux-ink);
	transform: translateY(-2px);
}

.bux-button--secondary .elementor-button,
a.bux-button--secondary {
	background: transparent;
	border-color: rgba(33, 90, 109, 0.28);
	color: var(--bux-teal);
}

.bux-button--secondary .elementor-button:hover,
a.bux-button--secondary:hover {
	background: var(--bux-wash);
	border-color: var(--bux-teal);
	color: var(--bux-teal);
}

.bux-button--outline .elementor-button,
a.bux-button--outline,
.bux-condition-explorer__cta {
	background: var(--bux-white);
	border-color: rgba(33, 90, 109, 0.25);
	color: var(--bux-teal);
}

.bux-button--outline .elementor-button:hover,
a.bux-button--outline:hover,
.bux-condition-explorer__cta:hover {
	background: var(--bux-teal);
	border-color: var(--bux-teal);
	color: var(--bux-white);
}

.bux-button--light-outline .elementor-button,
a.bux-button--light-outline {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.34);
	color: var(--bux-white);
}

.bux-button--light-outline .elementor-button:hover,
a.bux-button--light-outline:hover {
	background: var(--bux-white);
	border-color: var(--bux-white);
	color: var(--bux-ink);
}

.bux-button--light .elementor-button,
a.bux-button--light,
button.bux-button--light {
	background: var(--bux-white);
	border-color: var(--bux-white);
	color: var(--bux-ink);
}

.bux-button--light .elementor-button:hover,
a.bux-button--light:hover,
button.bux-button--light:hover {
	background: var(--bux-green);
	border-color: var(--bux-green);
	color: var(--bux-ink);
	transform: translateY(-2px);
}

.bux-text-link .elementor-button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--bux-teal);
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	min-height: 44px;
	padding: 0;
	text-decoration: underline;
	text-decoration-color: rgba(126, 216, 89, 0.7);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.bux-text-link .elementor-button::after {
	content: "↗";
	margin-left: 8px;
}

/* Hero */

.bux-homepage__hero {
	background:
		radial-gradient(circle at 91% 9%, rgba(126, 216, 89, 0.14), transparent 26%),
		linear-gradient(120deg, #ffffff 0%, #ffffff 53%, #eef5f6 53%, #eef5f6 100%);
	min-height: min(900px, calc(100svh - 88px));
	padding: clamp(72px, 9vw, 126px) 0 clamp(82px, 9vw, 118px);
}

.bux-homepage__hero::before {
	border: 1px solid rgba(33, 90, 109, 0.08);
	border-radius: 50%;
	content: "";
	height: 520px;
	position: absolute;
	right: -260px;
	top: -120px;
	width: 520px;
}

.bux-homepage__hero-inner {
	align-items: center;
	display: grid;
	gap: clamp(58px, 7vw, 106px);
	grid-template-columns: minmax(0, 1.03fr) minmax(420px, 0.97fr);
}

.bux-homepage__hero-copy {
	align-items: flex-start;
	position: relative;
	z-index: 2;
}

.bux-homepage__hero-title .elementor-heading-title {
	color: var(--bux-ink);
	font-family: var(--bux-font-heading);
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 620;
	letter-spacing: -0.062em;
	line-height: 0.99;
	margin: 0;
	max-width: 760px;
}

.bux-homepage__hero-title .elementor-heading-title::after {
	background: var(--bux-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 7px;
	margin-top: 24px;
	transform: rotate(-1deg);
	width: clamp(110px, 16vw, 220px);
}

.bux-homepage__lead,
.bux-homepage__lead .elementor-widget-container {
	color: var(--bux-body);
	font-size: 19px;
	line-height: 1.65;
	margin: 28px 0 34px;
	max-width: 650px;
}

.bux-homepage__lead p {
	margin: 0;
}

.bux-homepage__hero-proof {
	border-top: 1px solid var(--bux-border);
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 42px;
	padding-top: 25px;
	width: 100%;
}

/* The divider is drawn in the column gap rather than as a border+padding on the
   item, so all three columns stay an identical 1fr of usable text width.
   Previously items 2 and 3 gave up 15px to the border and padding and read
   narrower than the first. */
.bux-proof {
	position: relative;
}

.bux-proof + .bux-proof::before {
	border-left: 1px solid var(--bux-border);
	bottom: 0;
	content: "";
	left: -14px;
	position: absolute;
	top: 0;
}

.bux-proof,
.bux-proof .elementor-widget-container {
	display: grid;
	gap: 4px;
}

/* These labels sat ~1.5px over their column and broke to two lines; the wider
   columns above give real room, and nowrap keeps them on one line under zoom. */
.bux-proof strong {
	color: var(--bux-teal);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
	white-space: nowrap;
}

.bux-proof span {
	color: var(--bux-muted);
	font-size: 15px;
	line-height: 1.45;
}

.bux-homepage__hero-media {
	aspect-ratio: 0.92;
	isolation: isolate;
	position: relative;
}

.bux-homepage__hero-image {
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 89%;
	z-index: 1;
}

.bux-homepage__hero-image .elementor-widget-container,
.bux-homepage__hero-image img {
	height: 100%;
	width: 100%;
}

.bux-homepage__hero-image img {
	aspect-ratio: 1600 / 1100;
	border-radius: 44% 12% 36% 12% / 23% 12% 30% 16%;
	box-shadow: 0 34px 90px rgba(23, 63, 77, 0.18);
	object-fit: cover;
}

/* The white frame is a background the image sits on top of, not a border beside
   it. A border meets the image at a seam, and on the rounded corners the dark
   photo behind bled through that seam as a black hairline. */
.bux-homepage__hero-spine {
	background: #ffffff;
	border-radius: 27px;
	bottom: -4%;
	height: 74%;
	left: -7%;
	padding: 7px;
	position: absolute;
	transform: rotate(-3deg);
	width: 37%;
	z-index: 2;
}

.bux-homepage__hero-spine .elementor-widget-container,
.bux-homepage__hero-spine img {
	height: 100%;
	width: 100%;
}

/* KeyDesign sets `.elementor-widget-image img { border-radius: var(--global-border-radius) }`
   after this file at equal specificity, flattening the intended asymmetric frame.
   The body-scoped selector below outranks it. */
body.bux-homepage-active .bux-homepage .bux-homepage__hero-spine img {
	border: 0;
	/* 20px matches the lifestyle photo beside it, so the two hero images read
	   as a matched pair rather than two different corner treatments. */
	border-radius: 20px;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: 50% 45%;
	overflow: hidden;
	width: 100%;
}

.bux-media-chip {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 15px;
	box-shadow: 0 16px 46px rgba(23, 63, 77, 0.14);
	display: grid;
	gap: 3px;
	padding: 14px 17px;
	position: absolute;
	z-index: 3;
}

.bux-media-chip .elementor-widget-container {
	display: grid;
	gap: 3px;
}

.bux-media-chip p {
	display: grid;
	gap: 3px;
	margin: 0;
}

.bux-media-chip span {
	color: var(--bux-blue-text);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.bux-media-chip strong {
	color: var(--bux-teal);
	font-size: 15px;
	line-height: 1.3;
}

/* The chip now carries two label/value pairs, so separate them — the 3px grid
   gap alone runs them together. */
.bux-media-chip strong + span {
	margin-top: 9px;
}

.bux-media-chip--top {
	right: -2%;
	top: 14%;
}

.bux-media-chip--bottom {
	bottom: 6%;
	right: 2%;
}

/* Trust strip */

.bux-homepage__trust {
	background: var(--bux-white);
	padding: 0 0 clamp(82px, 9vw, 120px);
}

.bux-trust-grid {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 24px;
	box-shadow: 0 22px 68px rgba(23, 63, 77, 0.08);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: -40px;
	padding: 0;
	position: relative;
	z-index: 4;
}

.bux-trust-item {
	align-items: center;
	display: grid;
	gap: 3px 14px;
	grid-template-columns: 48px 1fr;
	padding: 27px clamp(18px, 2.4vw, 32px);
}

.bux-trust-item + .bux-trust-item {
	border-left: 1px solid var(--bux-border);
}

.bux-trust-item .bux-icon {
	grid-row: 1 / span 2;
}

.bux-icon img {
	height: 42px;
	object-fit: contain;
	width: 42px;
}

.bux-trust-item__title .elementor-heading-title {
	color: var(--bux-teal);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.3;
	margin: 0;
}

.bux-trust-item__copy,
.bux-trust-item__copy .elementor-widget-container {
	color: var(--bux-muted);
	font-size: 16px;
	line-height: 1.35;
}

.bux-trust-item__copy p {
	margin: 0;
}

/* Condition explorer */

.bux-homepage__conditions {
	background:
		linear-gradient(rgba(33, 90, 109, 0.028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(33, 90, 109, 0.028) 1px, transparent 1px),
		var(--bux-wash);
	background-size: 48px 48px;
	padding: clamp(90px, 10vw, 142px) 0;
}

/* Same split and gutter as `.bux-heading-row` so the two section headers on the
   page share one proportion: wide heading column, narrower intro column. */
.bux-condition-explorer__intro {
	column-gap: 50px;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
	margin-bottom: clamp(54px, 6vw, 82px);
}

.bux-condition-explorer__intro .bux-eyebrow {
	grid-column: 1 / -1;
}

.bux-condition-explorer__intro h2 {
	font-size: clamp(36px, 3.8vw, 52px);
	font-weight: 620;
	line-height: 1;
	margin: 0;
}

.bux-condition-explorer__intro > p {
	align-self: end;
	color: var(--bux-body);
	font-size: 19px;
	line-height: 1.65;
	margin: 0;
	max-width: 680px;
}

.bux-condition-explorer__layout {
	align-items: start;
	display: grid;
	gap: clamp(40px, 6vw, 78px);
	grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);
}

.bux-condition-map {
	position: sticky;
	top: 118px;
}

/* Matches the body-map artwork exactly (1111x1416). If the frame ratio and the
   image ratio diverge, `object-fit: contain` letterboxes the figure and every
   marker percentage drifts off the anatomy. Update both together. */
.bux-condition-map__frame {
	aspect-ratio: 1111 / 1416;
	background: rgba(255, 255, 255, 0.76);
	border: 1px solid rgba(33, 90, 109, 0.16);
	border-radius: 36px;
	box-shadow: var(--bux-shadow);
	overflow: hidden;
	position: relative;
}

.bux-condition-map__frame::before {
	background: var(--bux-green);
	border-radius: 999px;
	content: "";
	height: 7px;
	left: 50%;
	position: absolute;
	top: 20px;
	transform: translateX(-50%);
	width: 54px;
	z-index: 2;
}

.bux-condition-map__frame > img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

/* The hotspot is a 44px touch target; the visible node is the small glowing dot
   centred inside it, so the tap area is finger-sized without the dot being big. */
.bux-condition-marker {
	background: none;
	border: 0;
	cursor: pointer;
	height: 44px;
	left: var(--marker-x);
	padding: 0;
	position: absolute;
	top: var(--marker-y);
	transform: translate(-50%, -50%);
	width: 44px;
	-webkit-tap-highlight-color: transparent;
}

.bux-condition-marker > span {
	background: radial-gradient(circle, var(--bux-white) 0 26%, var(--bux-green) 52%, var(--bux-green) 100%);
	border-radius: 50%;
	box-shadow:
		0 0 5px 1px rgba(126, 216, 89, 0.95),
		0 0 14px 5px rgba(126, 216, 89, 0.45);
	height: 13px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: height 180ms ease, width 180ms ease, box-shadow 180ms ease;
	width: 13px;
}

.bux-condition-marker:hover > span {
	box-shadow:
		0 0 7px 2px rgba(126, 216, 89, 1),
		0 0 20px 8px rgba(126, 216, 89, 0.55);
	height: 16px;
	width: 16px;
}

.bux-condition-marker:focus-visible {
	border-radius: 50%;
	outline: 3px solid var(--bux-teal);
	outline-offset: 2px;
}

.bux-condition-marker.is-active > span {
	box-shadow:
		0 0 8px 2px rgba(126, 216, 89, 1),
		0 0 26px 10px rgba(126, 216, 89, 0.6);
	height: 20px;
	width: 20px;
}

@media (prefers-reduced-motion: reduce) {
	.bux-condition-marker > span {
		transition: none;
	}
}

.bux-condition-map__caption {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 17px 10px 0;
}

.bux-condition-map__caption span {
	color: var(--bux-muted);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bux-condition-map__caption strong {
	color: var(--bux-teal);
	font-size: 15px;
}

.bux-condition-controls {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.bux-homepage-active .bux-homepage .bux-condition-control {
	align-items: center;
	background: rgba(255, 255, 255, 0.74);
	border: 1px solid rgba(33, 90, 109, 0.15);
	border-radius: 14px;
	color: var(--bux-teal);
	display: flex;
	font-family: var(--e-global-typography-text-font-family, var(--bux-font-body));
	font-size: 16px;
	font-weight: 600;
	gap: 12px;
	line-height: 1.3;
	min-height: 68px;
	padding: 11px 15px;
	position: relative;
	text-align: left;
	transition: background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.bux-condition-control img {
	height: 36px;
	object-fit: contain;
	width: 36px;
}

.bux-condition-control:hover {
	background: var(--bux-white);
	border-color: rgba(33, 90, 109, 0.3);
	transform: translateY(-2px);
}

.bux-condition-control.is-active {
	background: var(--bux-white);
	border-color: var(--bux-green);
	box-shadow: 0 0 0 2px rgba(126, 216, 89, 0.2);
}

.bux-condition-control.is-active::after {
	background: var(--bux-green);
	border-radius: 50%;
	color: var(--bux-green);
	content: "";
	height: 6px;
	position: absolute;
	right: 7px;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
}

.bux-condition-detail {
	align-items: start;
	background: var(--bux-ink);
	border-radius: 28px;
	color: rgba(255, 255, 255, 0.74);
	display: grid;
	gap: 24px;
	grid-template-columns: auto 1fr;
	margin-top: 18px;
	min-height: 286px;
	overflow: hidden;
	padding: clamp(28px, 4vw, 44px);
	position: relative;
}

.bux-condition-detail::after {
	border: 1px solid rgba(126, 216, 89, 0.16);
	border-radius: 50%;
	content: "";
	height: 230px;
	position: absolute;
	right: -90px;
	top: -90px;
	width: 230px;
}

.bux-condition-detail__index {
	color: var(--bux-green);
	font-family: var(--e-global-typography-primary-font-family, var(--bux-font-heading));
	font-size: 18px;
	font-weight: 620;
	line-height: 1;
}

.bux-condition-detail .bux-card-label {
	color: var(--bux-green);
}

.bux-condition-detail h3 {
	color: var(--bux-white);
	font-family: var(--e-global-typography-primary-font-family, var(--bux-font-heading));
	font-size: clamp(24px, 2.2vw, 30px);
	font-weight: 620;
	line-height: 1.12;
	margin: 9px 0 14px;
}

.bux-condition-detail p {
	color: rgba(255, 255, 255, 0.74);
	font-family: var(--e-global-typography-text-font-family, var(--bux-font-body));
	font-size: 17px;
	font-weight: 400;
	line-height: 1.7;
	margin: 0 0 22px;
	max-width: 590px;
}

.bux-condition-detail a {
	align-items: center;
	color: var(--bux-white);
	display: inline-flex;
	font-family: var(--e-global-typography-text-font-family, var(--bux-font-body));
	font-size: 15px;
	font-weight: 700;
	min-height: 44px;
	text-decoration: none;
}

.bux-condition-detail a span {
	color: var(--bux-green);
	display: inline-block;
	margin-left: 7px;
	transition: transform 200ms ease;
}

.bux-condition-detail a:hover span {
	transform: translateX(4px);
}

/* Every other button on the page is an Elementor button widget, so it inherits
   the kit's accent typography — uppercase, 2px tracking, accent family. This one
   is a plain anchor in the widget template and has to opt in, or it reads as a
   different button next to "View All Resources". */
.bux-condition-explorer__cta {
	font-family: var(--e-global-typography-accent-font-family, var(--bux-font-body));
	letter-spacing: 2px;
	margin-top: 18px;
	text-transform: uppercase;
}

.bux-condition-fallback {
	margin-top: 32px;
}

/* Path to relief */

.bux-homepage__path {
	background: var(--bux-white);
	padding: clamp(90px, 10vw, 144px) 0;
}

.bux-path-grid {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(44px, 4.5vw, 64px);
	position: relative;
}

.bux-path-cta {
	margin-top: clamp(38px, 4vw, 56px);
}

/* The circles sit at the grid's 10px padding edge, so their centre is 10 + 40 =
   50px down; 49px puts the 2px rule's centre exactly there. Measure this with
   the reveal settled — `.bux-reveal` holds the steps 18px lower until it fires. */
.bux-path-grid::before {
	background: linear-gradient(90deg, transparent, var(--bux-green) 12%, var(--bux-blue) 88%, transparent);
	content: "";
	height: 2px;
	left: 15%;
	position: absolute;
	right: 15%;
	top: 49px;
}

/* Without this the step's rows stretch to fill the tallest column, which pushed
   the shorter steps' circles a few pixels below the first one's. */
.bux-path-step {
	align-content: start;
	align-items: center;
	padding: 0 clamp(24px, 3.5vw, 48px);
	text-align: center;
}

.bux-path-step__number .elementor-heading-title {
	align-items: center;
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 50%;
	box-shadow: 0 12px 34px rgba(23, 63, 77, 0.08);
	color: var(--bux-blue-text);
	display: flex;
	font-size: 16px;
	font-weight: 800;
	height: 80px;
	justify-content: center;
	letter-spacing: 0.04em;
	margin: 0 auto 30px;
	position: relative;
	width: 80px;
	z-index: 2;
}

.bux-path-step:nth-child(2) .bux-path-step__number .elementor-heading-title {
	background: var(--bux-green);
	border-color: var(--bux-green);
	color: var(--bux-ink);
}

.bux-path-step__title .elementor-heading-title {
	color: var(--bux-teal);
	font-size: 22px;
	font-weight: 620;
	margin: 0 0 14px;
}

.bux-path-step__copy,
.bux-path-step__copy .elementor-widget-container {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.68;
}

.bux-path-step__copy p {
	margin: 0;
}

/* Pain Points */

.bux-homepage__pain-points {
	background:
		radial-gradient(circle at 8% 8%, rgba(80, 158, 184, 0.22), transparent 25%),
		radial-gradient(circle at 95% 86%, rgba(126, 216, 89, 0.1), transparent 23%),
		var(--bux-ink);
	padding: clamp(92px, 10vw, 148px) 0;
}

.bux-homepage__pain-points::before {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 110px 100%;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.bux-pain-points {
	align-items: center;
	display: grid;
	gap: clamp(52px, 7vw, 96px);
	grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr);
	position: relative;
}

.bux-pain-points__visual {
	position: relative;
}

.bux-pain-points__poster {
	aspect-ratio: 16 / 9;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 28px;
	box-shadow: 0 32px 100px rgba(0, 0, 0, 0.28);
	overflow: hidden;
	position: relative;
}

.bux-pain-points__poster > img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.bux-pain-points__poster::after {
	background: linear-gradient(180deg, transparent 44%, rgba(10, 34, 43, 0.86));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.bux-video-button {
	align-items: center;
	background: var(--bux-green);
	border: 0;
	border-radius: 50%;
	box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.12);
	display: flex;
	height: 76px;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: box-shadow 220ms ease, transform 220ms ease;
	width: 76px;
	z-index: 3;
}

.bux-video-button > span {
	border-bottom: 10px solid transparent;
	border-left: 16px solid var(--bux-ink);
	border-top: 10px solid transparent;
	margin-left: 4px;
}

.bux-video-button:hover {
	box-shadow: 0 0 0 16px rgba(255, 255, 255, 0.14);
	transform: translate(-50%, -50%) scale(1.04);
}

.bux-pain-points__poster-meta {
	bottom: 26px;
	display: grid;
	gap: 5px;
	left: 28px;
	position: absolute;
	z-index: 3;
}

.bux-pain-points__poster-meta span {
	color: var(--bux-green);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.15em;
}

.bux-pain-points__poster-meta strong {
	color: var(--bux-white);
	font-size: 15px;
	letter-spacing: 0.04em;
}

.bux-pain-points__signal {
	align-items: end;
	display: flex;
	gap: 7px;
	height: 42px;
	margin: 22px 0 0 30px;
}

.bux-pain-points__signal span {
	background: linear-gradient(var(--bux-green), var(--bux-blue));
	border-radius: 99px;
	display: block;
	height: 18px;
	opacity: 0.7;
	width: 4px;
}

.bux-pain-points__signal span:nth-child(2) {
	height: 34px;
}

.bux-pain-points__signal span:nth-child(3) {
	height: 24px;
}

.bux-pain-points__signal span:nth-child(4) {
	height: 42px;
}

.bux-pain-points__signal span:nth-child(5) {
	height: 28px;
}

.bux-pain-points__content h2 {
	color: var(--bux-white);
	font-size: clamp(36px, 3.8vw, 52px);
	font-weight: 600;
	line-height: 1.05;
	margin: 0;
}

.bux-pain-points__intro {
	color: rgba(255, 255, 255, 0.7);
	font-size: 19px;
	line-height: 1.65;
	margin: 24px 0 32px;
	max-width: 590px;
}

.bux-pain-points__intro p {
	color: inherit;
	margin: 0;
}

body.bux-homepage-active .bux-homepage__pain-points .bux-pain-points__intro {
	color: rgba(255, 255, 255, 0.7);
}

.bux-episode-list {
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	margin-bottom: 34px;
}

.bux-episode {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	display: grid;
	gap: 18px;
	grid-template-columns: 110px 1fr;
	padding: 17px 0;
}

.bux-episode__thumb {
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	display: block;
	overflow: hidden;
	position: relative;
}

.bux-episode__thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.bux-episode__thumb > span {
	align-items: center;
	background: rgba(23, 63, 77, 0.82);
	bottom: 0;
	color: var(--bux-green);
	display: flex;
	font-family: var(--e-global-typography-text-font-family, var(--bux-font-body));
	font-size: 12px;
	font-weight: 600;
	justify-content: center;
	position: absolute;
	right: 0;
	top: 0;
	width: 28px;
}

.bux-episode__meta {
	color: rgba(255, 255, 255, 0.54);
	display: flex;
	font-family: var(--e-global-typography-text-font-family, var(--bux-font-body));
	font-size: 12px;
	font-weight: 600;
	gap: 12px;
	letter-spacing: 0.1em;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.bux-episode__meta span:first-child {
	color: var(--bux-green);
}

/* Rethink Sans loads as discrete static weights (400/500/600/700/800), so any
   intermediate value snaps up to the next available face: 520 renders as 600
   and 620 renders as 700. Only the listed weights are usable here. */
.bux-episode h3 {
	color: var(--bux-white);
	font-family: var(--e-global-typography-primary-font-family, var(--bux-font-heading));
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.35;
	margin: 0;
}

.bux-episode h3 a {
	color: inherit;
	text-decoration: none;
}

/* Match the outlined-button treatment used elsewhere on the page. */
.bux-pain-points__content a.bux-button {
	font-family: var(--e-global-typography-text-font-family, var(--bux-font-body));
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.bux-video-dialog {
	background: var(--bux-white);
	border: 0;
	border-radius: 24px;
	box-shadow: 0 30px 110px rgba(0, 0, 0, 0.4);
	color: var(--bux-body);
	max-width: min(540px, calc(100vw - 32px));
	padding: 42px;
}

.bux-video-dialog::backdrop {
	background: rgba(9, 32, 41, 0.78);
	backdrop-filter: blur(5px);
}

.bux-video-dialog h3 {
	color: var(--bux-teal);
	font-size: 30px;
	margin: 10px 0 15px;
}

.bux-video-dialog p {
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
}

.bux-video-dialog__close {
	align-items: center;
	background: var(--bux-wash);
	border: 0;
	border-radius: 50%;
	color: var(--bux-teal);
	display: flex;
	font-size: 25px;
	height: 44px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 14px;
	top: 14px;
	width: 44px;
}

/* Editorial resources */

.bux-homepage__resources {
	background: var(--bux-white);
	padding: clamp(92px, 10vw, 150px) 0;
}

.bux-heading-row {
	align-items: end;
	display: grid;
	gap: 50px;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
}

.bux-heading-row__intro,
.bux-heading-row__intro .elementor-widget-container {
	color: var(--bux-body);
	font-size: 19px;
	line-height: 1.72;
}

.bux-heading-row__intro p {
	margin: 0;
}

/* Treatments and Patient Stories carry the same header proportion as
   `.bux-heading-row` above — wide heading column, narrower intro, bottom
   aligned. They can't reuse that class because their eyebrow, heading and intro
   are siblings of the section's content grid and CTA rather than sitting in
   their own wrapper, so the columns are assigned by explicit placement. */
#bux-treatments,
#bux-stories {
	align-items: end;
	column-gap: 50px;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
}

#bux-treatments > .bux-eyebrow,
#bux-stories > .bux-eyebrow,
#bux-treatments > .bux-treatments-grid,
#bux-stories > .bux-stories-layout,
#bux-treatments > .bux-button,
#bux-stories > .bux-button {
	grid-column: 1 / -1;
}

#bux-treatments > .bux-section-title,
#bux-stories > .bux-section-title {
	grid-column: 1;
}

#bux-treatments > .bux-section-intro,
#bux-stories > .bux-section-intro {
	grid-column: 2;
}

/* Stacked, the intro used a top margin to clear the heading. Side by side it
   bottom-aligns instead, so that margin would break the alignment. */
#bux-treatments > .bux-section-intro p,
#bux-stories > .bux-section-intro p {
	margin-top: 0;
}

.bux-resources-grid {
	align-items: start;
	display: grid;
	gap: 24px;
	grid-template-columns: 1.25fr 0.92fr 0.92fr;
	margin: clamp(54px, 7vw, 84px) 0 36px;
}

.bux-resource-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 24px;
	box-shadow: 0 16px 46px rgba(23, 63, 77, 0.06);
	overflow: hidden;
	padding: 0 26px 28px;
	transition: box-shadow 240ms ease, transform 240ms ease;
}

.bux-resource-card:hover {
	box-shadow: 0 25px 70px rgba(23, 63, 77, 0.11);
	transform: translateY(-5px);
}

.bux-resource-card--2 {
	margin-top: 64px;
}

.bux-resource-card--3 {
	margin-top: 20px;
}

.bux-resource-card__image {
	margin: 0 -26px 24px;
	overflow: hidden;
}

.bux-resource-card__image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform 350ms ease;
	width: 100%;
}

.bux-resource-card:hover .bux-resource-card__image img {
	transform: scale(1.025);
}

.bux-resource-card--1 .bux-resource-card__image img {
	aspect-ratio: 1.42;
}

@media (min-width: 1025px) {
	.bux-resources-grid {
		align-items: stretch;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bux-resource-card--2,
	.bux-resource-card--3 {
		margin-top: 0;
	}

	.bux-resource-card--1 .bux-resource-card__image img {
		aspect-ratio: 3 / 2;
	}
}

/* Reserve two lines so a one-line title doesn't pull its card's copy and link
   up out of line with the others. */
.bux-resource-card__title .elementor-heading-title {
	color: var(--bux-teal);
	font-size: 22px;
	font-weight: 620;
	line-height: 1.17;
	margin: 10px 0 13px;
	min-height: 2.34em;
}

.bux-resource-card__copy,
.bux-resource-card__copy .elementor-widget-container {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.65;
}

.bux-resource-card__copy p {
	margin: 0 0 19px;
}

/* Treatments */

.bux-homepage__treatments {
	background: var(--bux-light);
	padding: clamp(92px, 10vw, 148px) 0;
}

.bux-treatments-grid {
	align-items: stretch;
	display: grid;
	gap: 22px;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: clamp(48px, 6vw, 68px) 0 38px;
}

.bux-treatment-tile {
	background: var(--bux-white);
	border: 1px solid rgba(33, 90, 109, 0.18);
	border-radius: 22px;
	box-shadow: 0 10px 28px rgba(23, 63, 77, 0.055);
	display: flex;
	flex-direction: column;
	min-height: 300px;
	overflow: hidden;
	padding: 34px;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.bux-treatment-tile:hover,
.bux-treatment-tile:focus-within {
	border-color: rgba(33, 90, 109, 0.38);
	box-shadow: 0 16px 36px rgba(23, 63, 77, 0.1);
	transform: translateY(-3px);
}

.bux-treatment-tile__number {
	display: none;
}

.bux-treatment-tile__icon {
	background: rgba(126, 216, 89, 0.11);
	border: 1px solid rgba(126, 216, 89, 0.24);
	border-radius: 20px;
	display: grid;
	flex: 0 0 76px;
	height: 76px;
	line-height: 0;
	margin: 0 0 26px;
	place-items: center;
	width: 76px;
}

.bux-treatment-tile:nth-child(even) .bux-treatment-tile__icon {
	background: rgba(80, 158, 184, 0.09);
	border-color: rgba(80, 158, 184, 0.18);
}

.bux-treatment-tile__icon .elementor-widget-container {
	display: grid;
	height: 100%;
	place-items: center;
	width: 100%;
}

.bux-treatment-tile__icon img {
	background: transparent;
	border-radius: 0;
	box-sizing: border-box;
	height: 52px;
	margin: 0;
	object-fit: contain;
	padding: 0;
	width: 52px;
}

.bux-treatment-tile__title,
.bux-treatment-tile__copy {
	width: 100%;
}

.bux-treatment-tile__title .elementor-heading-title {
	color: var(--bux-teal);
	font-size: 22px;
	font-weight: 620;
	line-height: 1.18;
	margin: 0 0 14px;
}

.bux-treatment-tile__copy,
.bux-treatment-tile__copy .elementor-widget-container {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.65;
}

.bux-treatment-tile__copy p {
	margin: 0;
}

/* Doctor */

.bux-homepage__doctor {
	background: var(--bux-white);
	padding: clamp(92px, 10vw, 150px) 0;
}

.bux-doctor-layout {
	align-items: center;
	display: grid;
	gap: clamp(60px, 9vw, 130px);
	grid-template-columns: minmax(400px, 0.92fr) minmax(0, 1.08fr);
}

.bux-doctor-media {
	isolation: isolate;
	position: relative;
}

.bux-doctor-media::before {
	border: 1px solid rgba(80, 158, 184, 0.24);
	border-radius: 48% 48% 14% 14%;
	content: "";
	inset: -34px 28px 28px -34px;
	position: absolute;
	z-index: -1;
}

.bux-doctor-image img {
	aspect-ratio: 5 / 6;
	border-radius: 48% 48% 13% 13%;
	box-shadow: 0 30px 90px rgba(23, 63, 77, 0.15);
	object-fit: cover;
	width: 100%;
}

.bux-doctor-media__label .elementor-heading-title {
	background: var(--bux-ink);
	border-radius: 12px;
	bottom: 20px;
	color: var(--bux-white);
	font-family: var(--bux-font-body);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.14em;
	padding: 14px 17px;
	position: absolute;
	right: -20px;
	transform: rotate(-2deg);
}

.bux-doctor-copy__body,
.bux-doctor-copy__body .elementor-widget-container {
	color: var(--bux-body);
	font-size: 18px;
	line-height: 1.65;
	max-width: 680px;
}

.bux-doctor-copy__body p {
	margin: 22px 0 0;
}

.bux-doctor-credentials {
	border-bottom: 1px solid var(--bux-border);
	border-top: 1px solid var(--bux-border);
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 33px 0;
	padding: 17px 0;
}

.bux-doctor-credential,
.bux-doctor-credential .elementor-widget-container {
	align-items: center;
	color: var(--bux-teal);
	display: flex;
	font-size: 15px;
	font-weight: 700;
	gap: 9px;
	line-height: 1.4;
	padding: 9px 6px;
}

.bux-doctor-credential p {
	margin: 0;
}

.bux-doctor-credential span {
	color: var(--bux-green);
	font-size: 17px;
}

/* Stories */

.bux-homepage__stories {
	background: var(--bux-wash);
	padding: clamp(92px, 10vw, 148px) 0;
}

.bux-stories-layout {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(280px, 0.72fr) minmax(480px, 1.28fr);
	margin: clamp(52px, 7vw, 82px) 0 35px;
}

.bux-stories-written {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bux-story {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 20px;
	padding: 27px;
}

.bux-story--featured {
	background: var(--bux-teal);
	border-color: var(--bux-teal);
	grid-column: 1 / -1;
	min-height: 300px;
	padding: clamp(32px, 4vw, 46px);
}

.bux-story--featured .bux-card-label .elementor-heading-title {
	color: var(--bux-green);
}

.bux-story__quote,
.bux-story__quote .elementor-widget-container {
	color: var(--bux-white);
	font-family: var(--bux-font-heading);
	font-size: clamp(24px, 2.5vw, 34px);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.35;
	margin: 32px 0 24px;
}

.bux-story__quote p::before {
	content: none;
}

.bux-story__quote p {
	display: grid;
	gap: 18px;
}

.bux-story__title-inline {
	color: var(--bux-white);
	display: block;
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.08;
}

.bux-story__title-inline + span {
	color: rgba(255, 255, 255, 0.88);
	font-family: var(--bux-font-body);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.65;
}

/* Secure HIPAAtizer forms */
.bux-secure-form-shell {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 20px;
	box-shadow: 0 18px 48px rgba(23, 63, 77, 0.12);
	overflow: hidden;
}

.bux-secure-form-shell--referral {
	margin-top: 34px;
	text-align: left;
}

/*
 * HIPAAtizer applies `word-break: break-all` inside its protected iframe.
 * The iframe is cross-origin, so reclaim the appointment card's unused side
 * padding to give the consent sentence enough room to wrap at whole words.
 */
.bux-appointment-page .bux-secure-form-shell {
	margin-inline: -52px;
}

.bux-secure-form-fallback {
	color: var(--bux-body);
	font-size: 14px;
	margin: 0;
	padding: 14px 20px 18px;
	text-align: center;
}

.bux-secure-form-fallback a {
	font-weight: 800;
	text-decoration: underline;
}


.bux-story__meta,
.bux-story__meta .elementor-widget-container {
	color: rgba(255, 255, 255, 0.57);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.bux-story__copy,
.bux-story__copy .elementor-widget-container {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.65;
	margin-top: 21px;
}

.bux-story__copy p,
.bux-story__quote p,
.bux-story__meta p {
	margin: 0;
}

body.bux-homepage-active .bux-story--featured .bux-story__quote {
	color: var(--bux-white);
}

body.bux-homepage-active .bux-story--featured .bux-story__meta {
	color: rgba(255, 255, 255, 0.75);
}

.bux-story-video {
	min-width: 0;
	position: relative;
}

.bux-story-video__image,
.bux-story-video__image .elementor-widget-container,
.bux-story-video__image a,
.bux-story-video__player,
.bux-story-video__image img {
	height: 100%;
	width: 100%;
}

.bux-story-video__image a {
	display: block;
	position: relative;
}

.bux-story-video__image img {
	aspect-ratio: 16 / 10.1;
	border-radius: 24px;
	object-fit: cover;
}

.bux-story-video__image a::before {
	align-items: center;
	background: rgba(23, 63, 77, 0.9);
	border: 2px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	color: var(--bux-white);
	content: "\25B6";
	display: flex;
	font-size: 20px;
	height: 62px;
	justify-content: center;
	left: 50%;
	padding-left: 4px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: background-color 180ms ease, transform 180ms ease;
	width: 62px;
	z-index: 2;
}

.bux-story-video__image a::after {
	background: rgba(23, 63, 77, 0.92);
	border-radius: 10px;
	bottom: 20px;
	color: var(--bux-white);
	content: "WATCH NYLA'S STORY";
	font-family: var(--bux-font-body);
	font-size: 12px;
	font-weight: 850;
	left: 20px;
	letter-spacing: 0.14em;
	padding: 10px 13px;
	position: absolute;
	z-index: 2;
}

.bux-story-video__image a:hover::before,
.bux-story-video__image a:focus-visible::before {
	background: var(--bux-green-dark);
	transform: translate(-50%, -50%) scale(1.06);
}

.bux-story-video__image a:focus-visible {
	border-radius: 24px;
	outline: 3px solid var(--bux-green);
	outline-offset: 4px;
}

.bux-story-video__player {
	aspect-ratio: 16 / 10.1;
	background: #071318;
	border-radius: 24px;
	overflow: hidden;
	position: relative;
}

.bux-story-video__player iframe {
	border: 0;
	display: block;
	height: 100%;
	position: relative;
	width: 100%;
	z-index: 2;
}

.bux-story-video__loading {
	align-items: center;
	color: var(--bux-white);
	display: flex;
	font-size: 14px;
	font-weight: 700;
	inset: 0;
	justify-content: center;
	letter-spacing: 0.08em;
	position: absolute;
	text-transform: uppercase;
}

.bux-story-video__player:focus-visible,
.bux-story-video__player:focus-within {
	outline: 3px solid var(--bux-green);
	outline-offset: 4px;
}

.bux-story-video__label .elementor-heading-title {
	background: rgba(23, 63, 77, 0.92);
	border-radius: 10px;
	bottom: 20px;
	color: var(--bux-white);
	font-family: var(--bux-font-body);
	font-size: 12px;
	font-weight: 850;
	left: 20px;
	letter-spacing: 0.12em;
	padding: 13px 15px;
	position: absolute;
}

/* Coverage */

.bux-homepage__coverage {
	background: var(--bux-white);
	padding: clamp(80px, 8vw, 112px) 0;
}

.bux-coverage-layout {
	align-items: center;
	display: grid;
	gap: clamp(54px, 7vw, 90px);
	grid-template-columns: minmax(320px, 0.7fr) minmax(0, 1.3fr);
}

.bux-coverage-copy__body,
.bux-coverage-copy__body .elementor-widget-container {
	color: var(--bux-body);
	font-size: 19px;
	line-height: 1.65;
	margin-top: 22px;
}

.bux-coverage-copy__body p {
	margin: 0;
}

.bux-coverage-note,
.bux-coverage-note .elementor-widget-container {
	border-left: 3px solid var(--bux-green);
	color: var(--bux-muted);
	font-size: 15px;
	line-height: 1.5;
	margin-top: 24px;
	padding-left: 13px;
}

.bux-coverage-note p {
	margin: 0;
}

.bux-coverage-logos {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.bux-coverage-logo {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 14px;
	overflow: hidden;
	padding: 5px;
}

.bux-coverage-logo img {
	display: block;
	height: 72px;
	margin-inline: auto;
	max-width: 160px;
	object-fit: contain;
	width: 100%;
}

@media (max-width: 1024px) {
	.bux-coverage-logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Final CTA and locations */

.bux-homepage__cta {
	background:
		linear-gradient(120deg, rgba(80, 158, 184, 0.12), transparent 42%),
		var(--bux-ink);
	padding: clamp(92px, 10vw, 148px) 0;
}

.bux-homepage__cta::before {
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
	content: "";
	height: 560px;
	left: -310px;
	position: absolute;
	top: -240px;
	width: 560px;
}

.bux-final-layout {
	align-items: center;
	display: grid;
	gap: clamp(48px, 5.5vw, 80px);
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
}

.bux-final-copy {
	position: relative;
}

.bux-final-photo,
.bux-final-photo .elementor-widget-container {
	width: 100%;
}

.bux-final-photo img {
	border-radius: 26px;
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.24);
	display: block;
	height: clamp(380px, 42vw, 520px);
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.bux-final-copy__body,
.bux-final-copy__body .elementor-widget-container {
	color: rgba(255, 255, 255, 0.72);
	font-size: 19px;
	line-height: 1.65;
	margin: 26px 0 32px;
	max-width: 660px;
}

.bux-final-copy__body p {
	color: inherit;
	margin: 0;
}

.bux-privacy-note,
.bux-privacy-note .elementor-widget-container {
	color: rgba(255, 255, 255, 0.52);
	font-size: 15px;
	line-height: 1.55;
	margin: 24px 0 0;
	max-width: 620px;
}

.bux-privacy-note p {
	color: inherit;
	margin: 0;
}

.bux-contact-placeholder {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 13px;
	margin-top: 24px;
	padding: 16px;
}

.bux-contact-placeholder,
.bux-contact-placeholder .elementor-widget-container {
	display: grid;
	gap: 5px;
}

.bux-contact-placeholder p {
	display: grid;
	gap: 5px;
	margin: 0;
}

.bux-contact-placeholder strong {
	color: var(--bux-green);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.12em;
}

.bux-contact-placeholder span {
	color: rgba(255, 255, 255, 0.65);
	font-size: 15px;
	line-height: 1.5;
}

body.bux-homepage-active .bux-homepage__cta .bux-final-copy__body {
	color: rgba(255, 255, 255, 0.72);
}

body.bux-homepage-active .bux-homepage__cta .bux-privacy-note {
	color: rgba(255, 255, 255, 0.7);
}

body.bux-homepage-active .bux-homepage__cta .bux-contact-placeholder strong {
	color: var(--bux-green);
}

body.bux-homepage-active .bux-homepage__cta .bux-contact-placeholder span {
	color: rgba(255, 255, 255, 0.7);
}

.bux-locations-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Shared office-hours note: sits inside the locations grid and spans both
   card columns so it stays beneath the cards and never shares a grid cell
   with the appointment section's privacy note. */
.bux-locations-hours {
	grid-column: 1 / -1;
}

.bux-locations-hours,
.bux-locations-hours .elementor-widget-container {
	font-size: 15px;
	line-height: 1.55;
	margin-top: 4px;
	text-align: center;
	text-wrap: balance;
}

/* Cards stretch to a shared height in the grid, so pushing the CTA down with
   auto margin is what puts both call-to-action baselines on one line. */
.bux-location-card .bux-button {
	margin-top: auto;
}

.bux-locations-hours p {
	margin: 0;
}

body.bux-homepage-active .bux-homepage__cta .bux-locations-hours {
	color: rgba(255, 255, 255, 0.7);
}

body.bux-homepage-active .bux-location-card__copy a {
	color: var(--bux-teal);
	font-weight: 700;
	text-decoration: none;
}

body.bux-homepage-active .bux-location-card__copy a:hover,
body.bux-homepage-active .bux-location-card__copy a:focus-visible {
	text-decoration: underline;
}

.bux-location-card {
	background: var(--bux-white);
	border-radius: 22px;
	overflow: hidden;
	padding: 0 24px 25px;
}

.bux-location-card--no-image {
	padding-top: 28px;
}

.bux-location-card:nth-child(2) {
	margin-top: 0;
}

/* Elementor forces `width: 100%` on the widget, so the old `margin: 0 -24px`
   full-bleed only shifted the box left and left 48px of white on the right.
   Even insets centre it in the card instead. */
.bux-location-card__image {
	margin: 24px 0 23px;
}

.bux-location-card__image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
}

.bux-location-card__title .elementor-heading-title {
	color: var(--bux-teal);
	font-size: 22px;
	font-weight: 620;
	margin: 0 0 9px;
}

/* 16px keeps "4071 Tates Creek Office Center" on one line at the desktop card
   width, so both cards run to the same number of lines. */
.bux-location-card__copy,
.bux-location-card__copy .elementor-widget-container {
	color: var(--bux-muted);
	font-size: 16px;
	line-height: 1.6;
}

.bux-location-card__copy p {
	margin: 0;
}

/* The page-wide outlined button is too heavy for a card column, so the card
   CTA keeps the same treatment at a reduced scale. */
.bux-location-card .bux-button .elementor-button {
	font-size: 14px;
	font-weight: 700;
	min-height: 46px;
	padding: 12px 20px;
}

/* Homepage-only footer */

.bux-homepage__footer {
	background: #102f3b;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 50px 0;
}

.bux-footer-layout {
	align-items: center;
	display: grid;
	gap: 32px 64px;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.bux-footer-logo img {
	aspect-ratio: 2048 / 997;
	height: auto;
	max-width: 220px;
	object-fit: contain;
	object-position: left center;
	width: 100%;
}

.bux-footer-tagline,
.bux-footer-tagline .elementor-widget-container {
	color: rgba(255, 255, 255, 0.55);
	font-size: 15px;
	margin-top: 8px;
}

.bux-footer-tagline p,
.bux-footer-meta p {
	margin: 0;
}

/* Two compact office blocks, balanced against the logo area. */
.bux-homepage .bux-footer-offices {
	display: grid;
	gap: 28px 44px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* KeyDesign's `div.elementor-widget-text-editor { color: var(--color-text) }`
   loads after this file and outranks a bare class, which left the office text
   rendering dark on the dark teal. The body-scoped selector below wins. */
body.bux-homepage-active .bux-homepage__footer .bux-footer-office {
	color: rgba(255, 255, 255, 0.78);
}

.bux-footer-office,
.bux-footer-office .elementor-widget-container {
	font-size: 15px;
	line-height: 1.65;
}

.bux-footer-office p {
	margin: 0;
}

.bux-footer-office strong {
	color: var(--bux-green);
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.6px;
	margin-bottom: 8px;
	text-transform: uppercase;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-office a {
	color: #e6eff2;
	font-weight: 700;
	text-decoration: none;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-office a:hover,
body.bux-homepage-active .bux-homepage__footer .bux-footer-office a:focus-visible {
	color: var(--bux-green);
	text-decoration: underline;
}

.bux-footer-nav a {
	align-items: center;
	color: rgba(255, 255, 255, 0.78);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	min-height: 44px;
	text-decoration: none;
}

.bux-footer-nav a:hover {
	color: var(--bux-green);
}

.bux-footer-meta,
.bux-footer-meta .elementor-widget-container {
	color: rgba(255, 255, 255, 0.42);
	font-size: 15px;
	line-height: 1.6;
	text-align: right;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-tagline {
	color: rgba(255, 255, 255, 0.55);
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-nav a {
	color: #e6eff2;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-nav a:hover,
body.bux-homepage-active .bux-homepage__footer .bux-footer-nav a:focus-visible {
	color: var(--bux-green);
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-meta a {
	color: #e6eff2;
	text-decoration: none;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-meta a:hover,
body.bux-homepage-active .bux-homepage__footer .bux-footer-meta a:focus-visible {
	color: var(--bux-green);
}

.bux-footer-bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: space-between;
	margin-top: 34px;
	padding-top: 22px;
}

/* Elementor's `.e-con-full.e-flex` resolves `--flex-direction: column` on
   containers, which would stack the bar; this matches its specificity and
   loads later. Wrapping still handles the narrow breakpoints. */
.bux-homepage .bux-footer-bottom {
	flex-direction: row;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-copyright,
body.bux-homepage-active .bux-homepage__footer .bux-footer-legal {
	color: rgba(255, 255, 255, 0.72);
	font-size: 14px;
}

.bux-footer-copyright p,
.bux-footer-legal p {
	margin: 0;
}

.bux-footer-legal,
.bux-footer-legal .elementor-widget-container {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-legal a {
	color: #e6eff2;
	font-size: 14px;
	text-decoration: none;
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-legal a:hover,
body.bux-homepage-active .bux-homepage__footer .bux-footer-legal a:focus-visible {
	color: var(--bux-green);
}

body.bux-homepage-active .bux-homepage__footer .bux-footer-meta {
	color: rgba(255, 255, 255, 0.65);
}

/* Progressive enhancement */

.bux-homepage.bux-js .bux-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 420ms ease, transform 420ms ease;
}

.bux-homepage.bux-js .bux-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.bux-homepage.bux-js .bux-treatment-tile.bux-reveal.is-visible:hover,
.bux-homepage.bux-js .bux-treatment-tile.bux-reveal.is-visible:focus-within {
	transform: translateY(-3px);
}

/* Tablet */

@media (max-width: 1180px) {
	/* The hero copy column narrows faster than these labels do, so step the type
	   down here — nowrap must never cross the divider. */
	.bux-proof strong,
	.bux-proof span {
		font-size: 13px;
	}

	.bux-header__nav {
		gap: 17px;
	}

	.bux-header__nav > a,
	.bux-header__submenu-toggle {
		font-size: 14px;
	}

	.bux-homepage__hero-inner {
		gap: 54px;
		grid-template-columns: minmax(0, 1fr) minmax(390px, 0.86fr);
	}

	.bux-trust-item {
		padding-inline: 18px;
	}

	.bux-condition-explorer__layout {
		grid-template-columns: minmax(330px, 0.78fr) minmax(0, 1.22fr);
	}

	.bux-condition-control {
		padding-inline: 12px;
	}

	body.bux-homepage-active .bux-homepage .bux-condition-control {
		font-size: 14px;
	}

	.bux-pain-points {
		gap: 55px;
		grid-template-columns: minmax(0, 1fr) minmax(370px, 0.9fr);
	}

	.bux-treatments-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-doctor-layout {
		gap: 70px;
	}

	.bux-final-layout {
		gap: 65px;
	}
}

@media (max-width: 1024px) {
	.bux-homepage .bux-container {
		width: calc(100% - 64px);
	}

	.bux-header__inner {
		height: 76px;
		width: calc(100% - 64px);
	}

	.bux-header__toggle {
		display: flex;
	}

	.bux-header__nav {
		align-items: stretch;
		background: rgba(255, 255, 255, 0.99);
		border: 1px solid var(--bux-border);
		border-radius: 18px;
		box-shadow: 0 22px 60px rgba(23, 63, 77, 0.16);
		display: none;
		flex-direction: column;
		gap: 0;
		max-height: calc(100vh - 98px);
		overflow-y: auto;
		padding: 12px;
		position: absolute;
		right: 24px;
		top: calc(100% + 9px);
		width: min(380px, calc(100vw - 40px));
	}

	.bux-header__nav.is-open {
		display: flex;
	}

	.bux-header__nav > a,
	.bux-header__nav > a:nth-child(5),
	.bux-header__submenu-toggle {
		border-radius: 8px;
		display: block;
		font-size: 15px;
		padding: 13px 12px;
	}

	.bux-header__menu {
		display: block;
	}

	.bux-header__submenu-toggle {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	.bux-header__submenu {
		background: var(--bux-wash);
		border: 0;
		border-radius: 8px;
		box-shadow: none;
		display: none;
		gap: 0;
		margin: 0 0 6px 12px;
		min-width: 0;
		opacity: 1;
		padding: 4px;
		pointer-events: auto;
		position: static;
		transform: none;
		visibility: visible;
	}

	.bux-header__menu[open] .bux-header__submenu {
		display: grid;
	}

	.bux-header__submenu a {
		font-size: 14px;
		padding: 11px 12px;
		white-space: normal;
	}

	.bux-header__nav > a:not(.bux-header__cta)::after,
	.bux-header__submenu-toggle::after {
		display: none;
	}

	.bux-header__nav > a:not(.bux-header__cta):hover,
	.bux-header__submenu-toggle:hover {
		background: var(--bux-wash);
	}

	.bux-header__nav .bux-header__cta {
		margin: 8px 0 0;
		text-align: center;
	}

	.bux-homepage__hero {
		background:
			radial-gradient(circle at 91% 9%, rgba(126, 216, 89, 0.14), transparent 26%),
			linear-gradient(180deg, #ffffff 0%, #ffffff 55%, #eef5f6 55%, #eef5f6 100%);
		padding-top: 78px;
	}

	.bux-homepage__hero-inner {
		grid-template-columns: 1fr;
	}

	.bux-homepage__hero-copy {
		max-width: 800px;
	}

	.bux-homepage__hero-media {
		aspect-ratio: 1.4;
		margin-inline: auto;
		max-width: 820px;
		width: 100%;
	}

	.bux-homepage__hero-image {
		width: 84%;
	}

	.bux-homepage__hero-spine {
		height: 76%;
		left: 2%;
		width: 29%;
	}

	.bux-trust-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-trust-item:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--bux-border);
	}

	.bux-trust-item:nth-child(4) {
		border-top: 1px solid var(--bux-border);
	}

	.bux-condition-explorer__intro {
		grid-template-columns: 1fr 1fr;
	}

	.bux-condition-explorer__layout {
		gap: 38px;
		grid-template-columns: 0.76fr 1.24fr;
	}

	.bux-condition-map {
		position: relative;
		top: auto;
	}

	.bux-condition-controls {
		grid-template-columns: 1fr;
	}

	.bux-pain-points {
		grid-template-columns: 1fr;
	}

	.bux-pain-points__visual {
		max-width: 840px;
	}

	.bux-episode-list {
		display: grid;
		gap: 16px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bux-episode {
		align-items: start;
		border: 1px solid rgba(255, 255, 255, 0.13);
		border-radius: 16px;
		display: block;
		overflow: hidden;
		padding: 0 0 17px;
	}

	.bux-episode__thumb {
		border-radius: 0;
		margin-bottom: 15px;
	}

	.bux-episode__copy {
		padding-inline: 16px;
	}

	.bux-resources-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-resource-card--1 {
		grid-row: span 2;
	}

	.bux-resource-card--2,
	.bux-resource-card--3 {
		margin-top: 0;
	}

	.bux-doctor-layout {
		grid-template-columns: minmax(330px, 0.82fr) minmax(0, 1.18fr);
	}

	.bux-stories-layout {
		grid-template-columns: 1fr;
	}

	.bux-story-video__image img,
	.bux-story-video__player {
		aspect-ratio: 16 / 9;
	}

	.bux-coverage-layout {
		grid-template-columns: 1fr;
	}

	.bux-coverage-copy {
		max-width: 760px;
	}

	.bux-final-layout {
		grid-template-columns: 1fr;
	}

	.bux-final-copy {
		position: relative;
		top: auto;
	}
}

/* Mobile */

@media (max-width: 767px) {
	.bux-homepage .bux-container {
		padding: 0;
		width: calc(100% - 40px);
	}

	.bux-header__inner {
		height: 72px;
		padding-inline: 0;
		width: calc(100% - 40px);
	}

	.bux-header__brand {
		width: 148px;
	}

	.bux-header__toggle {
		min-height: 46px;
	}

	.bux-header__nav {
		right: 12px;
		width: calc(100vw - 24px);
	}

	.bux-eyebrow,
	.bux-eyebrow .elementor-heading-title {
		font-size: 12px;
		margin-bottom: 18px;
	}

	.bux-eyebrow.elementor-widget {
		padding-bottom: 18px;
	}

	.bux-eyebrow .elementor-heading-title {
		margin-bottom: 0;
	}

	.bux-section-title .elementor-heading-title,
	.bux-section-title {
		font-size: clamp(34px, 10.5vw, 43px);
		line-height: 1.08;
	}

	.bux-homepage__hero {
		min-height: 0;
		padding: 64px 0 78px;
	}

	.bux-homepage__hero-inner {
		gap: 50px;
	}

	.bux-homepage__hero-title .elementor-heading-title {
		font-size: clamp(44px, 13vw, 52px);
		line-height: 1.01;
	}

	.bux-homepage__lead,
	.bux-homepage__lead .elementor-widget-container {
		font-size: 17px;
		line-height: 1.65;
		margin: 24px 0 28px;
	}

	.bux-actions {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.bux-actions > .elementor-element,
	.bux-actions .elementor-button-wrapper,
	.bux-actions .elementor-button {
		width: 100%;
	}

	.bux-homepage__hero-proof {
		gap: 14px;
		grid-template-columns: 1fr;
		margin-top: 34px;
	}

	.bux-proof + .bux-proof {
		border-left: 0;
		border-top: 1px solid var(--bux-border);
		padding-left: 0;
		padding-top: 14px;
	}

	/* Stacked: the rule runs along the top edge, not down a column gap. */
	.bux-proof + .bux-proof::before {
		content: none;
	}

	.bux-homepage__hero-media {
		aspect-ratio: 0.96;
	}

	.bux-homepage__hero-image {
		height: 87%;
		width: 93%;
	}

	.bux-homepage__hero-image img {
		border-radius: 30% 10% 28% 10% / 18% 10% 23% 11%;
	}

	.bux-homepage__hero-spine {
		border-radius: 20px;
		bottom: 0;
		height: 58%;
		left: 0;
		padding: 4px;
		width: 34%;
	}

	body.bux-homepage-active .bux-homepage .bux-homepage__hero-spine img {
		border-radius: 16px;
	}

	.bux-media-chip {
		padding: 10px 12px;
	}

	.bux-media-chip--top {
		right: 0;
		top: 10%;
	}

	.bux-media-chip--bottom {
		bottom: 2%;
		right: 1%;
	}

	.bux-trust-grid {
		grid-template-columns: 1fr;
		margin-inline: 16px;
	}

	.bux-trust-item + .bux-trust-item {
		border-left: 0;
		border-top: 1px solid var(--bux-border);
	}

	.bux-trust-item {
		padding: 20px;
	}

	.bux-homepage__conditions,
	.bux-homepage__path,
	.bux-homepage__pain-points,
	.bux-homepage__resources,
	.bux-homepage__treatments,
	.bux-homepage__doctor,
	.bux-homepage__stories,
	.bux-homepage__coverage,
	.bux-homepage__cta {
		padding-block: 76px;
	}

	.bux-condition-explorer__intro {
		display: block;
		margin-bottom: 42px;
	}

	.bux-condition-explorer__intro h2 {
		font-size: clamp(36px, 9vw, 44px);
		margin-bottom: 20px;
	}

	.bux-condition-explorer__intro > p {
		font-size: 16px;
	}

	.bux-condition-explorer__layout {
		grid-template-columns: 1fr;
	}

	.bux-condition-map {
		margin-inline: auto;
		max-width: 430px;
		width: 100%;
	}

	.bux-condition-map__caption {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.bux-condition-controls {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-condition-control {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
		min-height: 108px;
		padding: 13px;
	}

	body.bux-homepage-active .bux-homepage .bux-condition-control {
		font-size: 14px;
	}

	.bux-condition-control.is-active::after {
		right: 12px;
		top: 10px;
		transform: none;
	}

	.bux-condition-detail {
		display: block;
		margin-top: 14px;
		min-height: 330px;
		padding: 27px 23px;
	}

	.bux-condition-detail__index {
		margin-bottom: 20px;
	}

	.bux-condition-detail h3 {
		font-size: 29px;
	}

	.bux-condition-explorer__cta {
		width: 100%;
	}

	.bux-path-grid {
		gap: 0;
		grid-template-columns: 1fr;
		margin-top: 55px;
	}

	/* Stacked: the rule runs down the circle column, so centre it on that
	   column — 10px grid padding + half of the 76px circle, less half the rule. */
	.bux-path-grid::before {
		background: linear-gradient(var(--bux-green), var(--bux-blue));
		bottom: 11%;
		height: auto;
		left: 47px;
		right: auto;
		top: 38px;
		width: 2px;
	}

	.bux-path-step {
		align-items: start;
		display: grid;
		gap: 0 22px;
		grid-template-columns: 76px 1fr;
		padding: 0 0 42px;
		text-align: left;
	}

	.bux-path-step__number {
		grid-row: 1 / span 2;
	}

	.bux-path-step__number .elementor-heading-title {
		height: 76px;
		margin: 0;
		width: 76px;
	}

	.bux-path-step__title .elementor-heading-title {
		font-size: 22px;
		margin-top: 4px;
	}

	.bux-path-step__copy,
	.bux-path-step__copy .elementor-widget-container {
		font-size: 16px;
	}

	.bux-pain-points {
		gap: 45px;
	}

	.bux-pain-points__poster {
		border-radius: 19px;
	}

	.bux-video-button {
		height: 64px;
		width: 64px;
	}

	.bux-pain-points__poster-meta {
		bottom: 17px;
		left: 17px;
	}

	.bux-pain-points__content h2 {
		font-size: clamp(36px, 10.5vw, 45px);
	}

	.bux-episode-list {
		display: block;
	}

	.bux-episode {
		align-items: center;
		border: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.13);
		border-radius: 0;
		display: grid;
		grid-template-columns: 102px 1fr;
		padding: 15px 0;
	}

	.bux-episode__thumb {
		border-radius: 8px;
		margin: 0;
	}

	.bux-episode__copy {
		padding: 0;
	}

	.bux-episode__meta {
		display: grid;
		gap: 2px;
	}

	.bux-episode h3 {
		font-size: 18px;
	}

	.bux-homepage .bux-heading-row {
		display: block;
	}

	.bux-homepage .bux-story-video {
		flex-wrap: nowrap;
	}

	.bux-heading-row__intro,
	.bux-heading-row__intro .elementor-widget-container {
		font-size: 16px;
		margin-top: 22px;
	}

	/* Same collapse as `.bux-heading-row` above — single column, intro back
	   underneath the heading with its clearing margin restored. */
	#bux-treatments,
	#bux-stories {
		display: block;
	}

	#bux-treatments > .bux-section-intro,
	#bux-stories > .bux-section-intro {
		font-size: 16px;
		margin-top: 22px;
	}

	.bux-resources-grid {
		grid-template-columns: 1fr;
	}

	.bux-resource-card--1 {
		grid-row: auto;
	}

	.bux-resource-card__title .elementor-heading-title {
		font-size: 22px;
	}

	.bux-treatments-grid {
		gap: 18px;
		grid-auto-rows: auto;
		grid-template-columns: 1fr;
		margin: 42px 0 32px;
	}

	.bux-treatment-tile {
		min-height: 0;
		padding: 26px;
	}

	.bux-treatment-tile__icon {
		border-radius: 18px;
		flex-basis: 72px;
		height: 72px;
		margin-bottom: 22px;
		width: 72px;
	}

	.bux-treatment-tile__title .elementor-heading-title {
		font-size: 22px;
	}

	.bux-doctor-layout {
		grid-template-columns: 1fr;
	}

	.bux-doctor-media {
		margin-inline: auto;
		max-width: 500px;
		width: calc(100% - 22px);
	}

	.bux-doctor-media::before {
		inset: -20px 18px 18px -20px;
	}

	.bux-doctor-media__label .elementor-heading-title {
		right: -9px;
	}

	.bux-doctor-credentials {
		grid-template-columns: 1fr;
	}

	.bux-stories-written {
		grid-template-columns: 1fr;
	}

	.bux-story--featured {
		grid-column: auto;
		min-height: 0;
	}

	.bux-story__quote,
	.bux-story__quote .elementor-widget-container {
		font-size: 24px;
	}

	.bux-coverage-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-locations-grid {
		grid-template-columns: 1fr;
	}

	.bux-location-card:nth-child(2) {
		margin-top: 0;
	}

	.bux-footer-layout {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.bux-homepage .bux-footer-offices {
		gap: 22px;
		grid-template-columns: 1fr;
	}

	.bux-footer-bottom {
		justify-content: flex-start;
	}

	.bux-footer-meta,
	.bux-footer-meta .elementor-widget-container {
		text-align: left;
	}
}

@media (max-width: 390px) {
	.bux-header__toggle-label {
		display: none;
	}

	.bux-homepage__hero-title .elementor-heading-title {
		font-size: clamp(42px, 12.2vw, 48px);
	}

	/* This used to hide the lower chip because the upper one still showed here.
	   It is now the only chip, so hiding it would drop both messages entirely. */

	.bux-condition-controls {
		grid-template-columns: 1fr;
	}

	.bux-condition-control {
		align-items: center;
		flex-direction: row;
		min-height: 68px;
	}

	.bux-condition-detail {
		min-height: 360px;
	}

	.bux-episode {
		grid-template-columns: 86px 1fr;
	}

	.bux-coverage-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 320px) {
	.bux-header__brand {
		width: 136px;
	}

	.bux-homepage__hero-title .elementor-heading-title {
		font-size: 40px;
	}

	.bux-section-title .elementor-heading-title,
	.bux-section-title {
		font-size: 34px;
	}

	.bux-condition-explorer__intro h2 {
		font-size: 39px;
	}

	.bux-path-step {
		gap: 0 15px;
		grid-template-columns: 68px 1fr;
	}

	.bux-path-step__number .elementor-heading-title {
		height: 68px;
		width: 68px;
	}

	/* 10px grid padding + half of the 68px circle at this width. */
	.bux-path-grid::before {
		left: 43px;
	}

	.bux-episode {
		display: block;
	}

	.bux-episode__thumb {
		margin-bottom: 12px;
		max-width: 140px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}

	.bux-homepage *,
	.bux-homepage *::before,
	.bux-homepage *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.bux-homepage.bux-js .bux-reveal {
		opacity: 1;
		transform: none;
	}
}

/* BEGIN BUX PREMIUM ICON SYSTEM
   Scoped icon sizing only. Do not change page layout or card geometry.
*/
.bux-homepage .bux-icon img,
.bux-homepage .bux-condition-control img,
.bux-homepage .bux-treatment-tile__icon img {
    display: block;
    object-fit: contain;
    max-width: none;
    transition: transform 180ms ease, filter 180ms ease;
}

.bux-homepage .bux-icon img {
    width: 42px !important;
    height: 42px !important;
}

.bux-homepage .bux-condition-control img {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px;
}

.bux-homepage .bux-condition-control:hover img,
.bux-homepage .bux-condition-control.is-active img {
    transform: translateY(-1px) scale(1.055);
}

.bux-homepage .bux-treatment-tile__icon img {
    width: 52px !important;
    height: 52px !important;
}

@media (max-width: 767px) {
    .bux-homepage .bux-icon img {
        width: 36px !important;
        height: 36px !important;
    }

    .bux-homepage .bux-condition-control img {
        width: 36px !important;
        height: 36px !important;
        flex-basis: 36px;
    }

    .bux-homepage .bux-treatment-tile__icon img {
        width: 48px !important;
        height: 48px !important;
    }
}
/* END BUX PREMIUM ICON SYSTEM */

/* Bux interior pages and imported resource-library content. */
.bux-interior {
	background: var(--bux-white);
	color: var(--bux-body);
}

.bux-interior h1,
.bux-interior h2,
.bux-interior h3,
.bux-site-footer h2 {
	color: var(--bux-teal);
	font-family: var(--bux-font-heading);
	letter-spacing: -0.035em;
	margin-block: 0;
}

.bux-interior h1 {
	font-size: clamp(48px, 5.4vw, 76px);
	font-weight: 620;
	line-height: 1.05;
}

.bux-interior h2 {
	font-size: clamp(36px, 3.9vw, 54px);
	font-weight: 600;
	line-height: 1.12;
}

.bux-interior h3 {
	font-size: 23px;
	font-weight: 600;
	line-height: 1.3;
}

.bux-interior p {
	font-size: 18px;
	line-height: 1.7;
}

.bux-interior-hero {
	background: linear-gradient(135deg, #f4faf8 0%, #eef5f6 58%, #e4f2ed 100%);
	overflow: hidden;
	padding: clamp(72px, 8vw, 124px) 0;
	position: relative;
}

.bux-interior-hero::after {
	background: var(--bux-green);
	border-radius: 999px;
	content: "";
	filter: blur(1px);
	height: 340px;
	opacity: 0.16;
	position: absolute;
	right: -150px;
	top: -130px;
	width: 340px;
}

.bux-interior-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(46px, 7vw, 100px);
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.bux-interior-hero__copy {
	position: relative;
	z-index: 1;
}

.bux-interior-hero__copy h1 {
	margin: 20px 0 30px;
}

.bux-interior-hero__copy p {
	max-width: 740px;
}

.bux-interior-hero__copy p:last-child {
	margin-bottom: 0;
}

.bux-interior-hero__media {
	background: var(--bux-teal);
	border-radius: 180px 180px var(--bux-radius-lg) var(--bux-radius-lg);
	box-shadow: var(--bux-shadow);
	margin: 0;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.bux-interior-hero__media img {
	display: block;
	height: auto;
	width: 100%;
}

.bux-interior-section {
	padding: clamp(76px, 9vw, 132px) 0;
}

.bux-interior-section--wash {
	background: var(--bux-wash);
}

.bux-interior-section--teal {
	background: var(--bux-teal);
	color: rgba(255, 255, 255, 0.84);
}

.bux-interior-section--teal h2 {
	color: var(--bux-white);
}

.bux-interior-grid {
	display: grid;
	gap: clamp(44px, 8vw, 120px);
	grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
}

.bux-interior-grid h2,
.bux-interior-section__heading h2 {
	margin-top: 18px;
}

.bux-interior-copy p:first-child {
	margin-top: 0;
}

.bux-interior-copy p:last-child {
	margin-bottom: 0;
}

.bux-interior-quote {
	border-left: 5px solid var(--bux-green);
	color: var(--bux-teal);
	font-family: var(--bux-font-heading);
	font-size: clamp(24px, 2.5vw, 34px);
	font-weight: 550;
	line-height: 1.5;
	margin: 0 0 34px;
	padding-left: 34px;
}

.bux-interior-section__heading {
	margin-bottom: 48px;
	max-width: 850px;
}

.bux-detail-list {
	display: grid;
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bux-detail-list--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-detail-list li {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-sm);
	box-shadow: 0 12px 36px rgba(23, 63, 77, 0.06);
	color: var(--bux-teal);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
	padding: 23px 24px 23px 52px;
	position: relative;
}

.bux-detail-list li::before {
	background: var(--bux-green);
	border-radius: 999px;
	content: "";
	height: 12px;
	left: 24px;
	position: absolute;
	top: 28px;
	width: 12px;
}

.bux-detail-list--light li {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.18);
	box-shadow: none;
	color: var(--bux-white);
}

.bux-interior-note {
	background: var(--bux-green-wash);
	border-left: 4px solid var(--bux-green);
	margin: 38px 0 0;
	padding: 24px 28px;
}

.bux-interior-cta {
	background: linear-gradient(120deg, #1c5264, var(--bux-teal));
	color: rgba(255, 255, 255, 0.84);
	padding: clamp(66px, 8vw, 104px) 0;
}

.bux-interior-cta__inner {
	align-items: center;
	display: grid;
	gap: 60px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.bux-interior-cta h2 {
	color: var(--bux-white);
	margin: 16px 0 20px;
}

.bux-interior-cta p {
	color: rgba(255, 255, 255, 0.84);
	margin-block: 5px;
}

.bux-interior-cta__actions {
	display: grid;
	gap: 12px;
	min-width: 242px;
}

.bux-interior-cta__phone {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.48);
	border-radius: var(--bux-radius-sm);
	color: var(--bux-white);
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.bux-interior-cta__phone:hover {
	background: var(--bux-white);
	color: var(--bux-ink);
}

.bux-resources-hero {
	background: linear-gradient(135deg, var(--bux-wash), var(--bux-green-wash));
	padding: clamp(86px, 10vw, 146px) 0;
	text-align: center;
}

.bux-resources-hero__inner {
	max-width: 940px;
}

.bux-resources-hero h1 {
	margin: 20px 0 28px;
}

.bux-resources-hero p {
	font-size: 20px;
	margin: 0;
}

.bux-resource-library {
	padding: clamp(76px, 9vw, 132px) 0;
}

.bux-resource-library__heading {
	align-items: end;
	display: flex;
	gap: 40px;
	justify-content: space-between;
	margin-bottom: 48px;
}

.bux-resource-library__heading h2 {
	margin-top: 16px;
}

.bux-resource-library__heading > p {
	color: var(--bux-muted);
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 6px;
	white-space: nowrap;
}

.bux-resource-library__grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-resource-library .bux-resource-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-md);
	box-shadow: 0 16px 46px rgba(23, 63, 77, 0.08);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.bux-resource-library .bux-resource-card:hover {
	box-shadow: 0 24px 62px rgba(23, 63, 77, 0.14);
	transform: translateY(-4px);
}

.bux-resource-library .bux-resource-card__image {
	background: var(--bux-wash);
	display: block;
	overflow: hidden;
}

.bux-resource-library .bux-resource-card__image img,
.bux-resource-card__placeholder {
	aspect-ratio: 3 / 2;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 240ms ease;
	width: 100%;
}

.bux-resource-library .bux-resource-card:hover .bux-resource-card__image img {
	transform: scale(1.025);
}

.bux-resource-card__placeholder {
	background: linear-gradient(135deg, var(--bux-wash), var(--bux-green-wash));
}

.bux-resource-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 28px;
}

.bux-resource-card__body time {
	color: var(--bux-blue-text);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bux-resource-card__body h3 {
	font-size: 23px;
	margin: 11px 0 15px;
}

.bux-resource-card__body h3 a {
	color: inherit;
	text-decoration: none;
}

.bux-resource-card__body p {
	font-size: 15px;
	line-height: 1.65;
	margin: 0 0 22px;
}

.bux-resource-card__body .bux-text-link {
	margin-top: auto;
}

.bux-pagination {
	margin-top: 58px;
}

.bux-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bux-pagination a,
.bux-pagination span {
	align-items: center;
	border: 1px solid var(--bux-border);
	border-radius: 8px;
	color: var(--bux-teal);
	display: inline-flex;
	font-size: 15px;
	font-weight: 750;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 8px 13px;
	text-decoration: none;
}

.bux-pagination .current {
	background: var(--bux-teal);
	border-color: var(--bux-teal);
	color: var(--bux-white);
}

.bux-resource-library__empty {
	background: var(--bux-wash);
	border-radius: var(--bux-radius-md);
	padding: 32px;
}

.bux-site-footer {
	background: #123946;
	color: rgba(255, 255, 255, 0.74);
	padding: 70px 0 28px;
}

/*
 * Cookie Notice keeps its permanent "Update consent" message fixed to the
 * viewport after a choice is saved. Place that persistent row in normal flow
 * beneath the footer so it cannot cover the footer's final links. The initial
 * Accept / Reject notice remains fixed and immediately visible.
 */
#cookie-notice.cookie-revoke-visible {
	bottom: auto !important;
	position: static !important;
	z-index: auto !important;
}

.bux-site-footer__grid {
	display: grid;
	gap: 42px;
	grid-template-columns: minmax(250px, 1.25fr) repeat(3, minmax(155px, 0.7fr));
}

.bux-site-footer__brand img {
	height: auto;
	max-width: 218px;
	width: 100%;
}

.bux-site-footer__brand p {
	font-size: 15px;
	line-height: 1.65;
	max-width: 410px;
}

.bux-site-footer__socials {
	display: flex;
	gap: 12px;
	margin-top: 22px;
}

.bux-site-footer__socials a {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
	width: 42px;
}

.bux-site-footer__socials a:hover,
.bux-site-footer__socials a:focus-visible {
	background: var(--bux-green);
	border-color: var(--bux-green);
	color: var(--bux-ink);
	transform: translateY(-2px);
}

.bux-site-footer__socials svg {
	fill: currentColor;
	height: 19px;
	width: 19px;
}

body.bux-homepage-active .bux-site-footer p,
body.bux-homepage-active .bux-site-footer address {
	color: rgba(255, 255, 255, 0.78);
}

.bux-site-footer h2 {
	color: var(--bux-white);
	font-size: 18px;
	letter-spacing: 0;
	margin-bottom: 14px;
}

.bux-site-footer__status {
	background: var(--bux-green);
	border-radius: 999px;
	color: var(--bux-ink);
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 13px;
	padding: 7px 11px;
	text-transform: uppercase;
}

.bux-site-footer address {
	font-size: 14px;
	font-style: normal;
	line-height: 1.65;
	margin-bottom: 9px;
}

.bux-site-footer a {
	color: var(--bux-white);
	font-weight: 650;
	text-decoration: none;
}

.bux-site-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	display: flex;
	font-size: 13px;
	justify-content: space-between;
	margin-top: 54px;
	padding-top: 24px;
}

.bux-site-footer__bottom p {
	font-size: inherit;
	margin: 0;
}

.bux-site-footer__bottom div {
	display: flex;
	gap: 24px;
}

.bux-accessibility-footer-link img {
	display: none;
}

@media (max-width: 1024px) {
	.bux-accessibility-link--header {
		display: none;
	}

	.bux-interior-hero__grid,
	.bux-interior-grid {
		gap: 54px;
	}

	.bux-detail-list--three,
	.bux-resource-library__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	.bux-interior h1 {
		font-size: clamp(42px, 12vw, 58px);
	}

	.bux-interior h2 {
		font-size: 36px;
	}

	.bux-interior-hero__grid,
	.bux-interior-grid,
	.bux-interior-cta__inner {
		grid-template-columns: 1fr;
	}

	.bux-interior-hero__media {
		margin-inline: auto;
		max-width: 440px;
		width: 100%;
	}

	.bux-interior-quote {
		font-size: 24px;
		padding-left: 24px;
	}

	.bux-detail-list--three,
	.bux-resource-library__grid,
	.bux-site-footer__grid {
		grid-template-columns: 1fr;
	}

	.bux-site-footer__brand {
		grid-column: auto;
	}

	.bux-resource-library__heading,
	.bux-site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.bux-resource-library__heading {
		gap: 18px;
	}

	.bux-site-footer__grid {
		gap: 38px;
	}

	.bux-site-footer__bottom {
		gap: 18px;
	}

	.bux-accessibility-footer-link {
		align-items: center;
		display: inline-flex;
		gap: 8px;
	}

	.bux-accessibility-footer-link img {
		background: var(--bux-white);
		border-radius: 50%;
		display: block;
		flex: 0 0 auto;
		padding: 2px;
	}
}

/* Imported Patient Resources article template. */
.bux-skip-link {
	background: var(--bux-white);
	border-radius: 0 0 8px 0;
	box-shadow: var(--bux-shadow);
	color: var(--bux-teal);
	font-weight: 800;
	left: 0;
	padding: 12px 18px;
	position: fixed;
	top: 0;
	transform: translateY(-120%);
	transition: transform 120ms ease;
	z-index: 99999;
}

.bux-skip-link:focus {
	transform: translateY(0);
}

.bux-article-hero {
	background: linear-gradient(135deg, var(--bux-wash), var(--bux-green-wash));
	padding: clamp(72px, 8vw, 118px) 0 clamp(82px, 10vw, 144px);
}

.bux-article-hero__inner {
	max-width: 1000px;
}

.bux-homepage .bux-article-hero__inner {
	max-width: 1000px;
}

.bux-article-breadcrumb {
	align-items: center;
	color: var(--bux-teal);
	display: inline-flex;
	font-size: 14px;
	font-weight: 750;
	gap: 8px;
	margin-bottom: 34px;
	text-decoration: none;
}

.bux-article-hero .bux-eyebrow {
	margin-bottom: 20px;
}

.bux-article-hero h1 {
	color: var(--bux-teal);
	font-family: var(--bux-font-heading);
	font-size: clamp(46px, 5.4vw, 76px);
	font-weight: 620;
	letter-spacing: -0.04em;
	line-height: 1.08;
	margin: 0;
	max-width: 980px;
}

.bux-article-date {
	color: var(--bux-muted);
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-top: 28px;
	text-transform: uppercase;
}

.bux-article-main {
	padding: 0 0 clamp(80px, 10vw, 140px);
}

.bux-article-feature {
	background: var(--bux-wash);
	border-radius: var(--bux-radius-lg);
	box-shadow: var(--bux-shadow);
	margin-top: clamp(-72px, -5vw, -48px);
	max-width: 1120px;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.bux-homepage .bux-article-feature {
	max-width: 1120px;
}

.bux-article-feature img {
	display: block;
	height: auto;
	max-height: 680px;
	object-fit: cover;
	width: 100%;
}

.bux-article-content {
	font-size: 18px;
	line-height: 1.78;
	max-width: 850px;
	padding-top: clamp(62px, 8vw, 104px);
}

.bux-homepage .bux-article-content,
.bux-homepage .bux-article-return {
	max-width: 850px;
}

.bux-article-content > :first-child,
.bux-article-content .wp-block-group__inner-container > :first-child {
	margin-top: 0;
}

.bux-article-content p,
.bux-article-content li {
	color: var(--bux-body);
	font-size: 18px;
	line-height: 1.78;
}

.bux-article-content p {
	margin: 0 0 1.45em;
}

.bux-article-content h2,
.bux-article-content h3,
.bux-article-content h4 {
	color: var(--bux-teal);
	font-family: var(--bux-font-heading);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.25;
}

.bux-article-content h2 {
	font-size: clamp(32px, 3.6vw, 46px);
	margin: 1.7em 0 0.55em;
}

.bux-article-content h3 {
	font-size: clamp(25px, 2.5vw, 32px);
	margin: 1.55em 0 0.5em;
}

.bux-article-content h4 {
	font-size: 22px;
	margin: 1.45em 0 0.45em;
}

.bux-article-content a {
	color: var(--bux-blue-text);
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.bux-article-content ul,
.bux-article-content ol {
	margin: 0 0 1.7em;
	padding-left: 1.35em;
}

.bux-article-content li {
	margin-bottom: 0.55em;
	padding-left: 0.3em;
}

.bux-article-content blockquote {
	background: var(--bux-green-wash);
	border-left: 5px solid var(--bux-green);
	color: var(--bux-teal);
	font-family: var(--bux-font-heading);
	font-size: 24px;
	line-height: 1.55;
	margin: 2em 0;
	padding: 28px 32px;
}

.bux-article-content img,
.bux-article-content video,
.bux-article-content iframe {
	height: auto;
	max-width: 100%;
}

.bux-article-content figure {
	margin: 2.2em 0;
}

.bux-article-content figcaption {
	color: var(--bux-muted);
	font-size: 13px;
	line-height: 1.5;
	margin-top: 10px;
}

.bux-article-content table {
	border-collapse: collapse;
	display: block;
	margin: 2em 0;
	max-width: 100%;
	overflow-x: auto;
	width: 100%;
}

.bux-article-content th,
.bux-article-content td {
	border: 1px solid var(--bux-border);
	padding: 12px 14px;
	text-align: left;
}

.bux-article-content .wp-block-button__link {
	background: var(--bux-green);
	border-radius: var(--bux-radius-sm);
	color: var(--bux-ink);
	display: inline-flex;
	padding: 14px 20px;
	text-decoration: none;
}

.bux-article-return {
	border-top: 1px solid var(--bux-border);
	margin-top: clamp(54px, 7vw, 86px);
	max-width: 850px;
	padding-top: 38px;
}

@media (max-width: 767px) {
	.bux-article-hero {
		padding: 56px 0 96px;
	}

	.bux-article-hero h1 {
		font-size: clamp(40px, 11.5vw, 54px);
	}

	.bux-article-feature {
		border-radius: var(--bux-radius-md);
		margin-top: -52px;
		width: calc(100% - 40px);
	}

	.bux-article-content p,
	.bux-article-content li {
		font-size: 17px;
	}

	.bux-article-content blockquote {
		font-size: 21px;
		padding: 24px;
	}

	.bux-article-return .bux-button {
		justify-content: center;
		text-align: center;
		width: 100%;
	}
}

/* Remaining August site pages. */
.bux-header__menu.is-current > .bux-header__submenu-toggle {
	color: var(--bux-teal);
}

.bux-page-hero {
	background: linear-gradient(135deg, var(--bux-wash), var(--bux-green-wash));
	overflow: hidden;
	padding: clamp(86px, 10vw, 146px) 0;
	position: relative;
	text-align: center;
}

.bux-page-hero::before,
.bux-page-hero::after {
	border: 1px solid rgba(33, 90, 109, 0.11);
	border-radius: 999px;
	content: "";
	position: absolute;
}

.bux-page-hero::before {
	height: 360px;
	left: -230px;
	top: -170px;
	width: 360px;
}

.bux-page-hero::after {
	background: rgba(126, 216, 89, 0.1);
	height: 430px;
	right: -260px;
	top: -220px;
	width: 430px;
}

.bux-page-hero__inner {
	max-width: 990px;
	position: relative;
	z-index: 1;
}

.bux-page-hero h1 {
	margin: 19px 0 28px;
}

.bux-page-hero p {
	font-size: clamp(18px, 1.8vw, 21px);
	margin: 0 auto;
	max-width: 880px;
}

.bux-page-hero p + p {
	margin-top: 18px;
}

/* Find Relief gateway. */
.bux-relief-hero {
	background:
		radial-gradient(circle at 9% 14%, rgba(126, 216, 89, 0.22), transparent 24%),
		linear-gradient(135deg, #f5faf8 0%, #edf6f6 58%, #f1faee 100%);
	overflow: hidden;
	padding: clamp(72px, 8vw, 112px) 0;
	position: relative;
}

.bux-relief-hero::after {
	border: 1px solid rgba(33, 90, 109, 0.1);
	border-radius: 999px;
	content: "";
	height: 430px;
	position: absolute;
	right: -290px;
	top: -250px;
	width: 430px;
}

.bux-relief-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(52px, 7vw, 92px);
	grid-template-columns: minmax(0, 0.93fr) minmax(430px, 1.07fr);
	position: relative;
	z-index: 1;
}

.bux-relief-hero__copy h1 {
	font-size: clamp(50px, 5.2vw, 72px);
	margin: 20px 0 25px;
	max-width: 720px;
}

.bux-relief-page .bux-relief-hero__body p {
	color: var(--bux-body);
	font-size: clamp(17px, 1.45vw, 19px);
	line-height: 1.7;
	margin: 0;
	max-width: 650px;
}

.bux-relief-hero__body {
	display: grid;
	gap: 15px;
}

.bux-relief-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.bux-relief-page .bux-relief-hero__note {
	color: var(--bux-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 22px 0 0;
	max-width: 560px;
	padding-left: 24px;
	position: relative;
}

.bux-relief-hero__note::before {
	background: var(--bux-green);
	border: 4px solid rgba(126, 216, 89, 0.22);
	border-radius: 50%;
	box-sizing: content-box;
	content: "";
	height: 7px;
	left: 0;
	position: absolute;
	top: 6px;
	width: 7px;
}

.bux-relief-hero__media {
	position: relative;
}

.bux-relief-hero__media::before {
	background: var(--bux-green);
	border-radius: 34px;
	content: "";
	height: calc(100% - 22px);
	position: absolute;
	right: -18px;
	top: -18px;
	width: calc(100% - 8px);
}

.bux-relief-hero__media figure {
	margin: 0;
	position: relative;
}

.bux-relief-hero__media figure > img {
	border: 8px solid var(--bux-white);
	border-radius: 34px;
	box-shadow: 0 26px 70px rgba(23, 63, 77, 0.18);
	display: block;
	height: clamp(360px, 36vw, 474px);
	object-fit: cover;
	position: relative;
	width: 100%;
}

.bux-relief-hero__media figcaption {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 18px;
	bottom: -28px;
	box-shadow: 0 18px 48px rgba(23, 63, 77, 0.16);
	display: grid;
	gap: 3px;
	left: -28px;
	max-width: 350px;
	padding: 20px 22px;
	position: absolute;
}

.bux-relief-hero__media figcaption strong {
	color: var(--bux-ink);
	font-family: var(--bux-font-heading);
	font-size: 17px;
	letter-spacing: -0.015em;
}

.bux-relief-hero__media figcaption span {
	color: var(--bux-muted);
	font-size: 13px;
	line-height: 1.5;
}

.bux-relief-paths {
	background: #f8fbfb;
	padding: clamp(82px, 9vw, 116px) 0;
}

.bux-relief-paths__intro {
	align-items: end;
	display: grid;
	gap: 50px;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr);
	margin-bottom: 46px;
}

.bux-relief-paths__intro h2 {
	font-size: clamp(40px, 4.2vw, 56px);
	margin: 15px 0 0;
}

.bux-relief-paths__intro-copy {
	display: grid;
	gap: 15px;
}

.bux-relief-page .bux-relief-paths__intro-copy p {
	color: var(--bux-body);
	font-size: 16px;
	line-height: 1.72;
	margin: 0;
	max-width: 520px;
}

.bux-relief-paths__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bux-relief-route {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: 28px;
	box-shadow: 0 18px 55px rgba(23, 63, 77, 0.08);
	display: flex;
	flex-direction: column;
	min-height: 500px;
	overflow: hidden;
	padding: clamp(34px, 4vw, 48px);
	position: relative;
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.bux-relief-route::before {
	background: linear-gradient(90deg, var(--bux-green), var(--bux-blue));
	content: "";
	height: 6px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.bux-relief-route:hover,
.bux-relief-route:focus-within {
	border-color: rgba(33, 90, 109, 0.28);
	box-shadow: 0 24px 68px rgba(23, 63, 77, 0.13);
	transform: translateY(-4px);
}

.bux-relief-route__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}

.bux-relief-route__top > span {
	color: var(--bux-blue-text);
	font-family: var(--bux-font-heading);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.bux-relief-route__top > div {
	align-items: center;
	background: var(--bux-green-wash);
	border: 1px solid rgba(126, 216, 89, 0.32);
	border-radius: 18px;
	display: flex;
	height: 76px;
	justify-content: center;
	width: 76px;
}

.bux-relief-route__top img {
	height: 48px;
	object-fit: contain;
	width: 48px;
}

.bux-relief-route h3 {
	font-size: clamp(32px, 3.3vw, 43px);
	margin: 14px 0 17px;
}

.bux-relief-page .bux-relief-route > p {
	color: var(--bux-body);
	font-size: 16px;
	line-height: 1.68;
	margin: 0 0 22px;
}

.bux-relief-page .bux-relief-route > .bux-relief-route__lead {
	color: var(--bux-teal);
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 12px;
}

.bux-relief-route ul {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.bux-relief-route li {
	color: var(--bux-body);
	font-size: 15px;
	line-height: 1.55;
	padding-left: 25px;
	position: relative;
}

.bux-relief-route li::before {
	background: var(--bux-green);
	border-radius: 50%;
	content: "";
	height: 8px;
	left: 2px;
	position: absolute;
	top: 8px;
	width: 8px;
}

.bux-relief-route__link {
	align-items: center;
	border-top: 1px solid var(--bux-border);
	color: var(--bux-teal);
	display: flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 22px;
	text-decoration: none;
}

.bux-relief-route__link span {
	font-size: 22px;
	transition: transform 180ms ease;
}

.bux-relief-route__link:hover span {
	transform: translateX(5px);
}

.bux-relief-approach {
	background: var(--bux-white);
	padding: clamp(78px, 9vw, 118px) 0;
}

.bux-relief-approach__inner {
	align-items: start;
	display: grid;
	gap: clamp(42px, 7vw, 92px);
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.bux-relief-approach h2 {
	font-size: clamp(38px, 4vw, 54px);
	margin: 16px 0 0;
}

.bux-relief-approach__copy {
	display: grid;
	gap: 18px;
}

.bux-relief-page .bux-relief-approach__copy p {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.76;
	margin: 0;
}

.bux-relief-next {
	background: var(--bux-white);
	padding: 0 0 clamp(78px, 8vw, 110px);
}

.bux-relief-next__panel {
	align-items: center;
	background:
		radial-gradient(circle at 93% 12%, rgba(126, 216, 89, 0.2), transparent 26%),
		linear-gradient(120deg, #173f4d, var(--bux-teal));
	border-radius: 28px;
	box-shadow: 0 24px 70px rgba(23, 63, 77, 0.18);
	color: var(--bux-white);
	display: grid;
	gap: 28px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: clamp(34px, 5vw, 54px);
}

.bux-relief-next__icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 20px;
	display: flex;
	height: 82px;
	justify-content: center;
	width: 82px;
}

.bux-relief-next__icon img {
	height: 52px;
	object-fit: contain;
	width: 52px;
}

.bux-relief-next__copy h2 {
	color: var(--bux-white);
	font-size: clamp(31px, 3.3vw, 44px);
	margin: 10px 0 10px;
}

.bux-relief-page .bux-relief-next__copy p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.bux-relief-page .bux-relief-next__copy p + p {
	margin-top: 8px;
}

.bux-relief-next__actions {
	display: grid;
	gap: 12px;
	min-width: 242px;
}

.bux-relief-next__phone {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.48);
	border-radius: var(--bux-radius-sm);
	color: var(--bux-white);
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.bux-relief-next__phone:hover {
	background: var(--bux-white);
	color: var(--bux-ink);
}

@media (max-width: 1024px) {
	.bux-relief-hero__grid {
		gap: 44px;
		grid-template-columns: minmax(0, 1fr) minmax(380px, 0.85fr);
	}

	.bux-relief-next__panel {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.bux-relief-next__actions {
		display: flex;
		grid-column: 2;
		min-width: 0;
	}
}

@media (max-width: 860px) {
	.bux-relief-hero__grid,
	.bux-relief-paths__intro,
	.bux-relief-paths__grid,
	.bux-relief-approach__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.bux-relief-hero__copy {
		max-width: 720px;
	}

	.bux-relief-hero__media {
		margin: 14px auto 0;
		max-width: 680px;
		width: 100%;
	}

	.bux-relief-paths__intro {
		align-items: start;
		gap: 18px;
	}

	.bux-relief-route {
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.bux-relief-hero {
		padding: 54px 0 72px;
	}

	.bux-relief-hero__grid {
		gap: 48px;
	}

	.bux-relief-hero__copy h1 {
		font-size: clamp(42px, 11.5vw, 54px);
		margin: 17px 0 20px;
	}

	.bux-relief-page .bux-relief-hero__body p {
		font-size: 17px;
	}

	.bux-relief-hero__actions {
		align-items: stretch;
		flex-direction: column;
		margin-top: 28px;
	}

	.bux-relief-hero__actions .bux-button {
		width: 100%;
	}

	.bux-relief-hero__media::before {
		right: -10px;
		top: -10px;
	}

	.bux-relief-hero__media figure > img {
		border-width: 6px;
		height: 280px;
	}

	.bux-relief-hero__media figcaption {
		bottom: auto;
		left: auto;
		margin: -42px 15px 0;
		max-width: none;
		position: relative;
	}

	.bux-relief-paths {
		padding: 72px 0;
	}

	.bux-relief-paths__intro {
		margin-bottom: 32px;
	}

	.bux-relief-paths__intro h2 {
		font-size: 36px;
	}

	.bux-relief-route {
		border-radius: 23px;
		padding: 30px 24px;
	}

	.bux-relief-route__top {
		margin-bottom: 25px;
	}

	.bux-relief-route h3 {
		font-size: 31px;
	}

	.bux-relief-next {
		padding-bottom: 72px;
	}

	.bux-relief-approach {
		padding: 72px 0;
	}

	.bux-relief-next__panel {
		border-radius: 23px;
		gap: 22px;
		grid-template-columns: minmax(0, 1fr);
		padding: 32px 24px;
	}

	.bux-relief-next__icon {
		height: 68px;
		width: 68px;
	}

	.bux-relief-next__icon img {
		height: 44px;
		width: 44px;
	}

	.bux-relief-next__actions {
		display: grid;
		grid-column: auto;
	}

	.bux-relief-next__actions .bux-button,
	.bux-relief-next__phone {
		width: 100%;
	}
}

.bux-section-intro {
	margin-bottom: clamp(38px, 5vw, 58px);
	max-width: 860px;
}

.bux-section-intro h2 {
	margin: 16px 0 20px;
}

.bux-section-intro > p {
	margin: 0;
}

.bux-section-intro--light h2,
.bux-section-intro--light p {
	color: var(--bux-white);
}

.bux-choice-section,
.bux-condition-library,
.bux-treatment-families,
.bux-service-library,
.bux-video-library,
.bux-location-library,
.bux-appointment-section {
	padding: clamp(76px, 9vw, 132px) 0;
}

.bux-choice-grid {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bux-choice-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-lg);
	box-shadow: var(--bux-shadow);
	display: flex;
	flex-direction: column;
	min-height: 520px;
	padding: clamp(38px, 5vw, 64px);
}

.bux-choice-card > img {
	height: 76px;
	margin-bottom: 34px;
	object-fit: contain;
	object-position: left center;
	width: 76px;
}

.bux-choice-card h2 {
	font-size: clamp(34px, 3vw, 48px);
	margin: 15px 0 20px;
}

.bux-choice-card p {
	margin: 0 0 34px;
}

.bux-choice-card .bux-button {
	align-self: flex-start;
	margin-top: auto;
}

.bux-choice-card--teal {
	background: var(--bux-teal);
	border-color: var(--bux-teal);
	color: rgba(255, 255, 255, 0.82);
}

.bux-choice-card--teal h2 {
	color: var(--bux-white);
}

.bux-condition-library {
	background: var(--bux-white);
}

.bux-condition-library__grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bux-condition-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-md);
	box-shadow: 0 14px 44px rgba(23, 63, 77, 0.07);
	padding: 31px 28px;
}

.bux-condition-card img {
	height: 54px;
	margin-bottom: 24px;
	object-fit: contain;
	object-position: left center;
	width: 54px;
}

.bux-condition-card h3 {
	font-size: 22px;
	margin-bottom: 13px;
}

.bux-condition-card p {
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
}

.bux-detail-library {
	background: var(--bux-light);
	padding: clamp(76px, 9vw, 126px) 0;
}

.bux-treatment-details {
	background: var(--bux-wash);
}

.bux-detail-library__grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bux-detail-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-md);
	box-shadow: 0 16px 46px rgba(23, 63, 77, 0.07);
	padding: clamp(30px, 4vw, 44px);
}

.bux-detail-card__heading {
	align-items: center;
	display: grid;
	gap: 20px;
	grid-template-columns: auto minmax(0, 1fr);
	margin-bottom: 24px;
}

.bux-detail-card__heading img {
	background: var(--bux-green-wash);
	border-radius: 18px;
	height: 68px;
	object-fit: contain;
	padding: 12px;
	width: 68px;
}

.bux-detail-card h2 {
	font-size: clamp(27px, 2.5vw, 36px);
	margin: 0;
}

.bux-detail-card p {
	color: var(--bux-body);
	font-size: 16px;
	line-height: 1.72;
	margin: 0 0 18px;
}

.bux-detail-card p strong {
	color: var(--bux-ink);
}

.bux-detail-card ul {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
}

.bux-detail-card li {
	color: var(--bux-body);
	font-size: 15px;
	line-height: 1.55;
	padding-left: 22px;
	position: relative;
}

.bux-detail-card li::before {
	background: var(--bux-green);
	border-radius: 50%;
	content: "";
	height: 7px;
	left: 1px;
	position: absolute;
	top: 8px;
	width: 7px;
}

.bux-detail-card > :last-child {
	margin-bottom: 0;
}

.bux-content-bridge {
	background: var(--bux-white);
	padding: clamp(76px, 9vw, 118px) 0;
}

.bux-content-bridge__inner {
	align-items: start;
	display: grid;
	gap: clamp(42px, 7vw, 92px);
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
}

.bux-content-bridge h2 {
	font-size: clamp(38px, 4vw, 54px);
	margin: 16px 0 0;
}

.bux-content-bridge__copy {
	display: grid;
	gap: 17px;
}

.bux-content-bridge__copy p {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.76;
	margin: 0;
}

.bux-content-bridge__copy .bux-button {
	justify-self: start;
	margin-top: 8px;
}

.bux-care-process {
	background: linear-gradient(125deg, #173f4d, var(--bux-teal));
	color: rgba(255, 255, 255, 0.8);
	padding: clamp(76px, 9vw, 126px) 0;
}

.bux-care-process__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-care-process__grid article {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--bux-radius-md);
	padding: 34px;
}

.bux-care-process__grid span {
	color: var(--bux-green);
	font-family: var(--bux-font-heading);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.bux-care-process__grid h3 {
	color: var(--bux-white);
	font-size: 27px;
	margin: 16px 0 12px;
}

.bux-care-process__grid p {
	color: rgba(255, 255, 255, 0.84);
	font-size: 16px;
	margin: 0;
}

.bux-treatment-families {
	background: var(--bux-light);
}

.bux-treatment-families__grid {
	align-items: stretch;
	display: grid;
	gap: 22px;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-treatment-families .bux-treatment-tile__heading {
	color: var(--bux-teal);
	font-size: 22px;
	font-weight: 620;
	line-height: 1.18;
	margin: 0 0 14px;
}

.bux-treatment-families .bux-treatment-tile__description {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
}

.bux-service-library {
	background: var(--bux-wash);
}

.bux-service-library__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-service-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-md);
	box-shadow: 0 14px 40px rgba(23, 63, 77, 0.07);
	display: flex;
	flex-direction: column;
	padding: 31px;
}

.bux-service-card__icon {
	align-items: center;
	background: var(--bux-green-wash);
	border-radius: 999px;
	display: flex;
	height: 64px;
	justify-content: center;
	margin-bottom: 25px;
	width: 64px;
}

.bux-service-card__icon img {
	height: 42px;
	object-fit: contain;
	width: 42px;
}

.bux-service-card .bux-eyebrow {
	font-size: 10px;
}

.bux-service-card h3 {
	font-size: 24px;
	margin: 12px 0 14px;
}

.bux-service-card p {
	font-size: 15px;
	line-height: 1.65;
	margin: 0 0 24px;
}

.bux-service-card .bux-text-link {
	margin-top: auto;
}

.bux-medical-note {
	background: var(--bux-white);
	border-left: 5px solid var(--bux-green);
	font-size: 14px !important;
	margin: 42px 0 0;
	padding: 22px 26px;
}

.bux-video-hero {
	background: linear-gradient(125deg, #102f3a, #1b4e5e 62%, #1f596b);
	color: rgba(255, 255, 255, 0.82);
	padding: clamp(74px, 9vw, 126px) 0;
}

.bux-video-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(46px, 7vw, 92px);
	grid-template-columns: minmax(0, 0.82fr) minmax(480px, 1.18fr);
}

.bux-video-hero h1 {
	color: var(--bux-white);
	font-size: clamp(44px, 5vw, 70px);
	margin: 19px 0 27px;
}

.bux-video-hero p {
	color: rgba(255, 255, 255, 0.84);
	font-size: 19px;
	margin: 0;
}

.bux-video-feature {
	background: #071e26;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--bux-radius-lg);
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.3);
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.bux-video-feature::after {
	background: linear-gradient(0deg, rgba(5, 26, 33, 0.92), rgba(5, 26, 33, 0.05) 70%);
	content: "";
	inset: 0;
	position: absolute;
}

.bux-video-feature img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.bux-video-play {
	align-items: center;
	background: var(--bux-green);
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
	color: var(--bux-ink);
	display: flex;
	height: 58px;
	justify-content: center;
	left: 50%;
	padding-left: 4px;
	position: absolute;
	top: 45%;
	transform: translate(-50%, -50%);
	width: 58px;
	z-index: 2;
}

.bux-video-feature__copy {
	bottom: 29px;
	color: var(--bux-white);
	display: flex;
	flex-direction: column;
	left: 31px;
	position: absolute;
	right: 31px;
	z-index: 2;
}

.bux-video-feature__copy small,
.bux-video-feature__copy em {
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bux-video-feature__copy small {
	color: var(--bux-green);
}

.bux-video-feature__copy strong {
	font-family: var(--bux-font-heading);
	font-size: clamp(22px, 2.2vw, 31px);
	line-height: 1.25;
	margin: 5px 0;
}

.bux-video-library__heading {
	align-items: end;
	display: flex;
	gap: 40px;
	justify-content: space-between;
	margin-bottom: 48px;
}

.bux-video-library__heading h2 {
	margin-top: 16px;
}

.bux-video-library__heading > p {
	color: var(--bux-muted);
	font-size: 15px;
	font-weight: 750;
	margin: 0 0 6px;
	white-space: nowrap;
}

.bux-video-library__grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-video-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-md);
	box-shadow: 0 14px 44px rgba(23, 63, 77, 0.08);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.bux-video-card__image {
	background: var(--bux-teal);
	display: block;
	overflow: hidden;
	position: relative;
}

.bux-video-card__image::after {
	background: rgba(8, 42, 52, 0.14);
	content: "";
	inset: 0;
	position: absolute;
}

.bux-video-card__image img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 220ms ease;
	width: 100%;
}

.bux-video-card:hover .bux-video-card__image img {
	transform: scale(1.025);
}

.bux-video-card .bux-video-play {
	height: 44px;
	width: 44px;
}

.bux-video-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 25px;
}

.bux-video-card time {
	color: var(--bux-blue-text);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bux-video-card h3 {
	font-size: 21px;
	margin: 10px 0 22px;
}

.bux-video-card__body > h3:first-child {
	margin-top: 0;
}

.bux-video-card h3 a {
	color: inherit;
	text-decoration: none;
}

.bux-video-card .bux-text-link {
	margin-top: auto;
}

.bux-video-source-note {
	align-items: center;
	background: var(--bux-wash);
	border-radius: var(--bux-radius-md);
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-top: 48px;
	padding: 27px 30px;
}

.bux-video-source-note p {
	margin: 0;
}

/* Keep every standard interior page header on the same visual system. The
   homepage and Pain Points video hero intentionally use their own treatments. */
.bux-interior-hero,
.bux-resources-hero,
.bux-page-hero,
.bux-relief-hero {
	background: linear-gradient(135deg, var(--bux-wash), var(--bux-green-wash));
	overflow: hidden;
	position: relative;
}

.bux-interior-hero::before,
.bux-interior-hero::after,
.bux-resources-hero::before,
.bux-resources-hero::after,
.bux-page-hero::before,
.bux-page-hero::after,
.bux-relief-hero::before,
.bux-relief-hero::after {
	border: 1px solid rgba(33, 90, 109, 0.11);
	border-radius: 999px;
	content: "";
	filter: none;
	opacity: 1;
	pointer-events: none;
	position: absolute;
}

.bux-interior-hero::before,
.bux-resources-hero::before,
.bux-page-hero::before,
.bux-relief-hero::before {
	background: transparent;
	height: 360px;
	left: -230px;
	top: -170px;
	width: 360px;
}

.bux-interior-hero::after,
.bux-resources-hero::after,
.bux-page-hero::after,
.bux-relief-hero::after {
	background: rgba(126, 216, 89, 0.1);
	height: 430px;
	right: -260px;
	top: -220px;
	width: 430px;
}

.bux-resources-hero__inner {
	position: relative;
	z-index: 1;
}

.bux-location-library {
	background: var(--bux-white);
}

.bux-location-library__grid {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-office-card {
	background: var(--bux-white);
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-lg);
	box-shadow: var(--bux-shadow);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	scroll-margin-top: 120px;
}

.bux-office-card__image {
	aspect-ratio: 3 / 2;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.bux-office-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(32px, 4vw, 50px);
}

.bux-office-card h2 {
	font-size: clamp(32px, 3.4vw, 44px);
	margin: 13px 0 22px;
	min-height: clamp(107.52px, 11.424vw, 147.84px);
}

#bux-office-lexington-surgery-center h2 {
	font-size: clamp(30px, 2.8vw, 36px);
}

.bux-office-card__status {
	background: var(--bux-green);
	border-radius: 999px;
	color: var(--bux-ink);
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	left: 22px;
	letter-spacing: 0.08em;
	margin: 0;
	padding: 8px 13px;
	position: absolute;
	text-transform: uppercase;
	top: 22px;
	z-index: 1;
}

.bux-office-card__status + .bux-eyebrow {
	display: flex;
}

.bux-office-card--no-image .bux-office-card__status {
	align-self: flex-start;
	left: auto;
	margin: 24px 0 0;
	position: static;
	top: auto;
}

.bux-locations-page .bux-office-card__body {
	padding: clamp(28px, 3vw, 40px);
}

.bux-locations-page .bux-office-card h2,
.bux-locations-page .bux-office-card address,
.bux-locations-page .bux-office-card dl {
	min-height: 0;
}

.bux-locations-page .bux-office-card dl {
	margin: 24px 0;
	padding: 20px 0;
}

/* Patient testimonials. */
.bux-testimonials-section {
    padding: clamp(76px, 9vw, 132px) 0;
	background: var(--bux-white);
}


.bux-testimonials-grid {
	align-items: start;
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bux-testimonial-card {
	background: linear-gradient(145deg, var(--bux-white), var(--bux-wash));
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-md);
	box-shadow: 0 14px 44px rgba(23, 63, 77, 0.08);
	margin: 0;
	padding: clamp(28px, 3.2vw, 42px);
}

.bux-testimonial-card__mark {
	color: var(--bux-green);
	display: block;
	font-family: Georgia, serif;
	font-size: 72px;
	font-weight: 700;
	height: 46px;
	line-height: 0.8;
}

body.bux-homepage-active .bux-testimonial-card p {
	color: var(--bux-body);
	font-size: 17px;
	line-height: 1.75;
	margin: 18px 0 26px;
}

.bux-testimonial-card footer {
	color: var(--bux-teal);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.bux-testimonials-disclaimer {
	color: var(--bux-muted);
	font-size: 14px;
	margin: 36px auto 0;
	max-width: 760px;
	text-align: center;
}

.bux-office-card address {
	color: var(--bux-body);
	font-size: 18px;
	font-style: normal;
	line-height: 1.65;
	min-height: 4.95em;
}

.bux-office-card dl {
	border-block: 1px solid var(--bux-border);
	display: grid;
	gap: 15px;
	margin: 30px 0;
	min-height: 140px;
	padding: 25px 0;
}

.bux-office-card dl > div {
	display: grid;
	gap: 16px;
	grid-template-columns: 82px minmax(0, 1fr);
}

.bux-office-card dt {
	color: var(--bux-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bux-office-card dd {
	color: var(--bux-teal);
	font-size: 15px;
	font-weight: 700;
	margin: 0;
}

.bux-office-card dd a {
	color: inherit;
}

.bux-office-card__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 23px;
	margin-top: auto;
}

.bux-appointment-section {
	background: var(--bux-white);
}

.bux-appointment-layout {
	align-items: stretch;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
}

.bux-appointment-form-wrap {
	border: 1px solid var(--bux-border);
	border-radius: var(--bux-radius-lg) 0 0 var(--bux-radius-lg);
	box-shadow: var(--bux-shadow);
	padding: clamp(34px, 6vw, 72px);
}

.bux-appointment-form-wrap h2 {
	margin: 14px 0 35px;
}

.bux-appointment-form {
	display: grid;
	gap: 23px;
}

.bux-form-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bux-form-field {
	display: grid;
	gap: 9px;
}

.bux-form-field label {
	color: var(--bux-teal);
	font-size: 14px;
	font-weight: 750;
}

.bux-form-field label > span:not([aria-hidden]) {
	color: var(--bux-muted);
	font-weight: 500;
}

.bux-form-field input,
.bux-form-field select {
	background: var(--bux-white);
	border: 1px solid rgba(33, 90, 109, 0.3);
	border-radius: var(--bux-radius-sm);
	color: var(--bux-ink);
	font: inherit;
	font-size: 16px;
	min-height: 54px;
	padding: 12px 15px;
	width: 100%;
}

.bux-form-field input:focus,
.bux-form-field select:focus {
	border-color: var(--bux-blue-text);
	box-shadow: 0 0 0 3px rgba(80, 158, 184, 0.18);
	outline: none;
}

.bux-form-field--honeypot {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.bux-form-consent {
	align-items: flex-start;
	color: var(--bux-body);
	cursor: pointer;
	display: flex;
	font-size: 14px;
	gap: 12px;
	line-height: 1.55;
}

.bux-form-consent input {
	accent-color: var(--bux-teal);
	flex: 0 0 auto;
	height: 19px;
	margin-top: 2px;
	width: 19px;
}

.bux-form-privacy {
	background: var(--bux-green-wash);
	border-left: 4px solid var(--bux-green);
	font-size: 13px;
	line-height: 1.55;
	padding: 16px 18px;
}

.bux-appointment-form .bux-button {
	justify-self: start;
}

.bux-form-notice {
	border-radius: var(--bux-radius-sm);
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 28px;
	padding: 17px 19px;
}

.bux-form-notice--success {
	background: var(--bux-green-wash);
	border: 1px solid rgba(70, 148, 39, 0.28);
	color: #2c681d;
}

.bux-form-notice--error {
	background: #fff2f1;
	border: 1px solid rgba(153, 46, 36, 0.26);
	color: #8a2d25;
}

.bux-appointment-aside {
	background: linear-gradient(145deg, #173f4d, var(--bux-teal));
	border-radius: 0 var(--bux-radius-lg) var(--bux-radius-lg) 0;
	color: rgba(255, 255, 255, 0.8);
	padding: clamp(34px, 5vw, 64px);
}

.bux-appointment-aside h2 {
	color: var(--bux-white);
	font-size: clamp(34px, 3.6vw, 48px);
	margin: 15px 0 20px;
}

.bux-appointment-aside p {
	color: rgba(255, 255, 255, 0.84);
	font-size: 16px;
}

.bux-appointment-phone {
	color: var(--bux-green);
	display: inline-block;
	font-family: var(--bux-font-heading);
	font-size: clamp(27px, 3vw, 38px);
	font-weight: 650;
	margin: 13px 0 36px;
	text-decoration: none;
}

.bux-appointment-aside ul {
	border-top: 1px solid rgba(255, 255, 255, 0.17);
	display: grid;
	gap: 25px;
	list-style: none;
	margin: 0;
	padding: 30px 0 0;
}

.bux-appointment-aside li {
	display: grid;
	gap: 7px;
}

.bux-appointment-aside li strong {
	color: var(--bux-white);
	font-family: var(--bux-font-heading);
	font-size: 19px;
}

.bux-appointment-aside li span {
	font-size: 14px;
	line-height: 1.6;
}

.bux-article-return {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
}

.bux-article-return .bux-button:last-child {
	margin-left: auto;
}

@media (max-width: 1100px) {
	.bux-condition-library__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-service-library__grid,
	.bux-video-library__grid,
	.bux-location-library__grid,
	.bux-testimonials-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-video-hero__grid {
		grid-template-columns: 1fr;
	}

	.bux-video-feature {
		max-width: 820px;
	}
}

@media (max-width: 850px) {
	.bux-detail-library__grid,
	.bux-content-bridge__inner {
		grid-template-columns: 1fr;
	}

	.bux-treatment-families__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bux-location-library__grid,
	.bux-appointment-layout {
		grid-template-columns: 1fr;
	}

	.bux-office-card h2,
	.bux-office-card address,
	.bux-office-card dl {
		min-height: 0;
	}

	.bux-appointment-form-wrap {
		border-radius: var(--bux-radius-lg) var(--bux-radius-lg) 0 0;
	}

	.bux-appointment-aside {
		border-radius: 0 0 var(--bux-radius-lg) var(--bux-radius-lg);
	}
}

@media (max-width: 767px) {
	.bux-final-photo img {
		aspect-ratio: 3 / 2;
		height: auto;
	}

	.bux-page-hero {
		padding: 68px 0 82px;
	}

	.bux-page-hero h1,
	.bux-video-hero h1 {
		font-size: clamp(40px, 11.5vw, 56px);
	}

	.bux-choice-grid,
	.bux-care-process__grid,
	.bux-location-library__grid {
		grid-template-columns: 1fr;
	}

	.bux-choice-card {
		min-height: 0;
	}

	.bux-choice-card .bux-button {
		margin-top: 8px;
	}

	.bux-detail-card {
		padding: 28px 24px;
	}

	.bux-detail-card__heading {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.bux-detail-card ul {
		grid-template-columns: 1fr;
	}

	.bux-content-bridge__copy .bux-button,
	.bux-interior-cta__actions,
	.bux-interior-cta__actions .bux-button,
	.bux-interior-cta__phone {
		width: 100%;
	}

	.bux-video-hero__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.bux-video-feature {
		border-radius: var(--bux-radius-md);
	}

	.bux-video-library__heading,
	.bux-video-source-note {
		align-items: flex-start;
		flex-direction: column;
	}

	.bux-video-source-note .bux-button {
		justify-content: center;
		width: 100%;
	}

	.bux-form-grid {
		grid-template-columns: 1fr;
	}

	.bux-appointment-form .bux-button {
		justify-self: stretch;
	}

	.bux-article-return {
		align-items: stretch;
		flex-direction: column;
	}

	.bux-article-return .bux-button:last-child {
		margin-left: 0;
	}
}

@media (max-width: 560px) {
	.bux-condition-library__grid,
	.bux-treatment-families__grid,
	.bux-service-library__grid,
	.bux-video-library__grid,
	.bux-testimonials-grid {
		grid-template-columns: 1fr;
	}

	.bux-video-feature__copy {
		bottom: 20px;
		left: 22px;
		right: 22px;
	}

	.bux-video-feature__copy em {
		display: none;
	}

	.bux-video-play {
		height: 48px;
		width: 48px;
	}

	.bux-office-card dl > div {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.bux-office-card__actions .bux-button {
		justify-content: center;
		width: 100%;
	}
}

/* Sitewide vertical rhythm. Adjacent sections previously combined as much as
   300px of top and bottom padding. These three shared tiers keep the layout
   spacious without creating oversized blank bands between containers. */
.bux-homepage__hero,
.bux-interior-hero,
.bux-resources-hero,
.bux-page-hero,
.bux-relief-hero,
.bux-video-hero,
.bux-article-hero {
	padding-block: clamp(72px, 6.5vw, 96px);
}

.bux-homepage__conditions,
.bux-homepage__doctor,
.bux-homepage__path,
.bux-homepage__pain-points,
.bux-homepage__stories,
.bux-homepage__coverage,
.bux-homepage__cta,
.bux-interior-section,
.bux-resource-library,
.bux-relief-paths,
.bux-relief-approach,
.bux-choice-section,
.bux-condition-library,
.bux-treatment-families,
.bux-service-library,
.bux-video-library,
.bux-location-library,
.bux-appointment-section,
.bux-testimonials-section,
.bux-detail-library,
.bux-content-bridge {
	padding-block: clamp(64px, 5.5vw, 80px);
}

.bux-interior-cta {
	padding-block: clamp(56px, 5vw, 72px);
}

.bux-relief-next {
	padding-block: 0 clamp(56px, 5vw, 72px);
}

.bux-article-main {
	padding-bottom: clamp(64px, 5.5vw, 80px);
}

.bux-article-content {
	padding-top: clamp(56px, 5vw, 72px);
}

/* Referring physicians shares the interior-page design. */
.bux-referral-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.bux-referral-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.bux-referral-benefits h3 { font-size:24px; line-height:1.25; }
.bux-referral-offices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:40px; }
.bux-referral-offices h3 { color:inherit; font-size:22px; }
.bux-referral-offices address { font-style:normal; }
#refer-a-patient { scroll-margin-top:120px; }
@media(max-width:767px) { .bux-referral-benefits, .bux-referral-offices { grid-template-columns:1fr; } }

/* Space the referral phone action beneath its supporting copy. */
.bux-referring-page #refer-a-patient .bux-button { margin-top: 24px; }
