/* Hero */
body.supernova-longevity .snl-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: min(100svh, 1080px);
	padding: calc(var(--snl-header-h) + 48px) 0 calc(var(--snl-space-10) + 72px);
	background: var(--snl-navy-950);
	color: #fff;
	overflow: hidden;
}

body.supernova-longevity .snl-hero--service {
	min-height: 0;
	max-height: none;
	padding-bottom: var(--snl-space-10);
}

body.supernova-longevity .snl-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

body.supernova-longevity .snl-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--snl-hero-focus, 72% 50%);
}

body.supernova-longevity .snl-hero__media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--snl-navy-800);
	mix-blend-mode: color;
	opacity: .55;
}

body.supernova-longevity .snl-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--snl-hero-overlay);
}

body.supernova-longevity .snl-hero--service .snl-hero__media::after {
	background: linear-gradient(90deg, rgba(0, 12, 36, .9) 0%, rgba(0, 25, 74, .7) 50%, rgba(0, 25, 74, .3) 100%);
}

body.supernova-longevity .snl-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

body.supernova-longevity .snl-hero__content {
	max-width: 780px;
}

body.supernova-longevity .snl-hero__content .snl-eyebrow {
	margin-bottom: var(--snl-space-4);
}

body.supernova-longevity h1.snl-hero__title {
	max-width: 16ch;
	color: #fff;
	font-size: clamp(42px, 5.6vw, 84px);
}

body.supernova-longevity .snl-hero--service h1.snl-hero__title {
	font-size: clamp(36px, 4.6vw, 64px);
	max-width: 16ch;
}

body.supernova-longevity .snl-line-mask {
	display: block;
	overflow: hidden;
	padding-bottom: .06em;
	margin-bottom: -.06em;
}

body.supernova-longevity .snl-line {
	display: block;
}

body.supernova-longevity .snl-line--soft {
	color: #A9BBD9;
}

body.supernova-longevity .snl-hero__sub {
	font-size: clamp(17px, 1.3vw, 19px);
	line-height: 1.6;
	color: rgba(255, 255, 255, .85);
	max-width: 600px;
	margin: var(--snl-space-4) 0 var(--snl-space-5);
}

body.supernova-longevity .snl-hero__lead {
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: clamp(18px, 1.5vw, 21px);
	letter-spacing: -.01em;
	color: #fff;
	margin: var(--snl-space-4) 0 var(--snl-space-3);
	max-width: 540px;
}

body.supernova-longevity .snl-hero__tagline {
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: 16px;
	color: var(--snl-sky-400);
	margin: 0 0 var(--snl-space-5);
}

body.supernova-longevity .snl-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

body.supernova-longevity .snl-hero__trust {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-top: var(--snl-space-5);
	font-size: 13px;
	color: rgba(255, 255, 255, .72);
}

body.supernova-longevity .snl-hero__trust li {
	display: flex;
	align-items: center;
	gap: 8px;
}

body.supernova-longevity .snl-hero__trust li::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--snl-cyan-500);
}

body.supernova-longevity .snl-hero__tag {
	margin-top: var(--snl-space-3);
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: 15px;
	color: rgba(255, 255, 255, .85);
}

body.supernova-longevity .snl-hero__side {
	position: absolute;
	right: var(--snl-gutter);
	bottom: 0;
	width: min(34vw, 420px);
	z-index: 1;
}

body.supernova-longevity .snl-hero__side .snl-photo {
	box-shadow: var(--snl-shadow-float);
}

body.supernova-longevity .snl-hero__side-bar {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	padding: 14px 16px;
	border-radius: 14px;
	font-size: 13px;
	line-height: 1.4;
}

body.supernova-longevity .snl-hero__side-bar strong {
	display: block;
	font-family: var(--snl-font-display);
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 2px;
}

/* Service tiles under hero */
body.supernova-longevity .snl-tiles {
	position: relative;
	z-index: 2;
	margin-top: -72px;
}

body.supernova-longevity .snl-tiles__list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--snl-space-2);
}

body.supernova-longevity .snl-tile-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 16px 12px 12px;
	color: var(--snl-ink);
	position: relative;
	overflow: hidden;
}

body.supernova-longevity .snl-tile-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--snl-accent-color);
}

body.supernova-longevity .snl-tile-card__img {
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: 12px;
	overflow: hidden;
}

body.supernova-longevity .snl-tile-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.supernova-longevity .snl-tile-card__body {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--snl-font-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: -.01em;
	line-height: 1.25;
}

body.supernova-longevity .snl-tile-card .snl-icon {
	color: var(--snl-ink-soft);
	flex: none;
	transition: transform .3s var(--snl-ease);
}

body.supernova-longevity .snl-tile-card:hover .snl-icon {
	transform: translate(2px, -2px);
	color: var(--snl-ink);
}

/* About split with floating bar */
body.supernova-longevity .snl-floatbar {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--snl-space-2);
	padding: 16px 16px 16px 20px;
	border-radius: 16px;
}

body.supernova-longevity .snl-floatbar strong {
	display: block;
	font-family: var(--snl-font-display);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: -.01em;
}

body.supernova-longevity .snl-floatbar span {
	font-size: 13px;
	color: rgba(255, 255, 255, .75);
}

body.supernova-longevity .snl-about__text .snl-heading {
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-about__lead {
	color: var(--snl-ink) !important;
	font-family: var(--snl-font-display);
	font-weight: 500;
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-about__text .snl-eyebrow {
	margin-bottom: var(--snl-space-3);
}

/* Service carousel */
body.supernova-longevity .snl-carousel {
	position: relative;
}

body.supernova-longevity .snl-carousel .snl-track {
	padding-top: 40px;
	margin-right: calc(-1 * var(--snl-gutter));
	padding-right: var(--snl-gutter);
}

body.supernova-longevity .snl-service-card {
	position: relative;
	display: block;
	width: min(420px, 82vw);
	background: var(--snl-surface-2);
	border-radius: var(--snl-radius);
	color: var(--snl-ink);
	transition: transform .4s var(--snl-ease);
}

body.supernova-longevity .snl-service-card__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 24px;
	width: 40px;
	height: 3px;
	background: var(--snl-accent-color);
	border-radius: 3px;
}

body.supernova-longevity .snl-service-card__img {
	margin: -40px 20px 0;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--snl-shadow-card);
}

body.supernova-longevity .snl-service-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s var(--snl-ease);
}

@media (hover: hover) {
	body.supernova-longevity .snl-service-card:hover .snl-service-card__img img {
		transform: scale(1.03);
	}
}

body.supernova-longevity .snl-service-card__body {
	position: relative;
	padding: 22px 24px 26px;
}

body.supernova-longevity .snl-service-card__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 500;
	color: var(--snl-blue-600);
	margin-bottom: 10px;
}

body.supernova-longevity .snl-service-card h3 {
	font-size: 20px;
	letter-spacing: -.02em;
	margin-bottom: 8px;
}

body.supernova-longevity .snl-service-card p {
	font-size: 14px;
	line-height: 1.55;
	color: var(--snl-ink-muted);
	margin-bottom: 16px;
}

/* Steps: sticky story */
body.supernova-longevity .snl-steps__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: start;
}

body.supernova-longevity .snl-steps__sticky {
	position: sticky;
	top: calc(var(--snl-header-h) + 24px);
}

body.supernova-longevity .snl-steps__frame {
	position: relative;
	aspect-ratio: 4 / 5;
	max-height: calc(100vh - var(--snl-header-h) - 96px);
	border-radius: var(--snl-radius-lg);
	overflow: hidden;
	background: var(--snl-surface-3);
}

body.supernova-longevity .snl-steps__frame img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .8s var(--snl-ease);
}

body.supernova-longevity .snl-steps__frame img.is-active {
	opacity: 1;
}

body.supernova-longevity .snl-steps__counter {
	position: absolute;
	top: 20px;
	left: 20px;
	padding: 8px 14px;
	border-radius: var(--snl-radius-pill);
	font-family: var(--snl-font-mono);
	font-variant-numeric: tabular-nums;
	font-size: 12px;
	letter-spacing: .04em;
}

body.supernova-longevity .snl-steps__listwrap {
	position: relative;
}

body.supernova-longevity .snl-steps__list {
	list-style: none;
	position: relative;
	padding-left: 40px;
}

body.supernova-longevity .snl-steps__list::before {
	content: "";
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: 8px;
	width: 1px;
	background: var(--snl-line);
}

body.supernova-longevity .snl-steps__fill {
	position: absolute;
	top: 12px;
	left: 8px;
	width: 1px;
	height: calc(100% - 24px);
	background: var(--snl-blue-600);
	transform-origin: top;
	transform: scaleY(var(--snl-progress, 0));
}

body.supernova-longevity .snl-step {
	position: relative;
	padding: clamp(28px, 4vw, 44px) 0;
	border-bottom: 1px solid var(--snl-line);
	transition: opacity .5s var(--snl-ease);
}

body.supernova-longevity .snl-step:last-child {
	border-bottom: 0;
}

body.supernova-longevity .snl-step::before {
	content: "";
	position: absolute;
	left: -36px;
	top: calc(clamp(28px, 4vw, 44px) + 8px);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--snl-surface-2);
	border: 1px solid rgba(0, 25, 74, .25);
	transition: background-color .4s var(--snl-ease), border-color .4s var(--snl-ease);
}

body.supernova-longevity .snl-step.is-active::before {
	background: var(--snl-blue-600);
	border-color: var(--snl-blue-600);
}

body.supernova-longevity .snl-steps--sticky .snl-step:not(.is-active) {
	opacity: .42;
}

body.supernova-longevity .snl-step__index {
	display: block;
	margin-bottom: 10px;
}

body.supernova-longevity .snl-step h3 {
	font-size: clamp(22px, 2.4vw, 30px);
	letter-spacing: -.025em;
	margin-bottom: 10px;
}

body.supernova-longevity .snl-step p {
	color: var(--snl-ink-muted);
	max-width: 46ch;
}

body.supernova-longevity .snl-step__photo {
	display: none;
}

/* Steps: card carousel under 1024px */
@media (max-width: 1023px) {
	body.supernova-longevity .snl-steps__layout {
		display: block;
	}

	body.supernova-longevity .snl-steps__sticky {
		display: none;
	}

	body.supernova-longevity .snl-steps__list {
		display: flex;
		gap: var(--snl-space-2);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		padding: 0;
		margin-right: calc(-1 * var(--snl-gutter));
		padding-right: var(--snl-gutter);
	}

	body.supernova-longevity .snl-steps__list::-webkit-scrollbar {
		display: none;
	}

	body.supernova-longevity .snl-steps__list::before,
	body.supernova-longevity .snl-steps__fill,
	body.supernova-longevity .snl-step::before {
		display: none;
	}

	body.supernova-longevity .snl-step {
		flex: 0 0 min(320px, 80vw);
		scroll-snap-align: start;
		position: relative;
		aspect-ratio: 3 / 4;
		border-radius: var(--snl-radius-lg);
		overflow: hidden;
		padding: 20px;
		border: 0;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		color: #fff;
		background: var(--snl-navy-900);
		opacity: 1 !important;
	}

	body.supernova-longevity .snl-step__photo {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 0;
	}

	body.supernova-longevity .snl-step__photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	body.supernova-longevity .snl-step__photo::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, rgba(0, 12, 36, .05) 30%, rgba(0, 12, 36, .88) 100%);
	}

	body.supernova-longevity .snl-step__index {
		position: absolute;
		top: 16px;
		left: 16px;
		z-index: 1;
		margin: 0;
		padding: 8px 12px;
		border-radius: var(--snl-radius-pill);
		font-family: var(--snl-font-mono);
		font-size: 12px;
		color: #fff;
		background: rgba(255, 255, 255, .12);
		border: 1px solid rgba(255, 255, 255, .18);
		-webkit-backdrop-filter: saturate(1.6) blur(14px);
		backdrop-filter: saturate(1.6) blur(14px);
	}

	body.supernova-longevity .snl-step h3,
	body.supernova-longevity .snl-step p {
		position: relative;
		z-index: 1;
	}

	body.supernova-longevity .snl-step h3 {
		font-size: 26px;
		color: #fff;
	}

	body.supernova-longevity .snl-step p {
		color: rgba(255, 255, 255, .8);
		font-size: 15px;
	}
}

/* Difference: stacking cards */
body.supernova-longevity .snl-stack {
	display: grid;
	gap: var(--snl-space-3);
}

body.supernova-longevity .snl-stack__item {
	view-timeline: --snl-card block;
}

body.supernova-longevity .snl-stack__card {
	position: sticky;
	top: calc(var(--snl-header-h) + 24px + var(--i) * 14px);
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: min(560px, 72vh);
	border-radius: var(--snl-radius-lg);
	overflow: hidden;
	background: var(--snl-navy-900);
	color: #fff;
	transform-origin: top center;
	transform: scale(var(--snl-scale, 1));
}

body.supernova-longevity .snl-stack__card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--snl-navy-950);
	opacity: var(--snl-dim, 0);
	pointer-events: none;
	border-radius: inherit;
}

body.supernova-longevity .snl-stack__item:nth-child(even) .snl-stack__text {
	order: 2;
}

body.supernova-longevity .snl-stack__text {
	padding: clamp(28px, 4vw, 56px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--snl-space-5);
}

body.supernova-longevity .snl-stack__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

body.supernova-longevity .snl-stack__num {
	font-family: var(--snl-font-mono);
	font-variant-numeric: tabular-nums;
	font-size: clamp(28px, 3vw, 40px);
	color: rgba(255, 255, 255, .5);
}

body.supernova-longevity .snl-stack__text .snl-eyebrow {
	margin-bottom: var(--snl-space-2);
}

body.supernova-longevity .snl-stack__text h3 {
	font-size: clamp(24px, 2.8vw, 36px);
	letter-spacing: -.03em;
	margin-bottom: var(--snl-space-2);
	color: #fff;
}

body.supernova-longevity .snl-stack__text p {
	color: rgba(255, 255, 255, .78);
	max-width: 48ch;
}

body.supernova-longevity .snl-stack__close {
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: 17px;
	color: var(--snl-sky-400) !important;
	margin-top: var(--snl-space-2);
}

body.supernova-longevity .snl-stack__media {
	position: relative;
	min-height: 280px;
}

body.supernova-longevity .snl-stack__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.supernova-longevity .snl-stack__media--space img {
	opacity: .9;
}

/* Goals typographic list */
body.supernova-longevity .snl-goals {
	list-style: none;
	counter-reset: goals;
}

body.supernova-longevity .snl-goals li {
	display: flex;
	align-items: baseline;
	gap: var(--snl-space-3);
	padding: 18px 0;
	border-top: 1px solid var(--snl-line);
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: clamp(22px, 2.4vw, 32px);
	letter-spacing: -.025em;
	line-height: 1.15;
}

body.supernova-longevity .snl-goals li:last-child {
	border-bottom: 1px solid var(--snl-line);
}

body.supernova-longevity .snl-goals .snl-index {
	min-width: 32px;
}

body.supernova-longevity .snl-goals__note {
	margin-top: var(--snl-space-3);
}

/* Why: clinical oversight */
body.supernova-longevity .snl-why__statement {
	text-align: center;
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: clamp(26px, 3vw, 40px);
	letter-spacing: -.03em;
	color: var(--snl-blue-600);
	margin: 0 auto clamp(40px, 5vw, 64px);
}

body.supernova-longevity .snl-why__grid {
	display: grid;
	grid-template-columns: 1fr minmax(280px, 380px) 1fr;
	gap: clamp(24px, 4vw, 64px);
	align-items: center;
}

body.supernova-longevity .snl-why__col {
	display: grid;
	gap: var(--snl-space-5);
}

body.supernova-longevity .snl-why__col--right .snl-feature {
	flex-direction: row-reverse;
	text-align: right;
}

body.supernova-longevity .snl-feature {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

body.supernova-longevity .snl-feature h3,
body.supernova-longevity .snl-feature h4 {
	font-size: 18px;
	letter-spacing: -.015em;
	margin-bottom: 4px;
	font-weight: 600;
}

body.supernova-longevity .snl-feature p {
	font-size: 15px;
	color: var(--snl-ink-muted);
}

body.supernova-longevity .snl-why__note {
	text-align: center;
	margin: clamp(40px, 5vw, 64px) auto 0;
}

/* FAQ split */
body.supernova-longevity .snl-faq-split {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

body.supernova-longevity .snl-faq-split > *,
body.supernova-longevity .snl-explainer > *,
body.supernova-longevity .snl-whofor > *,
body.supernova-longevity .snl-cta > *,
body.supernova-longevity .snl-why__grid > *,
body.supernova-longevity .snl-steps__layout > * {
	min-width: 0;
}

body.supernova-longevity .snl-faq-split__left .snl-section-head--stacked {
	margin-bottom: var(--snl-space-5);
}

body.supernova-longevity .snl-help-card {
	position: relative;
	padding: clamp(28px, 3vw, 40px);
	border-radius: var(--snl-radius);
	background: linear-gradient(135deg, var(--snl-navy-900) 0%, var(--snl-blue-600) 100%);
	color: #fff;
}

body.supernova-longevity .snl-help-card h3 {
	font-size: clamp(22px, 2.2vw, 28px);
	letter-spacing: -.025em;
	margin-bottom: 10px;
	color: #fff;
}

body.supernova-longevity .snl-help-card p {
	color: rgba(255, 255, 255, .8);
	font-size: 15px;
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-faq-split__more {
	margin-top: var(--snl-space-3);
}

/* CTA band */
body.supernova-longevity .snl-cta {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: clamp(24px, 4vw, 64px);
	align-items: center;
	padding: clamp(28px, 4vw, 56px);
	border-radius: var(--snl-radius-lg);
	background: var(--snl-sky-100);
}

body.supernova-longevity .snl-cta .snl-eyebrow {
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-cta .snl-heading {
	margin-bottom: var(--snl-space-2);
}

body.supernova-longevity .snl-cta__text p {
	color: var(--snl-ink-muted);
	max-width: 52ch;
	margin-bottom: var(--snl-space-4);
}

body.supernova-longevity .snl-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: var(--snl-space-4);
}

body.supernova-longevity .snl-cta__photo {
	max-height: 460px;
}

/* Statement lines */
body.supernova-longevity .snl-lines {
	list-style: none;
	display: grid;
	gap: 6px;
}

body.supernova-longevity .snl-lines li {
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: clamp(28px, 4vw, 56px);
	letter-spacing: -.035em;
	line-height: 1.05;
}

body.supernova-longevity .snl-lines li.is-soft {
	color: var(--snl-ink-soft);
}

body.supernova-longevity .snl-statement {
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: clamp(24px, 3vw, 40px);
	letter-spacing: -.03em;
	line-height: 1.15;
	max-width: 22ch;
}

/* Explainer */
body.supernova-longevity .snl-explainer {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

body.supernova-longevity .snl-explainer__text {
	columns: 1;
}

body.supernova-longevity .snl-explainer__text p {
	color: var(--snl-ink-muted);
	font-size: clamp(17px, 1.3vw, 19px);
	max-width: 60ch;
}

body.supernova-longevity .snl-explainer__text p:first-child {
	color: var(--snl-ink);
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: clamp(20px, 1.8vw, 26px);
	letter-spacing: -.02em;
	line-height: 1.3;
}

body.supernova-longevity .snl-explainer__photo {
	margin-top: var(--snl-space-5);
	max-width: 420px;
}

body.supernova-longevity .snl-quote {
	font-family: var(--snl-font-display);
	font-weight: 500;
	font-size: clamp(24px, 2.6vw, 36px);
	letter-spacing: -.03em;
	line-height: 1.15;
	color: var(--snl-blue-600);
	border-left: 3px solid var(--snl-blue-600);
	padding-left: var(--snl-space-3);
	margin: var(--snl-space-4) 0;
}

/* Steps timeline */
body.supernova-longevity .snl-timeline {
	position: relative;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(var(--snl-cols, 4), 1fr);
	gap: var(--snl-space-4);
	padding-top: var(--snl-space-4);
}

body.supernova-longevity .snl-timeline::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--snl-line);
}

body.supernova-longevity .snl-timeline__fill {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--snl-blue-600);
	transform-origin: left;
	transform: scaleX(var(--snl-progress, 0));
}

body.supernova-longevity .snl-timeline li {
	position: relative;
}

body.supernova-longevity .snl-timeline li::before {
	content: "";
	position: absolute;
	top: calc(-1 * var(--snl-space-4) - 4px);
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--snl-surface);
	border: 1px solid rgba(0, 25, 74, .25);
}

body.supernova-longevity .snl-timeline .snl-index {
	display: block;
	margin-bottom: 12px;
}

body.supernova-longevity .snl-timeline h3 {
	font-size: 20px;
	letter-spacing: -.02em;
	margin-bottom: 8px;
}

body.supernova-longevity .snl-timeline p {
	font-size: 15px;
	color: var(--snl-ink-muted);
}

body.supernova-longevity .snl-timeline__note {
	margin-top: var(--snl-space-5);
	max-width: 70ch;
}

body.supernova-longevity .snl-timeline__actions {
	margin-top: var(--snl-space-5);
}

/* Features grid with hairlines */
body.supernova-longevity .snl-hairgrid {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--snl-line);
	border-left: 1px solid var(--snl-line);
}

body.supernova-longevity .snl-hairgrid li {
	padding: clamp(24px, 3vw, 40px) clamp(20px, 2.5vw, 32px);
	border-right: 1px solid var(--snl-line);
	border-bottom: 1px solid var(--snl-line);
}

body.supernova-longevity .snl-hairgrid .snl-index {
	display: block;
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-hairgrid h3 {
	font-size: 22px;
	letter-spacing: -.02em;
	margin-bottom: 8px;
}

body.supernova-longevity .snl-hairgrid p {
	font-size: 15px;
	color: var(--snl-ink-muted);
}

/* Numbered cards 2x2 */
body.supernova-longevity .snl-numcards {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--snl-space-2);
}

body.supernova-longevity .snl-numcard {
	position: relative;
	padding: clamp(24px, 3vw, 36px);
	background: var(--snl-surface);
	border-radius: var(--snl-radius);
	border: 1px solid var(--snl-line);
}

body.supernova-longevity .snl-numcard .snl-index {
	position: absolute;
	top: 24px;
	right: 24px;
}

body.supernova-longevity .snl-numcard .snl-tile {
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-numcard h3 {
	font-size: 20px;
	letter-spacing: -.02em;
	margin-bottom: 8px;
}

body.supernova-longevity .snl-numcard p {
	font-size: 15px;
	color: var(--snl-ink-muted);
}

/* Promise grid (about) */
body.supernova-longevity .snl-promise {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--snl-space-5) var(--snl-space-4);
}

/* Partner cards */
body.supernova-longevity .snl-partners {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--snl-space-2);
}

body.supernova-longevity .snl-partner {
	padding: clamp(24px, 3vw, 36px);
}

body.supernova-longevity .snl-partner .snl-eyebrow {
	margin-bottom: var(--snl-space-2);
}

body.supernova-longevity .snl-partner h3 {
	font-size: 22px;
	letter-spacing: -.02em;
	margin-bottom: 10px;
}

body.supernova-longevity .snl-partner p {
	font-size: 15px;
	color: var(--snl-ink-muted);
}

body.supernova-longevity .snl-partner address {
	font-style: normal;
	font-size: 14px;
	color: var(--snl-ink-muted);
	line-height: 1.7;
	margin-top: 12px;
}

/* Sub navigation (Peptide & Longevity) */
body.supernova-longevity .snl-subnav {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(255, 255, 255, .86);
	border-bottom: 1px solid var(--snl-line);
	-webkit-backdrop-filter: saturate(1.6) blur(14px);
	backdrop-filter: saturate(1.6) blur(14px);
}

body.supernova-longevity .snl-subnav__list {
	list-style: none;
	display: flex;
	gap: 4px;
	height: 56px;
	align-items: center;
}

body.supernova-longevity .snl-subnav__list a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 16px;
	border-radius: var(--snl-radius-pill);
	font-family: var(--snl-font-display);
	font-weight: 600;
	font-size: 14px;
	color: var(--snl-ink-muted);
}

body.supernova-longevity .snl-subnav__list a.is-active {
	background: var(--snl-surface-3);
	color: var(--snl-ink);
}

/* Who for */
body.supernova-longevity .snl-whofor {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}

body.supernova-longevity .snl-whofor__text p {
	color: var(--snl-ink-muted);
	max-width: 56ch;
	margin-top: var(--snl-space-3);
}

/* Page disclaimer */
body.supernova-longevity .snl-page-disclaimer {
	font-size: 14px;
	color: var(--snl-ink-soft);
	max-width: 80ch;
	padding-top: var(--snl-space-4);
	border-top: 1px solid var(--snl-line);
}

/* Contact */
body.supernova-longevity .snl-contact {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
	padding: clamp(32px, 4vw, 56px);
}

body.supernova-longevity .snl-contact .snl-tile {
	margin: 0 auto var(--snl-space-3);
}

body.supernova-longevity .snl-contact__email {
	display: inline-block;
	font-family: var(--snl-font-display);
	font-weight: 600;
	font-size: clamp(22px, 3vw, 32px);
	letter-spacing: -.03em;
	color: var(--snl-ink);
	margin: var(--snl-space-2) 0;
	word-break: break-word;
}

body.supernova-longevity .snl-contact__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: var(--snl-space-4);
}

/* Legal pages */
body.supernova-longevity .snl-legal__hero {
	background: var(--snl-navy-900);
	color: #fff;
	padding: calc(var(--snl-header-h) + 56px) 0 56px;
}

body.supernova-longevity .snl-legal__hero .snl-eyebrow {
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-legal__hero h1 {
	font-size: clamp(34px, 4.4vw, 56px);
	letter-spacing: -.035em;
	line-height: 1.05;
	color: #fff;
}

body.supernova-longevity .snl-legal__layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 72ch);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

body.supernova-longevity .snl-legal__toc {
	position: sticky;
	top: calc(var(--snl-header-h) + 24px);
}

body.supernova-longevity .snl-legal__toc-title {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--snl-ink-soft);
	margin-bottom: 12px;
}

body.supernova-longevity .snl-legal__toc ol {
	list-style: none;
	display: grid;
	gap: 2px;
}

body.supernova-longevity .snl-legal__toc a {
	display: block;
	padding: 6px 0 6px 12px;
	border-left: 1px solid var(--snl-line);
	font-size: 14px;
	color: var(--snl-ink-muted);
}

body.supernova-longevity .snl-legal__toc a.is-active {
	border-color: var(--snl-blue-600);
	color: var(--snl-ink);
}

body.supernova-longevity .snl-legal__select {
	display: none;
	width: 100%;
	min-height: 48px;
	padding: 0 40px 0 16px;
	border: 1px solid var(--snl-line);
	border-radius: var(--snl-radius-sm);
	background: var(--snl-surface);
	font: inherit;
	font-size: 15px;
	color: var(--snl-ink);
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234A5675' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

body.supernova-longevity .snl-legal__body {
	font-size: 16px;
}

body.supernova-longevity .snl-legal__body h2 {
	font-size: 26px;
	letter-spacing: -.025em;
	margin: var(--snl-space-6) 0 var(--snl-space-2);
	scroll-margin-top: calc(var(--snl-header-h) + 24px);
}

body.supernova-longevity .snl-legal__body h2:first-child {
	margin-top: 0;
}

body.supernova-longevity .snl-legal__body h3 {
	font-size: 20px;
	margin: var(--snl-space-4) 0 var(--snl-space-1);
}

body.supernova-longevity .snl-legal__body p,
body.supernova-longevity .snl-legal__body li {
	color: var(--snl-ink-muted);
}

body.supernova-longevity .snl-legal__body ul,
body.supernova-longevity .snl-legal__body ol {
	padding-left: 22px;
	margin: 0 0 1.2em;
}

body.supernova-longevity .snl-legal__body li {
	margin-bottom: 6px;
}

body.supernova-longevity .snl-legal__body a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 404 */
body.supernova-longevity .snl-404__band {
	position: relative;
	height: 320px;
	background: var(--snl-navy-950);
	overflow: hidden;
}

body.supernova-longevity .snl-404__band img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .85;
}

body.supernova-longevity .snl-404__band::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 12, 36, .5), rgba(0, 12, 36, 0));
}

body.supernova-longevity .snl-404__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: var(--snl-space-4);
}

/* Blog fallbacks */
body.supernova-longevity .snl-entry {
	max-width: 72ch;
}

body.supernova-longevity .snl-entry h2 {
	font-size: 26px;
	letter-spacing: -.025em;
}

body.supernova-longevity .snl-entry + .snl-entry {
	margin-top: var(--snl-space-6);
	padding-top: var(--snl-space-6);
	border-top: 1px solid var(--snl-line);
}

/* Responsive */
@media (max-width: 1200px) {
	body.supernova-longevity .snl-hero__side {
		width: 300px;
	}
}

@media (max-width: 1023px) {
	body.supernova-longevity .snl-hero__side {
		position: relative;
		right: auto;
		bottom: auto;
		width: 100%;
		max-width: 420px;
		margin-top: var(--snl-space-6);
	}

	body.supernova-longevity .snl-tiles__list {
		grid-template-columns: repeat(2, 1fr);
	}

	body.supernova-longevity .snl-why__grid {
		grid-template-columns: 1fr 1fr;
	}

	body.supernova-longevity .snl-why__photo {
		grid-column: span 2;
		grid-row: 1;
		max-width: 420px;
		margin: 0 auto;
	}

	body.supernova-longevity .snl-why__col--right .snl-feature {
		flex-direction: row;
		text-align: left;
	}

	body.supernova-longevity .snl-faq-split,
	body.supernova-longevity .snl-cta,
	body.supernova-longevity .snl-explainer,
	body.supernova-longevity .snl-whofor {
		grid-template-columns: 1fr;
	}

	body.supernova-longevity .snl-cta__photo {
		max-width: 420px;
		max-height: none;
	}

	body.supernova-longevity .snl-stack__card {
		grid-template-columns: 1fr;
		min-height: 0;
		top: calc(var(--snl-header-h) + 16px + var(--i) * 8px);
	}

	body.supernova-longevity .snl-stack__item:nth-child(even) .snl-stack__text {
		order: 0;
	}

	body.supernova-longevity .snl-stack__media {
		min-height: 200px;
		order: -1;
	}

	body.supernova-longevity .snl-timeline {
		grid-template-columns: 1fr;
		gap: var(--snl-space-3);
		padding-top: 0;
		padding-left: 28px;
	}

	body.supernova-longevity .snl-timeline::before,
	body.supernova-longevity .snl-timeline__fill {
		top: 8px;
		bottom: 8px;
		left: 4px;
		right: auto;
		width: 1px;
		height: auto;
		transform-origin: top;
		transform: scaleY(var(--snl-progress, 0));
	}

	body.supernova-longevity .snl-timeline::before {
		transform: none;
		height: calc(100% - 16px);
	}

	body.supernova-longevity .snl-timeline__fill {
		height: calc(100% - 16px);
	}

	body.supernova-longevity .snl-timeline li {
		padding-bottom: var(--snl-space-3);
	}

	body.supernova-longevity .snl-timeline li::before {
		top: 8px;
		left: -28px;
	}

	body.supernova-longevity .snl-hairgrid,
	body.supernova-longevity .snl-promise {
		grid-template-columns: repeat(2, 1fr);
	}

	body.supernova-longevity .snl-legal__layout {
		grid-template-columns: minmax(0, 72ch);
	}

	body.supernova-longevity .snl-legal__toc {
		position: static;
	}

	body.supernova-longevity .snl-legal__toc ol {
		display: none;
	}

	body.supernova-longevity .snl-legal__select {
		display: block;
	}
}

@media (max-width: 767px) {
	body.supernova-longevity .snl-hero {
		padding-top: calc(var(--snl-header-h) + 40px);
		padding-bottom: calc(var(--snl-space-8) + 56px);
	}

	body.supernova-longevity .snl-hero__sub {
		margin: var(--snl-space-3) 0 var(--snl-space-4);
	}

	body.supernova-longevity .snl-hero__actions .snl-btn {
		width: 100%;
	}

	body.supernova-longevity .snl-section-head {
		margin-bottom: var(--snl-space-5);
	}

	body.supernova-longevity .snl-stack__text {
		padding: 24px 20px 28px;
	}

	body.supernova-longevity .snl-cta {
		padding: 24px 20px;
	}

	body.supernova-longevity .snl-hero__media img {
		object-position: 60% 50%;
	}

	body.supernova-longevity .snl-hero__side {
		display: none;
	}


	body.supernova-longevity .snl-tiles {
		margin-top: -56px;
	}

	body.supernova-longevity .snl-tiles__list {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	body.supernova-longevity .snl-floatbar {
		left: 12px;
		right: 12px;
		bottom: 12px;
		flex-direction: column;
		align-items: flex-start;
	}

	body.supernova-longevity .snl-why__grid {
		grid-template-columns: 1fr;
	}

	body.supernova-longevity .snl-why__photo {
		grid-column: span 1;
	}

	body.supernova-longevity .snl-numcards,
	body.supernova-longevity .snl-partners,
	body.supernova-longevity .snl-hairgrid,
	body.supernova-longevity .snl-promise {
		grid-template-columns: 1fr;
	}

	body.supernova-longevity .snl-stack {
		gap: var(--snl-space-2);
	}

	body.supernova-longevity .snl-404__band {
		height: 220px;
	}
}

/* Light page tops under the fixed header */
body.supernova-longevity .snl-about-hero,
body.supernova-longevity .snl-page-top {
	padding-top: calc(var(--snl-header-h) + clamp(48px, 7vw, 96px));
}

body.supernova-longevity .snl-photo--placeholder {
	border: 1px solid var(--snl-line);
	background: var(--snl-surface-3);
}

body.supernova-longevity .snl-photo__label {
	position: absolute;
	left: 20px;
	bottom: 20px;
	font-family: var(--snl-font-mono);
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--snl-ink-soft);
}

/* FAQ page */
body.supernova-longevity .snl-faq-page__tabs .snl-tabs__list {
	margin-bottom: var(--snl-space-4);
}

body.supernova-longevity .snl-faq-page__partner {
	margin-top: var(--snl-space-2);
	font-size: 15px;
	color: var(--snl-ink-muted);
	line-height: 1.7;
}

/* Blog */
body.supernova-longevity .snl-blog__hero .snl-lead {
	margin-top: var(--snl-space-3);
}

body.supernova-longevity .snl-blog__hero h1 {
	max-width: 18ch;
	margin-top: var(--snl-space-3);
}

body.supernova-longevity .snl-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--snl-space-4) var(--snl-space-3);
}

body.supernova-longevity .snl-post-card {
	display: flex;
	flex-direction: column;
	gap: var(--snl-space-2);
}

body.supernova-longevity .snl-post-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--snl-radius);
	overflow: hidden;
	background: var(--snl-surface-3);
}

body.supernova-longevity .snl-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s var(--snl-ease);
}

@media (hover: hover) {
	body.supernova-longevity .snl-post-card:hover .snl-post-card__media img {
		transform: scale(1.04);
	}
}

body.supernova-longevity .snl-post-card--feature {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: var(--snl-space-5);
	align-items: center;
	padding-bottom: var(--snl-space-4);
	border-bottom: 1px solid var(--snl-line);
}

body.supernova-longevity .snl-post-card--feature .snl-post-card__media {
	aspect-ratio: 16 / 10;
}

body.supernova-longevity .snl-post-card__meta {
	display: flex;
	gap: 12px;
	font-size: 13px;
	color: var(--snl-ink-soft);
	margin: 0;
}

body.supernova-longevity .snl-post-card__meta span {
	color: var(--snl-blue-600);
	font-weight: 500;
}

body.supernova-longevity .snl-post-card__title {
	font-size: 21px;
	line-height: 1.25;
	letter-spacing: -.02em;
	margin: 4px 0 8px;
}

body.supernova-longevity .snl-post-card--feature .snl-post-card__title {
	font-size: clamp(26px, 3vw, 40px);
	letter-spacing: -.03em;
}

body.supernova-longevity .snl-post-card__title a {
	color: var(--snl-ink);
}

body.supernova-longevity .snl-post-card__excerpt {
	font-size: 15px;
	color: var(--snl-ink-muted);
}

body.supernova-longevity .snl-pagination {
	display: flex;
	gap: 8px;
	justify-content: center;
	margin-top: var(--snl-space-6);
}

body.supernova-longevity .snl-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: var(--snl-radius-pill);
	border: 1px solid var(--snl-line);
	color: var(--snl-ink);
}

body.supernova-longevity .snl-pagination .current {
	background: var(--snl-ink);
	color: #fff;
}

body.supernova-longevity .snl-article__head {
	max-width: 880px;
}

body.supernova-longevity .snl-article__back {
	display: inline-flex;
	margin-bottom: var(--snl-space-3);
}

body.supernova-longevity .snl-article__head .snl-eyebrow {
	display: flex;
	width: max-content;
	margin-bottom: var(--snl-space-2);
}

body.supernova-longevity .snl-article__meta {
	display: flex;
	gap: 16px;
	margin-top: var(--snl-space-3);
	color: rgba(255, 255, 255, .7);
	font-size: 14px;
}

body.supernova-longevity .snl-article__cover {
	aspect-ratio: 21 / 9;
	margin-top: calc(-1 * var(--snl-space-4));
	box-shadow: var(--snl-shadow-float);
}

body.supernova-longevity .snl-article__body {
	max-width: 70ch;
	margin: 0 auto;
	font-size: 18px;
}

body.supernova-longevity .snl-article__note {
	margin-top: var(--snl-space-5);
	padding-top: var(--snl-space-3);
	border-top: 1px solid var(--snl-line);
}

@media (max-width: 1023px) {
	body.supernova-longevity .snl-blog__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.supernova-longevity .snl-post-card--feature {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--snl-space-3);
	}
}

@media (max-width: 640px) {
	body.supernova-longevity .snl-blog__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body.supernova-longevity .snl-article__cover {
		aspect-ratio: 4 / 3;
	}
}

/* Section part extras */
body.supernova-longevity .snl-tabs__note,
body.supernova-longevity .snl-split__statement {
	margin-top: var(--snl-space-3);
}

body.supernova-longevity .snl-split__checks {
	margin: var(--snl-space-3) 0;
}

body.supernova-longevity .snl-hairgrid__closing {
	margin-top: var(--snl-space-5);
	color: var(--snl-blue-600);
}

body.supernova-longevity .snl-lines + .snl-statement,
body.supernova-longevity .snl-lines + .snl-lead {
	margin-top: var(--snl-space-5);
}

body.supernova-longevity .snl-statement + .snl-lead {
	margin-top: var(--snl-space-3);
}
