/* The diagnostic funnel: restrained editorial typography and decision-led visuals. */
:root {
	--vf-night: #0c1b21;
	--vf-night-2: #132a32;
	--vf-paper: #f3f1eb;
	--vf-canvas: #faf9f5;
	--vf-copper: #c9a67b;
	--vf-sea: #87bdb5;
	--vf-ink: #1b3036;
	--vf-faint: #dce2dd;
}

body {
	color: var(--vf-ink);
	background: var(--vf-canvas);
}

h1, h2, h3, h4 {
	color: var(--vf-night);
	letter-spacing: -0.035em;
}

.vf-site-header {
	background: rgba(250, 249, 245, .95);
	border-bottom: 1px solid #d8ded8;
}

.vf-brand-text { gap: .7rem; color: var(--vf-night); }
.vf-brand-mark {
	width: 40px;
	height: 40px;
	color: var(--vf-night);
	background: var(--vf-copper);
	border-radius: 3px;
	box-shadow: none;
}
.vf-brand-wordmark { display: grid; line-height: 1.1; }
.vf-brand-wordmark strong { font-size: .94rem; letter-spacing: -.025em; }
.vf-brand-wordmark small { margin-top: .21rem; color: #60747b; font-size: .58rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.vf-menu { gap: 1.18rem; }
.vf-menu a { color: #43575c; font-size: .86rem; font-weight: 700; }
.vf-menu a:hover, .vf-menu .current-menu-item > a { color: #0e6d70; }
.vf-menu > li:last-child > a {
	min-height: 36px;
	padding: 0 .92rem;
	color: var(--vf-canvas);
	background: var(--vf-night);
	border-radius: 3px;
}
.vf-menu > li:last-child > a:hover { color: white; background: #18535a; }

.vf-premium-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: #e3ecea;
	background: var(--vf-night);
	border-bottom: 1px solid #365057;
}
.vf-premium-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(circle at 78% 45%, rgba(70, 132, 131, .2), transparent 36%),
	linear-gradient(90deg, transparent 97%, rgba(255,255,255,.045) 98%);
	background-size: auto, 58px 58px;
	content: "";
}
.vf-premium-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(370px, .9fr);
	align-items: center;
	gap: clamp(2.5rem, 5.5vw, 6.5rem);
	padding-top: clamp(4.3rem, 7vw, 7.25rem);
	padding-bottom: clamp(4.3rem, 7vw, 7.25rem);
}
.vf-premium-kicker {
	margin: 0 0 1.3rem;
	color: #648985;
	font-size: .68rem;
	font-weight: 850;
	letter-spacing: .2em;
	line-height: 1.5;
	text-transform: uppercase;
}
.vf-premium-hero .vf-premium-kicker,
.vf-final-section .vf-premium-kicker { color: var(--vf-copper); }
.vf-kicker-line { display: inline-block; width: 24px; height: 1px; margin: 0 .5rem .25rem 0; background: currentColor; }
.vf-premium-hero h1 {
	max-width: 720px;
	margin: 0;
	color: #f7f7f1;
	font-size: clamp(3.1rem, 5.2vw, 6rem);
	font-weight: 650;
	letter-spacing: -.066em;
	line-height: 1.035;
}
.vf-premium-hero h1 em,
.vf-final-aside em {
	color: var(--vf-copper);
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 400;
	letter-spacing: -.07em;
}
.vf-premium-lede {
	max-width: 610px;
	margin: 1.7rem 0 0;
	color: #b8c8c8;
	font-size: clamp(1.05rem, 1.4vw, 1.22rem);
	line-height: 1.65;
}
.vf-premium-hero .vf-button-row { align-items: center; gap: 1.65rem; margin-top: 2.25rem; }
.vf-button.vf-button-premium {
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 52px;
	padding: .85rem 1.1rem;
	color: var(--vf-night);
	background: var(--vf-copper);
	border: 1px solid var(--vf-copper);
	border-radius: 3px;
	box-shadow: none;
	font-size: .9rem;
	font-weight: 800;
}
.vf-button.vf-button-premium:hover { color: var(--vf-night); background: #e0bd90; box-shadow: 0 10px 26px rgba(0,0,0,.12); }
.vf-button-premium span { font-size: 1.12rem; font-weight: 400; }
.vf-premium-text-link {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	color: #e9f1ed;
	font-size: .87rem;
	font-weight: 750;
	text-decoration: none;
	border-bottom: 1px solid rgba(233,241,237,.5);
	padding-bottom: .25rem;
}
.vf-premium-text-link:hover { color: var(--vf-copper); border-color: var(--vf-copper); }
.vf-link-dark { color: var(--vf-night); border-color: #748889; }
.vf-link-dark:hover { color: #0e6d70; border-color: #0e6d70; }
.vf-hero-facts { display: flex; flex-wrap: wrap; gap: .8rem 1.15rem; margin-top: 3.1rem; padding-top: 1rem; border-top: 1px solid #385159; }
.vf-hero-facts span { color: #a8bdbb; font-size: .77rem; white-space: nowrap; }
.vf-hero-facts strong { margin-right: .32rem; color: #f4f4ec; font-size: .88rem; }

.vf-decision-preview {
	position: relative;
	padding: clamp(1.35rem, 2.3vw, 2.2rem);
	color: #c7d6d2;
	background: #142b32;
	border: 1px solid #46626a;
	box-shadow: 20px 22px 0 rgba(3, 11, 16, .27), 0 22px 70px rgba(0,0,0,.18);
}
.vf-decision-preview::before { position: absolute; top: 0; left: 0; width: 42%; height: 3px; background: var(--vf-copper); content: ""; }
.vf-preview-topline, .vf-preview-heading, .vf-sheet-rule { display: flex; justify-content: space-between; gap: 1rem; }
.vf-preview-topline { align-items: center; color: #9eb3b3; font-size: .57rem; font-weight: 850; letter-spacing: .16em; }
.vf-preview-status { padding: .32rem .4rem; color: #d5bea0; border: 1px solid #7d6f5d; font-size: .5rem; white-space: nowrap; }
.vf-preview-heading { align-items: end; margin-top: 2rem; border-bottom: 1px solid #3e5960; }
.vf-preview-heading p { order: 2; color: #a4b8b8; font-size: .67rem; white-space: nowrap; }
.vf-preview-heading h2 { max-width: 230px; margin-bottom: 1rem; color: #f3f5ee; font-size: 1.35rem; letter-spacing: -.04em; }
.vf-preview-total { display: grid; margin: 1.15rem 0 1.65rem; }
.vf-preview-total span { color: #a6bbbb; font-size: .72rem; }
.vf-preview-total strong { color: #f5f3eb; font-size: clamp(2.4rem, 3.8vw, 3.7rem); font-weight: 600; letter-spacing: -.06em; line-height: 1.1; }
.vf-preview-total small { color: var(--vf-sea); font-size: .74rem; }
.vf-preview-breakdown { display: grid; gap: .95rem; }
.vf-preview-breakdown > div { display: grid; grid-template-columns: 1fr auto; gap: .35rem; color: #c8d9d5; font-size: .7rem; }
.vf-preview-breakdown strong { color: #ebeee7; }
.vf-preview-breakdown i { grid-column: 1 / -1; height: 3px; background: linear-gradient(90deg, var(--vf-sea) var(--bar-width), #355058 var(--bar-width)); }
.vf-preview-decision { display: grid; gap: .3rem; margin-top: 1.9rem; padding: .9rem 1rem; background: #223e44; border-left: 2px solid var(--vf-copper); }
.vf-preview-decision span { color: var(--vf-copper); font-size: .55rem; font-weight: 850; letter-spacing: .16em; }
.vf-preview-decision p { margin: 0; color: #f1f4ec; font-size: .8rem; line-height: 1.45; }
.vf-preview-note { margin: 1.1rem 0 0; color: #8fa9a6; font-size: .63rem; }

.vf-premium-section { padding: clamp(4.5rem, 7vw, 7.6rem) 0; }
.vf-premium-section h2 { margin: 0 0 1.15rem; font-size: clamp(2.4rem, 4.3vw, 4.5rem); font-weight: 650; line-height: 1.07; }
.vf-premium-section p { line-height: 1.65; }
.vf-method-section { background: var(--vf-paper); }
.vf-section-heading { max-width: 750px; }
.vf-section-heading > p:last-child { max-width: 650px; color: #586c71; font-size: 1.08rem; }
.vf-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; margin-top: 3rem; border-top: 1px solid #bfcac5; }
.vf-method-grid article { padding: 1.8rem 2.5rem 0 0; }
.vf-method-grid article + article { padding-left: 2.5rem; border-left: 1px solid #bfcac5; }
.vf-step-number { color: #477d7b; font-size: .7rem; font-weight: 850; letter-spacing: .15em; }
.vf-method-grid h3 { margin: 2.2rem 0 .8rem; font-size: 1.47rem; font-weight: 700; }
.vf-method-grid p { max-width: 310px; margin: 0; color: #5e7072; font-size: .94rem; }

.vf-offer-section { color: #dce8e4; background: var(--vf-night-2); }
.vf-offer-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(350px,.85fr); align-items: center; gap: clamp(2.5rem, 7vw, 8rem); }
.vf-offer-section h2 { max-width: 650px; color: #f7f7f1; }
.vf-offer-lede { max-width: 550px; color: #b8c9c8; font-size: 1.1rem; }
.vf-offer-section .vf-premium-kicker { color: var(--vf-copper); }
.vf-offer-section .vf-link-dark { color: #e5eae3; border-color: #7e9694; }
.vf-offer-panel { padding: clamp(1.6rem, 3vw, 2.9rem); color: var(--vf-night); background: #f4f0e8; box-shadow: 17px 17px 0 #0b1c22; }
.vf-offer-panel-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #cbd1c9; }
.vf-offer-panel-head span { color: #4f7270; font-size: .63rem; font-weight: 850; letter-spacing: .17em; }
.vf-offer-panel-head strong { font-size: clamp(1.6rem, 2.6vw, 2.5rem); font-weight: 650; letter-spacing: -.05em; white-space: nowrap; }
.vf-offer-panel > p { margin: 1.2rem 0; color: #596a69; font-size: .87rem; }
.vf-offer-panel ul { margin: 0 0 1.8rem; padding: 0; list-style: none; }
.vf-offer-panel li { padding: .7rem 0; border-top: 1px solid #d7ddd5; font-size: .91rem; }
.vf-offer-panel li::before { content: "↗"; margin-right: .7rem; color: #247878; }
.vf-offer-panel .vf-button { width: 100%; }

.vf-sample-section { background: var(--vf-canvas); }
.vf-sample-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(360px,1fr); align-items: center; gap: clamp(2.5rem, 7vw, 8rem); }
.vf-sample-grid > div:first-child > p:not(.vf-premium-kicker) { max-width: 530px; color: #5d7072; font-size: 1.04rem; }
.vf-sample-sheet { padding: clamp(1.4rem, 3vw, 2.8rem); background: white; border: 1px solid #d1dad4; box-shadow: 18px 18px 0 #e0e5dd; }
.vf-sheet-rule { color: #5b7978; font-size: .64rem; font-weight: 850; letter-spacing: .15em; }
.vf-sheet-label { margin: 2.8rem 0 .6rem; color: #698782; font-size: .69rem; font-weight: 850; letter-spacing: .16em; }
.vf-sheet-row { display: grid; grid-template-columns: 35px 1fr; gap: .15rem .8rem; padding: 1rem 0; border-top: 1px solid #d9e0d9; }
.vf-sheet-row span { grid-row: span 2; color: #638a85; font-family: Georgia, serif; font-size: 1.15rem; }
.vf-sheet-row strong { color: var(--vf-night); font-size: .92rem; }
.vf-sheet-row small { color: #71817f; font-size: .75rem; }
.vf-sheet-bottom { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #d9e0d9; }

.vf-final-section { color: #dce8e4; background: var(--vf-night); }
.vf-final-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.65fr); align-items: center; gap: 3rem; }
.vf-final-section h2 { max-width: 680px; color: #f6f7f0; }
.vf-final-section p:not(.vf-premium-kicker):not(.vf-final-aside) { max-width: 620px; color: #afc3c1; }
.vf-final-aside { margin: 0; color: #f2f4ed; font-size: clamp(2rem, 3.5vw, 3.4rem); font-weight: 600; letter-spacing: -.055em; line-height: 1.14; }

/* Make the remaining diagnostic pages feel like part of the same product. */
.vf-page-hero { color: #cadbd6; background: var(--vf-night); border-bottom: 3px solid var(--vf-copper); }
.vf-page-hero h1 { max-width: 920px; color: #f7f7f1; font-size: clamp(2.8rem, 5vw, 5.3rem); font-weight: 650; letter-spacing: -.06em; }
.vf-page-hero .vf-section-intro { max-width: 730px; color: #b9cfca; }
.vf-page-hero .vf-eyebrow { color: var(--vf-copper); }
.vf-card { padding: 1.7rem; background: #fff; border-color: #d8dfd9; border-radius: 3px; box-shadow: none; }
.vf-card:hover { border-color: #8aaca5; box-shadow: 0 14px 35px rgba(17,44,49,.08); }
.vf-card h2, .vf-card h3 { letter-spacing: -.035em; }
.vf-section-soft { background: var(--vf-paper); }
.vf-site-footer { background: #101f25; }

@media (max-width: 1000px) {
	.vf-premium-hero-grid, .vf-offer-grid, .vf-sample-grid { grid-template-columns: 1fr; }
	.vf-decision-preview { max-width: 600px; }
	.vf-offer-panel { max-width: 610px; }
}
@media (max-width: 900px) {
	.vf-primary-nav { background: var(--vf-canvas); }
	.vf-menu > li:last-child > a { justify-content: center; margin-top: .5rem; }
	.vf-final-grid { grid-template-columns: 1fr; }
	.vf-final-aside { display: none; }
}
@media (max-width: 700px) {
	.vf-premium-hero-grid { padding-top: 3.7rem; padding-bottom: 4rem; }
	.vf-premium-hero h1 { font-size: clamp(2.85rem, 11vw, 4.2rem); }
	.vf-decision-preview { box-shadow: 10px 10px 0 rgba(3,11,16,.27); }
	.vf-method-grid { grid-template-columns: 1fr; margin-top: 2rem; }
	.vf-method-grid article, .vf-method-grid article + article { padding: 1.6rem 0; border-left: 0; border-bottom: 1px solid #bfcac5; }
	.vf-method-grid h3 { margin-top: 1rem; }
	.vf-sample-grid, .vf-offer-grid { gap: 2.2rem; }
	.vf-preview-heading { display: block; }
	.vf-preview-heading p { margin-bottom: .5rem; }
	.vf-preview-heading h2 { margin-bottom: .8rem; }
}
@media (max-width: 640px) {
	.vf-premium-hero .vf-button-row, .vf-final-section .vf-button-row { align-items: stretch; flex-direction: column; }
	.vf-premium-hero .vf-button, .vf-final-section .vf-button { width: 100%; }
	.vf-hero-facts { display: grid; grid-template-columns: 1fr 1fr; }
	.vf-hero-facts span:last-child { grid-column: 1 / -1; }
	.vf-premium-text-link { align-self: start; }
	.vf-sheet-row { grid-template-columns: 28px 1fr; }
}
