@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../fonts/fraunces-300.ttf") format("truetype");
}

@font-face {
	font-family: "Fraunces";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/fraunces-400.ttf") format("truetype");
}

@font-face {
	font-family: "Space Grotesk";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("../fonts/space-grotesk-variable.ttf") format("truetype");
}

:root {
	--cirx-cobalt: #0033CC;
	--cirx-red: #FF2200;
	--cirx-yellow: #E6FF00;
	--cirx-coral: #FF5533;
	--cirx-green: #00D66B;
	--cirx-black: #050505;
	--cirx-white: #FCFCFC;
	--cirx-bg: var(--cirx-black);
	--cirx-text: var(--cirx-white);
	--cirx-surface: #141414;
	--cirx-muted: #C8C8C8;
	--cirx-border: var(--cirx-white);
	--cirx-display: "Fraunces", Georgia, serif;
	--cirx-body: "Space Grotesk", Arial, sans-serif;
	--cirx-gutter: clamp(1rem, 4vw, 4rem);
	--cirx-shadow: 8px 8px 0 var(--cirx-cobalt);
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-wrap: break-word;
	background: var(--cirx-bg);
	color: var(--cirx-text);
	font-family: var(--cirx-body);
	font-size: 1rem;
	line-height: 1.6;
}

body,
button,
input,
select,
textarea {
	font-family: var(--cirx-body);
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-underline-offset: 0.18em;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 4px solid var(--cirx-coral);
	outline-offset: 4px;
}

h1,
h2,
h3,
.cirx-footer-mark {
	margin-block-start: 0;
	font-family: var(--cirx-display);
	font-weight: 400;
	line-height: 0.95;
}

h1 {
	font-size: clamp(3.25rem, 8vw, 8rem);
}

h2 {
	font-size: clamp(2.25rem, 5vw, 4.75rem);
}

h3 {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.cirx-skip-link {
	position: fixed;
	z-index: 99999;
	top: 1rem;
	left: 1rem;
	padding: 0.75rem 1rem;
	transform: translateY(-200%);
	background: var(--cirx-coral);
	color: var(--cirx-black);
	font-weight: 700;
}

.cirx-skip-link:focus {
	transform: none;
}

.cirx-site-header {
	position: relative;
	z-index: 100;
	border-bottom: 4px solid var(--cirx-white);
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-header-inner {
	display: flex;
	min-height: 5rem;
	align-items: center;
	gap: 1.25rem;
	max-width: 1600px;
	margin: auto;
	padding: 0.75rem var(--cirx-gutter);
}

.cirx-brand {
	margin-right: auto;
	font-family: var(--cirx-display);
	font-size: 1.75rem;
	text-decoration: none;
}

.cirx-brand img {
	display: block;
	width: auto;
	max-height: 3rem;
}

.cirx-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cirx-menu a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.cirx-menu a:hover,
.cirx-text-link:hover {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

.cirx-menu-toggle {
	display: none;
	min-height: 44px;
	border: 2px solid currentcolor;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-weight: 700;
}

.cirx-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.25rem;
	border: 3px solid var(--cirx-white);
	border-radius: 0;
	box-shadow: 5px 5px 0 var(--cirx-coral);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 120ms ease, box-shadow 120ms ease;
}

.cirx-button:hover {
	transform: translate(-4px, -4px);
	box-shadow: 9px 9px 0 var(--cirx-coral);
}

.cirx-hero {
	display: grid;
	min-height: calc(100svh - 5rem);
	align-items: end;
	padding: clamp(4rem, 10vh, 8rem) var(--cirx-gutter);
	border-bottom: 8px solid var(--cirx-border);
	background:
		linear-gradient(135deg, transparent 45%, rgba(255, 85, 51, 0.18) 45% 60%, transparent 60%),
		var(--cirx-bg);
}

.cirx-hero__content {
	max-width: 1450px;
}

.cirx-hero h1 {
	margin: 1rem 0 1.5rem;
	font-size: clamp(4rem, 13vw, 12rem);
	text-transform: uppercase;
}

.cirx-hero h1 span {
	color: var(--cirx-coral);
}

.cirx-kicker,
.cirx-status {
	display: inline-block;
	padding: 0.35rem 0.65rem;
	border: 2px solid var(--cirx-black);
	box-shadow: 4px 4px 0 var(--cirx-cobalt);
	background: var(--cirx-green);
	color: var(--cirx-black);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.cirx-hero__statement {
	margin: 0 0 1rem;
	font-size: clamp(1.75rem, 4vw, 3.75rem);
	font-weight: 700;
	line-height: 1.1;
}

.cirx-hero__support,
.cirx-lede {
	max-width: 52rem;
	font-size: clamp(1.1rem, 2vw, 1.5rem);
}

.cirx-category-strip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	padding: 2rem var(--cirx-gutter);
	border-bottom: 8px solid var(--cirx-black);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-category-strip a,
.cirx-filter-links a {
	display: flex;
	min-height: 48px;
	align-items: center;
	justify-content: space-between;
	padding: 0.6rem 0.8rem;
	border: 3px solid var(--cirx-black);
	box-shadow: 4px 4px 0 var(--cirx-cobalt);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.cirx-section {
	width: 100%;
	max-width: 1600px;
	margin: auto;
	padding: clamp(4rem, 9vw, 8rem) var(--cirx-gutter);
}

.cirx-narrow {
	max-width: 980px;
}

.cirx-editorial {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.7fr);
	gap: 3rem;
	align-items: end;
}

.cirx-editorial > p {
	padding: 1.5rem;
	border-left: 8px solid var(--cirx-red);
	box-shadow: 8px 8px 0 var(--cirx-yellow);
	background: var(--cirx-black);
	color: var(--cirx-white);
	font-weight: 700;
}

.cirx-eyebrow {
	margin-block: 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.cirx-handoff {
	padding: clamp(4rem, 10vw, 10rem) var(--cirx-gutter);
	border-block: 8px solid var(--cirx-white);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-handoff > * {
	max-width: 900px;
}

.cirx-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 3rem;
}

.cirx-section-heading h1,
.cirx-section-heading h2 {
	margin-bottom: 0;
}

.cirx-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem;
}

.cirx-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	border: 4px solid var(--cirx-border);
	box-shadow: var(--cirx-shadow);
	background: var(--cirx-surface);
	transition: transform 120ms ease;
}

.cirx-card:hover {
	transform: translate(-4px, -4px);
}

.cirx-card__media {
	display: block;
	overflow: hidden;
	border-bottom: 4px solid var(--cirx-border);
}

.cirx-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.cirx-media-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 12rem;
	background: linear-gradient(135deg, var(--cirx-cobalt) 0 50%, var(--cirx-coral) 50%);
}

.cirx-card__body {
	padding: 1.4rem;
}

.cirx-card__title {
	margin-bottom: 1rem;
	font-size: clamp(1.65rem, 3vw, 2.4rem);
}

.cirx-card__title a {
	text-decoration: none;
}

.cirx-price {
	font-size: 1.35rem;
	font-weight: 700;
}

.cirx-text-link {
	font-weight: 700;
	text-transform: uppercase;
}

.cirx-page-hero {
	padding: clamp(4rem, 9vw, 8rem) var(--cirx-gutter);
	border-bottom: 8px solid var(--cirx-border);
}

.cirx-page-hero > * {
	max-width: 950px;
}

.cirx-page-hero > .cirx-category-hero {
	max-width: 1400px;
}

.cirx-category-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr);
	gap: 3rem;
	align-items: center;
}

.cirx-category-hero__media {
	margin: 0;
	border: 4px solid var(--cirx-black);
	box-shadow: 10px 10px 0 var(--cirx-cobalt);
	background: var(--cirx-black);
}

.cirx-category-hero__media img {
	display: block;
	width: 100%;
}

.cirx-media-disclosure {
	margin: 0;
}

.cirx-media-disclosure > figcaption {
	display: none;
}

.cirx-page-hero--yellow {
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-breadcrumb-wrap,
.cirx-breadcrumbs {
	padding: 0;
}

.cirx-breadcrumb-wrap {
	max-width: 1600px;
	margin: auto;
	padding: 1rem var(--cirx-gutter);
}

.cirx-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-filter-links {
	display: flex;
	overflow-x: auto;
	gap: 1rem;
	padding: 1.5rem var(--cirx-gutter);
	border-bottom: 4px solid var(--cirx-border);
}

.cirx-filter-links a {
	flex: 0 0 auto;
	border-color: var(--cirx-border);
	box-shadow: none;
	color: var(--cirx-text);
}

.cirx-program-hero {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-block: 4px solid var(--cirx-border);
}

.cirx-program-hero__copy {
	padding: clamp(2rem, 6vw, 6rem);
}

.cirx-program-hero__copy h1 {
	font-size: clamp(3.25rem, 7vw, 7rem);
}

.cirx-pricing {
	margin-block: 2rem;
	padding: 1.5rem;
	border: 4px solid var(--cirx-border);
	box-shadow: 8px 8px 0 var(--cirx-green);
	background: var(--cirx-surface);
}

.cirx-boundary {
	margin-top: 1.5rem;
	font-size: 0.875rem;
}

.cirx-program-hero__media {
	display: flex;
	min-height: 600px;
	flex-direction: column;
	margin: 0;
	border-left: 4px solid var(--cirx-border);
}

.cirx-program-hero__media img {
	width: 100%;
	height: 100%;
	min-height: 0;
	flex: 1;
	object-fit: cover;
}

.cirx-program-hero__media > .cirx-media-disclosure {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
}

.cirx-program-hero__media figcaption {
	padding: 0.75rem;
	background: var(--cirx-black);
	color: var(--cirx-white);
	font-size: 0.75rem;
}

.cirx-four-frame {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	padding: clamp(4rem, 8vw, 7rem) var(--cirx-gutter);
	border-bottom: 8px solid var(--cirx-border);
	background: var(--cirx-surface);
}

.cirx-four-frame > div:first-child,
.cirx-four-frame > p {
	grid-column: 1 / -1;
}

.cirx-editorial-frame {
	display: block;
	border: 4px solid var(--cirx-border);
	box-shadow: 8px 8px 0 var(--cirx-coral);
	background: linear-gradient(145deg, var(--cirx-cobalt), var(--cirx-black));
	color: var(--cirx-white);
	font-family: var(--cirx-display);
	font-size: 3rem;
}

.cirx-editorial-frame:nth-of-type(even) {
	box-shadow: 8px 8px 0 var(--cirx-green);
	background: linear-gradient(145deg, var(--cirx-coral), var(--cirx-black));
}

.cirx-editorial-frame img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.cirx-program-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
	gap: clamp(2rem, 5vw, 5rem);
	max-width: 1300px;
	margin: auto;
	padding: clamp(4rem, 8vw, 7rem) var(--cirx-gutter);
}

.cirx-content-section {
	padding-block: 2.5rem;
	border-bottom: 3px solid var(--cirx-border);
}

.cirx-content-section h2,
.cirx-sidebar-card h2 {
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.cirx-content-section table {
	display: table;
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}

.cirx-content-section .cirx-table-wrap,
.cirx-table-wrap {
	overflow-x: auto;
}

.cirx-table-wrap:focus {
	outline: 4px solid var(--cirx-coral);
	outline-offset: 4px;
}

.cirx-options-table caption {
	padding: 0.75rem;
	font-weight: 700;
	text-align: left;
}

.cirx-options-table small {
	color: var(--cirx-muted);
}

th,
td {
	padding: 0.8rem;
	border: 2px solid var(--cirx-border);
	text-align: left;
}

th {
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

details {
	margin-block: 1rem;
	border: 3px solid var(--cirx-border);
	background: var(--cirx-surface);
}

summary {
	min-height: 48px;
	padding: 1rem;
	cursor: pointer;
	font-weight: 700;
}

details > :not(summary) {
	padding-inline: 1rem;
}

.cirx-program-sidebar {
	align-self: start;
}

.cirx-sidebar-card,
.cirx-disclosure {
	margin-bottom: 2rem;
	padding: 1.5rem;
	border: 4px solid var(--cirx-border);
	box-shadow: 8px 8px 0 var(--cirx-yellow);
}

.cirx-sidebar-card--notice {
	border-left: 8px solid var(--cirx-red);
	box-shadow: none;
}

.cirx-cta-repeat {
	padding-block: 3rem;
}

.cirx-search-results {
	display: grid;
	gap: 1.5rem;
}

.cirx-search-result {
	padding: 1.5rem;
	border: 4px solid var(--cirx-border);
}

.cirx-search-result h2 {
	font-size: clamp(1.75rem, 4vw, 3rem);
}

.search-form {
	display: flex;
	max-width: 620px;
	gap: 0.5rem;
}

.search-form label {
	flex: 1;
}

.search-field {
	width: 100%;
	min-height: 48px;
	padding: 0.6rem;
	border: 3px solid var(--cirx-border);
	border-radius: 0;
	background: var(--cirx-bg);
	color: var(--cirx-text);
}

.search-submit {
	min-height: 48px;
	padding: 0.5rem 1rem;
	border: 3px solid var(--cirx-border);
	border-radius: 0;
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	font-weight: 700;
}

.cirx-catalog-search {
	max-width: 640px;
	margin-top: 2rem;
}

.cirx-catalog-search label {
	display: block;
	margin-bottom: 0.4rem;
	font-weight: 700;
}

.cirx-catalog-search > div {
	display: flex;
}

.cirx-catalog-search input[type="search"] {
	min-width: 0;
	flex: 1;
	padding: 0.7rem;
	border: 3px solid currentcolor;
	border-radius: 0;
	background: var(--cirx-bg);
	color: var(--cirx-text);
}

.cirx-page-hero--yellow .cirx-catalog-search input[type="search"] {
	background: var(--cirx-white);
	color: var(--cirx-black);
}

.cirx-catalog-search button {
	min-height: 48px;
	padding: 0.6rem 1rem;
	border: 3px solid var(--cirx-black);
	border-radius: 0;
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	font-weight: 700;
}

.cirx-error-page,
.cirx-coming-soon {
	display: grid;
	min-height: 70vh;
	place-items: center;
	padding: var(--cirx-gutter);
	background: linear-gradient(135deg, var(--cirx-bg) 70%, var(--cirx-cobalt) 70%);
}

.cirx-error-page > div,
.cirx-coming-soon > div {
	max-width: 850px;
	padding: clamp(2rem, 6vw, 5rem);
	border: 4px solid var(--cirx-border);
	box-shadow: 12px 12px 0 var(--cirx-coral);
	background: var(--cirx-bg);
}

.cirx-site-footer {
	padding: 4rem var(--cirx-gutter) 2rem;
	border-top: 8px solid var(--cirx-white);
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-footer-grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 3rem;
	max-width: 1600px;
	margin: auto;
}

.cirx-footer-mark {
	margin-bottom: 0;
	font-size: clamp(2.25rem, 5vw, 5rem);
}

.cirx-site-footer .cirx-disclosure {
	max-width: 1600px;
	margin: 3rem auto;
	border-color: var(--cirx-white);
	box-shadow: 8px 8px 0 var(--cirx-yellow);
}

.cirx-copyright {
	max-width: 1600px;
	margin: auto;
	font-size: 0.75rem;
}

@media (max-width: 1000px) {
	.cirx-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-program-hero {
		grid-template-columns: 1fr;
	}

	.cirx-program-hero__media {
		min-height: 420px;
		border-top: 4px solid var(--cirx-border);
		border-left: 0;
	}

	.cirx-four-frame {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.cirx-header-inner {
		flex-wrap: wrap;
	}

	.cirx-js .cirx-menu-toggle {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
	}

	.cirx-primary-nav {
		width: 100%;
	}

	.cirx-js .cirx-primary-nav {
		display: none;
	}

	.cirx-js .cirx-primary-nav.is-open {
		display: block;
	}

	.cirx-primary-nav .cirx-menu {
		display: block;
		padding-block: 0.5rem;
	}

	.cirx-header-inner > .cirx-button {
		display: none;
	}

	.cirx-editorial,
	.cirx-category-hero,
	.cirx-program-layout,
	.cirx-footer-grid {
		grid-template-columns: 1fr;
	}

	.cirx-four-frame {
		gap: 1rem;
	}
}

@media (max-width: 560px) {
	.cirx-card-grid,
	.cirx-four-frame {
		grid-template-columns: 1fr;
	}

	.cirx-four-frame > div:first-child,
	.cirx-four-frame > p {
		grid-column: auto;
	}

	.cirx-section-heading {
		display: block;
	}

	.cirx-section-heading .cirx-text-link {
		display: inline-block;
		margin-top: 1rem;
	}

	.search-form {
		flex-direction: column;
	}

	.cirx-catalog-search > div {
		display: block;
	}

	.cirx-catalog-search input[type="search"],
	.cirx-catalog-search button {
		width: 100%;
	}

	.cirx-options-table,
	.cirx-options-table thead,
	.cirx-options-table tbody,
	.cirx-options-table tr,
	.cirx-options-table th,
	.cirx-options-table td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.cirx-options-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.cirx-options-table tr {
		margin-bottom: 1.5rem;
		border: 3px solid var(--cirx-border);
		background: var(--cirx-surface);
	}

	.cirx-options-table th,
	.cirx-options-table td {
		display: grid;
		grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.2fr);
		gap: 1rem;
		border: 0;
		border-bottom: 1px solid var(--cirx-border);
	}

	.cirx-options-table th::before,
	.cirx-options-table td::before {
		content: attr(data-label);
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}
}

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

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

	.cirx-button:hover,
	.cirx-card:hover {
		transform: none;
	}
}

/* Radical Vitality review build. */
body {
	overflow-x: hidden;
}

body.wp-child-theme-cirx-blocksy-child {
	background: var(--cirx-bg);
	color: var(--cirx-text);
}

#main-content h1,
#main-content h2,
#main-content h3,
.cirx-site-footer h2,
.cirx-site-footer h3 {
	color: inherit;
}

.cirx-site-header {
	border-bottom-width: 1px;
}

.cirx-header-inner {
	min-height: 5.5rem;
}

.cirx-review-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem 1.5rem;
	padding: 0.65rem var(--cirx-gutter);
	border-bottom: 2px solid var(--cirx-black);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
	font-size: 0.82rem;
	letter-spacing: 0.03em;
}

.cirx-review-banner strong {
	text-transform: uppercase;
}

.cirx-home-hero,
.cirx-catalog-hero,
.cirx-category-page-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
	min-height: calc(100svh - 5.5rem);
	border-bottom: 1px solid var(--cirx-border);
}

.cirx-home-hero__copy,
.cirx-catalog-hero__copy,
.cirx-category-page-hero__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: clamp(3rem, 7vw, 7rem) var(--cirx-gutter);
}

.cirx-home-hero__copy h1 {
	margin: 1.5rem 0;
	font-size: clamp(4.4rem, 8vw, 9.5rem);
	overflow-wrap: normal;
	white-space: nowrap;
	word-break: normal;
	text-transform: uppercase;
}

.cirx-home-hero__copy h1 span {
	color: var(--cirx-coral);
}

.cirx-home-hero__media,
.cirx-catalog-hero__media,
.cirx-category-page-hero__media {
	display: flex;
	min-width: 0;
	border-left: 1px solid var(--cirx-border);
}

.cirx-home-hero__media .cirx-media-disclosure,
.cirx-catalog-hero__media .cirx-media-disclosure,
.cirx-category-page-hero__media .cirx-media-disclosure {
	display: flex;
	width: 100%;
	min-height: 100%;
	flex-direction: column;
}

.cirx-home-hero__media img,
.cirx-catalog-hero__media img,
.cirx-category-page-hero__media img {
	width: 100%;
	min-height: 0;
	flex: 1;
	object-fit: cover;
}

.cirx-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.cirx-outline-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding: 0.8rem 1.25rem;
	border: 2px solid currentcolor;
	color: inherit;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
}

.cirx-category-strip {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-bottom: 1px solid var(--cirx-black);
}

.cirx-category-strip a,
.cirx-filter-links a {
	border-width: 2px;
	box-shadow: none;
}

.cirx-editorial-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
	gap: 3rem;
	align-items: end;
	margin-bottom: 3rem;
}

.cirx-editorial-intro > p {
	margin: 0;
	padding: 1.5rem;
	border-left: 6px solid var(--cirx-red);
	background: var(--cirx-surface);
}

.cirx-story-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	border: 1px solid var(--cirx-border);
	background: var(--cirx-border);
}

.cirx-story-card {
	min-width: 0;
	background: var(--cirx-bg);
}

.cirx-story-card .cirx-media-disclosure {
	display: flex;
	min-height: 32rem;
	flex-direction: column;
}

.cirx-story-card img {
	width: 100%;
	min-height: 0;
	flex: 1;
	object-fit: cover;
}

.cirx-story-card > div {
	padding: 1rem;
}

.cirx-story-card > div p:last-child {
	margin-bottom: 0;
}

.cirx-boundary-note,
.cirx-review-note {
	font-size: 0.86rem;
}

.cirx-boundary-note {
	margin-top: 2rem;
	padding: 1rem;
	border: 1px solid currentcolor;
}

.cirx-card-grid--featured {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cirx-card {
	border-width: 2px;
	box-shadow: none;
}

.cirx-card:hover {
	transform: translateY(-4px);
}

.cirx-card__media {
	border-bottom-width: 2px;
}

.cirx-card__media .cirx-media-disclosure {
	display: flex;
	min-height: 100%;
	flex-direction: column;
}

.cirx-card__media .cirx-media-disclosure figcaption {
	min-height: 4.6rem;
}

.cirx-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0 0 1rem;
}

.cirx-card__tags span {
	display: inline-flex;
	padding: 0.25rem 0.45rem;
	border: 1px solid currentcolor;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.cirx-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

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

.cirx-catalog-hero__copy h1,
.cirx-category-page-hero__copy h1 {
	margin-block: 1.25rem;
	font-size: clamp(4rem, 8vw, 8rem);
	text-transform: uppercase;
}

.cirx-care-panel {
	margin-top: 2rem;
	padding: 1.5rem;
	border: 3px solid var(--cirx-border);
}

.cirx-care-panel p:last-child {
	margin: 0;
	font-family: var(--cirx-display);
	font-size: clamp(1.8rem, 3.2vw, 3.2rem);
	line-height: 1;
	text-transform: uppercase;
}

.cirx-review-count {
	margin-top: 1.5rem;
	padding-left: 1rem;
	border-left: 4px solid var(--cirx-yellow);
	font-weight: 700;
}

.cirx-filter-links {
	gap: 0.75rem;
	border-bottom-width: 1px;
	scrollbar-width: thin;
}

.cirx-review-offerings {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
	gap: clamp(2rem, 6vw, 6rem);
	width: 100%;
	max-width: 1600px;
	margin: 0 auto clamp(4rem, 9vw, 8rem);
	padding: clamp(3rem, 7vw, 6rem) var(--cirx-gutter);
	border-block: 1px solid var(--cirx-black);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-brand-review-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	border: 2px solid var(--cirx-black);
	list-style: none;
}

.cirx-brand-review-list li {
	display: flex;
	min-height: 7rem;
	flex-direction: column;
	justify-content: space-between;
	padding: 1rem;
	border: 1px solid var(--cirx-black);
}

.cirx-brand-review-list strong {
	font-family: var(--cirx-display);
	font-size: 1.8rem;
}

.cirx-brand-review-list span {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-supply-review {
	grid-column: 1 / -1;
	padding: 1.25rem;
	border: 2px solid var(--cirx-black);
}

.cirx-program-hero {
	border-block-width: 1px;
}

.cirx-program-hero__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
}

.cirx-program-hero__media {
	min-width: 0;
	border-left-width: 1px;
}

.cirx-program-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0 0 2rem;
	border: 1px solid var(--cirx-border);
	background: var(--cirx-border);
}

.cirx-program-facts > div {
	min-width: 0;
	padding: 0.8rem;
	background: var(--cirx-bg);
}

.cirx-program-facts dt {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-program-facts dd {
	margin: 0.3rem 0 0;
}

.cirx-four-frame {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-bottom-width: 1px;
}

.cirx-four-frame > div:first-child {
	grid-column: 1 / -1;
}

.cirx-editorial-frame,
.cirx-editorial-frame:nth-of-type(even) {
	border-width: 2px;
	box-shadow: none;
}

.cirx-editorial-frame .cirx-media-disclosure {
	display: flex;
	min-height: 100%;
	flex-direction: column;
}

.cirx-editorial-frame img {
	min-height: 0;
	flex: 1;
}

.cirx-pricing,
.cirx-sidebar-card,
.cirx-disclosure {
	border-width: 2px;
	box-shadow: none;
}

.cirx-check-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cirx-check-list li {
	position: relative;
	padding: 0.75rem 0 0.75rem 1.8rem;
	border-bottom: 1px solid var(--cirx-border);
}

.cirx-check-list li::before {
	position: absolute;
	left: 0;
	content: "✓";
	font-weight: 700;
}

.cirx-footer-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cirx-coming-soon {
	position: relative;
	display: grid;
	min-height: 100svh;
	padding: 0;
	place-items: stretch;
	background: var(--cirx-black);
}

.cirx-coming-soon > .cirx-coming-soon__media,
.cirx-coming-soon > .cirx-coming-soon__overlay {
	max-width: none;
	padding: 0;
	border: 0;
	box-shadow: none;
}

.cirx-coming-soon__media,
.cirx-coming-soon__media .cirx-media-disclosure {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.cirx-coming-soon__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cirx-coming-soon__media figcaption {
	position: absolute;
	top: 2rem;
	right: var(--cirx-gutter);
	z-index: 2;
	max-width: 34rem;
	border: 1px solid var(--cirx-white);
	background: rgba(5, 5, 5, 0.72);
}

.cirx-coming-soon__overlay {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(24rem, 0.85fr);
	grid-template-rows: auto 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	min-height: 100svh;
	padding: clamp(2rem, 5vw, 5rem) var(--cirx-gutter);
	background: linear-gradient(90deg, rgba(5, 5, 5, 0.92) 0%, rgba(5, 5, 5, 0.72) 48%, rgba(5, 5, 5, 0.18) 100%);
	color: var(--cirx-white);
}

.cirx-coming-soon > .cirx-coming-soon__overlay {
	padding: clamp(2rem, 5vw, 5rem) var(--cirx-gutter);
	background: linear-gradient(90deg, rgba(5, 5, 5, 0.92) 0%, rgba(5, 5, 5, 0.72) 48%, rgba(5, 5, 5, 0.18) 100%);
}

.cirx-coming-soon__brand {
	grid-column: 1 / -1;
}

.cirx-coming-soon__brand img {
	display: block;
	width: min(280px, 60vw);
	height: auto;
}

.cirx-coming-soon__copy {
	align-self: end;
	max-width: 52rem;
}

.cirx-coming-soon__copy h1 {
	display: grid;
	gap: 0.15em;
	margin: 2rem 0;
	font-size: clamp(4rem, 8.5vw, 9rem);
}

.cirx-coming-soon__status {
	align-self: center;
	padding: clamp(1.5rem, 3vw, 3rem);
	border: 4px solid var(--cirx-white);
	background: rgba(5, 5, 5, 0.64);
	backdrop-filter: blur(16px);
}

.cirx-coming-soon__status h2 {
	font-size: clamp(2.3rem, 4vw, 4.5rem);
}

.cirx-coming-soon__status li {
	padding-block: 0.55rem;
}

.cirx-coming-soon__privacy {
	margin-top: 2rem;
	padding: 1rem;
	border: 1px solid var(--cirx-white);
}

.cirx-page-shell {
	width: min(1200px, calc(100% - (2 * var(--cirx-gutter))));
	margin: 0 auto;
	padding-block: clamp(4rem, 9vw, 8rem);
}

.cirx-page-intro {
	max-width: 980px;
	margin-bottom: clamp(3rem, 7vw, 6rem);
}

.cirx-page-intro h1 {
	text-transform: uppercase;
}

.cirx-step-grid,
.cirx-trust-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	border: 1px solid var(--cirx-border);
	background: var(--cirx-border);
}

.cirx-step,
.cirx-trust-card,
.cirx-list-panel,
.cirx-contact-boundary {
	padding: clamp(1.5rem, 4vw, 3rem);
	background: var(--cirx-bg);
}

.cirx-step__number {
	font-family: var(--cirx-display);
	font-size: 3rem;
}

.cirx-trust-card h2,
.cirx-step h2 {
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.cirx-list-panel,
.cirx-contact-boundary {
	margin-block: 2rem;
	border: 2px solid var(--cirx-border);
}

@media (max-width: 1180px) {
	.cirx-card-grid--featured,
	.cirx-story-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-header-inner {
		flex-wrap: wrap;
	}

	.cirx-js .cirx-menu-toggle {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
	}

	.cirx-primary-nav {
		width: 100%;
	}

	.cirx-js .cirx-primary-nav {
		display: none;
	}

	.cirx-js .cirx-primary-nav.is-open {
		display: block;
	}

	.cirx-primary-nav .cirx-menu {
		display: block;
		padding-block: 0.5rem;
	}

	.cirx-header-inner > .cirx-button {
		display: none;
	}
}

@media (max-width: 960px) {
	.cirx-home-hero,
	.cirx-catalog-hero,
	.cirx-category-page-hero,
	.cirx-editorial-intro,
	.cirx-review-offerings,
	.cirx-coming-soon__overlay,
	.cirx-step-grid,
	.cirx-trust-grid {
		grid-template-columns: 1fr;
	}

	.cirx-home-hero__media,
	.cirx-catalog-hero__media,
	.cirx-category-page-hero__media {
		min-height: 55svh;
		border-top: 1px solid var(--cirx-border);
		border-left: 0;
	}

	.cirx-category-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-four-frame {
		grid-template-columns: 1fr;
	}

	.cirx-four-frame > div:first-child {
		grid-column: auto;
	}

	.cirx-coming-soon__overlay {
		grid-template-rows: auto auto auto;
		padding-top: 7rem;
		background: rgba(5, 5, 5, 0.72);
	}

	.cirx-coming-soon > .cirx-coming-soon__overlay {
		padding: 7rem var(--cirx-gutter) 3rem;
		background: rgba(5, 5, 5, 0.72);
	}

	.cirx-coming-soon__copy,
	.cirx-coming-soon__status {
		align-self: auto;
	}

	.cirx-coming-soon__media figcaption {
		top: 1rem;
		left: var(--cirx-gutter);
		right: var(--cirx-gutter);
	}
}

@media (max-width: 700px) {
	.cirx-review-banner {
		display: block;
		text-align: center;
	}

	.cirx-review-banner span {
		display: block;
	}

	.cirx-card-grid,
	.cirx-card-grid--featured,
	.cirx-story-grid,
	.cirx-brand-review-list,
	.cirx-program-facts,
	.cirx-footer-menu {
		grid-template-columns: 1fr;
	}

	.cirx-section,
	.cirx-program-layout {
		padding-block: 3.5rem;
	}

	.cirx-program-hero__copy h1,
	.cirx-home-hero__copy h1,
	.cirx-catalog-hero__copy h1,
	.cirx-category-page-hero__copy h1 {
		font-size: clamp(3.2rem, 17vw, 5.6rem);
	}

	.cirx-program-hero__media {
		min-height: 55svh;
	}

	.cirx-table-wrap {
		overflow: visible;
	}

	.cirx-content-section table.cirx-options-table {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.cirx-options-table,
	.cirx-options-table tbody,
	.cirx-options-table tr,
	.cirx-options-table th,
	.cirx-options-table td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.cirx-options-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.cirx-options-table tr {
		margin-bottom: 1.5rem;
		border: 2px solid var(--cirx-border);
	}

	.cirx-options-table th,
	.cirx-options-table td {
		position: relative;
		display: block;
		padding: 2.3rem 0.8rem 0.8rem;
		border: 0;
		border-bottom: 1px solid var(--cirx-border);
		background: var(--cirx-bg);
		color: var(--cirx-text);
	}

	.cirx-options-table th::before,
	.cirx-options-table td::before {
		position: absolute;
		top: 0.6rem;
		left: 0.8rem;
		content: attr(data-label);
		font-size: 0.7rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	.cirx-coming-soon__status {
		border-width: 2px;
	}
}

@media (max-width: 520px) {
	.cirx-coming-soon__copy h1 {
		font-size: clamp(3rem, 14.5vw, 3.5rem);
	}

	.cirx-category-strip {
		grid-template-columns: 1fr;
	}

	.cirx-button-row,
	.cirx-button-row > * {
		width: 100%;
	}

	.cirx-program-hero__copy,
	.cirx-home-hero__copy,
	.cirx-catalog-hero__copy,
	.cirx-category-page-hero__copy {
		padding-inline: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-button:hover,
	.cirx-card:hover {
		transform: none;
	}
}


/* CIRx program-page editorial redesign — 2026-09 */
.cirx-program-hero {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	max-width: 1600px;
	margin-inline: auto;
	border-block: 1px solid #2d2d2d;
}

.cirx-program-hero__copy {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	padding: clamp(2rem, 5vw, 5rem);
}

.cirx-program-hero__copy .cirx-eyebrow {
	margin-bottom: 1.25rem;
	color: var(--cirx-green);
}

.cirx-program-hero__copy h1 {
	max-width: 12ch;
	margin-bottom: 1.5rem;
	overflow-wrap: normal;
	font-size: clamp(3.5rem, 5.4vw, 5.75rem);
	hyphens: none;
	line-height: 0.92;
	word-break: normal;
}

.cirx-program-hero__copy .cirx-lede {
	max-width: 29ch;
	margin: 0;
	color: var(--cirx-muted);
	font-size: clamp(1.15rem, 1.6vw, 1.45rem);
	line-height: 1.45;
}

.cirx-pricing {
	width: 100%;
	margin: 2rem 0 2.5rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid #2d2d2d;
	border-left: 4px solid var(--cirx-green);
	background: var(--cirx-surface);
	box-shadow: none;
}

.cirx-price-badge {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	margin-bottom: 0.9rem;
	padding: 0.65rem 0.8rem;
	background: var(--cirx-green);
	color: var(--cirx-black);
	line-height: 1;
}

.cirx-price-badge > span {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.cirx-price-badge strong {
	font-size: clamp(2rem, 4vw, 2.65rem);
	letter-spacing: -0.05em;
}

.cirx-price-badge small {
	font-size: 1.05rem;
}

.cirx-price-qualifier {
	margin: 0 0 0.55rem;
	font-size: 0.95rem;
	line-height: 1.55;
}

.cirx-price-detail {
	margin: 0;
	color: var(--cirx-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.cirx-hero-cta,
.cirx-hero-cta .cirx-button {
	width: 100%;
}

.cirx-hero-cta .cirx-button,
.cirx-cta-repeat .cirx-button {
	display: inline-flex;
	min-height: 4.5rem;
	align-items: center;
	justify-content: center;
	padding: 1rem 1.5rem;
	border: 0;
	background: var(--cirx-cobalt);
	box-shadow: 10px 10px 0 var(--cirx-coral);
	color: var(--cirx-white);
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.cirx-program-jump {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.75rem;
	margin-top: 2rem;
}

.cirx-program-jump a {
	padding-bottom: 0.25rem;
	border-bottom: 2px solid var(--cirx-white);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.cirx-boundary {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
	margin: 2rem 0 0;
	color: var(--cirx-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}

.cirx-secure-mark {
	display: inline-grid;
	width: 1.15rem;
	height: 1.15rem;
	flex: 0 0 1.15rem;
	margin-top: 0.15rem;
	border: 2px solid var(--cirx-cobalt);
	color: var(--cirx-green);
	font-size: 0.7rem;
	place-items: center;
}

.cirx-review-note {
	margin: 0.7rem 0 0;
	color: #8f8f8f;
	font-size: 0.72rem;
}

.cirx-program-hero__media {
	min-height: 720px;
	border-left: 1px solid #2d2d2d;
}

.cirx-program-hero__media > .cirx-media-disclosure,
.cirx-program-hero__media img {
	width: 100%;
	height: 100%;
}

.cirx-program-hero__media img {
	object-fit: cover;
}

.cirx-four-frame {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	max-width: 1600px;
	margin-inline: auto;
	padding: clamp(4rem, 8vw, 7rem) var(--cirx-gutter);
	border-bottom: 1px solid #2d2d2d;
	background: #111;
}

.cirx-four-frame > .cirx-editorial-intro {
	grid-column: 1 / -1;
	max-width: 58rem;
	margin-bottom: clamp(1rem, 3vw, 2.5rem);
}

.cirx-editorial-intro h2 {
	margin-bottom: 1rem;
	font-size: clamp(3rem, 5vw, 5rem);
}

.cirx-editorial-intro > p:last-child {
	max-width: 52ch;
	margin-bottom: 0;
	color: var(--cirx-muted);
}

.cirx-editorial-frame,
.cirx-editorial-frame:nth-of-type(even) {
	position: relative;
	min-height: 0;
	border: 4px solid var(--cirx-white);
	background: var(--cirx-black);
	box-shadow: none;
}

.cirx-four-frame .cirx-editorial-frame--1 {
	box-shadow: 12px 12px 0 var(--cirx-cobalt);
}

.cirx-four-frame .cirx-editorial-frame--2 {
	transform: translateY(-2rem);
	box-shadow: 12px 12px 0 var(--cirx-coral);
}

.cirx-four-frame .cirx-editorial-frame--3 {
	box-shadow: 12px 12px 0 var(--cirx-green);
}

.cirx-editorial-frame .cirx-media-disclosure {
	width: 100%;
	height: 100%;
	margin: 0;
}

.cirx-editorial-frame img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.cirx-program-layout {
	grid-template-columns: minmax(0, 2.25fr) minmax(270px, 0.75fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	max-width: 1360px;
	padding-block: clamp(4rem, 8vw, 7rem);
}

.cirx-content-section {
	padding-block: clamp(2.5rem, 5vw, 4rem);
	border-bottom: 1px solid #2d2d2d;
}

.cirx-content-section:first-child {
	padding-top: 0;
}

.cirx-content-section h2,
.cirx-included-card h2 {
	margin-bottom: 1.75rem;
	font-size: clamp(2.45rem, 4vw, 3.75rem);
}

.cirx-benefits-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cirx-benefits-grid li {
	position: relative;
	min-height: 5.5rem;
	padding: 1.15rem 1.25rem 1.15rem 2.25rem;
	border: 1px solid #303030;
	background: var(--cirx-surface);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.45;
}

.cirx-benefits-grid li::before {
	position: absolute;
	top: 1.55rem;
	left: 1rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: #1557ff;
	content: "";
}

.cirx-how-panel {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid #272727;
	border-left: 4px solid var(--cirx-coral);
	background: var(--cirx-surface);
	font-size: 1.08rem;
	line-height: 1.65;
}

.cirx-how-panel > :last-child {
	margin-bottom: 0;
}

.cirx-safety-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.cirx-safety-card {
	padding: 1.5rem;
	border: 1px solid #303030;
	background: var(--cirx-surface);
}

.cirx-safety-card--signal {
	border: 4px solid var(--cirx-yellow);
}

.cirx-safety-card h3 {
	margin-bottom: 1rem;
	font-family: var(--cirx-body);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.cirx-safety-card p:last-child {
	margin-bottom: 0;
}

.cirx-route-section .cirx-section-lede {
	max-width: 52rem;
	margin-bottom: 2rem;
	font-size: 1.05rem;
}

.cirx-route-section > h3 {
	margin: 2.5rem 0 1rem;
	font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.cirx-route-section .cirx-table-wrap {
	overflow-x: auto;
}

.cirx-route-section .cirx-options-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
}

.cirx-route-section .cirx-options-table th,
.cirx-route-section .cirx-options-table td {
	padding: 1rem;
	border: 0;
	border-bottom: 1px solid #303030;
	background: transparent;
	color: var(--cirx-white);
	vertical-align: top;
}

.cirx-route-section .cirx-options-table thead th {
	color: var(--cirx-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-route-section .cirx-options-table tbody th {
	font-family: var(--cirx-body);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	text-decoration: underline;
	text-decoration-color: var(--cirx-cobalt);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}

.cirx-route-section .cirx-options-table tbody td:first-of-type {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.cirx-options-table .cirx-term strong {
	display: inline-block;
	font-size: 1rem;
}

.cirx-options-table .cirx-term--featured strong {
	padding: 0.35rem 0.55rem;
	background: var(--cirx-green);
	color: var(--cirx-black);
}

.cirx-options-table caption {
	padding: 1rem 0 0;
	caption-side: bottom;
	color: var(--cirx-muted);
	font-size: 0.8rem;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
}

.cirx-faq-section details {
	margin-block: 0.75rem;
	border: 1px solid #303030;
	background: var(--cirx-surface);
}

.cirx-faq-section summary {
	position: relative;
	padding: 1.1rem 3.25rem 1.1rem 1.25rem;
	font-weight: 700;
	list-style: none;
}

.cirx-faq-section summary::-webkit-details-marker {
	display: none;
}

.cirx-faq-section summary::after {
	position: absolute;
	top: 50%;
	right: 1.25rem;
	color: var(--cirx-green);
	content: "+";
	font-size: 1.5rem;
	transform: translateY(-50%);
}

.cirx-faq-section details[open] summary::after {
	content: "−";
}

.cirx-faq-section details > p {
	margin-top: 0;
	padding: 0 1.25rem 1.25rem;
	color: var(--cirx-muted);
}

.cirx-program-sidebar {
	position: sticky;
	top: 2rem;
}

.cirx-included-card,
.cirx-sidebar-card.cirx-included-card {
	margin: 0 0 2rem;
	padding: 1.5rem;
	border: 1px solid #303030;
	background: var(--cirx-black);
	box-shadow: 8px 8px 0 var(--cirx-yellow);
}

.cirx-included-card h2 {
	margin-bottom: 1.25rem;
	font-size: clamp(2rem, 3vw, 2.7rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.cirx-included-card .cirx-check-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cirx-included-card .cirx-check-list li {
	position: relative;
	padding: 0.55rem 0 0.55rem 2rem;
	border: 0;
	color: var(--cirx-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.cirx-included-card .cirx-check-list li::before {
	position: absolute;
	top: 0.75rem;
	left: 0;
	display: grid;
	width: 1.25rem;
	height: 1.25rem;
	background: var(--cirx-green);
	color: var(--cirx-black);
	content: "✓";
	font-size: 0.8rem;
	font-weight: 900;
	line-height: 1;
	place-items: center;
}

.cirx-cta-repeat {
	padding-block: 3.5rem 1rem;
}

.cirx-cta-repeat .cirx-button {
	width: min(100%, 32rem);
}

@media (max-width: 1080px) {
	.cirx-program-hero__copy h1 {
		font-size: clamp(3.2rem, 6.2vw, 4.9rem);
	}

	.cirx-program-layout {
		grid-template-columns: minmax(0, 1.8fr) minmax(250px, 0.8fr);
		gap: 2.5rem;
	}
}

@media (max-width: 900px) {
	.cirx-program-hero {
		grid-template-columns: 1fr;
	}

	.cirx-program-hero__copy h1 {
		max-width: 14ch;
	}

	.cirx-program-hero__media {
		min-height: 60svh;
		border-top: 1px solid #2d2d2d;
		border-left: 0;
	}

	.cirx-program-layout {
		grid-template-columns: 1fr;
	}

	.cirx-program-sidebar {
		position: static;
		max-width: 34rem;
	}

	.cirx-four-frame .cirx-editorial-frame--2 {
		transform: none;
	}
}

@media (max-width: 720px) {
	.cirx-four-frame {
		grid-template-columns: 1fr;
	}

	.cirx-four-frame > .cirx-editorial-intro {
		grid-column: auto;
	}

	.cirx-benefits-grid,
	.cirx-safety-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.cirx-program-hero__copy {
		padding: 2rem 1rem 3rem;
	}

	.cirx-program-hero__copy h1 {
		max-width: none;
		overflow-wrap: normal;
		font-size: clamp(3rem, 14vw, 4.4rem);
		hyphens: none;
		word-break: normal;
	}

	.cirx-price-badge {
		width: 100%;
	}

	.cirx-program-jump {
		display: grid;
		gap: 0.8rem;
	}

	.cirx-program-jump a {
		width: fit-content;
	}

	.cirx-four-frame {
		padding-inline: 1.25rem;
	}

	.cirx-route-section .cirx-table-wrap {
		overflow: visible;
	}

	.cirx-route-section .cirx-options-table,
	.cirx-route-section .cirx-options-table tbody,
	.cirx-route-section .cirx-options-table tr,
	.cirx-route-section .cirx-options-table th,
	.cirx-route-section .cirx-options-table td {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.cirx-route-section .cirx-options-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.cirx-route-section .cirx-options-table tr {
		margin-bottom: 1.25rem;
		border: 1px solid #303030;
		background: var(--cirx-surface);
	}

	.cirx-route-section .cirx-options-table th,
	.cirx-route-section .cirx-options-table td {
		position: relative;
		padding: 2.35rem 1rem 1rem;
		border-bottom: 1px solid #303030;
		background: transparent;
	}

	.cirx-route-section .cirx-options-table th::before,
	.cirx-route-section .cirx-options-table td::before {
		position: absolute;
		top: 0.65rem;
		left: 1rem;
		color: var(--cirx-muted);
		content: attr(data-label);
		font-size: 0.68rem;
		font-weight: 800;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.cirx-route-section .cirx-options-table caption {
		display: block;
		width: 100%;
	}

	.cirx-included-card,
	.cirx-sidebar-card.cirx-included-card {
		margin-right: 8px;
	}
}


/* Keep the program editorial intro stacked; other templates use this class as a split grid. */
.cirx-four-frame > .cirx-editorial-intro {
	display: block;
}

.cirx-four-frame .cirx-editorial-intro > p {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.cirx-four-frame .cirx-editorial-intro > .cirx-eyebrow {
	margin-bottom: 1rem;
}

.cirx-four-frame .cirx-editorial-intro > p:last-child {
	margin-bottom: 0;
}

/* CIRx responsive interaction layer — 2026-09 */
:root {
	--cirx-motion-fast: 180ms;
	--cirx-motion-base: 300ms;
	--cirx-motion-image: 700ms;
	--cirx-motion-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.cirx-site-header a,
.cirx-site-footer a,
.cirx-breadcrumbs a,
.cirx-filter-links a,
.cirx-category-strip a,
.cirx-program-jump a,
.cirx-text-link,
.cirx-card__title a,
.cirx-option-link,
.cirx-price-link,
.cirx-button,
.cirx-outline-button,
.cirx-menu-toggle,
.cirx-faq-section summary {
	transition:
		background-color var(--cirx-motion-fast) ease,
		border-color var(--cirx-motion-fast) ease,
		color var(--cirx-motion-fast) ease,
		box-shadow var(--cirx-motion-base) var(--cirx-motion-ease),
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-button,
.cirx-outline-button,
.cirx-option-link,
.cirx-price-link,
.cirx-filter-links a,
.cirx-category-strip a,
.cirx-program-jump a,
.cirx-card__title a,
.cirx-text-link,
.cirx-site-header a,
.cirx-site-footer a,
.cirx-faq-section summary {
	-webkit-tap-highlight-color: transparent;
}

.cirx-button span[aria-hidden="true"],
.cirx-outline-button span[aria-hidden="true"],
.cirx-category-strip a span[aria-hidden="true"] {
	display: inline-block;
	transition: transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-button:focus-visible {
	outline: 3px solid var(--cirx-yellow);
	outline-offset: 4px;
	background: var(--cirx-coral);
	color: var(--cirx-white);
	box-shadow: 10px 10px 0 var(--cirx-yellow);
}

.cirx-outline-button:focus-visible {
	outline: 3px solid var(--cirx-yellow);
	outline-offset: 4px;
	border-color: var(--cirx-coral);
	background: var(--cirx-coral);
	color: var(--cirx-white);
}

.cirx-button:active,
.cirx-outline-button:active {
	transform: translate(1px, 1px);
	box-shadow: 3px 3px 0 var(--cirx-coral);
}

.cirx-primary-nav a:focus-visible,
.cirx-site-footer a:focus-visible,
.cirx-breadcrumbs a:focus-visible,
.cirx-program-jump a:focus-visible,
.cirx-text-link:focus-visible,
.cirx-card__title a:focus-visible,
.cirx-option-link:focus-visible,
.cirx-price-link:focus-visible,
.cirx-filter-links a:focus-visible,
.cirx-category-strip a:focus-visible {
	outline: 3px solid var(--cirx-yellow);
	outline-offset: 4px;
	color: var(--cirx-coral);
}

.cirx-filter-links a:focus-visible,
.cirx-category-strip a:focus-visible {
	background: var(--cirx-green);
	color: var(--cirx-black);
}

.cirx-card,
.cirx-story-card,
.cirx-editorial-frame,
.cirx-pricing,
.cirx-benefits-grid li,
.cirx-how-panel,
.cirx-safety-card,
.cirx-included-card,
.cirx-faq-section details,
.cirx-options-table tbody tr {
	transition:
		background-color var(--cirx-motion-fast) ease,
		border-color var(--cirx-motion-fast) ease,
		box-shadow var(--cirx-motion-base) var(--cirx-motion-ease),
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-card,
.cirx-story-card,
.cirx-editorial-frame,
.cirx-program-hero__media,
.cirx-home-hero__media,
.cirx-catalog-hero__media,
.cirx-category-page-hero__media {
	overflow: hidden;
}

.cirx-editorial-frame {
	overflow: visible;
}

.cirx-card .cirx-media-disclosure,
.cirx-story-card .cirx-media-disclosure,
.cirx-editorial-frame .cirx-media-disclosure,
.cirx-program-hero__media .cirx-media-disclosure,
.cirx-home-hero__media .cirx-media-disclosure,
.cirx-catalog-hero__media .cirx-media-disclosure,
.cirx-category-page-hero__media .cirx-media-disclosure {
	overflow: hidden;
}

.cirx-card img,
.cirx-story-card img,
.cirx-editorial-frame img,
.cirx-program-hero__media img,
.cirx-home-hero__media img,
.cirx-catalog-hero__media img,
.cirx-category-page-hero__media img {
	will-change: transform;
	transition: transform var(--cirx-motion-image) var(--cirx-motion-ease);
}

.cirx-card:focus-within {
	border-color: var(--cirx-cobalt);
	box-shadow: 8px 8px 0 var(--cirx-cobalt);
	transform: translateY(-6px);
}

.cirx-card:focus-within .cirx-card__title a,
.cirx-card:focus-within .cirx-text-link {
	color: var(--cirx-coral);
}

.cirx-pricing {
	will-change: transform;
}

.cirx-price-badge {
	transition:
		background-color var(--cirx-motion-fast) ease,
		color var(--cirx-motion-fast) ease,
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-benefits-grid li::before {
	transition:
		background-color var(--cirx-motion-fast) ease,
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-option-link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: var(--cirx-cobalt);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}

.cirx-price-link {
	display: flex;
	width: 100%;
	min-width: 5.75rem;
	min-height: 44px;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	gap: 0.2rem;
	margin: -0.45rem;
	padding: 0.45rem;
	color: var(--cirx-white);
	text-decoration: none;
}

.cirx-price-link strong,
.cirx-price-link small {
	transition:
		background-color var(--cirx-motion-fast) ease,
		color var(--cirx-motion-fast) ease;
}

.cirx-price-link small {
	display: block;
}

.cirx-options-table tbody tr:focus-within {
	background: var(--cirx-surface);
	box-shadow: inset 4px 0 0 var(--cirx-cobalt);
}

.cirx-price-link:focus-visible {
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	box-shadow: 4px 4px 0 var(--cirx-coral);
	transform: translateY(-2px);
}

.cirx-price-link:focus-visible small {
	color: var(--cirx-white);
}

.cirx-term--featured .cirx-price-link:focus-visible {
	background: var(--cirx-green);
	color: var(--cirx-black);
	box-shadow: 4px 4px 0 var(--cirx-yellow);
}

.cirx-term--featured .cirx-price-link:focus-visible strong {
	background: transparent;
	color: inherit;
}

.cirx-term--featured .cirx-price-link:focus-visible small {
	color: var(--cirx-black);
}

.cirx-faq-section summary {
	cursor: pointer;
}

.cirx-faq-section summary:focus-visible {
	outline: 3px solid var(--cirx-yellow);
	outline-offset: 3px;
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-faq-section summary::after {
	transition:
		color var(--cirx-motion-fast) ease,
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-faq-section details[open] {
	border-color: var(--cirx-green);
}

.cirx-faq-section details[open] summary::after {
	transform: translateY(-50%) rotate(180deg);
}

@media (hover: hover) and (pointer: fine) {
	.cirx-button:hover {
		background: var(--cirx-coral);
		color: var(--cirx-white);
		box-shadow: 10px 10px 0 var(--cirx-yellow);
		transform: translate(-4px, -4px);
	}

	.cirx-outline-button:hover {
		border-color: var(--cirx-coral);
		background: var(--cirx-coral);
		color: var(--cirx-white);
		box-shadow: 7px 7px 0 var(--cirx-yellow);
		transform: translate(-3px, -3px);
	}

	.cirx-button:hover span[aria-hidden="true"],
	.cirx-outline-button:hover span[aria-hidden="true"],
	.cirx-category-strip a:hover span[aria-hidden="true"] {
		transform: translateX(0.35rem);
	}

	.cirx-primary-nav a:hover,
	.cirx-breadcrumbs a:hover,
	.cirx-site-footer a:hover,
	.cirx-program-jump a:hover,
	.cirx-text-link:hover,
	.cirx-card__title a:hover,
	.cirx-option-link:hover {
		color: var(--cirx-coral);
	}

	.cirx-program-jump a:hover {
		border-bottom-color: var(--cirx-coral);
	}

	.cirx-filter-links a:hover,
	.cirx-category-strip a:hover {
		border-color: var(--cirx-green);
		background: var(--cirx-green);
		color: var(--cirx-black);
		box-shadow: 5px 5px 0 var(--cirx-cobalt);
		transform: translate(-2px, -2px);
	}

	.cirx-card:hover {
		border-color: var(--cirx-cobalt);
		box-shadow: 8px 8px 0 var(--cirx-cobalt);
		transform: translateY(-8px);
	}

	.cirx-card:hover img {
		transform: scale(1.05);
	}

	.cirx-story-card:hover {
		box-shadow: 8px 8px 0 var(--cirx-coral);
		transform: translateY(-8px);
	}

	.cirx-story-card:hover img {
		transform: scale(1.045);
	}

	.cirx-program-hero__media:hover img,
	.cirx-home-hero__media:hover img,
	.cirx-catalog-hero__media:hover img,
	.cirx-category-page-hero__media:hover img {
		transform: scale(1.025);
	}

	.cirx-editorial-frame:hover {
		transform: translateY(-0.5rem);
	}

	.cirx-four-frame .cirx-editorial-frame--1:hover {
		box-shadow: 16px 16px 0 var(--cirx-cobalt);
	}

	.cirx-four-frame .cirx-editorial-frame--2:hover {
		box-shadow: 16px 16px 0 var(--cirx-coral);
	}

	.cirx-four-frame .cirx-editorial-frame--3:hover {
		box-shadow: 16px 16px 0 var(--cirx-green);
	}

	.cirx-editorial-frame:hover img {
		transform: scale(1.05);
	}

	.cirx-pricing:hover {
		border-color: var(--cirx-green);
		background: #171717;
		box-shadow: 8px 8px 0 var(--cirx-green);
		transform: translateY(-4px);
	}

	.cirx-pricing:hover .cirx-price-badge {
		background: var(--cirx-yellow);
		transform: translateY(-2px);
	}

	.cirx-benefits-grid li:hover {
		border-color: var(--cirx-cobalt);
		box-shadow: 6px 6px 0 var(--cirx-cobalt);
		transform: translateY(-4px);
	}

	.cirx-benefits-grid li:hover::before {
		background: var(--cirx-green);
		transform: scale(1.35);
	}

	.cirx-how-panel:hover {
		border-left-color: var(--cirx-green);
		background: #171717;
		transform: translateX(4px);
	}

	.cirx-safety-card:hover {
		border-color: var(--cirx-coral);
		box-shadow: 6px 6px 0 var(--cirx-coral);
		transform: translateY(-4px);
	}

	.cirx-safety-card--signal:hover {
		border-color: var(--cirx-yellow);
		box-shadow: 6px 6px 0 var(--cirx-yellow);
	}

	.cirx-included-card:hover {
		box-shadow: 12px 12px 0 var(--cirx-yellow);
		transform: translateY(-5px);
	}

	.cirx-options-table tbody tr:hover {
		background: var(--cirx-surface);
		box-shadow: inset 4px 0 0 var(--cirx-cobalt);
	}

	.cirx-option-link:hover {
		transform: translateX(0.2rem);
	}

	.cirx-price-link:hover {
		background: var(--cirx-cobalt);
		color: var(--cirx-white);
		box-shadow: 4px 4px 0 var(--cirx-coral);
		transform: translateY(-2px);
	}

	.cirx-price-link:hover small {
		color: var(--cirx-white);
	}

	.cirx-term--featured .cirx-price-link:hover {
		background: var(--cirx-green);
		color: var(--cirx-black);
		box-shadow: 4px 4px 0 var(--cirx-yellow);
	}

	.cirx-term--featured .cirx-price-link:hover strong {
		background: transparent;
		color: inherit;
	}

	.cirx-term--featured .cirx-price-link:hover small {
		color: var(--cirx-black);
	}

	.cirx-faq-section details:hover {
		border-color: var(--cirx-cobalt);
	}

	.cirx-faq-section summary:hover {
		background: var(--cirx-cobalt);
		color: var(--cirx-white);
	}

	.cirx-faq-section summary:hover::after {
		color: var(--cirx-yellow);
		transform: translateY(-50%) rotate(90deg);
	}

	.cirx-faq-section details[open] summary:hover::after {
		transform: translateY(-50%) rotate(180deg);
	}
}

@media (hover: hover) and (pointer: fine) and (min-width: 961px) {
	.cirx-four-frame .cirx-editorial-frame--2:hover {
		transform: translateY(-2.5rem);
	}
}

@media (max-width: 560px) {
	.cirx-price-link {
		width: calc(100% + 0.9rem);
	}

	.cirx-options-table tbody tr:focus-within {
		box-shadow: 6px 6px 0 var(--cirx-cobalt);
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-button:hover,
	.cirx-outline-button:hover,
	.cirx-card:hover,
	.cirx-card:focus-within,
	.cirx-story-card:hover,
	.cirx-editorial-frame:hover,
	.cirx-four-frame .cirx-editorial-frame--2:hover,
	.cirx-pricing:hover,
	.cirx-benefits-grid li:hover,
	.cirx-how-panel:hover,
	.cirx-safety-card:hover,
	.cirx-included-card:hover,
	.cirx-option-link:hover,
	.cirx-price-link:hover,
	.cirx-price-link:focus-visible,
	.cirx-filter-links a:hover,
	.cirx-category-strip a:hover,
	.cirx-faq-section summary:hover::after,
	.cirx-faq-section details[open] summary::after {
		transform: none;
	}

	.cirx-card img,
	.cirx-story-card img,
	.cirx-editorial-frame img,
	.cirx-program-hero__media img,
	.cirx-home-hero__media img,
	.cirx-catalog-hero__media img,
	.cirx-category-page-hero__media img {
		will-change: auto;
	}
}


@media (hover: none), (pointer: coarse) {
	.cirx-button:hover,
	.cirx-outline-button:hover,
	.cirx-card:hover {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) and (min-width: 961px) {
	.cirx-four-frame .cirx-editorial-frame--2:hover {
		transform: translateY(-2rem);
	}
}

/* CIRx footer certification mark — 2026-09 */
.cirx-disclosure__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}

.cirx-disclosure__copy > strong {
	display: block;
	margin-bottom: 0.65rem;
}

.cirx-disclosure__copy > p {
	margin: 0;
}

.cirx-legitscript {
	display: grid;
	grid-template-columns: 73px minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	width: 100%;
	min-height: 7rem;
	padding: 0.9rem 1rem;
	border: 1px solid #3a3a3a;
	background: #111;
	color: var(--cirx-white);
	text-decoration: none;
	transition:
		background-color var(--cirx-motion-fast) ease,
		border-color var(--cirx-motion-fast) ease,
		box-shadow var(--cirx-motion-base) var(--cirx-motion-ease),
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-legitscript__seal {
	display: block;
	width: 73px;
	height: 79px;
	max-width: none;
	object-fit: contain;
}

.cirx-legitscript__status {
	display: grid;
	gap: 0.35rem;
	justify-items: start;
	min-width: 0;
}

.cirx-legitscript__status > span {
	display: inline-flex;
	padding: 0.3rem 0.45rem;
	background: var(--cirx-green);
	color: var(--cirx-black);
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
	transition:
		background-color var(--cirx-motion-fast) ease,
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-legitscript__status small {
	color: var(--cirx-muted);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.25;
}

.cirx-legitscript:focus-visible {
	outline: 3px solid var(--cirx-yellow);
	outline-offset: 4px;
	border-color: var(--cirx-green);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	box-shadow: 7px 7px 0 var(--cirx-green);
}

@media (hover: hover) and (pointer: fine) {
	.cirx-legitscript:hover {
		border-color: var(--cirx-green);
		background: var(--cirx-cobalt);
		color: var(--cirx-white);
		box-shadow: 7px 7px 0 var(--cirx-green);
		transform: translateY(-4px);
	}

	.cirx-legitscript:hover .cirx-legitscript__status > span {
		background: var(--cirx-yellow);
		transform: translateY(-2px);
	}

	.cirx-legitscript:hover .cirx-legitscript__status small {
		color: var(--cirx-white);
	}
}

@media (max-width: 760px) {
	.cirx-disclosure__grid {
		grid-template-columns: 1fr;
	}

	.cirx-legitscript {
		max-width: 20rem;
	}
}

@media (max-width: 360px) {
	.cirx-legitscript {
		gap: 0.75rem;
		padding-inline: 0.75rem;
	}

	.cirx-legitscript__status > span {
		font-size: 0.62rem;
	}

	.cirx-legitscript__status small {
		font-size: 0.64rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-legitscript:hover,
	.cirx-legitscript:hover .cirx-legitscript__status > span {
		transform: none;
	}
}


/* CIRx Labs flagship and one-time panel catalog */
.cirx-labs-flagship {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	max-width: 1600px;
	margin: 0 auto;
	border-bottom: 8px solid var(--cirx-white);
	background: var(--cirx-surface);
}

.cirx-labs-flagship__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: clamp(3.5rem, 7vw, 7rem) var(--cirx-gutter);
}

.cirx-labs-flagship__copy h2 {
	max-width: 12ch;
	margin-bottom: 1.5rem;
}

.cirx-labs-flagship__copy .cirx-lede {
	max-width: 42rem;
}

.cirx-labs-flagship__price {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.1rem 1.25rem;
	align-items: end;
	max-width: 34rem;
	margin: 2rem 0 1.5rem;
	padding: 1.25rem 1.4rem;
	border: 3px solid var(--cirx-white);
	box-shadow: 9px 9px 0 var(--cirx-green);
	background: var(--cirx-black);
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.cirx-labs-flagship__price span {
	align-self: center;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cirx-labs-flagship__price strong {
	grid-row: span 2;
	font-size: clamp(2.8rem, 5vw, 5rem);
	line-height: 0.9;
}

.cirx-labs-flagship__price small {
	font-weight: 700;
	text-transform: uppercase;
}

.cirx-labs-flagship__facts {
	display: grid;
	gap: 0.75rem;
	max-width: 42rem;
	margin: 0 0 1.75rem;
	padding: 0;
	list-style: none;
}

.cirx-labs-flagship__facts li {
	position: relative;
	padding-left: 1.65rem;
}

.cirx-labs-flagship__facts li::before {
	position: absolute;
	left: 0;
	color: var(--cirx-green);
	content: "✓";
	font-weight: 800;
}

.cirx-labs-flagship__offer {
	display: grid;
	gap: 0.25rem;
	max-width: 42rem;
	margin-bottom: 2rem;
	padding: 1rem 1.25rem;
	border-left: 7px solid var(--cirx-yellow);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-labs-flagship__offer strong {
	font-size: 1.15rem;
}

.cirx-labs-flagship__media {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 680px;
	margin: clamp(2rem, 5vw, 4rem);
	border: 4px solid var(--cirx-white);
	box-shadow: 14px 14px 0 var(--cirx-coral);
	background: var(--cirx-cobalt);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.cirx-labs-flagship__media > .cirx-media-disclosure {
	display: flex;
	width: 100%;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
}

.cirx-labs-flagship__media img {
	width: 100%;
	min-height: 0;
	flex: 1;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(.2,.75,.25,1);
}

.cirx-labs-flagship__caption {
	position: absolute;
	right: -1rem;
	bottom: 2rem;
	display: grid;
	gap: 0.2rem;
	max-width: min(82%, 26rem);
	padding: 1rem 1.25rem;
	background: var(--cirx-yellow);
	color: var(--cirx-black);
	text-transform: uppercase;
}

.cirx-labs-flagship__caption span {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.cirx-labs-flagship__caption strong {
	font-size: clamp(1rem, 2vw, 1.35rem);
}

.cirx-pricing--labs {
	box-shadow: 8px 8px 0 var(--cirx-yellow);
}

.cirx-price-promo {
	margin: 1rem 0 0;
	padding: 0.8rem 1rem;
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	font-weight: 700;
}

.cirx-lab-bundle {
	display: grid;
	grid-template-columns: minmax(12rem, 0.7fr) minmax(0, 1.3fr);
	gap: 1.5rem;
	align-items: center;
	margin: 2rem 0 2.5rem;
	padding: 1.5rem;
	border: 3px solid var(--cirx-black);
	box-shadow: 9px 9px 0 var(--cirx-yellow);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-lab-bundle h3,
.cirx-lab-bundle p {
	margin-bottom: 0;
}

.cirx-lab-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.cirx-lab-panel {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 1rem;
	padding: 1.4rem;
	border: 2px solid var(--cirx-border);
	background: var(--cirx-surface);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.cirx-lab-panel--featured {
	grid-column: 1 / -1;
	border-color: var(--cirx-green);
	box-shadow: 9px 9px 0 var(--cirx-green);
	background: linear-gradient(135deg, #101b17, var(--cirx-surface));
}

.cirx-lab-panel__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 1rem;
	align-items: end;
}

.cirx-lab-panel__top .cirx-eyebrow,
.cirx-lab-panel__top h3 {
	grid-column: 1;
}

.cirx-lab-panel__top h3 {
	margin-bottom: 0;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.cirx-lab-price {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: grid;
	justify-items: end;
	margin: 0;
	padding: 0.65rem 0.8rem;
	background: var(--cirx-green);
	color: var(--cirx-black);
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cirx-lab-price strong {
	font-size: 1.8rem;
	line-height: 1;
}

.cirx-lab-price span {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-lab-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: auto 0 0;
	border: 1px solid #373737;
}

.cirx-lab-facts div {
	min-width: 0;
	padding: 0.75rem;
	border-right: 1px solid #373737;
}

.cirx-lab-facts div:last-child {
	border-right: 0;
}

.cirx-lab-facts dt {
	margin-bottom: 0.25rem;
	color: var(--cirx-muted);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cirx-lab-facts dd {
	margin: 0;
	font-size: 0.83rem;
	line-height: 1.35;
}

.cirx-lab-markers {
	margin-bottom: 0;
	color: var(--cirx-muted);
	font-size: 0.9rem;
}

.cirx-lab-discount {
	margin: 0 -1.4rem -1.4rem;
	padding: 0.85rem 1.4rem;
	border-top: 2px solid var(--cirx-border);
	font-weight: 700;
}

.cirx-lab-note {
	margin-top: 1.5rem;
	color: var(--cirx-muted);
	font-size: 0.85rem;
}

@media (hover: hover) and (pointer: fine) {
	.cirx-labs-flagship__price:hover {
		transform: translate(-4px, -4px);
		box-shadow: 13px 13px 0 var(--cirx-yellow);
		background: var(--cirx-green);
		color: var(--cirx-black);
	}

	.cirx-labs-flagship__media:hover {
		transform: translate(-6px, -6px);
		box-shadow: 20px 20px 0 var(--cirx-green);
	}

	.cirx-labs-flagship__media:hover img {
		transform: scale(1.045);
	}

	.cirx-lab-panel:hover {
		z-index: 1;
		transform: translate(-4px, -4px);
		border-color: var(--cirx-yellow);
		box-shadow: 8px 8px 0 var(--cirx-yellow);
		background: #181818;
	}

	.cirx-lab-panel:hover .cirx-lab-price {
		transform: translateY(-2px);
		background: var(--cirx-yellow);
	}
}

@media (max-width: 900px) {
	.cirx-labs-flagship {
		grid-template-columns: 1fr;
	}

	.cirx-labs-flagship__media {
		min-height: 520px;
		margin-top: 0;
	}

	.cirx-lab-grid,
	.cirx-lab-bundle {
		grid-template-columns: 1fr;
	}

	.cirx-lab-panel--featured {
		grid-column: auto;
	}
}

@media (max-width: 620px) {
	.cirx-labs-flagship__copy {
		padding-block: 3.5rem;
	}

	.cirx-labs-flagship__price {
		grid-template-columns: 1fr;
	}

	.cirx-labs-flagship__price strong,
	.cirx-labs-flagship__price small {
		grid-column: 1;
		grid-row: auto;
	}

	.cirx-labs-flagship__media {
		min-height: 420px;
		margin: 0 1rem 3rem;
	}

	.cirx-labs-flagship__caption {
		right: -0.5rem;
		bottom: 1rem;
	}

	.cirx-lab-panel__top {
		grid-template-columns: 1fr;
	}

	.cirx-lab-price {
		grid-column: 1;
		grid-row: auto;
		justify-items: start;
	}

	.cirx-lab-facts {
		grid-template-columns: 1fr;
	}

	.cirx-lab-facts div {
		border-right: 0;
		border-bottom: 1px solid #373737;
	}

	.cirx-lab-facts div:last-child {
		border-bottom: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-labs-flagship__price,
	.cirx-labs-flagship__media,
	.cirx-labs-flagship__media img,
	.cirx-lab-panel,
	.cirx-lab-price {
		transition: none;
	}
}


/* CIRx private beta gate */
.cirx-beta-gate {
	position: relative;
	isolation: isolate;
	min-height: 100svh;
	overflow: hidden;
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-beta-gate__media,
.cirx-beta-gate__media .cirx-media-disclosure {
	position: absolute;
	inset: 0;
	z-index: -3;
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
}

.cirx-beta-gate__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% center;
	animation: cirx-beta-breathe 18s ease-in-out infinite alternate;
}

.cirx-beta-gate__media figcaption {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.cirx-beta-gate__veil {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(5, 5, 5, 0.97) 0%, rgba(5, 5, 5, 0.9) 43%, rgba(5, 5, 5, 0.46) 70%, rgba(5, 5, 5, 0.2) 100%),
		linear-gradient(0deg, rgba(5, 5, 5, 0.82) 0%, transparent 45%);
}

.cirx-beta-gate__shell {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: clamp(2rem, 5vw, 5rem);
	width: min(1600px, 100%);
	min-height: 100svh;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 4rem) var(--cirx-gutter) 1.5rem;
}

.cirx-beta-gate__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.cirx-beta-gate__brand img {
	display: block;
	width: min(280px, 54vw);
	height: auto;
}

.cirx-beta-gate__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	padding: 0.55rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.72);
	background: rgba(5, 5, 5, 0.55);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	backdrop-filter: blur(12px);
}

.cirx-beta-gate__badge span {
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--cirx-green);
	box-shadow: 0 0 0 0 rgba(0, 214, 107, 0.7);
	animation: cirx-beta-pulse 2.2s ease-out infinite;
}

.cirx-beta-gate__content {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(30rem, 0.72fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: center;
}

.cirx-beta-gate__intro {
	max-width: 57rem;
}

.cirx-beta-gate__intro h1 {
	display: grid;
	gap: 0.05em;
	margin: 1.4rem 0 2rem;
	font-size: clamp(4.3rem, 7.7vw, 8.5rem);
	line-height: 0.86;
	letter-spacing: -0.04em;
}

.cirx-beta-gate__intro h1 span:last-child {
	color: var(--cirx-coral);
}

.cirx-beta-gate__intro .cirx-lede {
	max-width: 46rem;
	margin-bottom: 1rem;
	font-size: clamp(1.15rem, 2vw, 1.55rem);
}

.cirx-beta-gate__intro > p:not(.cirx-eyebrow, .cirx-lede) {
	max-width: 45rem;
	color: #e3e3e3;
}

.cirx-beta-gate__signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.cirx-beta-gate__signals li {
	padding: 0.45rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.58);
	background: rgba(5, 5, 5, 0.42);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cirx-beta-gate__access {
	align-self: center;
	padding: clamp(1.4rem, 3vw, 2.3rem);
	border: 3px solid var(--cirx-white);
	box-shadow: 12px 12px 0 var(--cirx-cobalt);
	background: rgba(10, 10, 10, 0.84);
	backdrop-filter: blur(20px);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.cirx-beta-gate__access h2 {
	margin-bottom: 0.75rem;
	font-size: clamp(2.35rem, 4vw, 4rem);
}

.cirx-beta-gate__access h3 {
	margin: 0;
	font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.cirx-beta-gate__access > div > p {
	color: #d4d4d4;
}

.cirx-beta-gate__request {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.34);
}

.cirx-beta-gate__request > div:first-child {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
}

.cirx-beta-form {
	display: grid;
	gap: 0.85rem;
	margin-top: 1.25rem;
}

.cirx-beta-form label {
	display: block;
	color: var(--cirx-white);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.cirx-beta-form input {
	width: 100%;
	min-height: 52px;
	padding: 0.8rem 0.9rem;
	border: 2px solid #6d6d6d;
	border-radius: 0;
	background: var(--cirx-black);
	color: var(--cirx-white);
	font-size: 1rem;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.cirx-beta-form input:focus {
	border-color: var(--cirx-green);
	box-shadow: 0 0 0 3px rgba(0, 214, 107, 0.26);
	background: #101010;
	outline: 0;
}

.cirx-beta-form button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	padding: 0.8rem 1.1rem;
	border: 2px solid var(--cirx-white);
	border-radius: 0;
	box-shadow: 6px 6px 0 var(--cirx-coral);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease;
}

.cirx-beta-form__action {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.8rem;
}

.cirx-beta-form--request {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cirx-beta-form--request > button {
	grid-column: 1 / -1;
	justify-self: start;
}

.cirx-beta-message {
	margin: 1rem 0;
	padding: 0.8rem 1rem;
	border-left: 6px solid var(--cirx-yellow);
	background: rgba(230, 255, 0, 0.12);
	color: var(--cirx-white) !important;
	font-weight: 700;
}

.cirx-beta-message--error {
	border-color: var(--cirx-coral);
	background: rgba(255, 85, 51, 0.15);
}

.cirx-beta-message--success {
	border-color: var(--cirx-green);
	background: rgba(0, 214, 107, 0.14);
}

.cirx-beta-gate__privacy {
	margin: 1.2rem 0 0;
	padding: 0.85rem 1rem;
	border-left: 4px solid var(--cirx-green);
	background: rgba(255, 255, 255, 0.06);
	color: #d8d8d8 !important;
	font-size: 0.78rem;
	line-height: 1.5;
}

.cirx-beta-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.cirx-beta-gate__footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem;
	align-items: center;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.35);
	color: #d0d0d0;
	font-size: 0.68rem;
	line-height: 1.45;
}

.cirx-beta-gate__footer p {
	max-width: 72rem;
	margin: 0 0 0.35rem;
}

.cirx-beta-gate__legitscript {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	color: var(--cirx-white);
	font-size: 0.68rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}

.cirx-beta-gate__legitscript img {
	width: 73px;
	height: 79px;
	flex: 0 0 auto;
}

.cirx-review-banner a {
	color: inherit;
	font-weight: 800;
	white-space: nowrap;
	text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
	.cirx-beta-gate__access:hover {
		transform: translate(-4px, -4px);
		border-color: var(--cirx-green);
		box-shadow: 16px 16px 0 var(--cirx-coral);
	}

	.cirx-beta-gate__signals li:hover {
		transform: translateY(-3px);
		background: var(--cirx-green);
		color: var(--cirx-black);
	}

	.cirx-beta-form button:hover {
		transform: translate(-3px, -3px);
		box-shadow: 9px 9px 0 var(--cirx-green);
		background: var(--cirx-yellow);
		color: var(--cirx-black);
	}
}

@keyframes cirx-beta-breathe {
	from { transform: scale(1.01); }
	to { transform: scale(1.065); }
}

@keyframes cirx-beta-pulse {
	0% { box-shadow: 0 0 0 0 rgba(0, 214, 107, 0.72); }
	70% { box-shadow: 0 0 0 9px rgba(0, 214, 107, 0); }
	100% { box-shadow: 0 0 0 0 rgba(0, 214, 107, 0); }
}

@media (max-width: 1040px) {
	.cirx-beta-gate {
		overflow: visible;
	}

	.cirx-beta-gate__veil {
		background: rgba(5, 5, 5, 0.78);
	}

	.cirx-beta-gate__shell {
		gap: 3rem;
	}

	.cirx-beta-gate__content {
		grid-template-columns: 1fr;
	}

	.cirx-beta-gate__intro {
		max-width: 50rem;
		padding-top: 4rem;
	}

	.cirx-beta-gate__access {
		width: min(100%, 48rem);
	}

	.cirx-beta-gate__media img {
		position: fixed;
		inset: 0;
	}
}

@media (max-width: 680px) {
	.cirx-beta-gate__shell {
		gap: 2.25rem;
		padding-inline: 1rem;
	}

	.cirx-beta-gate__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 1rem;
	}

	.cirx-beta-gate__intro {
		padding-top: 1rem;
	}

	.cirx-beta-gate__intro h1 {
		font-size: clamp(3.25rem, 16vw, 5.2rem);
		overflow-wrap: normal;
		word-break: normal;
	}

	.cirx-beta-gate__signals {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cirx-beta-gate__access {
		padding: 1.2rem;
		border-width: 2px;
		box-shadow: 7px 7px 0 var(--cirx-cobalt);
	}

	.cirx-beta-gate__request > div:first-child {
		display: block;
	}

	.cirx-beta-form__action,
	.cirx-beta-form--request,
	.cirx-beta-gate__footer {
		grid-template-columns: 1fr;
	}

	.cirx-beta-form--request > button {
		justify-self: stretch;
	}

	.cirx-beta-form__action button {
		width: 100%;
	}

	.cirx-beta-gate__legitscript {
		justify-self: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-beta-gate__media img,
	.cirx-beta-gate__badge span {
		animation: none;
	}
}


/* Homepage performance, recovery, and sexual-wellness features */
.cirx-peptide-feature {
	max-width: 1600px;
	border-top: 1px solid #2d2d2d;
}

.cirx-peptide-feature__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.cirx-peptide-feature__intro h2 {
	max-width: 12ch;
	margin-bottom: 0;
}

.cirx-peptide-feature__intro > p {
	margin: 0;
	padding: 1.4rem;
	border-left: 7px solid var(--cirx-coral);
	background: var(--cirx-surface);
	color: var(--cirx-muted);
}

.cirx-peptide-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.4vw, 2.5rem);
}

.cirx-peptide-card {
	--cirx-feature-accent: var(--cirx-cobalt);
	--cirx-feature-ink: var(--cirx-white);
	position: relative;
	min-width: 0;
	border: 3px solid var(--cirx-white);
	box-shadow: 9px 9px 0 var(--cirx-feature-accent);
	background: var(--cirx-surface);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease, background-color 220ms ease;
}

.cirx-peptide-card--green {
	--cirx-feature-accent: var(--cirx-green);
	--cirx-feature-ink: var(--cirx-black);
}

.cirx-peptide-card--coral {
	--cirx-feature-accent: var(--cirx-coral);
	--cirx-feature-ink: var(--cirx-black);
}

.cirx-peptide-card--yellow {
	--cirx-feature-accent: var(--cirx-yellow);
	--cirx-feature-ink: var(--cirx-black);
}

.cirx-peptide-card__link {
	display: flex;
	height: 100%;
	min-width: 0;
	flex-direction: column;
	color: var(--cirx-white);
	text-decoration: none;
}

.cirx-peptide-card__media {
	position: relative;
	min-height: 31rem;
	overflow: hidden;
	border-bottom: 3px solid var(--cirx-white);
	background: var(--cirx-black);
}

.cirx-peptide-card__media::after {
	position: absolute;
	inset: auto 0 0;
	height: 7px;
	background: var(--cirx-feature-accent);
	content: "";
	transform: scaleX(0.32);
	transform-origin: left;
	transition: transform 240ms ease;
}

.cirx-peptide-card__media .cirx-media-disclosure {
	display: flex;
	width: 100%;
	height: 100%;
	min-height: 31rem;
	flex-direction: column;
	overflow: hidden;
}

.cirx-peptide-card__media img {
	display: block;
	width: 100%;
	min-height: 31rem;
	flex: 1;
	object-fit: cover;
	transition: transform 520ms cubic-bezier(.2,.75,.25,1), filter 260ms ease;
}

.cirx-peptide-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.35rem;
}

.cirx-peptide-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1.15rem;
}

.cirx-peptide-card__meta span {
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cirx-peptide-card__meta strong {
	flex: 0 0 auto;
	padding: 0.35rem 0.55rem;
	background: var(--cirx-feature-accent);
	color: var(--cirx-feature-ink);
	font-size: 0.75rem;
	line-height: 1.2;
	text-transform: uppercase;
	transition: transform 200ms ease, background-color 200ms ease, color 200ms ease;
}

.cirx-peptide-card h3 {
	margin-bottom: 1rem;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 0.96;
}

.cirx-peptide-card__body > p {
	margin: 0 0 1.5rem;
	color: var(--cirx-muted);
	font-size: 0.94rem;
}

.cirx-peptide-card__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid #404040;
	color: var(--cirx-white);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.cirx-peptide-card__cta span {
	color: var(--cirx-feature-accent);
	font-size: 1.35rem;
	transition: transform 180ms ease;
}

.cirx-sexual-feature {
	display: grid;
	grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
	width: min(1600px, 100%);
	margin: 0 auto;
	border-block: 8px solid var(--cirx-white);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-sexual-feature__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(3.5rem, 7vw, 7rem) var(--cirx-gutter);
}

.cirx-sexual-feature__copy h2 {
	max-width: 11ch;
	margin-bottom: 1.5rem;
}

.cirx-sexual-feature__copy .cirx-lede {
	max-width: 41rem;
	margin-bottom: 2rem;
}

.cirx-sexual-feature__benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-bottom: 2rem;
}

.cirx-sexual-feature__benefits span {
	padding: 0.5rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.8);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.cirx-sexual-feature__price {
	display: grid;
	grid-template-columns: auto auto;
	gap: 0.1rem 0.9rem;
	align-items: end;
	margin: 0 0 2rem;
	padding: 1rem 1.2rem;
	border: 3px solid var(--cirx-black);
	box-shadow: 8px 8px 0 var(--cirx-coral);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
	transition: transform 200ms ease, box-shadow 200ms ease;
}

.cirx-sexual-feature__price span {
	align-self: center;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cirx-sexual-feature__price strong {
	grid-row: span 2;
	font-size: clamp(3rem, 5vw, 5rem);
	line-height: 0.86;
}

.cirx-sexual-feature__price small {
	font-weight: 800;
	text-transform: uppercase;
}

.cirx-button--yellow {
	border-color: var(--cirx-black);
	box-shadow: 6px 6px 0 var(--cirx-coral);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-sexual-feature__note {
	max-width: 40rem;
	margin: 1.5rem 0 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.8rem;
}

.cirx-sexual-feature__media {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 680px;
	overflow: hidden;
	border-left: 8px solid var(--cirx-white);
	background: var(--cirx-black);
	color: var(--cirx-white);
	text-decoration: none;
}

.cirx-sexual-feature__media .cirx-media-disclosure {
	display: flex;
	width: 100%;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
}

.cirx-sexual-feature__media img {
	width: 100%;
	min-height: 0;
	flex: 1;
	object-fit: cover;
	transition: transform 560ms cubic-bezier(.2,.75,.25,1), filter 260ms ease;
}

.cirx-sexual-feature__stamp {
	position: absolute;
	right: clamp(1rem, 4vw, 3rem);
	bottom: clamp(1rem, 4vw, 3rem);
	display: grid;
	gap: 0.15rem;
	max-width: min(78%, 27rem);
	padding: 1rem 1.25rem;
	border: 2px solid var(--cirx-black);
	box-shadow: 8px 8px 0 var(--cirx-yellow);
	background: var(--cirx-coral);
	color: var(--cirx-black);
	text-transform: uppercase;
	transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.cirx-sexual-feature__stamp small {
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.11em;
}

.cirx-sexual-feature__stamp strong {
	font-size: clamp(1rem, 2vw, 1.4rem);
}

@media (hover: hover) and (pointer: fine) {
	.cirx-peptide-card:hover,
	.cirx-peptide-card:focus-within {
		z-index: 1;
		transform: translate(-7px, -7px);
		border-color: var(--cirx-feature-accent);
		box-shadow: 16px 16px 0 var(--cirx-feature-accent);
		background: #191919;
	}

	.cirx-peptide-card:hover .cirx-peptide-card__media::after,
	.cirx-peptide-card:focus-within .cirx-peptide-card__media::after {
		transform: scaleX(1);
	}

	.cirx-peptide-card:hover img,
	.cirx-peptide-card:focus-within img {
		transform: scale(1.055);
		filter: saturate(1.08);
	}

	.cirx-peptide-card:hover .cirx-peptide-card__meta strong,
	.cirx-peptide-card:focus-within .cirx-peptide-card__meta strong {
		transform: translateY(-3px);
	}

	.cirx-peptide-card:hover .cirx-peptide-card__cta span,
	.cirx-peptide-card:focus-within .cirx-peptide-card__cta span {
		transform: translateX(5px);
	}

	.cirx-sexual-feature__benefits span:hover {
		transform: translateY(-3px);
		background: var(--cirx-green);
		color: var(--cirx-black);
	}

	.cirx-sexual-feature__price:hover {
		transform: translate(-4px, -4px);
		box-shadow: 12px 12px 0 var(--cirx-green);
	}

	.cirx-button--yellow:hover {
		box-shadow: 10px 10px 0 var(--cirx-green);
		background: var(--cirx-white);
		color: var(--cirx-black);
	}

	.cirx-sexual-feature__media:hover img,
	.cirx-sexual-feature__media:focus-visible img {
		transform: scale(1.05);
		filter: saturate(1.08);
	}

	.cirx-sexual-feature__media:hover .cirx-sexual-feature__stamp,
	.cirx-sexual-feature__media:focus-visible .cirx-sexual-feature__stamp {
		transform: translate(-5px, -5px);
		box-shadow: 13px 13px 0 var(--cirx-green);
		background: var(--cirx-yellow);
	}
}

@media (max-width: 1100px) {
	.cirx-peptide-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-peptide-card__media,
	.cirx-peptide-card__media .cirx-media-disclosure,
	.cirx-peptide-card__media img {
		min-height: 28rem;
	}

	.cirx-sexual-feature {
		grid-template-columns: 1fr;
	}

	.cirx-sexual-feature__media {
		min-height: 560px;
		border-top: 8px solid var(--cirx-white);
		border-left: 0;
	}
}

@media (max-width: 720px) {
	.cirx-peptide-feature__intro,
	.cirx-peptide-grid {
		grid-template-columns: 1fr;
	}

	.cirx-peptide-feature__intro {
		gap: 1.5rem;
	}

	.cirx-peptide-card__media,
	.cirx-peptide-card__media .cirx-media-disclosure,
	.cirx-peptide-card__media img {
		min-height: 24rem;
	}

	.cirx-peptide-card__meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.cirx-sexual-feature__benefits {
		display: grid;
		width: 100%;
	}

	.cirx-sexual-feature__price {
		grid-template-columns: 1fr;
	}

	.cirx-sexual-feature__price strong,
	.cirx-sexual-feature__price small {
		grid-column: 1;
		grid-row: auto;
	}

	.cirx-sexual-feature__media {
		min-height: 440px;
	}

	.cirx-sexual-feature__stamp {
		right: 1rem;
		bottom: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-peptide-card,
	.cirx-peptide-card__media::after,
	.cirx-peptide-card__media img,
	.cirx-peptide-card__meta strong,
	.cirx-peptide-card__cta span,
	.cirx-sexual-feature__benefits span,
	.cirx-sexual-feature__price,
	.cirx-sexual-feature__media img,
	.cirx-sexual-feature__stamp {
		transition: none;
	}

	.cirx-peptide-card:hover,
	.cirx-peptide-card:focus-within,
	.cirx-peptide-card:hover img,
	.cirx-peptide-card:focus-within img,
	.cirx-sexual-feature__media:hover img,
	.cirx-sexual-feature__media:focus-visible img {
		transform: none;
	}
}


/* CIRx flagship offer and shared green price badges — 2026-09-02. */
.cirx-card .cirx-price {
	display: inline-flex;
	max-width: 100%;
	align-self: flex-start;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.3rem 0.55rem;
	margin: 1.15rem 0 1.5rem;
	padding: 0.62rem 0.78rem;
	box-shadow: 5px 5px 0 var(--cirx-cobalt);
	background: var(--cirx-green);
	color: var(--cirx-black);
	font-family: var(--cirx-body);
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--cirx-motion-fast) ease,
		box-shadow var(--cirx-motion-base) var(--cirx-motion-ease),
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-card .cirx-price__label {
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.15;
	text-transform: uppercase;
}

.cirx-card .cirx-price__amount {
	font-size: 1.5rem;
	letter-spacing: -0.04em;
	white-space: nowrap;
}

.cirx-card .cirx-price__suffix {
	font-size: 0.9rem;
	font-weight: 700;
	white-space: nowrap;
}

.cirx-card:hover .cirx-price,
.cirx-card .cirx-price:hover,
.cirx-card .cirx-price:focus-visible {
	box-shadow: 7px 7px 0 var(--cirx-coral);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
	transform: translate(-2px, -2px);
}

.cirx-card .cirx-price:focus-visible {
	outline: 3px solid var(--cirx-white);
	outline-offset: 4px;
}

.cirx-epiq-flagship {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr);
	max-width: 1600px;
	margin: 0 auto clamp(3.5rem, 7vw, 7rem);
	border-block: 4px solid var(--cirx-white);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-epiq-flagship__copy,
.cirx-epiq-flagship__pricing {
	min-width: 0;
	padding: clamp(2rem, 5vw, 5.5rem);
}

.cirx-epiq-flagship__copy {
	position: relative;
	overflow: hidden;
}

.cirx-epiq-flagship__copy::after {
	position: absolute;
	right: -4rem;
	bottom: -5rem;
	width: 13rem;
	height: 13rem;
	border: 2rem solid var(--cirx-coral);
	border-radius: 50%;
	content: "";
	opacity: 0.95;
	pointer-events: none;
}

.cirx-epiq-flagship__copy > * {
	position: relative;
	z-index: 1;
}

.cirx-epiq-flagship .cirx-eyebrow {
	color: var(--cirx-yellow);
}

.cirx-epiq-flagship h2 {
	max-width: 12ch;
	margin-bottom: 1.5rem;
	font-size: clamp(3.2rem, 6.2vw, 6.8rem);
	overflow-wrap: normal;
}

.cirx-epiq-flagship__lede {
	max-width: 45rem;
	margin: 0 0 1.6rem;
	font-size: clamp(1.08rem, 1.8vw, 1.35rem);
	line-height: 1.55;
}

.cirx-epiq-flagship__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}

.cirx-epiq-flagship__tags li {
	padding: 0.4rem 0.6rem;
	border: 2px solid currentcolor;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-epiq-flagship__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.cirx-epiq-flagship__actions .cirx-outline-button {
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-epiq-flagship__pricing {
	scroll-margin-top: 6rem;
	border-left: 4px solid var(--cirx-white);
	box-shadow: inset 0.8rem 0 0 var(--cirx-green);
	background: var(--cirx-surface);
}

.cirx-epiq-flagship__pricing .cirx-price-badge {
	margin-bottom: 1.2rem;
}

.cirx-epiq-flagship__qualifier {
	margin: 0 0 1.5rem;
	font-size: 1rem;
}

.cirx-epiq-terms {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 1.25rem 0;
}

.cirx-epiq-term {
	display: flex;
	min-width: 0;
	min-height: 8.5rem;
	flex-direction: column;
	justify-content: center;
	gap: 0.25rem;
	padding: 1rem;
	border: 2px solid var(--cirx-white);
	background: var(--cirx-black);
	color: var(--cirx-white);
	text-decoration: none;
	transition:
		background-color var(--cirx-motion-fast) ease,
		border-color var(--cirx-motion-fast) ease,
		box-shadow var(--cirx-motion-base) var(--cirx-motion-ease),
		color var(--cirx-motion-fast) ease,
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-epiq-term > span {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-epiq-term strong {
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
	letter-spacing: -0.04em;
	white-space: nowrap;
}

.cirx-epiq-term small {
	color: var(--cirx-muted);
	line-height: 1.35;
}

.cirx-epiq-term--featured {
	border-color: var(--cirx-green);
	box-shadow: 5px 5px 0 var(--cirx-yellow);
	background: var(--cirx-green);
	color: var(--cirx-black);
}

.cirx-epiq-term--featured small {
	color: var(--cirx-black);
}

.cirx-epiq-term:hover,
.cirx-epiq-term:focus-visible {
	border-color: var(--cirx-yellow);
	box-shadow: 6px 6px 0 var(--cirx-coral);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
	transform: translate(-3px, -3px);
}

.cirx-epiq-term:hover small,
.cirx-epiq-term:focus-visible small {
	color: var(--cirx-black);
}

.cirx-epiq-flagship__fine-print {
	margin: 1rem 0 0;
	color: var(--cirx-muted);
	font-size: 0.82rem;
	line-height: 1.55;
}

@media (max-width: 1000px) {
	.cirx-epiq-flagship {
		grid-template-columns: 1fr;
	}

	.cirx-epiq-flagship__pricing {
		border-top: 4px solid var(--cirx-white);
		border-left: 0;
		box-shadow: inset 0 0.8rem 0 var(--cirx-green);
	}
}

@media (max-width: 620px) {
	.cirx-card .cirx-price {
		width: 100%;
		justify-content: flex-start;
	}

	.cirx-epiq-flagship h2 {
		font-size: clamp(2.8rem, 15vw, 4.5rem);
	}

	.cirx-epiq-flagship__actions {
		flex-direction: column;
	}

	.cirx-epiq-flagship__actions a {
		width: 100%;
	}

	.cirx-epiq-terms {
		grid-template-columns: 1fr;
	}
}

@media (hover: hover) and (pointer: fine) {
	.cirx-epiq-flagship__pricing:hover .cirx-price-badge {
		background: var(--cirx-yellow);
		transform: translateY(-2px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-card .cirx-price,
	.cirx-epiq-term {
		transition: none;
	}

	.cirx-card:hover .cirx-price,
	.cirx-card .cirx-price:hover,
	.cirx-card .cirx-price:focus-visible,
	.cirx-epiq-term:hover,
	.cirx-epiq-term:focus-visible {
		transform: none;
	}
}

/* Consider This editorial platform — 2026-09-02. */
.cirx-journal {
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-journal-shell {
	width: 100%;
	max-width: 1600px;
	margin-inline: auto;
	padding-inline: var(--cirx-gutter);
}

.cirx-journal-hero {
	padding-block: clamp(4rem, 9vw, 8rem) clamp(3rem, 7vw, 6rem);
	border-bottom: 8px solid var(--cirx-white);
	background: linear-gradient(135deg, var(--cirx-yellow) 0 72%, var(--cirx-coral) 72%);
	color: var(--cirx-black);
}

.cirx-journal-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
	gap: 2rem 4rem;
	align-items: end;
}

.cirx-journal-hero .cirx-eyebrow,
.cirx-journal-hero h1 {
	grid-column: 1;
}

.cirx-journal-hero h1 {
	max-width: 8ch;
	margin-bottom: 0;
	font-size: clamp(4.6rem, 12vw, 11rem);
	letter-spacing: -0.06em;
}

.cirx-journal-hero h1 span {
	color: var(--cirx-cobalt);
}

.cirx-journal-hero__lede {
	grid-column: 2;
	grid-row: 1 / span 2;
	margin: 0;
	padding: 1.5rem;
	border: 4px solid var(--cirx-black);
	box-shadow: 9px 9px 0 var(--cirx-cobalt);
	background: var(--cirx-white);
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	font-weight: 700;
	line-height: 1.5;
}

.cirx-journal-search {
	grid-column: 1 / -1;
	display: flex;
	max-width: 760px;
	margin-top: 1.5rem;
}

.cirx-journal-search input[type="search"] {
	min-width: 0;
	min-height: 54px;
	flex: 1;
	padding: 0.75rem 1rem;
	border: 4px solid var(--cirx-black);
	border-radius: 0;
	background: var(--cirx-white);
	color: var(--cirx-black);
	font: inherit;
}

.cirx-journal-search button {
	min-height: 54px;
	padding: 0.75rem 1.2rem;
	border: 4px solid var(--cirx-black);
	border-left: 0;
	border-radius: 0;
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-journal-topics {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
}

.cirx-journal-topics > span {
	margin-right: 0.25rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cirx-journal-topics a {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	padding: 0.45rem 0.7rem;
	border: 2px solid var(--cirx-black);
	background: var(--cirx-white);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cirx-journal-topics a:hover,
.cirx-journal-topics a:focus-visible {
	box-shadow: 5px 5px 0 var(--cirx-cobalt);
	background: var(--cirx-green);
	transform: translate(-2px, -2px);
}

.cirx-journal-feed {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.cirx-journal-heading,
.cirx-home-journal__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	gap: 2rem 4rem;
	align-items: end;
	margin-bottom: 3rem;
}

.cirx-journal-heading h2,
.cirx-home-journal__heading h2 {
	max-width: 11ch;
	margin-bottom: 0;
}

.cirx-journal-heading > p,
.cirx-home-journal__heading > div:last-child > p {
	max-width: 38rem;
	margin: 0 0 1.5rem;
	font-size: 1.05rem;
	line-height: 1.6;
}

.cirx-journal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.cirx-journal-card {
	--cirx-journal-accent: var(--cirx-yellow);
	min-width: 0;
	border: 4px solid var(--cirx-white);
	box-shadow: 9px 9px 0 var(--cirx-journal-accent);
	background: #111;
	color: var(--cirx-white);
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.cirx-journal-card:nth-child(3n + 2) {
	--cirx-journal-accent: var(--cirx-coral);
}

.cirx-journal-card:nth-child(3n) {
	--cirx-journal-accent: var(--cirx-green);
}

.cirx-journal-card--featured {
	grid-column: span 2;
}

.cirx-journal-card__link {
	display: flex;
	height: 100%;
	min-width: 0;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.cirx-journal-card--featured .cirx-journal-card__link {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
}

.cirx-journal-card__media {
	position: relative;
	display: block;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border-bottom: 4px solid var(--cirx-white);
	background: var(--cirx-cobalt);
}

.cirx-journal-card--featured .cirx-journal-card__media {
	border-right: 4px solid var(--cirx-white);
	border-bottom: 0;
}

.cirx-journal-card__media img,
.cirx-journal-card__placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: filter 260ms ease, transform 420ms cubic-bezier(.2,.75,.25,1);
}

.cirx-journal-card--featured .cirx-journal-card__media img,
.cirx-journal-card--featured .cirx-journal-card__placeholder {
	height: 100%;
	min-height: 30rem;
	aspect-ratio: auto;
}

.cirx-journal-card__placeholder {
	background: linear-gradient(135deg, var(--cirx-cobalt) 0 50%, var(--cirx-journal-accent) 50%);
}

.cirx-journal-card__body {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.cirx-journal-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-journal-card__meta span:first-child {
	padding: 0.35rem 0.5rem;
	background: var(--cirx-journal-accent);
	color: var(--cirx-black);
}

.cirx-journal-card h2,
.cirx-journal-card h3 {
	margin-bottom: 1rem;
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: 0.98;
}

.cirx-journal-card__body > p {
	margin: 0 0 1.5rem;
	color: var(--cirx-muted);
	line-height: 1.55;
}

.cirx-journal-card__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid #444;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cirx-journal-card__cta span {
	color: var(--cirx-journal-accent);
	font-size: 1.35rem;
}

.cirx-journal-empty {
	padding: 2rem;
	border: 4px solid var(--cirx-white);
	box-shadow: 9px 9px 0 var(--cirx-coral);
}

.cirx-journal .navigation.pagination {
	margin-top: 4rem;
}

.cirx-journal .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.cirx-journal .page-numbers {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	border: 2px solid var(--cirx-white);
	text-decoration: none;
}

.cirx-journal .page-numbers.current {
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-home-journal {
	padding-block: clamp(4.5rem, 9vw, 8rem);
	border-top: 8px solid var(--cirx-black);
	background: var(--cirx-white);
	color: var(--cirx-black);
}

.cirx-home-journal__heading .cirx-outline-button {
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-home-journal .cirx-journal-card {
	border-color: var(--cirx-black);
}

.cirx-journal-grid--home .cirx-journal-card__media {
	border-color: var(--cirx-black);
}

@media (hover: hover) and (pointer: fine) {
	.cirx-journal-card:hover,
	.cirx-journal-card:focus-within {
		box-shadow: 14px 14px 0 var(--cirx-journal-accent);
		transform: translate(-5px, -5px);
	}

	.cirx-journal-card:hover img,
	.cirx-journal-card:focus-within img {
		filter: saturate(1.08);
		transform: scale(1.045);
	}
}

@media (max-width: 1050px) {
	.cirx-journal-hero__inner,
	.cirx-journal-heading,
	.cirx-home-journal__heading {
		grid-template-columns: 1fr;
	}

	.cirx-journal-hero__lede {
		grid-column: 1;
		grid-row: auto;
	}

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

	.cirx-journal-card--featured {
		grid-column: 1 / -1;
	}
}

@media (max-width: 720px) {
	.cirx-journal-hero {
		background: var(--cirx-yellow);
	}

	.cirx-journal-hero h1 {
		font-size: clamp(4rem, 22vw, 7rem);
	}

	.cirx-journal-search {
		display: grid;
	}

	.cirx-journal-search button {
		border-top: 0;
		border-left: 4px solid var(--cirx-black);
	}

	.cirx-journal-grid,
	.cirx-journal-card--featured .cirx-journal-card__link {
		grid-template-columns: 1fr;
	}

	.cirx-journal-card--featured {
		grid-column: auto;
	}

	.cirx-journal-card--featured .cirx-journal-card__media {
		border-right: 0;
		border-bottom: 4px solid var(--cirx-white);
	}

	.cirx-journal-card--featured .cirx-journal-card__media img,
	.cirx-journal-card--featured .cirx-journal-card__placeholder {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-journal-card,
	.cirx-journal-card__media img,
	.cirx-journal-topics a {
		transition: none;
	}

	.cirx-journal-card:hover,
	.cirx-journal-card:focus-within,
	.cirx-journal-card:hover img,
	.cirx-journal-card:focus-within img,
	.cirx-journal-topics a:hover,
	.cirx-journal-topics a:focus-visible {
		transform: none;
	}
}

/* Consider This article contrast on the dark editorial canvas. */
.single-post .hero-section .page-title,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content h5,
.single-post .entry-content h6 {
	color: var(--cirx-white);
}

.single-post .hero-section .page-description,
.single-post .hero-section .page-description p,
.single-post .hero-section .entry-meta,
.single-post .hero-section .entry-meta li,
.single-post .hero-section .entry-meta time {
	color: var(--cirx-muted);
}

.single-post .hero-section .entry-meta a {
	color: var(--cirx-white);
	text-decoration-color: var(--cirx-coral);
}

.single-post .entry-content :is(h2, h3, h4, h5, h6) a {
	color: inherit;
}




/* CIRx care-path navigation and search — 2026-09. */
.cirx-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	overflow: visible;
}

.admin-bar .cirx-site-header {
	top: 32px;
}

.cirx-header-inner {
	flex-wrap: nowrap;
	gap: clamp(0.7rem, 1.4vw, 1.35rem);
	max-width: 1720px;
	padding-inline: clamp(1rem, 3vw, 3.25rem);
}

.cirx-brand {
	flex: 0 0 auto;
	margin-right: clamp(0.5rem, 2vw, 2rem);
}

.cirx-primary-nav {
	flex: 1 1 auto;
}

.cirx-primary-nav .cirx-menu {
	flex-wrap: nowrap;
	justify-content: flex-end;
	gap: clamp(0.35rem, 1.15vw, 1.25rem);
}

.cirx-primary-nav .cirx-menu > li {
	margin: 0;
	list-style: none;
}

.cirx-primary-nav .cirx-menu > li > a,
.cirx-programs-toggle,
.cirx-search-toggle {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cirx-white);
	font-family: var(--cirx-body);
	font-size: clamp(0.69rem, 0.7vw, 0.8rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.cirx-programs-toggle__mark {
	display: inline-grid;
	width: 1.25rem;
	height: 1.25rem;
	place-items: center;
	border: 1px solid currentcolor;
	transition: transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-programs-toggle[aria-expanded="true"] {
	color: var(--cirx-yellow);
}

.cirx-programs-toggle[aria-expanded="true"] .cirx-programs-toggle__mark {
	transform: rotate(45deg);
}

.cirx-header-actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.9rem;
}

.cirx-search-toggle {
	padding-inline: 0.2rem;
}

.cirx-search-toggle svg {
	fill: none;
	stroke: currentcolor;
	stroke-linecap: square;
	stroke-width: 2;
}

.cirx-programs-toggle:focus-visible,
.cirx-search-toggle:focus-visible,
.cirx-search-close:focus-visible {
	outline: 3px solid var(--cirx-yellow);
	outline-offset: 4px;
}

.cirx-mega {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 50;
	border-top: 1px solid var(--cirx-black);
	border-bottom: 5px solid var(--cirx-cobalt);
	box-shadow: 0 28px 60px rgb(0 0 0 / 0.42);
	background: var(--cirx-white);
	color: var(--cirx-black);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-0.75rem);
	visibility: hidden;
	transition:
		opacity var(--cirx-motion-fast) ease,
		transform var(--cirx-motion-base) var(--cirx-motion-ease),
		visibility 0s linear var(--cirx-motion-base);
}

.cirx-mega.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: none;
	visibility: visible;
	transition-delay: 0s;
}

.cirx-mega__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(280px, 0.78fr);
	max-width: 1720px;
	margin: 0 auto;
}

.cirx-mega__inner > section {
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.cirx-mega__inner > section + section {
	border-left: 2px solid var(--cirx-black);
}

.cirx-mega__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.cirx-mega h2 {
	margin: 0 0 1.35rem;
	color: var(--cirx-black);
	font-family: var(--cirx-display);
	font-size: clamp(1.7rem, 2.2vw, 2.65rem);
	line-height: 0.95;
}

.cirx-mega__path-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 2px solid var(--cirx-black);
	border-left: 2px solid var(--cirx-black);
}

.cirx-mega__path-list a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.2rem 0.75rem;
	min-height: 90px;
	align-content: center;
	padding: 0.85rem 1rem;
	border-right: 2px solid var(--cirx-black);
	border-bottom: 2px solid var(--cirx-black);
	color: var(--cirx-black);
	text-decoration: none;
}

.cirx-mega__path-list a > span {
	grid-row: 1 / 3;
	align-self: start;
	color: var(--cirx-cobalt);
	font-size: 0.72rem;
	font-weight: 800;
}

.cirx-mega__path-list strong {
	font-family: var(--cirx-display);
	font-size: clamp(1.05rem, 1.2vw, 1.35rem);
	line-height: 1;
}

.cirx-mega__path-list small {
	color: #454545;
	font-size: 0.72rem;
	line-height: 1.25;
}

.cirx-mega__path-list a:hover,
.cirx-mega__path-list a:focus-visible {
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-mega__flagships ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid #777;
	list-style: none;
}

.cirx-mega__flagships li {
	margin: 0;
	border-bottom: 1px solid #777;
}

.cirx-mega__flagships li:nth-child(odd) {
	border-right: 1px solid #777;
}

.cirx-mega__flagships li a {
	display: flex;
	min-height: 54px;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.6rem 0.75rem;
	color: var(--cirx-black);
	font-size: 0.77rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.cirx-mega__flagships li a:hover,
.cirx-mega__flagships li a:focus-visible {
	background: var(--cirx-green);
	color: var(--cirx-black);
}

.cirx-mega__all {
	display: inline-flex;
	margin-top: 1.25rem;
	color: var(--cirx-black);
	font-weight: 800;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}

.cirx-mega__guide {
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-mega__guide h2 {
	color: var(--cirx-white);
}

.cirx-mega__guide > p:not(.cirx-mega__eyebrow) {
	margin-bottom: 1.25rem;
	font-size: 0.9rem;
	line-height: 1.5;
}

.cirx-mega__guide-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1rem;
	margin-top: 1rem;
}

.cirx-mega__guide-links a {
	color: var(--cirx-white);
	font-size: 0.75rem;
	font-weight: 700;
	text-underline-offset: 0.2em;
}



.cirx-site-search label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-site-search > div {
	display: flex;
	align-items: stretch;
}

.cirx-site-search input[type="search"] {
	width: 100%;
	min-width: 0;
	min-height: 52px;
	margin: 0;
	padding: 0.8rem 1rem;
	border: 2px solid currentcolor;
	border-radius: 0;
	background: var(--cirx-white);
	color: var(--cirx-black);
	font-family: var(--cirx-body);
	font-size: 1rem;
	box-shadow: none;
}

.cirx-site-search button {
	flex: 0 0 auto;
	min-height: 52px;
	padding: 0.75rem 1rem;
	border: 2px solid var(--cirx-black);
	border-left: 0;
	border-radius: 0;
	background: var(--cirx-yellow);
	color: var(--cirx-black);
	font-family: var(--cirx-body);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.cirx-site-search input[type="search"]:focus {
	outline: 3px solid var(--cirx-coral);
	outline-offset: 2px;
}

.cirx-site-search button:hover,
.cirx-site-search button:focus-visible {
	background: var(--cirx-green);
}

.cirx-search-panel {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: grid;
	place-items: start center;
	padding: clamp(1rem, 7vh, 5rem) 1rem 1rem;
	overflow-y: auto;
	background: rgb(0 0 0 / 0.88);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition:
		opacity var(--cirx-motion-fast) ease,
		visibility 0s linear var(--cirx-motion-base);
}

.cirx-search-panel.is-open {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	transition-delay: 0s;
}

.cirx-search-panel__dialog {
	position: relative;
	width: min(900px, 100%);
	padding: clamp(1.5rem, 5vw, 4rem);
	border: 3px solid var(--cirx-black);
	box-shadow: 14px 14px 0 var(--cirx-coral);
	background: var(--cirx-white);
	color: var(--cirx-black);
}

.cirx-search-panel__dialog h2 {
	max-width: 13ch;
	margin: 0 0 0.75rem;
	color: var(--cirx-black);
	font-family: var(--cirx-display);
	font-size: clamp(2.4rem, 6vw, 5.2rem);
	line-height: 0.88;
}

.cirx-search-panel__dialog > p:not(.cirx-eyebrow) {
	max-width: 60ch;
	margin-bottom: 1.5rem;
}

.cirx-search-close {
	position: absolute;
	top: 0.8rem;
	right: 0.8rem;
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border: 2px solid var(--cirx-black);
	border-radius: 0;
	background: var(--cirx-yellow);
	color: var(--cirx-black);
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
}

.cirx-search-panel .cirx-site-search input[type="search"] {
	min-height: 68px;
	font-size: clamp(1rem, 2vw, 1.35rem);
}

.cirx-search-panel .cirx-site-search button {
	min-height: 68px;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.cirx-search-panel__popular {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
	margin-top: 1.25rem;
}

.cirx-search-panel__popular > span {
	width: 100%;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cirx-search-panel__popular a {
	padding: 0.45rem 0.7rem;
	border: 1px solid var(--cirx-black);
	color: var(--cirx-black);
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
}

.cirx-search-panel__popular a:hover,
.cirx-search-panel__popular a:focus-visible {
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

body.cirx-search-open {
	overflow: hidden;
}



.cirx-pathways {
	padding: clamp(3.5rem, 8vw, 7rem) var(--cirx-gutter);
	border-bottom: 3px solid var(--cirx-black);
	background: #f3eee4;
	color: var(--cirx-black);
}

.cirx-pathways__heading {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 2rem;
	align-items: end;
	max-width: 1500px;
	margin: 0 auto clamp(2rem, 4vw, 3.5rem);
}

.cirx-pathways__heading h2 {
	max-width: 12ch;
	margin: 0;
	color: var(--cirx-black);
	font-family: var(--cirx-display);
	font-size: clamp(3rem, 7vw, 7.5rem);
	line-height: 0.84;
	letter-spacing: -0.04em;
}

.cirx-pathways__heading > p {
	max-width: 54ch;
	margin: 0;
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.55;
}

.cirx-pathways__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	max-width: 1500px;
	margin: 0 auto;
}

.cirx-pathway-card {
	--cirx-path-accent: var(--cirx-cobalt);
	position: relative;
	display: block;
	min-height: clamp(280px, 27vw, 430px);
	overflow: hidden;
	border: 3px solid var(--cirx-black);
	box-shadow: 9px 9px 0 var(--cirx-path-accent);
	background: var(--cirx-black);
	color: var(--cirx-white);
	text-decoration: none;
	isolation: isolate;
	transition:
		box-shadow var(--cirx-motion-base) var(--cirx-motion-ease),
		transform var(--cirx-motion-base) var(--cirx-motion-ease);
}

.cirx-pathway-card--green,
.cirx-search-path--green,
.cirx-pathway-page--green {
	--cirx-path-accent: var(--cirx-green);
}

.cirx-pathway-card--coral,
.cirx-search-path--coral,
.cirx-pathway-page--coral {
	--cirx-path-accent: var(--cirx-coral);
}

.cirx-pathway-card--yellow,
.cirx-search-path--yellow,
.cirx-pathway-page--yellow {
	--cirx-path-accent: var(--cirx-yellow);
}

.cirx-pathway-card--cobalt,
.cirx-search-path--cobalt,
.cirx-pathway-page--cobalt {
	--cirx-path-accent: var(--cirx-cobalt);
}

.cirx-pathway-card__media,
.cirx-pathway-card__media > *,
.cirx-pathway-card__media figure,
.cirx-pathway-card__media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.cirx-pathway-card__media img {
	object-fit: cover;
	transform: scale(1.01);
	transition: transform var(--cirx-motion-image) var(--cirx-motion-ease);
}

.cirx-pathway-card__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgb(0 0 0 / 0.05) 12%, rgb(0 0 0 / 0.82) 88%);
}

.cirx-pathway-card__content {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.25rem 0.9rem;
	align-items: end;
	padding: clamp(1.15rem, 2.5vw, 2rem);
	color: var(--cirx-white);
	text-shadow: 0 2px 14px rgb(0 0 0 / 0.65);
}

.cirx-pathway-card__index {
	grid-row: 1 / 4;
	align-self: start;
	padding-top: 0.2rem;
	color: var(--cirx-path-accent);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.cirx-pathway-card__content strong {
	font-family: var(--cirx-display);
	font-size: clamp(2rem, 3vw, 3.75rem);
	font-weight: 400;
	line-height: 0.92;
}

.cirx-pathway-card__content > span:not(.cirx-pathway-card__index) {
	font-size: 0.86rem;
	line-height: 1.35;
}

.cirx-pathway-card__content em {
	margin-top: 0.65rem;
	color: var(--cirx-path-accent);
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-pathway-card:hover,
.cirx-pathway-card:focus-visible {
	box-shadow: 15px 15px 0 var(--cirx-path-accent);
	color: var(--cirx-white);
	outline: 3px solid var(--cirx-path-accent);
	outline-offset: 4px;
	transform: translate(-4px, -4px);
}

.cirx-pathway-card:hover .cirx-pathway-card__media img,
.cirx-pathway-card:focus-visible .cirx-pathway-card__media img {
	transform: scale(1.08);
}

.cirx-catalog-search {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(320px, 1.2fr);
	gap: 2rem;
	align-items: end;
	padding: clamp(2rem, 5vw, 4rem) var(--cirx-gutter);
	border-bottom: 3px solid var(--cirx-black);
	background: var(--cirx-coral);
	color: var(--cirx-black);
}

.cirx-catalog-search > * {
	width: 100%;
	max-width: 720px;
}

.cirx-catalog-search > div {
	justify-self: end;
}

.cirx-catalog-search h2 {
	max-width: 13ch;
	margin: 0;
	color: var(--cirx-black);
	font-family: var(--cirx-display);
	font-size: clamp(2rem, 4vw, 4.5rem);
	line-height: 0.9;
}

.cirx-catalog-search .cirx-site-search {
	justify-self: start;
}



.cirx-pathway-page {
	--cirx-path-accent: var(--cirx-cobalt);
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-pathway-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr);
	min-height: min(760px, 78vh);
	border-bottom: 4px solid var(--cirx-path-accent);
}

.cirx-pathway-hero__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(3rem, 8vw, 8rem) var(--cirx-gutter);
}

.cirx-pathway-hero h1 {
	max-width: 10ch;
	margin: 0.45rem 0 1.2rem;
	color: var(--cirx-white);
	font-family: var(--cirx-display);
	font-size: clamp(4rem, 9vw, 9rem);
	font-weight: 400;
	line-height: 0.78;
	letter-spacing: -0.055em;
}

.cirx-pathway-hero .cirx-lede {
	max-width: 60ch;
	font-size: clamp(1.05rem, 1.55vw, 1.3rem);
	line-height: 1.55;
}

.cirx-pathway-hero .cirx-button-row {
	margin-top: 1.5rem;
}

.cirx-pathway-hero__media {
	position: relative;
	min-height: 560px;
	overflow: hidden;
	border-left: 3px solid var(--cirx-white);
	background: var(--cirx-surface);
}

.cirx-pathway-hero__media > *,
.cirx-pathway-hero__media figure,
.cirx-pathway-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.cirx-pathway-hero__media img {
	object-fit: cover;
}

.cirx-pathway-overview {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
	padding: clamp(3.5rem, 8vw, 7rem) var(--cirx-gutter);
	border-bottom: 3px solid var(--cirx-black);
	background: #f3eee4;
	color: var(--cirx-black);
}

.cirx-pathway-overview > div {
	max-width: 900px;
	justify-self: end;
}

.cirx-pathway-overview h2,
.cirx-pathway-flagship h2 {
	margin: 0.4rem 0 1rem;
	color: inherit;
	font-family: var(--cirx-display);
	font-size: clamp(2.6rem, 5vw, 6rem);
	font-weight: 400;
	line-height: 0.88;
}

.cirx-pathway-overview > div > p:last-child {
	max-width: 70ch;
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.65;
}

.cirx-pathway-flagship {
	max-width: 520px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 3px solid var(--cirx-black);
	box-shadow: 10px 10px 0 var(--cirx-path-accent);
	background: var(--cirx-white);
	color: var(--cirx-black);
}

.cirx-pathway-flagship h2 {
	font-size: clamp(2rem, 3.5vw, 4rem);
}

.cirx-pathway-flagship > p:not(.cirx-eyebrow) {
	line-height: 1.55;
}

.cirx-pathway-flagship a {
	display: inline-flex;
	margin-top: 0.8rem;
	color: var(--cirx-black);
	font-weight: 800;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}

.cirx-pathway-programs {
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-card-grid--single {
	grid-template-columns: minmax(0, 560px);
}

.cirx-pathway-learning {
	border-top: 3px solid var(--cirx-black);
	background: var(--cirx-white);
	color: var(--cirx-black);
}

.cirx-pathway-learning__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.cirx-pathway-article {
	display: grid;
	grid-template-rows: minmax(220px, 1fr) auto;
	min-height: 460px;
	overflow: hidden;
	border: 3px solid var(--cirx-black);
	box-shadow: 8px 8px 0 var(--cirx-path-accent);
	background: var(--cirx-black);
	color: var(--cirx-white);
	text-decoration: none;
}

.cirx-pathway-article__media,
.cirx-pathway-article__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.cirx-pathway-article__media {
	overflow: hidden;
}

.cirx-pathway-article__media img {
	object-fit: cover;
	transition: transform var(--cirx-motion-image) var(--cirx-motion-ease);
}

.cirx-pathway-article__body {
	display: grid;
	gap: 0.7rem;
	padding: 1.3rem;
}

.cirx-pathway-article__body small,
.cirx-pathway-article__body em {
	color: var(--cirx-path-accent);
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-pathway-article__body strong {
	color: var(--cirx-white);
	font-family: var(--cirx-display);
	font-size: clamp(1.55rem, 2.2vw, 2.4rem);
	font-weight: 400;
	line-height: 1;
}

.cirx-pathway-article:hover,
.cirx-pathway-article:focus-visible {
	outline: 3px solid var(--cirx-path-accent);
	outline-offset: 4px;
	color: var(--cirx-white);
}

.cirx-pathway-article:hover img,
.cirx-pathway-article:focus-visible img {
	transform: scale(1.06);
}

.cirx-pathway-faq {
	border-top: 3px solid var(--cirx-white);
	background: var(--cirx-surface);
	color: var(--cirx-white);
}

.cirx-pathway-faq__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 2px solid var(--cirx-white);
	border-left: 2px solid var(--cirx-white);
}

.cirx-pathway-faq details {
	margin: 0;
	border-right: 2px solid var(--cirx-white);
	border-bottom: 2px solid var(--cirx-white);
	background: var(--cirx-black);
}

.cirx-pathway-faq summary {
	padding: clamp(1.1rem, 2vw, 1.6rem);
	color: var(--cirx-white);
	font-family: var(--cirx-display);
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	line-height: 1.05;
	cursor: pointer;
}

.cirx-pathway-faq details[open] summary {
	background: var(--cirx-path-accent);
	color: var(--cirx-black);
}

.cirx-pathway-faq details p {
	margin: 0;
	padding: 0 1.4rem 1.5rem;
	line-height: 1.6;
}

.cirx-pathway-sources {
	margin-top: 2rem;
	padding: 1.5rem;
	border-left: 5px solid var(--cirx-path-accent);
	background: var(--cirx-black);
}

.cirx-pathway-sources ul {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding-left: 1.2rem;
}

.cirx-pathway-sources a {
	color: var(--cirx-white);
	text-decoration-color: var(--cirx-path-accent);
	text-underline-offset: 0.2em;
}

.cirx-pathway-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: clamp(3rem, 7vw, 6rem) var(--cirx-gutter);
	border-top: 4px solid var(--cirx-black);
	background: var(--cirx-path-accent);
	color: var(--cirx-black);
}

.cirx-pathway-cta > div {
	max-width: 900px;
}

.cirx-pathway-cta h2 {
	max-width: 13ch;
	margin: 0.4rem 0 0.8rem;
	color: var(--cirx-black);
	font-family: var(--cirx-display);
	font-size: clamp(2.8rem, 6vw, 6.5rem);
	line-height: 0.86;
}

.cirx-pathway-cta p {
	max-width: 65ch;
	line-height: 1.6;
}

.cirx-pathway-cta .cirx-button {
	flex: 0 0 auto;
}



.cirx-search-page {
	background: var(--cirx-black);
	color: var(--cirx-white);
}

.cirx-search-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	padding: clamp(3rem, 8vw, 7rem) var(--cirx-gutter);
	border-bottom: 4px solid var(--cirx-yellow);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

.cirx-search-hero h1 {
	max-width: 12ch;
	margin: 0.5rem 0 1rem;
	color: var(--cirx-white);
	font-family: var(--cirx-display);
	font-size: clamp(3.5rem, 8vw, 8.5rem);
	line-height: 0.82;
}

.cirx-search-hero .cirx-lede {
	max-width: 58ch;
}

.cirx-search-hero .cirx-site-search {
	padding: clamp(1.2rem, 3vw, 2rem);
	border: 3px solid var(--cirx-white);
	box-shadow: 10px 10px 0 var(--cirx-coral);
	background: var(--cirx-black);
}

.cirx-search-section {
	border-bottom: 2px solid var(--cirx-white);
}

.cirx-search-section:nth-of-type(even) {
	background: #f3eee4;
	color: var(--cirx-black);
}

.cirx-search-paths {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.cirx-search-path {
	--cirx-path-accent: var(--cirx-cobalt);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.25rem 0.8rem;
	min-height: 170px;
	align-content: center;
	padding: 1.35rem;
	border: 3px solid var(--cirx-black);
	box-shadow: 7px 7px 0 var(--cirx-path-accent);
	background: var(--cirx-white);
	color: var(--cirx-black);
	text-decoration: none;
}

.cirx-search-path > span {
	grid-row: 1 / 4;
	color: var(--cirx-path-accent);
	font-weight: 800;
}

.cirx-search-path strong {
	font-family: var(--cirx-display);
	font-size: clamp(1.7rem, 2.6vw, 2.8rem);
	line-height: 0.95;
}

.cirx-search-path small {
	line-height: 1.35;
}

.cirx-search-path em {
	margin-top: 0.5rem;
	color: var(--cirx-cobalt);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-search-path:hover,
.cirx-search-path:focus-visible {
	outline: 3px solid var(--cirx-path-accent);
	outline-offset: 3px;
	transform: translate(-2px, -2px);
}

.cirx-search-article-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.cirx-search-article {
	margin: 0;
	border: 3px solid var(--cirx-white);
	background: var(--cirx-surface);
}

.cirx-search-article > a {
	display: grid;
	grid-template-rows: 230px auto;
	height: 100%;
	color: var(--cirx-white);
	text-decoration: none;
}

.cirx-search-article__media {
	overflow: hidden;
	background: var(--cirx-black);
}

.cirx-search-article__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cirx-search-article__body {
	display: grid;
	gap: 0.7rem;
	padding: 1.25rem;
}

.cirx-search-article__body small,
.cirx-search-article__body em {
	color: var(--cirx-green);
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.cirx-search-article__body strong {
	font-family: var(--cirx-display);
	font-size: clamp(1.45rem, 2vw, 2.15rem);
	font-weight: 400;
	line-height: 1;
}

.cirx-search-article__body > span {
	color: var(--cirx-muted);
	font-size: 0.9rem;
	line-height: 1.5;
}

.cirx-search-empty {
	min-height: 50vh;
}

.cirx-search-empty > h2 {
	font-family: var(--cirx-display);
	font-size: clamp(2.5rem, 6vw, 6rem);
	line-height: 0.9;
}



@media (max-width: 1180px) {
	.cirx-header-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 0.6rem;
		min-height: 4.75rem;
		padding-block: 0.6rem;
	}

	.cirx-brand {
		grid-column: 1;
		grid-row: 1;
		margin: 0;
	}

	.cirx-header-actions {
		grid-column: 2;
		grid-row: 1;
	}

	.cirx-menu-toggle {
		grid-column: 3;
		grid-row: 1;
	}

	.cirx-js .cirx-menu-toggle {
		display: inline-flex;
	}

	.cirx-primary-nav {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		max-height: calc(100vh - 7rem);
		overflow-y: auto;
	}

	.cirx-js .cirx-primary-nav {
		display: none;
	}

	.cirx-js .cirx-primary-nav.is-open {
		display: block;
	}

	.cirx-primary-nav .cirx-menu {
		display: block;
		padding: 0.4rem 0 0;
	}

	.cirx-primary-nav .cirx-menu > li {
		border-top: 1px solid #4b4b4b;
	}

	.cirx-primary-nav .cirx-menu > li > a,
	.cirx-programs-toggle {
		width: 100%;
		justify-content: space-between;
		padding: 0.8rem 0.25rem;
		font-size: 0.78rem;
	}

	.cirx-header-actions .cirx-button {
		display: none;
	}

	.cirx-search-toggle {
		width: 44px;
		padding: 0;
		border: 1px solid var(--cirx-white);
	}

	.cirx-search-toggle > span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.cirx-mega {
		position: static;
		max-height: 0;
		overflow: hidden;
		border: 0;
		box-shadow: none;
		opacity: 1;
		transform: none;
		visibility: visible;
		transition: max-height var(--cirx-motion-base) var(--cirx-motion-ease);
	}

	.cirx-mega.is-open {
		max-height: min(76vh, 900px);
		overflow-y: auto;
		border-top: 3px solid var(--cirx-yellow);
		border-bottom: 3px solid var(--cirx-cobalt);
	}

	.cirx-mega__inner {
		display: block;
	}

	.cirx-mega__inner > section {
		padding: 1.35rem;
	}

	.cirx-mega__inner > section + section {
		border-top: 2px solid var(--cirx-black);
		border-left: 0;
	}

	.cirx-mega__path-list,
	.cirx-mega__flagships ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-mega__path-list a {
		min-height: 82px;
	}

	body.cirx-menu-open {
		overflow: hidden;
	}
}

@media (max-width: 960px) {
	.cirx-pathways__heading,
	.cirx-catalog-search,
	.cirx-search-hero,
	.cirx-pathway-overview {
		grid-template-columns: 1fr;
	}

	.cirx-pathways__grid,
	.cirx-search-paths,
	.cirx-search-article-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-pathway-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.cirx-pathway-hero__media {
		min-height: min(72vw, 680px);
		border-top: 3px solid var(--cirx-white);
		border-left: 0;
	}

	.cirx-pathway-overview > div {
		justify-self: start;
	}

	.cirx-pathway-learning__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-pathway-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.cirx-catalog-search > div,
	.cirx-catalog-search .cirx-site-search {
		justify-self: stretch;
		max-width: none;
	}
}

@media (max-width: 782px) {
	.admin-bar .cirx-site-header {
		top: 46px;
	}
}

@media (max-width: 680px) {
	.cirx-header-inner {
		grid-template-columns: minmax(0, 1fr) auto auto;
		padding-inline: 1rem;
	}

	.cirx-brand img {
		max-width: min(47vw, 180px);
		max-height: 2.35rem;
	}

	.cirx-menu-toggle {
		min-height: 44px;
		padding: 0.55rem 0.7rem;
		font-size: 0.72rem;
	}

	.cirx-pathways {
		padding-inline: 1rem;
	}

	.cirx-pathways__grid,
	.cirx-search-paths,
	.cirx-search-article-grid,
	.cirx-pathway-learning__grid,
	.cirx-pathway-faq__grid {
		grid-template-columns: 1fr;
	}

	.cirx-pathway-card {
		min-height: 330px;
	}

	.cirx-pathway-card__content strong {
		font-size: clamp(2.4rem, 14vw, 4rem);
	}

	.cirx-mega__path-list,
	.cirx-mega__flagships ul {
		grid-template-columns: 1fr;
	}

	.cirx-mega__flagships li:nth-child(odd) {
		border-right: 0;
	}

	.cirx-site-search > div {
		display: grid;
	}

	.cirx-site-search button {
		border-top: 0;
		border-left: 2px solid var(--cirx-black);
	}

	.cirx-search-panel {
		padding: 0;
	}

	.cirx-search-panel__dialog {
		min-height: 100%;
		padding: 4.5rem 1rem 2rem;
		border: 0;
		box-shadow: none;
	}

	.cirx-search-panel__dialog h2 {
		font-size: clamp(3rem, 17vw, 5.3rem);
	}

	.cirx-search-panel__popular a {
		flex: 1 1 auto;
		text-align: center;
	}

	.cirx-pathway-hero__copy,
	.cirx-pathway-overview,
	.cirx-pathway-cta,
	.cirx-search-hero,
	.cirx-catalog-search {
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.cirx-pathway-hero h1,
	.cirx-search-hero h1 {
		font-size: clamp(3.6rem, 20vw, 6.7rem);
	}

	.cirx-pathway-hero__media {
		min-height: 100vw;
	}

	.cirx-pathway-faq__grid {
		border-left: 0;
	}

	.cirx-pathway-faq details {
		border-left: 2px solid var(--cirx-white);
	}

	.cirx-card-grid--single {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cirx-mega,
	.cirx-programs-toggle__mark,
	.cirx-search-panel,
	.cirx-pathway-card,
	.cirx-pathway-card__media img,
	.cirx-pathway-article__media img {
		transition: none;
	}
}


/* Consider This inline editorial imagery. */
.single-post .entry-content .cirx-editorial-image {
	--cirx-editorial-accent: var(--cirx-cobalt);
	margin-block: clamp(2.75rem, 7vw, 5rem);
}

.single-post .entry-content .cirx-editorial-image--green {
	--cirx-editorial-accent: var(--cirx-green);
}

.single-post .entry-content .cirx-editorial-image--coral {
	--cirx-editorial-accent: var(--cirx-coral);
}

.single-post .entry-content .cirx-editorial-image--yellow {
	--cirx-editorial-accent: var(--cirx-yellow);
}

.single-post .entry-content .cirx-editorial-image--cobalt {
	--cirx-editorial-accent: var(--cirx-cobalt);
}

.single-post .entry-content .cirx-editorial-image img {
	display: block;
	width: 100%;
	height: auto;
	border: 3px solid var(--cirx-white);
	border-radius: 0;
	box-shadow: 12px 12px 0 var(--cirx-editorial-accent);
}

.single-post .entry-content .cirx-editorial-image figcaption {
	margin-top: 1rem;
	color: var(--cirx-muted);
	font-family: var(--cirx-body);
	font-size: 0.8rem;
	line-height: 1.5;
	text-align: left;
}

@media (max-width: 720px) {
	.single-post .entry-content .cirx-editorial-image {
		margin-block: 2.5rem;
	}

	.single-post .entry-content .cirx-editorial-image img {
		border-width: 2px;
		box-shadow: 7px 7px 0 var(--cirx-editorial-accent);
	}
}


/* Keep the primary intake action available inside the mobile menu. */
.cirx-menu-item-mobile-cta { display: none; }
@media (max-width: 1180px) {
  .cirx-primary-nav .cirx-menu > li.cirx-menu-item-mobile-cta { display: block; padding: 1rem 0 0.25rem; }
  .cirx-menu-item-mobile-cta .cirx-button { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: center; border: 2px solid var(--cirx-white); color: var(--cirx-white); }
}


/* CIRx quick-category rail + expanded ten-path discovery. */
.cirx-category-band {
	position: relative;
	z-index: 2;
	padding: 1rem var(--cirx-gutter);
	border-top: 3px solid var(--cirx-black);
	border-bottom: 3px solid var(--cirx-black);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-category-band__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1.25rem;
	align-items: center;
	max-width: 1720px;
	margin: 0 auto;
}

.cirx-category-band__label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.cirx-category-band__label span {
	display: block;
	font-size: 0.62rem;
	letter-spacing: 0.16em;
}

.cirx-category-band .cirx-category-strip {
	display: flex;
	gap: 0.7rem;
	align-items: stretch;
	margin: 0;
	padding: 0.35rem 0.35rem 0.65rem;
	overflow-x: auto;
	border: 0;
	background: transparent;
	color: inherit;
	scrollbar-color: var(--cirx-cobalt) rgb(0 0 0 / 0.18);
	scrollbar-width: thin;
	scroll-snap-type: x proximity;
}

.cirx-category-band .cirx-category-strip a {
	display: flex;
	min-height: 46px;
	flex: 0 0 auto;
	gap: 0.7rem;
	align-items: center;
	justify-content: space-between;
	padding: 0.55rem 0.75rem;
	border: 2px solid var(--cirx-black);
	box-shadow: 4px 4px 0 var(--cirx-cobalt);
	background: var(--cirx-black);
	color: var(--cirx-white);
	font-size: 0.69rem;
	font-weight: 800;
	letter-spacing: 0.035em;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	scroll-snap-align: start;
}

.cirx-category-band .cirx-category-strip a small {
	display: inline-grid;
	min-width: 1.55rem;
	height: 1.55rem;
	place-items: center;
	padding-inline: 0.2rem;
	border: 1px solid currentcolor;
	border-radius: 999px;
	font-size: 0.64rem;
	line-height: 1;
}

.cirx-category-band .cirx-category-strip a:hover,
.cirx-category-band .cirx-category-strip a:focus-visible,
.cirx-category-band .cirx-category-strip a[aria-current="page"] {
	box-shadow: 4px 4px 0 var(--cirx-coral);
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
	transform: translate(-1px, -1px);
}

@media (min-width: 1181px) {
	.cirx-pathways__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 1.1rem;
	}

	.cirx-pathway-card {
		min-height: clamp(320px, 27vw, 400px);
	}

	.cirx-pathway-card__content {
		padding: clamp(1rem, 1.45vw, 1.4rem);
	}

	.cirx-pathway-card__content strong {
		font-size: clamp(1.7rem, 2.15vw, 3rem);
	}

	.cirx-mega__inner > section {
		padding-block: 1.5rem;
	}

	.cirx-mega__path-list a {
		min-height: 76px;
		padding: 0.55rem 0.75rem;
	}

	.cirx-mega__path-list strong {
		font-size: clamp(0.98rem, 1vw, 1.22rem);
	}

	.cirx-mega__path-list small {
		font-size: 0.66rem;
	}
}

@media (max-width: 920px) {
	.cirx-category-band {
		padding-inline: 0;
	}

	.cirx-category-band__inner {
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}

	.cirx-category-band__label {
		padding-inline: 1rem;
	}

	.cirx-category-band .cirx-category-strip {
		padding-right: 1rem;
		padding-left: 1rem;
	}
}

@media (max-width: 520px) {
	.cirx-category-band .cirx-category-strip a {
		min-height: 44px;
		font-size: 0.66rem;
	}
}


/* CIRx launch taxonomy and audience navigation — 2026-09 */
.cirx-mega-v2 .cirx-mega__inner {
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.88fr) minmax(250px, 0.72fr);
}

.cirx-mega-v2 [hidden] {
	display: none !important;
}

.cirx-mega__paths-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.15rem;
}

.cirx-mega__paths-heading h2 {
	margin-bottom: 0;
}

.cirx-audience-switch {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(72px, 1fr));
	flex: 0 0 auto;
	border: 2px solid var(--cirx-black);
	background: var(--cirx-white);
}

.cirx-audience-tab {
	min-height: 44px;
	padding: 0.55rem 0.9rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cirx-black);
	font: 800 0.72rem/1 var(--cirx-body);
	letter-spacing: 0.09em;
	text-transform: uppercase;
	cursor: pointer;
}

.cirx-audience-tab + .cirx-audience-tab {
	border-left: 2px solid var(--cirx-black);
}

.cirx-audience-tab:hover,
.cirx-audience-tab:focus-visible {
	background: var(--cirx-green);
	outline: none;
}

.cirx-audience-tab.is-active {
	background: var(--cirx-yellow);
	box-shadow: inset 0 -4px 0 var(--cirx-cobalt);
}

.cirx-mega-v2 .cirx-mega__path-list {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cirx-mega-v2 .cirx-mega__path-list a {
	min-height: 72px;
	padding: 0.52rem 0.65rem;
}

.cirx-mega-v2 .cirx-mega__path-list strong {
	font-size: clamp(0.94rem, 1vw, 1.18rem);
}

.cirx-mega-v2 .cirx-mega__path-list small {
	font-size: 0.64rem;
}

.cirx-audience-featured {
	min-height: 248px;
}

.cirx-audience-page-filter {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 0.85rem var(--cirx-gutter);
	border-bottom: 3px solid var(--cirx-black);
	background: var(--cirx-yellow);
	color: var(--cirx-black);
}

.cirx-audience-page-filter > span {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cirx-audience-page-filter > div {
	display: inline-flex;
	border: 2px solid var(--cirx-black);
	background: var(--cirx-white);
}

.cirx-audience-page-filter a {
	display: inline-flex;
	min-width: 72px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.9rem;
	color: var(--cirx-black);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.cirx-audience-page-filter a + a {
	border-left: 2px solid var(--cirx-black);
}

.cirx-audience-page-filter a:hover,
.cirx-audience-page-filter a:focus-visible {
	background: var(--cirx-green);
	outline: none;
}

.cirx-audience-page-filter a.is-active {
	background: var(--cirx-cobalt);
	color: var(--cirx-white);
}

@media (max-width: 1180px) {
	.cirx-mega-v2 .cirx-mega__path-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cirx-mega-v2 .cirx-mega__path-list a {
		min-height: 76px;
	}
}

@media (max-width: 680px) {
	.cirx-mega__paths-heading {
		align-items: stretch;
		flex-direction: column;
	}

	.cirx-audience-switch {
		width: 100%;
	}

	.cirx-mega-v2 .cirx-mega__path-list {
		grid-template-columns: 1fr;
	}

	.cirx-audience-featured {
		min-height: 0;
	}

	.cirx-audience-page-filter {
		align-items: stretch;
		flex-direction: column;
		gap: 0.55rem;
		padding-inline: 1rem;
	}

	.cirx-audience-page-filter > div {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.cirx-audience-page-filter a {
		min-width: 0;
		padding-inline: 0.55rem;
	}
}


/* CIRx catalog search alignment fix — 2026-09 */
.cirx-catalog-search {
	width: 100%;
	max-width: none;
}


/* CIRx compound-at-a-glance visual facts — 2026-09 */
.cirx-compound-glance__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 1rem;
}

.cirx-compound-glance__heading h2 {
	max-width: 19ch;
	margin: 0;
	overflow-wrap: anywhere;
}

.cirx-compound-glance__class {
	display: inline-flex;
	max-width: 31rem;
	align-items: baseline;
	gap: 0.6rem;
	margin: 0 0 0.4rem;
	padding: 0.65rem 0.8rem;
	border: 1px solid #3a3a3a;
	background: var(--cirx-black);
	color: var(--cirx-white);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.35;
}

.cirx-compound-glance__class span {
	color: var(--cirx-yellow);
	font-size: 0.64rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cirx-four-frame .cirx-compound-glance__lede {
	max-width: 64ch;
}

.cirx-compound-glance .cirx-editorial-frame {
	display: flex;
	min-width: 0;
	overflow: hidden;
	flex-direction: column;
	margin: 0;
	font-family: var(--cirx-body);
	font-size: 1rem;
}

.cirx-editorial-frame__media {
	position: relative;
	overflow: hidden;
	flex: none;
	background: #050505;
}

.cirx-compound-glance .cirx-editorial-frame__media > .cirx-media-disclosure {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	overflow: hidden;
}

.cirx-compound-glance .cirx-editorial-frame__media img {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.cirx-editorial-frame__media > span {
	display: grid;
	aspect-ratio: 4 / 5;
	place-items: center;
}

.cirx-visual-fact {
	--cirx-fact-accent: var(--cirx-cobalt);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: 0.4rem 1rem;
	min-height: 13rem;
	align-content: start;
	flex: 1;
	padding: 1.25rem;
	border-top: 4px solid var(--cirx-fact-accent);
	background: #050505;
	color: var(--cirx-white);
}

.cirx-editorial-frame--2 .cirx-visual-fact {
	--cirx-fact-accent: var(--cirx-coral);
}

.cirx-editorial-frame--3 .cirx-visual-fact {
	--cirx-fact-accent: var(--cirx-green);
}

.cirx-visual-fact__index {
	grid-row: 1 / 3;
	margin: 0;
	color: var(--cirx-fact-accent);
	font-family: var(--cirx-display);
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 0.9;
}

.cirx-visual-fact h3 {
	width: auto;
	margin: 0;
	color: var(--cirx-white);
	font-family: var(--cirx-body);
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1.25;
	text-transform: uppercase;
}

.cirx-visual-fact__copy {
	grid-column: 2;
	margin: 0;
	color: #d5d5d5;
	font-size: 0.92rem;
	line-height: 1.55;
}

@media (max-width: 900px) {
	.cirx-compound-glance__heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.85rem;
	}

	.cirx-compound-glance__class {
		margin-bottom: 0;
	}

	.cirx-visual-fact {
		min-height: 14rem;
	}
}

@media (max-width: 720px) {
	.cirx-visual-fact {
		min-height: 0;
	}

	.cirx-compound-glance .cirx-editorial-frame {
		margin-bottom: 0.75rem;
	}
}

@media (max-width: 560px) {
	.cirx-compound-glance__heading h2 {
		max-width: 100%;
		font-size: clamp(2.55rem, 12vw, 4rem);
		word-break: normal;
	}

	.cirx-compound-glance__class {
		width: 100%;
		max-width: none;
		align-items: flex-start;
		flex-direction: column;
		gap: 0.25rem;
	}

	.cirx-visual-fact {
		gap: 0.45rem 0.8rem;
		padding: 1.1rem;
	}

	.cirx-visual-fact__copy {
		font-size: 0.9rem;
	}
}

/* Quick Browse rail: clear scrollbar lane + horizontal affordance */
.cirx-category-band--home .cirx-category-strip {
	padding-bottom: 1.35rem;
	cursor: grab;
	overscroll-behavior-inline: contain;
	scrollbar-gutter: stable;
	scrollbar-color: var(--cirx-cobalt) rgb(0 0 0 / 0.14);
	scrollbar-width: thin;
}

.cirx-category-band--home .cirx-category-strip:active {
	cursor: grabbing;
}

.cirx-category-band--home .cirx-category-strip::-webkit-scrollbar {
	height: 9px;
}

.cirx-category-band--home .cirx-category-strip::-webkit-scrollbar-track {
	border-radius: 999px;
	background: rgb(0 0 0 / 0.14);
}

.cirx-category-band--home .cirx-category-strip::-webkit-scrollbar-thumb {
	border: 2px solid var(--cirx-yellow);
	border-radius: 999px;
	background: var(--cirx-cobalt);
}

.cirx-category-band--home .cirx-category-band__label::after {
	display: block;
	margin-top: 0.45rem;
	color: var(--cirx-cobalt);
	content: "Drag to browse  ↔";
	font-size: 0.56rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	white-space: nowrap;
}

@media (max-width: 720px) {
	.cirx-category-band--home .cirx-category-band__label::after {
		content: "Swipe to browse  ↔";
	}
}


/* CIRx editorial refinement — September 2026. Existing campaign palette and typography. */
.cirx-home-hero { min-height: 0; }
.cirx-home-hero__copy { padding: clamp(2rem, 3.4vw, 3.5rem); justify-content: center; gap: 0; }
.cirx-home-hero__copy h1 { margin: 0 0 1.25rem; font-size: clamp(5rem, 8.5vw, 8.5rem); line-height: .88; letter-spacing: -.065em; text-transform: none; }
.cirx-home-hero .cirx-kicker { width: fit-content; align-self: flex-start; margin: 0 0 1.75rem; padding: .5rem .65rem; font-size: .7rem; }
.cirx-home-hero .cirx-hero__statement { margin: 0 0 1.25rem; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.18; max-width: 22ch; }
.cirx-home-hero__media { min-height: 100%; position: relative; aspect-ratio: auto; align-self: stretch; }
.cirx-home-hero__media img { object-position: 50% 44%; }
.cirx-home-hero .cirx-hero__support { max-width: 35rem; margin: 0; font-size: clamp(1rem, 1.25vw, 1.1rem); line-height: 1.6; }
.cirx-home-hero .cirx-button-row { gap: 1rem; margin-top: 2rem; }
.cirx-hero__micro { margin: 1.8rem 0 0; color: #c8c8c8; font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.cirx-home-hero__stamp { position: absolute; right: 1.5rem; bottom: 2rem; padding: .9rem 1.15rem; background: var(--cirx-yellow); border: 2px solid #050505; box-shadow: 5px 5px 0 #050505; color: #050505; font-size: .75rem; line-height: 1.35; font-weight: 800; letter-spacing: .08em; transform: rotate(-4deg); pointer-events: none; }

/* The scrollbar has a dedicated lane beneath the links and their offset shadows. */
.cirx-category-band__inner { grid-template-columns: 11rem minmax(0, 1fr); gap: 1.5rem; align-items: center; }
.cirx-category-band__label::after { content: none !important; }
.cirx-category-band__label .cirx-browse-hint { display: block; margin-top: .65rem; color: #0035d8; font-size: .65rem; letter-spacing: .06em; line-height: 1.35; text-transform: none; }
.cirx-browse { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; min-width: 0; }
.cirx-category-band .cirx-category-strip { min-width: 0; padding: .45rem .4rem 1.2rem; scroll-padding-inline: .4rem; scrollbar-width: thin; scrollbar-color: var(--cirx-cobalt) rgb(0 0 0 / .14); overscroll-behavior-inline: contain; }
.cirx-category-strip a { flex: 0 0 auto; }
.cirx-category-strip.is-dragging { cursor: grabbing; user-select: none; scroll-behavior: auto; }
.cirx-browse__controls { display: flex; gap: .5rem; padding-bottom: .6rem; }
.cirx-browse__controls[hidden] { display: none; }
.cirx-browse__controls button { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; padding: 0; border: 2px solid #050505; border-radius: 0; background: #050505; color: #fff; font-size: 1.5rem; box-shadow: 3px 3px 0 var(--cirx-cobalt); cursor: pointer; }
.cirx-browse__controls button:disabled { background: transparent; color: #050505; opacity: .35; box-shadow: none; cursor: default; }
.cirx-browse__controls button:not(:disabled):hover { color: var(--cirx-yellow); transform: translateY(-2px); }

/* An editorial cover grid: larger photographs, readable captions, deliberate whitespace. */
.cirx-pathways { padding-block: clamp(3.5rem, 7vw, 7rem); }
.cirx-pathways__heading { gap: 2rem; margin-bottom: 2.75rem; }
.cirx-pathways__heading h2 { font-size: clamp(3.1rem, 6.4vw, 6.25rem); line-height: .97; letter-spacing: -.055em; max-width: 10ch; text-wrap: balance; }
.cirx-pathways__heading > p { max-width: 34rem; line-height: 1.65; }
.cirx-pathways__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.35rem; }
.cirx-pathway-card { min-height: 0; height: auto; aspect-ratio: 3 / 4.4; isolation: isolate; transition: transform .2s ease, box-shadow .2s ease; }
.cirx-pathway-card__content { padding: 1.1rem; }
.cirx-pathway-card__content strong { font-size: clamp(1.7rem, 2.2vw, 2.35rem); line-height: 1.02; letter-spacing: -.035em; overflow-wrap: normal; }
.cirx-pathway-card__content > span:not(.cirx-pathway-card__index) { font-size: .75rem; line-height: 1.45; }
.cirx-pathway-card__content em { margin-top: .7rem; font-size: .65rem; color: #fff; }
.cirx-pathway-card__veil { background: linear-gradient(180deg, rgb(0 0 0 / .08) 22%, rgb(0 0 0 / .3) 48%, rgb(0 0 0 / .92) 100%); }
.cirx-pathway-card__media img { object-position: 50% 35%; }
.cirx-pathway-card:hover { transform: translate(-2px, -4px); }
.cirx-pathway-card:hover img { transform: scale(1.025); }

/* A short, indexable care journey, using typography instead of repeated stock imagery. */
.cirx-care-sequence { padding: clamp(2rem, 5vw, 5rem); background: #0038ff; color: #fff; border-block: 2px solid #050505; }
.cirx-care-sequence__heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.cirx-care-sequence h2 { margin: 0; color: #fff; font-family: var(--cirx-display); font-weight: 400; font-size: clamp(2.7rem, 5vw, 5rem); line-height: 1; letter-spacing: -.04em; }
.cirx-care-sequence .cirx-eyebrow { color: var(--cirx-yellow); }
.cirx-care-sequence__heading a { color: #fff; text-underline-offset: .3em; white-space: nowrap; font-weight: 700; }
.cirx-care-sequence ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin: 0; padding: 0; list-style: none; counter-reset: care-step; }
.cirx-care-sequence li { counter-increment: care-step; border-top: 1px solid rgb(255 255 255 / .45); padding-top: 1.2rem; }
.cirx-care-sequence li::before { content: "0" counter(care-step); display: block; margin-bottom: 1.25rem; color: var(--cirx-yellow); font-family: var(--cirx-display); font-size: 2.5rem; line-height: 1; }
.cirx-care-sequence h3 { margin: 0 0 .75rem; color: #fff; font-size: 1.1rem; line-height: 1.3; }
.cirx-care-sequence li p { margin: 0; font-size: .9rem; line-height: 1.6; color: #e3eaff; }
.cirx-labs-flagship__media { min-height: 0; }
.cirx-peptide-card__media { height: auto; aspect-ratio: 1; }
.cirx-card__media { aspect-ratio: 1; }
.cirx-card__title { text-wrap: balance; }

/* Program reading shortcuts remain useful on a narrow screen without a sticky obstruction. */
.cirx-program-shortcuts { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding: 1rem clamp(1.25rem, 4vw, 4rem); border-block: 1px solid #050505; background: var(--cirx-yellow); }
.cirx-program-shortcuts a { color: #050505; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; padding: .5rem 0; }
.cirx-program-shortcuts a:hover { text-decoration: underline; text-underline-offset: .3em; }
#compound-quick-facts, #options-comparison, #how-clinician-review-works { scroll-margin-top: 7rem; }
.cirx-compound-glance .cirx-editorial-frame__media { aspect-ratio: 1; }
body :is(a,button,input,select,summary,[tabindex]):focus-visible { outline: 3px solid var(--cirx-cobalt); outline-offset: 5px; }
.cirx-care-sequence a:focus-visible, .cirx-home-hero a:focus-visible { outline-color: var(--cirx-yellow); }
@media (min-width: 1181px) {
  .cirx-home-hero { grid-template-columns: 1fr 1fr; }
  .cirx-labs-flagship { grid-template-columns: 1.08fr 1fr; }
  .cirx-labs-flagship__copy { padding: 3rem; }
  .cirx-labs-flagship__copy h2 { font-size: clamp(3rem, 4.3vw, 4.8rem); }
  .cirx-labs-flagship__media img { object-position: 50% 50%; }
}
@media (max-width: 1180px) {
  .cirx-pathways__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cirx-home-hero__copy h1 { font-size: clamp(4.5rem, 10vw, 7rem); }
  .cirx-care-sequence ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .cirx-home-hero__copy { padding: 2.5rem 1.35rem; }
  .cirx-home-hero__copy h1 { font-size: clamp(4.8rem, 18vw, 7rem); }
  .cirx-home-hero__media { min-height: 0; aspect-ratio: 1.12; }
  .cirx-home-hero__stamp { right: 1rem; bottom: 1.5rem; font-size: .65rem; }
  .cirx-category-band__inner { display: block; }
  .cirx-category-band__label { margin-bottom: .75rem; }
  .cirx-category-band__label .cirx-browse-hint { display: inline; margin-left: .75rem; }
  .cirx-browse { gap: .65rem; }
  .cirx-browse__controls { gap: .4rem; }
  .cirx-pathways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .cirx-pathway-card { aspect-ratio: 3 / 5; }
  .cirx-pathway-card__content { padding: .85rem; }
  .cirx-pathway-card__content strong { font-size: clamp(1.45rem, 5.2vw, 2rem); }
  .cirx-pathway-card__content > span:not(.cirx-pathway-card__index) { font-size: .67rem; }
  .cirx-care-sequence { padding: 3rem 1.35rem; }
  .cirx-care-sequence__heading { display: block; }
  .cirx-care-sequence__heading a { display: inline-block; margin-top: 1.5rem; }
  .cirx-care-sequence ol { gap: 2rem 1.25rem; }
  .cirx-care-sequence h3 { font-size: 1rem; }
  .cirx-care-sequence li p { font-size: .83rem; }
}
@media (max-width: 360px) { .cirx-pathways__grid, .cirx-care-sequence ol { grid-template-columns: 1fr; } .cirx-pathway-card { aspect-ratio: 1; } }
@media (prefers-reduced-motion: reduce) {
  .cirx-pathway-card, .cirx-pathway-card img, .cirx-browse__controls button { transition: none; transform: none !important; }
  .cirx-category-strip { scroll-behavior: auto; }
}


/* How It Works: a contained, four-step CIRx care journey. */
.cirx-how { --how-cream: #f3eee5; --how-blue: #0038ff; width: 100%; margin: 0; padding: 0; background: var(--how-cream); color: var(--cirx-black); }
.cirx-how h1, .cirx-how h2 { font-family: var(--cirx-display); font-weight: 400; letter-spacing: -.045em; line-height: 1.06; text-transform: none; color: inherit; }
.cirx-how h2 { margin: 0 0 1.1rem; font-size: clamp(2rem, 3.3vw, 3.7rem); }
.cirx-how p { margin: 0 0 1.15rem; }
.cirx-how p:last-child { margin-bottom: 0; }
.cirx-how .cirx-eyebrow, .cirx-how__step-label { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cirx-how figure { margin: 0; min-width: 0; }
.cirx-how figure img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.cirx-how figcaption { padding: 1rem 1.25rem; font-size: .8rem; line-height: 1.5; }
.cirx-how__hero { display: grid; grid-template-columns: 1.08fr 1fr; background: var(--cirx-black); color: var(--cirx-white); border-bottom: 2px solid var(--cirx-black); }
.cirx-how__hero-copy { align-self: center; padding: clamp(2rem, 5vw, 5rem); }
.cirx-how__hero h1 { font-size: clamp(3.6rem, 6.4vw, 7.4rem); margin: 1.5rem 0; }
.cirx-how__hero .cirx-eyebrow { color: var(--cirx-yellow); }
.cirx-how__lede { max-width: 28ch; font-size: clamp(1.2rem, 1.8vw, 1.65rem); line-height: 1.45; }
.cirx-how__hero-copy > p:not(.cirx-eyebrow) { max-width: 49ch; }
.cirx-how .cirx-button-row { gap: 1.4rem; margin-top: 2rem; align-items: center; }
.cirx-how__hero-note { margin-top: 2rem !important; font-size: .78rem; color: #c8c8c8; }
.cirx-how__hero-art { position: relative; background: var(--how-blue); }
.cirx-how__hero-art img { height: 100% !important; object-position: 48% center; min-height: 100%; }
.cirx-how__hero-art figcaption { position: absolute; left: 0; right: 0; bottom: 0; color: var(--cirx-black); background: var(--cirx-yellow); font-weight: 700; letter-spacing: .04em; border-top: 2px solid var(--cirx-black); }
.cirx-how__text-link { font-size: .9rem; font-weight: 700; text-decoration: underline; text-underline-offset: .35em; }
.cirx-how__route { background: var(--cirx-yellow); border-bottom: 2px solid var(--cirx-black); }
.cirx-how__route ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.cirx-how__route li + li { border-left: 1px solid var(--cirx-black); }
.cirx-how__route a { display: flex; gap: 1rem; align-items: center; height: 100%; padding: 1.5rem clamp(1rem, 2.5vw, 2.5rem); min-height: 64px; font-size: .8rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.cirx-how__route span { font-family: var(--cirx-display); font-size: 1.8rem; font-weight: 400; }
.cirx-how__route a:hover { background: var(--cirx-black); color: var(--cirx-yellow); }
.cirx-how__chapter { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 7rem); padding: clamp(3rem, 7vw, 7rem) clamp(1.35rem, 5vw, 5rem); align-items: center; }
.cirx-how__story-art { border: 2px solid currentColor; box-shadow: 9px 9px 0 var(--cirx-cobalt); }
.cirx-how__story-art figcaption { background: var(--cirx-black); color: var(--cirx-white); }
.cirx-how__steps { min-width: 0; }
.cirx-how__step + .cirx-how__step { margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid currentColor; }
.cirx-how__step { scroll-margin-top: 140px; }
.cirx-how__step-label { margin-bottom: 1.3rem !important; }
.cirx-how__takeaway { font-weight: 700; }
.cirx-how__chapter--care { background: var(--how-blue); color: var(--cirx-white); }
.cirx-how__chapter--care .cirx-how__step-label { color: var(--cirx-yellow); }
.cirx-how__pharmacy-art { box-shadow: 9px 9px 0 var(--cirx-coral); }
.cirx-how__shipping { padding: 1.5rem; background: var(--cirx-yellow); color: var(--cirx-black); margin-top: 1.5rem; border: 2px solid var(--cirx-black); box-shadow: 5px 5px 0 var(--cirx-black); }
.cirx-how__shipping strong { display: block; font-size: 1rem; line-height: 1.4; }
.cirx-how__shipping strong span { display: block; font-family: var(--cirx-display); font-size: clamp(3rem, 5vw, 5rem); font-weight: 400; line-height: 1.05; letter-spacing: -.04em; margin-top: .3rem; }
.cirx-how__shipping > p + p { font-size: .88rem; }
.cirx-how__shipping-note { font-size: .8rem; line-height: 1.55; margin-top: 1.25rem !important; color: #e3eaff; }
.cirx-how__followup { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 7rem); padding: clamp(3rem, 6vw, 6rem) clamp(1.35rem, 5vw, 5rem); border-bottom: 2px solid var(--cirx-black); background: var(--cirx-coral); }
.cirx-how__followup h2 { max-width: 12ch; font-size: clamp(2.5rem, 5vw, 5.5rem); }
.cirx-how__faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 7rem); padding: clamp(3rem, 7vw, 7rem) clamp(1.35rem, 5vw, 5rem); }
.cirx-how__faq-heading h2 { max-width: 12ch; }
.cirx-how__answers { min-width: 0; }
.cirx-how__answers details { margin: 0 0 1rem; padding: 0; border: 2px solid var(--cirx-black); background: #141414; color: var(--cirx-white); }
.cirx-how__answers details:last-child { margin-bottom: 0; }
.cirx-how__answers summary { display: list-item; margin: 0; padding: 1.35rem 1.5rem; color: var(--cirx-white); font-weight: 700; font-size: 1.05rem; line-height: 1.55; cursor: pointer; }
.cirx-how__answers summary::marker { color: var(--cirx-yellow); }
.cirx-how__answers summary:hover { color: var(--cirx-yellow); }
.cirx-how__answers details[open] summary { padding-bottom: 1rem; }
.cirx-how__answers details > div { padding: 0 1.5rem 1.5rem; color: #e3eaff; font-size: 1rem; line-height: 1.7; }
.cirx-how__answers details > div p { color: inherit; }
.cirx-how .cirx-how__answers summary:focus-visible { outline: 3px solid var(--cirx-yellow); outline-offset: -6px; }
.cirx-how__cta { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: clamp(3rem, 6vw, 6rem) clamp(1.35rem, 5vw, 5rem); background: var(--cirx-black); color: var(--cirx-white); border-top: 2px solid var(--cirx-black); }
.cirx-how__cta .cirx-eyebrow { color: var(--cirx-yellow); }
.cirx-how__cta .cirx-button-row { flex-direction: column; align-items: flex-start; margin: 0; flex-shrink: 0; }
.cirx-how a:focus-visible, .cirx-how summary:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.cirx-how #your-first-step { scroll-margin-top: 110px; }
@media (max-width: 1000px) {
  .cirx-how__hero { grid-template-columns: 1fr 1fr; }
  .cirx-how__hero-copy { padding: 2.5rem 1.75rem; }
  .cirx-how__hero h1 { font-size: clamp(3rem, 6.5vw, 4.5rem); }
  .cirx-how__route a { gap: .75rem; padding: 1rem; font-size: .75rem; }
  .cirx-how__chapter { gap: 2.5rem; }
  .cirx-how__cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 760px) {
  .cirx-how__hero, .cirx-how__chapter, .cirx-how__followup, .cirx-how__faq { grid-template-columns: minmax(0, 1fr); }
  .cirx-how__hero-copy { padding: 3rem 1.35rem; }
  .cirx-how__hero h1 { font-size: clamp(3.4rem, 12vw, 5.7rem); }
  .cirx-how__hero-art img { height: auto !important; aspect-ratio: 5/4; object-position: center 40%; }
  .cirx-how__hero-art figcaption { position: static; }
  .cirx-how__route ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cirx-how__route li:nth-child(3) { border-left: 0; }
  .cirx-how__route li:nth-child(n+3) { border-top: 1px solid var(--cirx-black); }
  .cirx-how__chapter--start .cirx-how__steps { grid-row: 1; }
  .cirx-how__chapter { gap: 2.5rem; padding-right: 1.75rem; }
  .cirx-how__story-art img { aspect-ratio: 1; }
  .cirx-how__step + .cirx-how__step { margin-top: 2rem; padding-top: 2rem; }
  .cirx-how h2 { font-size: clamp(2.1rem, 7vw, 3.2rem); }
  .cirx-how__followup h2, .cirx-how__faq-heading h2 { max-width: 16ch; }
  .cirx-how__cta .cirx-button-row { align-items: stretch; width: 100%; }
  .cirx-how__hero-copy .cirx-button-row { align-items: flex-start; }
  .cirx-how__route a { min-height: 78px; }
}


/* Sleep program split: keep mobile pricing labels and caveats readable. */
body.single-cirx_program:is(.postid-531, .postid-857) .cirx-options-table tbody th a {
  color: #fcfcfc;
  text-decoration: underline;
  text-underline-offset: .25em;
}
@media (max-width: 720px) {
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table,
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table caption,
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody,
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody tr,
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody th,
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody td {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table caption {
    padding: 0 0 1.25rem;
    color: #c8c8c8;
    font-size: .85rem;
    line-height: 1.6;
    white-space: normal;
  }
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody th,
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody td {
    padding: 1rem;
  }
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody th::before,
  body.single-cirx_program:is(.postid-531, .postid-857) .cirx-route-section .cirx-options-table tbody td::before {
    content: attr(data-label);
    position: static;
    display: block;
    inset: auto;
    margin: 0 0 .5rem;
    color: #c8c8c8;
    font-family: var(--cirx-body);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
}


/* Program hero clarity: preserve source proportions instead of stretching to copy height. */
.cirx-program-hero__media {
  min-height: 0;
  height: auto;
  align-self: start;
  position: sticky;
  top: 104px;
}
.cirx-program-hero__media > .cirx-media-disclosure {
  width: 100%;
  max-width: 1024px;
  height: auto;
  min-height: 0;
  flex: none;
  margin-inline: auto;
}
.cirx-program-hero__media img,
.cirx-program-hero__media:hover img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  flex: none;
  object-fit: contain;
  transform: none !important;
  transition: none;
  will-change: auto;
}
/* Reserve enough source pixels for high-density displays. Originals are at least 1024px. */
@media (min-resolution: 1.25dppx) {
  .cirx-program-hero__media > .cirx-media-disclosure { max-width: 512px; }
}
@media (min-resolution: 2.25dppx) {
  .cirx-program-hero__media > .cirx-media-disclosure { max-width: 341px; }
}
@media (min-resolution: 3.25dppx) {
  .cirx-program-hero__media > .cirx-media-disclosure { max-width: 256px; }
}
@media (max-width: 900px) {
  .cirx-program-hero__media {
    position: static;
    top: auto;
    min-height: 0;
  }
}


/* CIRx campaign hero: full-frame photography, a readable offer, and useful navigation. */
.cirx-program-hero--campaign {
  --cirx-portrait-budget: 512px;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  padding: clamp(2rem, 4vw, 4rem);
  max-width: 1480px;
  align-items: start;
  background: radial-gradient(ellipse at 100% 0%, #112b22 0, transparent 44%), #050505;
}
.cirx-program-hero--campaign .cirx-program-hero__copy {
  padding: 0;
  justify-content: flex-start;
  min-width: 0;
}
.cirx-program-hero--campaign .cirx-eyebrow {
  display: inline-flex;
  gap: .65rem;
  align-items: center;
  padding: .45rem .7rem;
  margin: 0 0 1.35rem;
  border: 1px solid #326148;
  color: #00d66b;
  font-size: .72rem;
  line-height: 1.4;
}
.cirx-program-hero--campaign .cirx-eyebrow::before {
  content: '';
  width: .45rem;
  height: .45rem;
  background: currentColor;
  border-radius: 50%;
}
.cirx-program-hero--campaign h1 {
  max-width: 15ch;
  font-size: clamp(2.8rem, 4.6vw, 4.7rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  margin: 0 0 1.35rem;
  text-wrap: balance;
}
.cirx-program-hero--campaign .cirx-lede {
  max-width: 38ch;
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  line-height: 1.55;
}
.cirx-program-hero--campaign .cirx-pricing {
  width: 100%;
  margin-top: 1.6rem;
  padding: 1.25rem;
  border: 1px solid #343b36;
  border-left: 4px solid #00d66b;
  background: #111713;
}
.cirx-program-hero--campaign .cirx-price-badge {
  gap: .45rem;
  flex-wrap: wrap;
}
.cirx-program-hero--campaign .cirx-price-detail {
  font-size: .82rem;
  line-height: 1.65;
}
.cirx-program-hero--campaign .cirx-hero-cta {
  width: 100%;
  margin-top: 1.35rem;
}
.cirx-program-hero--campaign .cirx-boundary {
  margin-top: 1.35rem;
  font-size: .78rem;
  line-height: 1.6;
}
.cirx-program-hero--campaign .cirx-program-hero__media {
  position: sticky;
  top: 144px;
  width: 100%;
  max-width: calc(var(--cirx-portrait-budget) + 2px);
  min-height: 0;
  height: auto;
  margin: 0 auto;
  border: 0;
  overflow: visible;
  align-self: start;
}
.cirx-program-portrait {
  width: 100%;
  border: 1px solid #f5f1e8;
  box-shadow: 10px 10px 0 #0033cc;
  background: #f5f1e8;
  color: #050505;
}
.cirx-program-portrait__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .65rem 1rem;
  font-family: var(--cirx-body);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cirx-program-portrait__header > :last-child { font-size: 1.35rem; line-height: 1; }
.cirx-program-portrait .cirx-media-disclosure {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  margin: 0;
  flex: none;
}
.cirx-program-portrait img,
.cirx-program-hero__media:hover .cirx-program-portrait img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  flex: none;
  object-fit: contain;
  transform: none !important;
  transition: none;
  will-change: auto;
}
.cirx-program-portrait__footer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
  padding: .9rem 1rem 1.05rem;
}
.cirx-program-portrait__footer > :first-child {
  font-family: var(--cirx-display);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.1;
  letter-spacing: -.04em;
}
.cirx-program-portrait__footer > :last-child {
  font-family: var(--cirx-body);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cirx-program-hero--campaign .cirx-program-jump--campaign {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
  margin: 1.85rem 0 0;
  padding: 0;
  border-top: 1px solid #404d43;
}
.cirx-program-jump--campaign a {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr) 1.5rem;
  gap: .65rem;
  align-items: center;
  min-height: 58px;
  padding: .8rem .25rem;
  border: 0;
  border-bottom: 1px solid #404d43;
  border-radius: 0;
  background: transparent;
  color: #fcfcfc;
  font-family: var(--cirx-body);
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}
.cirx-program-jump__number { color: #a5b8aa; font-size: .63rem; letter-spacing: .12em; }
.cirx-program-jump__arrow { color: #e6ff00; font-size: 1.4rem; }
.cirx-program-jump--campaign a:hover,
.cirx-program-jump--campaign a:focus-visible { background: #e6ff00; color: #050505; }
.cirx-program-jump--campaign a:hover span,
.cirx-program-jump--campaign a:focus-visible span { color: inherit; }
.cirx-program-jump--campaign a:focus-visible { outline: 2px solid #fcfcfc; outline-offset: 4px; }
@media (min-resolution: 2.25dppx) {
  .cirx-program-hero--campaign { --cirx-portrait-budget: 341px; }
}
@media (min-resolution: 3.25dppx) {
  .cirx-program-hero--campaign { --cirx-portrait-budget: 256px; }
}
@media (max-width: 900px) {
  .cirx-program-hero--campaign {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 2rem clamp(1rem, 5vw, 2.5rem) 2.5rem;
  }
  .cirx-program-hero--campaign .cirx-program-hero__copy { display: contents; }
  .cirx-program-hero--campaign .cirx-eyebrow { order: 0; justify-self: start; }
  .cirx-program-hero--campaign h1 { order: 1; max-width: 18ch; font-size: clamp(2.6rem, 7vw, 4rem); }
  .cirx-program-hero--campaign .cirx-lede { order: 2; max-width: 52ch; }
  .cirx-program-hero--campaign .cirx-program-hero__media {
    order: 3;
    position: static;
    top: auto;
    margin: 1.75rem auto .5rem;
    width: calc(100% - 10px);
  }
  .cirx-program-hero--campaign .cirx-pricing { order: 4; margin-top: 1.5rem; }
  .cirx-program-hero--campaign .cirx-hero-cta { order: 5; }
  .cirx-program-hero--campaign .cirx-boundary { order: 6; }
  .cirx-program-hero--campaign .cirx-review-note { order: 7; }
}
@media (prefers-reduced-motion: reduce) {
  .cirx-program-jump--campaign a { transition: none; }
}

/* Keep the program name readable without artificially narrow heading lines. */
.cirx-program-hero--campaign h1 { max-width: none; text-wrap: wrap; }


/* Match the site's brand-color hover treatment without resampling the photograph. */
.cirx-program-hero--campaign .cirx-program-portrait {
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .cirx-program-hero--campaign .cirx-program-portrait:hover {
    background-color: var(--cirx-yellow);
    border-color: var(--cirx-yellow);
    box-shadow: 10px 10px 0 var(--cirx-coral);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cirx-program-hero--campaign .cirx-program-portrait { transition: none; }
}

/* Plain-language program research: readable cards and compact care headings. */
.cirx-program-research .cirx-compound-guide__heading { align-items: flex-start; gap: 1.5rem; }
.cirx-program-research .cirx-evidence-status--research { border-color: #e6ff00; color: #e6ff00; max-width: 22rem; line-height: 1.5; }
.cirx-program-research .cirx-compound-explainer article { min-width: 0; }
.cirx-program-research .cirx-compound-explainer h3 { font-size: clamp(1.65rem, 2.5vw, 2.25rem); line-height: 1.1; overflow-wrap: normal; word-break: normal; }
.cirx-program-research .cirx-compound-explainer p { line-height: 1.7; }
.cirx-research-studies { margin: 3rem 0; }
.cirx-research-studies > h3, .cirx-program-safety > h3 { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.1; }
.cirx-research-studies > p:not(.cirx-eyebrow) { max-width: 68ch; line-height: 1.7; }
.cirx-study-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.cirx-study-card { display: flex; flex-direction: column; align-items: flex-start; gap: .85rem; padding: clamp(1.25rem, 2.5vw, 2rem); background: #f5f1e8; color: #101010; border-top: 6px solid #0d3fe0; min-width: 0; }
.cirx-study-card:nth-child(even) { border-top-color: #e6ff00; }
.cirx-study-card:only-child { grid-column: 1 / -1; max-width: 100%; }
.cirx-study-card h4 { color: #101010; font-size: clamp(1.35rem, 2.2vw, 1.8rem); line-height: 1.2; margin: 0; }
.cirx-study-card p { color: #242424; margin: 0; line-height: 1.7; }
.cirx-study-card .cirx-eyebrow { color: #0d3fe0; font-size: .72rem; line-height: 1.5; }
.cirx-study-card a { color: #0d3fe0; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; margin-top: auto; padding-top: .5rem; }
.cirx-study-card a:hover { color: #101010; }
.cirx-study-card a:focus-visible, .cirx-fact-study-link:focus-visible { outline: 3px solid #0d3fe0; outline-offset: 4px; }
.cirx-program-safety { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #444; }
.cirx-program-research .cirx-compound-review-grid h4 { color: inherit; font-size: 1.15rem; line-height: 1.35; margin: 0 0 1rem; }
.cirx-program-research .cirx-compound-review-grid { margin: 1.25rem 0; }
.cirx-product-status { font-size: .95rem; line-height: 1.7; }
.cirx-research-note { font-size: .875rem; color: #c7c7c7; line-height: 1.65; margin-top: 1rem; }
.cirx-safety-sources { margin: 1rem 0; padding-left: 1.2rem; }
.cirx-safety-sources a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cirx-fact-study-link { grid-column: 2; display: inline-block; color: #e6ff00; font-size: .875rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; margin-top: .5rem; }
.cirx-included-card h2 { font-size: clamp(1.75rem, 2.4vw, 2.3rem); line-height: 1.08; overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
@media (max-width: 640px) {
 .cirx-study-grid { grid-template-columns: minmax(0, 1fr); }
 .cirx-program-research .cirx-compound-guide__heading { display: block; }
 .cirx-program-research .cirx-evidence-status--research { display: inline-block; margin-top: 1rem; }
}

/* Keep research and safety headings below the sticky navigation. */
#program-studies, #program-safety { scroll-margin-top: 160px; }

/* Program decision flow: overview, care, price, research, then the next step. */
.cirx-program-flow .cirx-program-hero--campaign { padding-block: clamp(1.5rem,3vw,2.75rem); }
.cirx-program-flow .cirx-program-hero--campaign h1 { font-size: clamp(2.5rem,4vw,4rem); margin-bottom: 1rem; }
.cirx-program-flow .cirx-program-hero--campaign .cirx-lede { max-width: 48ch; font-size: 1.05rem; line-height: 1.6; }
.cirx-program-flow .cirx-program-hero--campaign .cirx-pricing { margin-top: 1rem; padding: 1rem; }
.cirx-program-flow .cirx-price-qualifier { margin-bottom: .6rem; }
.cirx-hero-price-detail { border: 0; padding: 0; margin: .6rem 0 0; }
.cirx-hero-price-detail summary { cursor: pointer; font-size: .8rem; color: #d8e6db; text-decoration: underline; text-underline-offset: .2em; }
.cirx-hero-price-detail .cirx-price-detail { margin-top: .7rem; }
.cirx-program-flow .cirx-hero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.cirx-hero-secondary { color: #f5f1e8; font-size: .9rem; font-weight: 700; text-underline-offset: .3em; }
.cirx-flow-nav { gap: .35rem 1.5rem; justify-content: center; }
.cirx-flow-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.cirx-program-flow :is(#program-overview,#how-clinician-review-works,#options-comparison,#program-options,#compound-guide,#program-faq,#compound-quick-facts,#lab-panels,#epiq-term-options) { scroll-margin-top: 150px; }
.cirx-program-flow .cirx-program-layout { padding-top: 2.5rem; }
.cirx-program-flow .cirx-content-section { margin-bottom: 3rem; }
.cirx-care-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; gap: 1rem; padding: 0; margin: 1.5rem 0; }
.cirx-care-steps li { background: #151515; border: 1px solid #343434; border-top: 4px solid #0d3fe0; padding: 1.25rem; min-width: 0; }
.cirx-care-steps li:nth-child(2) { border-top-color: #00d66b; }
.cirx-care-steps li:nth-child(3) { border-top-color: #e6ff00; }
.cirx-care-steps li > span { color: #e6ff00; font-family: var(--cirx-display); font-size: 2.25rem; line-height: 1; }
.cirx-care-steps h3 { font-family: var(--cirx-body); font-size: 1.05rem; line-height: 1.3; color: #fcfcfc; margin: 1rem 0 .6rem; }
.cirx-care-steps p { font-size: .9rem; line-height: 1.65; margin: 0; color: #d6d6d6; }
.cirx-care-detail { margin: 1rem 0 2rem; border: 1px solid #3a3a3a; background: #101010; padding: 1rem 1.25rem; }
.cirx-care-detail > summary { cursor: pointer; font-weight: 700; min-height: 28px; color: #fcfcfc; }
.cirx-care-detail[open] > summary { margin-bottom: 1.5rem; }
.cirx-care-detail .cirx-content-section { margin: 2rem 0 0; }
.cirx-care-detail h2 { font-size: 1.8rem; }
.cirx-option-next { margin: 1.5rem 0 0; padding: 1.5rem; border: 1px solid #315043; background: #101a14; display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; }
.cirx-option-next h3 { color: #fcfcfc; font-size: 1.4rem; margin: 0 0 .5rem; }
.cirx-option-next p { max-width: 44ch; margin: 0 0 .75rem; font-size: .9rem; line-height: 1.6; }
.cirx-option-next .cirx-button { white-space: nowrap; }
.cirx-program-flow .cirx-flow-gallery { width: 100%; max-width: none; margin: 3rem 0; padding: 1.5rem 0 2rem; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; border-block: 1px solid #343434; background: transparent; }
.cirx-flow-gallery .cirx-compound-glance__intro { grid-column: 1 / -1; padding: 0; }
.cirx-flow-gallery .cirx-compound-glance__heading { display: block; }
.cirx-flow-gallery #compound-glance-title { font-size: clamp(1.8rem,3vw,2.5rem); max-width: none; overflow-wrap: anywhere; }
.cirx-flow-gallery .cirx-compound-glance__class { margin-top: .75rem; }
.cirx-flow-gallery .cirx-editorial-frame { width: 100%; margin: 0; transform: none; min-height: 0; border-width: 2px; box-shadow: 5px 5px 0 #0d3fe0; }
.cirx-flow-gallery .cirx-editorial-frame--2 { box-shadow: 5px 5px 0 #ff573c; }
.cirx-flow-gallery .cirx-editorial-frame--3 { box-shadow: 5px 5px 0 #00d66b; }
.cirx-flow-gallery .cirx-editorial-frame__media { aspect-ratio: 4 / 3; height: auto; min-height: 0; }
.cirx-flow-gallery .cirx-editorial-frame__media .cirx-media-disclosure { height: 100%; min-height: 0; }
.cirx-flow-gallery .cirx-editorial-frame__media img { width: 100%; height: 100%; object-fit: cover; }
.cirx-flow-gallery .cirx-visual-fact { padding: 1rem; min-height: 0; display: block; }
.cirx-flow-gallery .cirx-visual-fact__index { font-size: 2rem; margin-bottom: .75rem; }
.cirx-flow-gallery .cirx-visual-fact__copy { font-size: .85rem; line-height: 1.6; }
.cirx-flow-gallery .cirx-fact-study-link { display: inline-block; margin-top: .75rem; font-size: .85rem; }
.cirx-program-flow .cirx-epiq-flagship { width: 100%; max-width: none; padding: 1rem 0; grid-template-columns: 1fr; }
.cirx-sidebar-next { display: grid; gap: 1rem; border-top: 1px solid #3a3a3a; padding-top: 1.5rem; margin-top: 1.5rem; }
.cirx-sidebar-next .cirx-button { width: 100%; padding-inline: .75rem; font-size: .78rem; justify-content: center; }
.cirx-sidebar-next p { margin: 0; font-size: .8rem; line-height: 1.6; }
.cirx-flow-final { background: #e6ff00; color: #050505; padding: clamp(1.5rem,3vw,2.5rem); margin: 3rem 0; border: 1px solid #e6ff00; }
.cirx-flow-final h2 { color: #050505; font-size: clamp(2rem,3.5vw,3rem); max-width: 20ch; }
.cirx-flow-final .cirx-eyebrow, .cirx-flow-final p, .cirx-flow-final .cirx-text-link { color: #050505; }
.cirx-flow-final > p { max-width: 54ch; }
.cirx-flow-final .cirx-flow-next-note { font-size: .82rem; margin: 1.5rem 0 .75rem; }
.cirx-intake-dock { display: none; }
.cirx-program-flow a:focus-visible, .cirx-program-flow summary:focus-visible { outline: 3px solid #ff573c; outline-offset: 4px; }
@media (max-width: 1100px) {
 .cirx-option-next { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 900px) {
 .cirx-program-flow .cirx-program-hero--campaign .cirx-pricing { order: 3; }
 .cirx-program-flow .cirx-program-hero--campaign .cirx-hero-cta { order: 4; }
 .cirx-program-flow .cirx-program-hero--campaign .cirx-boundary { order: 5; }
 .cirx-program-flow .cirx-program-hero--campaign .cirx-review-note { order: 6; }
 .cirx-program-flow .cirx-program-hero--campaign .cirx-program-hero__media { order: 7; }
 .cirx-program-flow .cirx-program-sidebar { position: static; }
 .cirx-program-flow .cirx-sidebar-card { position: static; }
 .cirx-program-flow .cirx-intake-dock:not([hidden]) { position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .8rem 1rem calc(.8rem + env(safe-area-inset-bottom)); background: #f5f1e8; color: #050505; border-top: 2px solid #050505; box-shadow: 0 -4px 18px #0003; }
 .cirx-dock-pricing { color: #050505; font-size: .8rem; font-weight: 700; line-height: 1.4; text-underline-offset: .25em; }
 .cirx-intake-dock .cirx-button { min-height: 44px; padding: .8rem 1rem; font-size: .75rem; box-shadow: 3px 3px 0 #ff573c; }
 body.single-cirx_program { padding-bottom: calc(88px + env(safe-area-inset-bottom)); scroll-padding-bottom: 100px; }
 .cirx-flow-nav { justify-content: flex-start; padding: .5rem 1.25rem; gap: .1rem 1.25rem; }
}
@media (max-width: 640px) {
 .cirx-care-steps { grid-template-columns: 1fr; }
 .cirx-care-steps li { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: .5rem 1rem; }
 .cirx-care-steps li > span { grid-row: 1 / 3; }
 .cirx-care-steps h3 { margin: 0; }
 .cirx-care-steps p { grid-column: 2; }
 .cirx-program-flow .cirx-flow-gallery { grid-template-columns: minmax(0,1fr); }
 .cirx-flow-gallery .cirx-editorial-frame { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); }
 .cirx-flow-gallery .cirx-editorial-frame__media { height: 100%; aspect-ratio: auto; }
 .cirx-flow-gallery .cirx-editorial-frame__media img { object-position: center; }
 .cirx-program-flow .cirx-hero-cta .cirx-button, .cirx-option-next .cirx-button { width: 100%; justify-content: center; }
 .cirx-option-next > div:last-child { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .cirx-intake-dock * { transition: none; } }

/* Final spacing and sticky-header clearance. */
.cirx-program-flow .cirx-program-content > .cirx-content-section { padding-block: 2rem; margin-bottom: 1.5rem; }
.cirx-program-flow .cirx-program-content > .cirx-benefits-section { padding-top: 0; }
.cirx-program-flow .cirx-program-sidebar { top: 144px; }
.cirx-program-flow .cirx-hero-price-detail summary { padding: .35rem 0; }
@media (min-width:901px) and (max-height:820px) { .cirx-program-flow .cirx-program-sidebar { position: static; } }
@media (max-width:900px) { .cirx-program-flow .cirx-program-sidebar { top: auto; } }
@media (max-width:768px) {
 .cirx-care-steps { grid-template-columns: 1fr; }
 .cirx-care-steps li { display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: .5rem 1rem; }
 .cirx-care-steps li > span { grid-row: 1 / 3; }
 .cirx-care-steps h3 { margin: 0; }
 .cirx-care-steps p { grid-column: 2; }
 .cirx-program-flow .cirx-flow-gallery { grid-template-columns: minmax(0,1fr); }
 .cirx-flow-gallery .cirx-editorial-frame { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); }
 .cirx-flow-gallery .cirx-editorial-frame__media { height: 100%; aspect-ratio: auto; }
}

/* Keep mobile pricing readable and compare all terms within each option. */
.cirx-care-steps li > span { white-space: nowrap; overflow-wrap: normal; font-size: 2rem; }
@media (max-width:900px) {
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table caption { display: block; width: 100%; max-width: 100%; padding: 1rem; line-height: 1.6; white-space: normal; box-sizing: border-box; }
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table tbody tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; margin: 0 0 1.25rem; }
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table tbody th, body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table tbody td:first-of-type { grid-column: 1 / -1; }
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table tbody th, body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table tbody td { width: auto; min-width: 0; padding: .85rem .65rem; }
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table tbody :is(th,td)::before { position: static; display: block; margin: 0 0 .5rem; width: auto; }
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table .cirx-price-link { display: block; padding: .4rem 0; min-height: 44px; }
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table .cirx-term strong { font-size: .92rem; white-space: nowrap; }
 body.single-cirx_program .cirx-program-flow .cirx-route-section table.cirx-options-table .cirx-term small { font-size: .76rem; line-height: 1.6; }
}

/* Shared program cards: let the square frame own image sizing. */
.cirx-card__media {
 position: relative;
 aspect-ratio: 1 / 1;
 flex: none;
}
.cirx-card__media > .cirx-media-disclosure {
 position: absolute;
 inset: 0;
 display: block;
 width: 100%;
 height: 100%;
 min-height: 0;
 margin: 0;
}
.cirx-card__media img {
 display: block;
 width: 100%;
 height: 100%;
 min-height: 0;
 aspect-ratio: auto;
 object-fit: cover;
 object-position: center;
}


/* Homepage layout review: long price labels must not determine image height. */
.cirx-labs-flagship__price {
  grid-template-columns: minmax(0, 1fr);
  gap: .45rem;
  align-items: start;
}
.cirx-labs-flagship__price > span,
.cirx-labs-flagship__price > strong,
.cirx-labs-flagship__price > small {
  grid-column: 1;
  grid-row: auto;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.cirx-labs-flagship__price > strong {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.2;
}
.cirx-labs-flagship__price > small {
  font-size: .75rem;
}
.cirx-labs-flagship__media {
  align-self: start;
  aspect-ratio: 1;
  min-height: 0;
}
.cirx-labs-flagship__media > .cirx-media-disclosure {
  position: absolute;
  inset: 0;
  display: block;
  height: 100%;
  min-height: 0;
  margin: 0;
}
.cirx-labs-flagship__media img {
  height: 100%;
  min-height: 0;
  flex: none;
  object-fit: cover;
  object-position: center;
}
.cirx-labs-quest-offer .cirx-price--teaser {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .35rem .6rem;
  width: fit-content;
  max-width: 100%;
  margin: .65rem 0;
  padding: .65rem .8rem;
  border: 2px solid currentColor;
  color: var(--cirx-white);
  line-height: 1.3;
  text-decoration: none;
}
.cirx-labs-quest-offer .cirx-price__label,
.cirx-labs-quest-offer .cirx-price__suffix {
  font-size: .85rem;
}
.cirx-labs-quest-offer .cirx-price__amount {
  font-size: 1.8rem;
}
.cirx-labs-quest-offer .cirx-price-qualifier,
.cirx-labs-quest-offer .cirx-price-includes {
  margin: 0 0 .5rem;
  font-size: .85rem;
  line-height: 1.5;
}

/* Mobile layout audit — September 28, 2026. */
/* Let available space and readable copy determine the number of columns. */
.cirx-pathways__grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 1.5rem;
}
.cirx-pathway-card {
  display: grid;
  align-items: end;
  min-width: 0;
  min-height: clamp(20rem, 30vw, 28rem);
  aspect-ratio: auto;
}
.cirx-pathway-card__content {
  position: relative;
  inset: auto;
  grid-template-columns: minmax(0, 1fr);
  gap: .4rem;
  min-width: 0;
  padding: 1.1rem;
}
.cirx-pathway-card__content > * {
  min-width: 0;
  max-width: 100%;
}
.cirx-pathway-card__index {
  grid-row: auto;
  grid-column: auto;
  padding-top: 0;
}
.cirx-pathway-card__content strong {
  font-size: clamp(1.6rem, 2.2vw, 2.35rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: normal;
}
.cirx-pathway-card__content > span:not(.cirx-pathway-card__index) {
  font-size: .85rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.cirx-pathway-card__content em {
  margin-top: .65rem;
  font-size: .75rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

/* A long category name must not widen its grid track or its page. */
.cirx-pathway-hero > *,
.cirx-search-hero > * {
  min-width: 0;
}
.cirx-pathway-hero h1,
.cirx-search-hero h1 {
  overflow-wrap: anywhere;
}
.cirx-peptide-feature__intro > * {
  min-width: 0;
}
.cirx-peptide-feature__intro h2 {
  max-width: min(12ch, 100%);
  overflow-wrap: anywhere;
}
.cirx-sexual-feature__copy h2 {
  max-width: min(11ch, 100%);
  overflow-wrap: anywhere;
}
.cirx-sexual-feature__price {
  max-width: 100%;
  min-width: 0;
}
.cirx-footer-grid > * {
  min-width: 0;
}
.cirx-footer-mark,
.cirx-site-footer a {
  overflow-wrap: anywhere;
}
@media (max-width: 960px) {
  .cirx-pathway-hero,
  .cirx-search-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .cirx-pathway-hero h1,
  .cirx-search-hero h1 {
    max-width: 100%;
    font-size: clamp(2.25rem, 10vw, 4rem);
    line-height: 1.02;
  }
}
@media (max-width: 720px) {
  .cirx-brand img {
    max-width: 100%;
    height: auto;
  }
  .cirx-category-band__label {
    white-space: normal;
  }
  .cirx-pathway-card {
    min-height: clamp(18rem, 92vw, 30rem);
  }
  .cirx-pathway-card__content {
    padding: 1.25rem;
  }
  .cirx-pathway-card__content strong {
    font-size: clamp(1.8rem, 7.5vw, 2.25rem);
  }
  .cirx-category-band__label .cirx-browse-hint {
    display: block;
    margin: .4rem 0 0;
    white-space: normal;
  }
  .cirx-home-hero__copy h1 {
    font-size: clamp(2rem, 18vw, 7rem);
  }
  .cirx-sexual-feature__price {
    grid-template-columns: minmax(0, 1fr);
  }
  .cirx-sexual-feature__price strong {
    font-size: clamp(2rem, 10vw, 3rem);
  }
  .cirx-home-journal__heading > *,
  .cirx-pathways__heading > *,
  .cirx-labs-flagship__facts > *,
  .cirx-labs-flagship__offer > * {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .cirx-home-journal__heading h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .cirx-care-sequence__heading a,
  .cirx-button,
  .cirx-outline-button {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .cirx-card .cirx-price {
    max-width: 100%;
  }
  .cirx-card .cirx-price__suffix,
  .cirx-labs-flagship__price > strong {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .cirx-peptide-card__cta {
    flex-wrap: wrap;
  }
}

/* Keep the search close control below the signed-in WordPress toolbar. */
.admin-bar .cirx-search-panel {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .cirx-search-panel {
    top: 46px;
  }
}


/* Returning-patient access — 2026-09-28. */
.cirx-primary-nav .cirx-menu > .cirx-menu-item-portal > a {
  color: var(--cirx-yellow);
  white-space: nowrap;
}
.cirx-primary-nav .cirx-menu > .cirx-menu-item-portal > a:hover {
  color: var(--cirx-white);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.cirx-footer-portal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 44px;
  margin-top: 0.5rem;
  padding: 0.65rem 1rem;
  border: 1px solid currentColor;
  color: var(--cirx-yellow);
  font-family: var(--cirx-body);
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}
.cirx-footer-portal:hover {
  color: var(--cirx-black);
  background: var(--cirx-yellow);
  border-color: var(--cirx-yellow);
}
.cirx-site-footer .cirx-footer-portal-note {
  max-width: 26rem;
  margin-top: 0.75rem;
  font-size: 0.85rem;
  line-height: 1.5;
}

/* Verified intake links remain readable on the dark options table. */
.cirx-program-flow #program-options .cirx-option-link[href^="https://app.wizlo.com/form-submission?"] {
  color: var(--cirx-yellow);
  text-decoration-color: currentColor;
}
.cirx-program-flow #program-options .cirx-option-link[href^="https://app.wizlo.com/form-submission?"]:is(:hover, :focus-visible) {
  color: var(--cirx-white);
}

/* Make program discovery the primary navigation action. */
.cirx-site-header .cirx-programs-toggle {
  min-height: 48px;
  gap: 0.7rem;
  padding: 0.75rem 0.9rem;
  border: 2px solid var(--cirx-yellow);
  background: var(--cirx-yellow);
  color: var(--cirx-black);
  font-size: 0.8rem;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 3px 3px 0 var(--cirx-coral);
}
.cirx-site-header .cirx-programs-toggle:is(:hover, [aria-expanded="true"]) {
  border-color: var(--cirx-white);
  background: var(--cirx-white);
  color: var(--cirx-black);
}
.cirx-site-header .cirx-programs-toggle:focus-visible {
  outline: 3px solid var(--cirx-coral);
  outline-offset: 5px;
}
.cirx-primary-nav .cirx-menu > .cirx-menu-item-portal > a {
  color: var(--cirx-white);
}
.cirx-primary-nav .cirx-menu > .cirx-menu-item-portal > a:hover {
  color: var(--cirx-white);
}
.cirx-site-header .cirx-header-actions > .cirx-button,
.cirx-site-header .cirx-menu-item-mobile-cta > .cirx-button {
  min-height: 44px;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--cirx-white);
  background: transparent;
  color: var(--cirx-white);
  font-size: 0.75rem;
  box-shadow: none;
  transform: none;
}
.cirx-site-header .cirx-header-actions > .cirx-button:is(:hover, :focus-visible),
.cirx-site-header .cirx-menu-item-mobile-cta > .cirx-button:is(:hover, :focus-visible) {
  border-color: var(--cirx-white);
  background: var(--cirx-white);
  color: var(--cirx-black);
  box-shadow: none;
  transform: none;
}
@media (max-width: 1180px) {
  .cirx-primary-nav .cirx-menu > .cirx-menu-item-programs {
    border-top: 0;
    padding-bottom: 0.75rem;
  }
  .cirx-site-header .cirx-programs-toggle {
    min-height: 52px;
    padding-inline: 1rem;
    font-size: 0.95rem;
  }
  .cirx-site-header .cirx-programs-toggle:focus-visible {
    outline-color: var(--cirx-black);
    outline-offset: -6px;
  }
}

/* Formula subtitles and longer ingredient-first names reuse the program layout. */
.cirx-program-formula { margin: .6rem 0 1rem; }
.cirx-program-hero h1, .cirx-card__title { overflow-wrap: anywhere; }

/* CIRx format filter: reuse audience controls, wrap additional choices. */
.cirx-format-filter { flex-wrap: wrap; }
.cirx-format-filter > div { max-width: 100%; flex-wrap: wrap; }
@media (max-width: 900px) {
  .cirx-program-flow .cirx-program-hero--campaign h1 { order: 1; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-program-formula { order: 2; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-lede { order: 3; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-treatment-facts--hero { order: 4; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-cost-breakdown--hero,
  .cirx-program-flow .cirx-program-hero--campaign .cirx-pricing { order: 5; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-hero-cta { order: 6; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-boundary { order: 7; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-review-note { order: 8; }
  .cirx-program-flow .cirx-program-hero--campaign .cirx-program-hero__media { order: 9; }
}


/* CIRx category dropdown filters — 2026-10-12 */
/* Category filter controls only. Existing catalog controls keep their styles. */
.cirx-category-filters {
  --cirx-category-filter-ink: var(--cirx-black, #080808);
  --cirx-category-filter-active: var(--cirx-cobalt, #0033cc);
  position: relative;
  z-index: 20;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  width: 100%;
  padding: 0.85rem var(--cirx-gutter, 1rem);
  border-bottom: 2px solid var(--cirx-black, #080808);
  background: var(--cirx-yellow, #e6ff00);
  color: var(--cirx-black, #080808);
  overflow: visible;
  box-sizing: border-box;
}

.cirx-category-filters *,
.cirx-category-filters *::before,
.cirx-category-filters *::after {
  box-sizing: border-box;
}

.cirx-category-filters .cirx-category-filters__label {
  flex: 0 0 auto;
  margin: 0 0.2rem 0 0;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.cirx-category-filters .cirx-category-filter {
  position: relative;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 25rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

.cirx-category-filters .cirx-category-filter > summary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 0.6rem 1rem;
  border: 1px solid var(--cirx-category-filter-ink);
  border-radius: 999px;
  background: var(--cirx-white, #fff);
  color: var(--cirx-category-filter-ink);
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  list-style: none;
  cursor: pointer;
}

.cirx-category-filters .cirx-category-filter > summary::marker {
  content: "";
}

.cirx-category-filters .cirx-category-filter > summary::-webkit-details-marker {
  display: none;
}

.cirx-category-filters .cirx-category-filter > summary::after {
  content: none;
}

.cirx-category-filters .cirx-category-filter > summary:hover {
  background: #f2f2ed;
}

.cirx-category-filters .cirx-category-filter[open] > summary {
  background: var(--cirx-category-filter-ink);
  color: #fff;
}

.cirx-category-filters .cirx-category-filter.is-filtered > summary {
  background: var(--cirx-category-filter-active);
  color: #fff;
}

.cirx-category-filters .cirx-category-filter > summary:focus-visible,
.cirx-category-filters .cirx-category-filter__panel a:focus-visible {
  outline: 3px solid var(--cirx-category-filter-ink);
  outline-offset: 3px;
}

.cirx-category-filters .cirx-category-filter__name {
  flex: 0 0 auto;
  white-space: nowrap;
}

.cirx-category-filters .cirx-category-filter__value {
  display: block;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 15rem;
  overflow: hidden;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cirx-category-filters .cirx-category-filter__chevron {
  display: block;
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  margin-left: 0.1rem;
  transition: transform 120ms ease;
}

.cirx-category-filters .cirx-category-filter[open] .cirx-category-filter__chevron {
  transform: rotate(180deg);
}

.cirx-category-filters .cirx-category-filter__panel {
  position: absolute;
  z-index: 1;
  top: calc(100% + 0.6rem);
  left: 0;
  width: 19rem;
  max-width: calc(100vw - 2rem);
  max-height: min(28rem, 60vh);
  padding: 0;
  border: 1px solid var(--cirx-category-filter-ink);
  background: #fff;
  color: var(--cirx-category-filter-ink);
  box-shadow: 0 8px 18px rgb(0 0 0 / 12%);
  overflow: auto;
  overscroll-behavior: contain;
}

.cirx-category-filters .cirx-category-filter:last-of-type .cirx-category-filter__panel {
  right: 0;
  left: auto;
}

.cirx-category-filters .cirx-category-filter__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 45px;
  padding: 0 0.95rem;
  border-bottom: 1px solid var(--cirx-category-filter-ink);
  font-size: 0.75rem;
  line-height: 1.3;
}

.cirx-category-filters .cirx-category-filter__clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 0.2rem;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cirx-category-filters .cirx-category-filter__options {
  display: block;
  margin: 0;
  padding: 0.35rem 0;
  list-style: none;
}

.cirx-category-filters .cirx-category-filter__options li {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cirx-category-filters .cirx-category-filter__options a {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 44px;
  width: 100%;
  padding: 0.6rem 0.95rem;
  border: 0;
  color: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  overflow-wrap: anywhere;
}

.cirx-category-filters .cirx-category-filter__options a:hover {
  background: #f2f2ed;
}

.cirx-category-filters .cirx-category-filter__options a:focus-visible {
  outline-offset: -3px;
}

.cirx-category-filters .cirx-category-filter__options a[aria-current="page"] {
  font-weight: 700;
}

.cirx-category-filters .cirx-category-filter__choice {
  position: relative;
  display: block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 1px solid var(--cirx-category-filter-ink);
  border-radius: 2px;
  background: #fff;
}

.cirx-category-filters [aria-current="page"] .cirx-category-filter__choice {
  border-color: var(--cirx-category-filter-active);
  background: var(--cirx-category-filter-active);
}

.cirx-category-filters [aria-current="page"] .cirx-category-filter__choice::after {
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  content: "";
}

@media (max-width: 600px) {
  .cirx-category-filters {
    gap: 0.5rem;
    padding: 0.75rem 1rem;
  }

  .cirx-category-filters .cirx-category-filters__label {
    display: none;
  }

  .cirx-category-filters .cirx-category-filter {
    position: static;
    flex: 1 1 0;
  }

  .cirx-category-filters .cirx-category-filter > summary {
    justify-content: space-between;
    gap: 0.25rem;
    padding-inline: 0.5rem;
    font-size: 0.75rem;
  }

  .cirx-category-filters .cirx-category-filter__value {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
  }

  .cirx-category-filters .cirx-category-filter__panel {
    top: calc(100% + 0.35rem);
    left: 1rem;
    width: 19rem;
    max-width: calc(100% - 2rem);
  }

  .cirx-category-filters .cirx-category-filter:last-of-type .cirx-category-filter__panel {
    right: 1rem;
    left: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cirx-category-filters .cirx-category-filter__chevron {
    transition: none;
  }
}

/* One-month launch price tables — October 20, 2026. */
.cirx-detail-pricing :is([aria-label="One-month launch pricing"],[aria-label="GLP-1 dose and plan pricing"]) table.cirx-options-table { background:#f2efe7; color:#101010; }
.cirx-detail-pricing :is([aria-label="One-month launch pricing"],[aria-label="GLP-1 dose and plan pricing"]) table.cirx-options-table tbody tr,
.cirx-detail-pricing :is([aria-label="One-month launch pricing"],[aria-label="GLP-1 dose and plan pricing"]) table.cirx-options-table tbody td { background:#f2efe7 !important; color:#101010; }
.cirx-detail-pricing :is([aria-label="One-month launch pricing"],[aria-label="GLP-1 dose and plan pricing"]) table.cirx-options-table strong { color:#101010; }
.cirx-detail-pricing :is([aria-label="One-month launch pricing"],[aria-label="GLP-1 dose and plan pricing"]) table.cirx-options-table small,
.cirx-detail-pricing :is([aria-label="One-month launch pricing"],[aria-label="GLP-1 dose and plan pricing"]) table.cirx-options-table caption { color:#424242; background:#f2efe7; }


/* Keep the footer wordmark on one line and size it to its column. */
.cirx-footer-grid > div:first-child {
  container-type: inline-size;
}

.cirx-site-footer .cirx-footer-mark {
  font-size: min(clamp(2.25rem, 5vw, 5rem), 15cqi);
  white-space: nowrap;
  overflow-wrap: normal;
}

/* Catalog and category heroes: match the homepage scale without changing its design. */
.cirx-catalog-hero,
.cirx-pathway-hero {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 0;
}
.cirx-catalog-hero__copy,
.cirx-pathway-hero__copy {
  min-width: 0;
  padding: clamp(2rem, 3.4vw, 4rem);
}
.cirx-catalog-hero__copy h1,
.cirx-pathway-hero__copy h1 {
  max-width: 100%;
  margin: 1.25rem 0;
  font-size: clamp(2.5rem, 5.15vw, 5.5rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-transform: none;
  text-wrap: balance;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.cirx-catalog-hero__copy .cirx-lede,
.cirx-pathway-hero__copy .cirx-lede {
  max-width: 48ch;
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.6;
}
.cirx-catalog-hero__copy .cirx-care-panel {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  border-width: 1px;
}
.cirx-catalog-hero__copy .cirx-care-panel p:last-child {
  font-size: clamp(1.5rem, 2.3vw, 2.5rem);
  line-height: 1.15;
  text-transform: none;
}
.cirx-catalog-hero__media,
.cirx-pathway-hero__media {
  position: relative;
  align-self: center;
  aspect-ratio: 1;
  height: auto;
  min-height: 0;
  overflow: hidden;
}
.cirx-catalog-hero__media > .cirx-media-disclosure,
.cirx-pathway-hero__media > .cirx-media-disclosure {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
}
.cirx-catalog-hero__media img,
.cirx-pathway-hero__media img,
.cirx-catalog-hero__media:hover img,
.cirx-pathway-hero__media:hover img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transform: none;
}
@media (max-width: 960px) {
  .cirx-catalog-hero,
  .cirx-pathway-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .cirx-catalog-hero__copy,
  .cirx-pathway-hero__copy {
    padding: clamp(2rem, 5vw, 3.5rem) var(--cirx-gutter);
  }
  .cirx-catalog-hero__media,
  .cirx-pathway-hero__media {
    width: 100%;
    min-height: 0;
    border-left: 0;
  }
}
@media (max-width: 720px) {
  .cirx-catalog-hero__copy h1,
  .cirx-pathway-hero__copy h1 {
    font-size: clamp(2.1rem, 9.6vw, 4.5rem);
  }
  .cirx-catalog-hero__copy .cirx-button-row,
  .cirx-pathway-hero__copy .cirx-button-row {
    gap: .75rem;
  }
}
