/* The science behind NOVOS Core: patterns/lovable-page-science-behind-novos-core.php.
   Loaded only on /science-behind-novos-core/, after assets/css/lovable.css.
   Text sizes come from the design-system layer (.nv-lp-lead / -text /
   -small / -fine / -card-title, theme h1/h2); rules here are layout,
   surfaces and the page's few display values. */

/* Page rhythm */

.nv-hp :is(h3, h4) { margin: 0; }

.nv-hp__center { text-align: center; }

.nv-hp .nv-hp__grid { max-width: 72rem; margin-inline: auto; margin-top: 0; gap: var(--wp--preset--spacing--30); }

.nv-hp .nv-hp__narrow { max-width: 48rem; margin-inline: auto; }

.nv-hp .nv-hp__grid + *,
.nv-hp .nv-hp__narrow + *,
.nv-hp .nv-hp__after { margin-top: var(--wp--preset--spacing--40); }

.nv-hp .nv-hp__head--flush { margin-bottom: var(--wp--preset--spacing--30); }

.nv-hp .nv-hp__label { margin-bottom: var(--wp--preset--spacing--20); text-align: center; }

.nv-hp__note { max-width: 40rem; margin-inline: auto; text-align: center; }

.nv-hp .nv-hp__fine { max-width: 40rem; margin-inline: auto; text-align: center; }

.nv-hp .nv-lp-card > * + * { margin-top: var(--wp--preset--spacing--10); }

.nv-hp .nv-lp-card-title + .nv-lp-small { margin-top: var(--wp--preset--spacing--10); }

.nv-hp .nv-lp-actions + .nv-lp-fine { margin-top: var(--wp--preset--spacing--30); }

/* Reading progress: a thin bar fixed to the top edge, filled by the shared
   [data-nv-scroll-progress] hook in lovable.js. */

.nv-hp__progress { position: fixed; top: 0; right: 0; left: 0; z-index: 1000; height: 3px; pointer-events: none; }

.nv-hp__progress-fill { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--nv-orange-soft), var(--nv-orange)); }

/* Display lines */

.nv-hp__statement { margin: 0; font-family: var(--nv-serif); font-size: var(--nv-fs-h3); font-weight: 600; line-height: var(--wp--custom--type--lh-tight); color: var(--nv-ink); }

.nv-hp .nv-hp__statement--center { text-align: center; }

.nv-hp :is(.nv-lp-band--ink, .nv-lp-band--warm) .nv-hp__statement { color: var(--nv-white); }

.nv-hp__hl { font-weight: 600; color: var(--nv-orange-deep); }

.nv-hp :is(.nv-lp-band--ink, .nv-lp-band--warm) .nv-hp__hl { color: var(--nv-orange-soft); }

.nv-hp .nv-hp__subhead { margin: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--40); text-align: center; }

/* Statistic tiles (novos_lp_stat()): this page's figures are the big serif
   display value over a plain sentence, orange-deep on light bands and
   orange on the warm ones. */

.nv-hp .nv-lp-stat-tile__value { font-size: var(--nv-fs-h2); font-weight: 700; line-height: 1.05; color: var(--nv-orange-deep); }

.nv-hp .nv-lp-stat-tile__label { font-family: var(--nv-sans); font-size: var(--wp--preset--font-size--small); font-weight: 400; line-height: 1.55; letter-spacing: normal; text-transform: none; }

.nv-hp .nv-lp-band--warm .nv-lp-stat-tile__value { color: var(--nv-orange); }

.nv-hp .nv-lp-band--warm .nv-lp-stat-tile__label { color: var(--nv-on-dark-muted); }

/* Bare figures sit straight on the band, without the tile surface. */

.nv-hp .nv-hp__stat { padding: 0; background: transparent; border-radius: 0; }

/* The combination-data pair and the founder figures keep the dark card
   surface. */

.nv-hp :is(.nv-hp__big-card, .nv-hp__founder-stat) { padding: var(--wp--preset--spacing--30); border-radius: var(--nv-radius-lg); color: var(--nv-on-dark-muted); }

.nv-hp .nv-hp__big-card--alert { background: color-mix(in srgb, var(--nv-clinical-red) 12%, transparent); border-color: color-mix(in srgb, var(--nv-clinical-red) 40%, transparent); }

.nv-hp .nv-hp__big-card--alert .nv-lp-stat-tile__value { color: var(--nv-orange-soft); }

.nv-hp .nv-hp__founder-stat { text-align: start; }

.nv-hp .nv-hp__founder-stat .nv-lp-stat-tile__value { font-size: var(--nv-fs-h3); font-weight: 600; line-height: inherit; color: var(--nv-orange); }

/* Glyph-in-circle icons (the source's decorative line icons, simplified). */

.nv-hp__glyph { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: var(--wp--preset--spacing--20); border-radius: 999px; background: color-mix(in srgb, var(--nv-orange) 12%, transparent); font-family: var(--nv-mono); font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--nv-orange-deep); }

.nv-hp__glyph--square { flex: none; width: 36px; height: 36px; margin: 0; border-radius: var(--nv-radius-sm); }

/* Hero: copy a touch wider than the media, both vertically centred (the
   shared hero split is 1.1 / 0.9 and top-aligned). */

.nv-hp__hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--wp--preset--spacing--60); align-items: center; }

.nv-hp__hero-copy > .nv-eyebrow { margin: 0; }

.nv-hp__hero-title { max-width: 12ch; margin: var(--wp--preset--spacing--20) 0 0; color: var(--nv-white); }

.nv-hp .nv-hp__hero-lead { margin-top: var(--wp--preset--spacing--30); }

.nv-hp__hero-copy .nv-hp__statement { max-width: 32ch; margin-top: var(--wp--preset--spacing--40); font-weight: 400; font-style: italic; }

.nv-hp__hero-copy .nv-lp-text { max-width: 56ch; margin-top: var(--wp--preset--spacing--20); }

.nv-hp__hero-copy .nv-lp-actions { margin-top: var(--wp--preset--spacing--40); }

/* Natural-height product shots (not cover-fit frames). */

.nv-hp__hero-media { max-width: 34rem; justify-self: end; overflow: hidden; border-radius: var(--nv-radius-lg); box-shadow: var(--nv-shadow-lg); }

.nv-hp__hero-media img { display: block; width: 100%; height: auto; }

/* Video */

.nv-hp__video { max-width: 30rem; margin: 0 auto var(--wp--preset--spacing--40); overflow: hidden; border-radius: var(--nv-radius-lg); background: var(--nv-ink); box-shadow: var(--nv-shadow-lg); }

.nv-hp__video video { display: block; width: 100%; }

/* Clinical trial */

.nv-hp .nv-hp__why { margin-bottom: var(--wp--preset--spacing--50); }

.nv-hp__endpoint { display: block; margin-bottom: var(--wp--preset--spacing--10); }

.nv-hp__callout { padding: var(--wp--preset--spacing--30); background: color-mix(in srgb, var(--nv-orange) 6%, transparent); border: 1px solid color-mix(in srgb, var(--nv-orange) 25%, transparent); border-radius: var(--nv-radius); text-align: center; }

.nv-hp__callout .nv-lp-text,
.nv-hp__callout .nv-lp-small { color: var(--nv-ink); }

.nv-hp .nv-hp__callout--strong { max-width: 40rem; border-color: color-mix(in srgb, var(--nv-orange) 35%, transparent); }

.nv-hp .nv-hp__pull { display: block; margin-block: var(--wp--preset--spacing--50) 0; text-align: center; }

.nv-hp__pull blockquote { margin: 0 0 var(--wp--preset--spacing--20); font-style: italic; font-weight: 400; }

.nv-hp__pull .nv-lp-small + .nv-lp-small { margin-top: 0; }

/* Why cardiovascular aging matters */

.nv-hp__tint-card { text-align: center; background: color-mix(in srgb, var(--nv-orange) 4%, var(--nv-white)); border-color: color-mix(in srgb, var(--nv-orange) 18%, transparent); }

.nv-hp__tint-card .nv-hp__glyph { margin-inline: auto; }

/* Comparisons */

.nv-hp__bars { display: grid; gap: var(--wp--preset--spacing--30); }

.nv-hp .nv-hp__callout + .nv-hp__bars { margin-top: var(--wp--preset--spacing--50); }

.nv-hp__bar-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--wp--preset--spacing--20); }

.nv-hp__bar-value { flex: none; font-family: var(--nv-serif); font-size: var(--nv-fs-lead); font-weight: 600; color: var(--nv-orange-deep); }

.nv-hp__bar-track { height: 8px; margin: var(--wp--preset--spacing--10) 0; overflow: hidden; border-radius: var(--nv-radius-pill); background: var(--nv-ink-10); }

.nv-hp__bar-fill { width: var(--nv-w); height: 100%; border-radius: inherit; background: var(--nv-orange); }

.nv-hp .nv-hp__bars + .nv-hp__note { margin-top: var(--wp--preset--spacing--40); font-style: italic; }

/* The problem */

.nv-hp__combo { text-align: center; }

.nv-hp__combo-icon { display: block; font-size: var(--nv-fs-h3); line-height: 1; }

.nv-hp__combo-icon--additive { color: var(--nv-ink-60); }

.nv-hp__combo-icon--synergistic { color: var(--nv-orange-deep); }

.nv-hp__combo-icon--antagonistic { color: var(--nv-clinical-red); }

.nv-hp__combo-sum { margin: 0; font-family: var(--nv-mono); font-size: var(--nv-fs-lead); color: var(--nv-ink-60); }

/* Combination data */

.nv-hp .nv-hp__combo-panel { max-width: 52rem; margin-inline: auto; padding: var(--wp--preset--spacing--50); }

.nv-hp__panel-title { margin-bottom: var(--wp--preset--spacing--30); font-size: var(--nv-fs-lead); text-align: center; color: var(--nv-white); }

.nv-hp .nv-hp__combo-panel > * + * { margin-top: var(--wp--preset--spacing--30); }

.nv-hp__stack { display: flex; height: 22px; overflow: hidden; border-radius: var(--nv-radius-pill); }

.nv-hp__seg { width: var(--nv-w); }

.nv-hp__seg--synergistic { background: var(--nv-orange-deep); }

.nv-hp__seg--additive { background: var(--nv-orange-soft); }

.nv-hp__seg--neutral { background: color-mix(in srgb, var(--nv-white) 30%, transparent); }

.nv-hp__seg--inferior { background: color-mix(in srgb, var(--nv-white) 55%, transparent); }

.nv-hp__seg--negative { background: var(--nv-clinical-red); }

.nv-hp__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30); }

.nv-hp__legend-item { display: flex; align-items: center; gap: var(--wp--preset--spacing--10); }

.nv-hp__dot { flex: none; width: 10px; height: 10px; border-radius: 999px; }

.nv-hp__panel-foot { padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--nv-border-on-dark); text-align: center; }

.nv-hp__panel-foot .nv-hp__statement { font-style: italic; }

.nv-hp__panel-foot .nv-lp-small { margin-top: var(--wp--preset--spacing--20); }

/* Philosophy */

.nv-hp__pillar { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); }

.nv-hp .nv-hp__pillar > * + * { margin-top: 0; }

/* Research journey: five steps across on desktop, a vertical list below. */

.nv-hp .nv-hp__steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--wp--preset--spacing--30); margin: 0; padding: 0; list-style: none; }

.nv-hp .nv-evidence-step__title { font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--type--lh-tight); }

.nv-hp .nv-evidence-step .nv-lp-kicker { margin-top: var(--wp--preset--spacing--10); }

/* Epigenetic / skin / lifespan meters */

.nv-hp .nv-hp__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); text-align: center; }

.nv-hp .nv-hp__meter { max-width: 34rem; }

.nv-hp__meter-labels { display: flex; justify-content: space-between; gap: var(--wp--preset--spacing--20); margin-bottom: var(--wp--preset--spacing--10); font-family: var(--nv-mono); font-size: var(--nv-fs-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--nv-ink-60); }

.nv-hp .nv-lp-band--warm .nv-hp__meter-labels { color: var(--nv-on-dark-muted); }

.nv-hp__meter-track { position: relative; height: 10px; overflow: hidden; border-radius: var(--nv-radius-pill); background: var(--nv-ink-10); }

.nv-hp .nv-lp-band--warm .nv-hp__meter-track { background: color-mix(in srgb, var(--nv-white) 10%, transparent); }

.nv-hp__meter-fill { position: absolute; top: 0; bottom: 0; left: 0; border-radius: inherit; background: var(--nv-orange); }

.nv-hp__meter-fill--base { background: var(--nv-ink-40); }

.nv-hp .nv-lp-band--warm .nv-hp__meter-fill--base { background: color-mix(in srgb, var(--nv-white) 30%, transparent); }

.nv-hp__meter-fill--full { width: 100%; }

.nv-hp__meter-fill--pace { width: 92%; }

.nv-hp__meter-fill--skin-base { width: 55%; border-radius: 0; }

.nv-hp__meter-fill--skin-gain { left: 55%; width: 12%; border-radius: 0; }

.nv-hp__meter-fill--control { width: 78%; }

.nv-hp__meter-fill--core { width: 92%; }

.nv-hp .nv-hp__meter .nv-lp-fine { margin-top: var(--wp--preset--spacing--10); text-align: center; }

.nv-hp .nv-hp__survival { max-width: 30rem; }

.nv-hp__survival-row { display: flex; align-items: center; gap: var(--wp--preset--spacing--10); margin-bottom: var(--wp--preset--spacing--10); }

.nv-hp .nv-hp__meter-track + .nv-hp__survival-row { margin-top: var(--wp--preset--spacing--20); }

.nv-hp__survival-note { margin-left: auto; font-family: var(--nv-mono); }

.nv-hp__swatch { flex: none; width: 16px; height: 2px; background: var(--nv-ink-40); }

.nv-hp__swatch--core { background: var(--nv-orange); }

/* Mechanistic studies */

.nv-hp .nv-hp__card-btn { align-self: flex-start; margin-top: auto; }

.nv-hp .nv-lp-card--col > .nv-lp-small { margin-bottom: var(--wp--preset--spacing--20); }

/* Hallmark and ingredient pickers: the site's pills at the small size. */

.nv-hp__pills { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--wp--preset--spacing--10); max-width: 60rem; margin: 0 auto var(--wp--preset--spacing--30); }

.nv-hp .nv-hp__pills .nv-filter-pill { font-size: var(--wp--preset--font-size--small); }

.nv-hp__panel { text-align: left; }

.nv-hp .nv-hp__panel.nv-hp__center { text-align: center; }

.nv-hp__panel .nv-lp-card-title { margin-bottom: var(--wp--preset--spacing--10); }

.nv-hp .nv-hp__chips { justify-content: center; margin-bottom: var(--wp--preset--spacing--30); padding-bottom: 0; }

/* Founders + scientists: novos_lp_person() cards laid out as this page's
   quote cards, portrait beside the name and role, the quote beneath. */

.nv-hp .nv-hp__grid + .nv-hp__scientists { margin-top: var(--wp--preset--spacing--50); }

.nv-hp .nv-hp__sci { display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: var(--wp--preset--spacing--20); align-items: start; padding: var(--wp--preset--spacing--30); background: color-mix(in srgb, var(--nv-white) 6%, transparent); color: var(--nv-on-dark-muted); }

.nv-hp .nv-hp__sci .nv-lp-person__avatar { background: var(--nv-white); }

.nv-hp .nv-hp__sci .nv-lp-person__avatar img { object-position: 50% 30%; }

.nv-hp .nv-hp__sci .nv-lp-person__foot { grid-row: 1; grid-column: 2; gap: 4px; padding-top: 0; border-top: 0; }

.nv-hp .nv-hp__sci .nv-lp-person__name { font-size: var(--nv-fs-lead); line-height: 1.2; letter-spacing: -0.01em; }

.nv-hp .nv-hp__sci .nv-lp-person__role { font-family: var(--nv-mono); font-size: var(--nv-fs-mono); line-height: inherit; letter-spacing: 0.04em; text-transform: uppercase; color: var(--nv-orange-soft); }

.nv-hp .nv-hp__sci .nv-lp-person__quote { grid-row: 2; grid-column: 2; font-family: var(--nv-serif); font-size: var(--wp--preset--font-size--body); line-height: 1.5; color: var(--nv-on-dark-muted); }

/* Recognition: the Forbes placeholder frame, the expert and press
   testimonials (novos_lp_testimonial()) and Dr. Kulick's endorsement
   (novos_lp_person()), all in this page's bordered serif-quote treatment. */

.nv-hp .nv-hp__forbes { max-width: 30rem; aspect-ratio: 16 / 9; margin: 0 auto var(--wp--preset--spacing--50); background: transparent; border-radius: var(--nv-radius); }

.nv-hp :is(.nv-hp__quote-card, .nv-hp__press, .nv-hp__endorse) { gap: var(--wp--preset--spacing--10); border: 1px solid var(--nv-ink-10); }

.nv-hp .nv-hp__endorse { border-color: color-mix(in srgb, var(--nv-orange) 20%, transparent); }

.nv-hp :is(.nv-hp__quote-card, .nv-hp__press) .nv-lp-testimonial__quote,
.nv-hp .nv-hp__endorse .nv-lp-person__quote { font-family: var(--nv-serif); font-size: var(--wp--preset--font-size--body); font-style: italic; line-height: 1.55; color: var(--nv-ink-80); }

.nv-hp .nv-hp__quote-card .nv-lp-testimonial__quote { flex: none; }

.nv-hp :is(.nv-hp__quote-card, .nv-hp__press) .nv-lp-testimonial__name { flex: 1; }

.nv-hp .nv-hp__quote-card .nv-lp-testimonial__name { display: grid; gap: 2px; }

.nv-hp .nv-hp__quote-card .nv-lp-testimonial__meta { line-height: 1.55; }

.nv-hp .nv-hp__press .nv-lp-testimonial__name { color: var(--nv-orange-deep); }

.nv-hp .nv-hp__endorse .nv-lp-person__foot { gap: var(--wp--preset--spacing--10); padding-top: 0; border-top: 0; }

.nv-hp .nv-hp__endorse :is(.nv-lp-person__name, .nv-lp-person__role) { font-family: var(--nv-mono); font-size: var(--nv-fs-mono); line-height: inherit; letter-spacing: 0.04em; text-transform: uppercase; }

.nv-hp .nv-hp__endorse .nv-lp-person__name { font-weight: 700; color: var(--nv-orange-deep); }

.nv-hp .nv-hp__endorse .nv-lp-person__role { color: var(--nv-ink-60); }

/* Stockist marks (novos_lp_logo()) sit contained inside white discs. */

.nv-hp__logos { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--wp--preset--spacing--40); margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--50); }

.nv-hp__logo { width: 80px; height: 80px; overflow: hidden; border-radius: 999px; background: var(--nv-white); box-shadow: var(--nv-shadow-sm); }

.nv-hp__logo img { display: block; box-sizing: border-box; width: 100%; height: 100%; padding: var(--wp--preset--spacing--10); object-fit: contain; }

/* Final CTA */

.nv-hp__cta-card { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--40); }

.nv-hp .nv-hp__cta-card > * + * { margin-top: 0; }

.nv-hp__cta-card > div:last-child { flex: 1 1 18rem; }

.nv-hp__cta-card .nv-lp-small { margin-top: var(--wp--preset--spacing--20); }

.nv-hp__cta-card .nv-lp-actions { margin-top: var(--wp--preset--spacing--30); }

.nv-hp__cta-media { flex: 0 1 16rem; overflow: hidden; border-radius: var(--nv-radius); }

.nv-hp__cta-media img { display: block; width: 100%; height: auto; }

/* Three-card rows stay three across on tablets (two across would strand
   the third card), then stack on phones. */

@media (min-width: 720px) and (max-width: 1023px) {
	.nv-hp .nv-lp-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 719px) {
	.nv-hp .nv-lp-grid--3:not(.nv-hp__stats) { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1023px) {
	.nv-hp .nv-hp__steps { grid-template-columns: minmax(0, 1fr); max-width: 36rem; margin-inline: auto; }
}

@media (max-width: 899px) {
	.nv-hp__hero-grid { grid-template-columns: minmax(0, 1fr); }

	.nv-hp__hero-media { max-width: 26rem; justify-self: start; }
}

@media (max-width: 599px) {
	.nv-hp .nv-hp__combo-panel { padding: var(--wp--preset--spacing--30); }

	.nv-hp__cta-media { flex-basis: 100%; }
}
