:root {
	--vsf-ink: #111310;
	--vsf-ink-soft: #1a1d19;
	--vsf-paper: #f3f0e9;
	--vsf-paper-deep: #e8e3d8;
	--vsf-gold: #b69254;
	--vsf-gold-light: #d7bc83;
	--vsf-line: rgba(255, 255, 255, .13);
	--vsf-muted: #abaea6;
	--vsf-max: 1240px;
	--vsf-radius: 22px;
}
html { scroll-behavior: smooth; }
body {
	background: var(--vsf-paper);
	color: var(--vsf-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}
body, .wp-site-blocks { margin: 0; }
.wp-site-blocks { overflow: clip; }
a { color: inherit; }
.vsf-shell { width: min(calc(100% - 40px), var(--vsf-max)); margin-inline: auto; }
.vsf-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	color: var(--vsf-gold-light);
	font-size: 12px;
	font-weight: 750;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.vsf-eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; }
.vsf-section-title { max-width: 760px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 4.5vw, 62px); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.vsf-section-copy { max-width: 680px; color: #62675f; font-size: 17px; line-height: 1.72; }
.vsf-kicker { margin: 0 0 8px; color: var(--vsf-gold); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.vsf-site-header {
	position: relative;
	z-index: 20;
	background: #0d0f0d;
	color: #f7f4ed;
	border-bottom: 1px solid var(--vsf-line);
}
.vsf-header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.vsf-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.vsf-brand-mark { position: relative; width: 31px; height: 31px; border: 1px solid var(--vsf-gold); border-radius: 50%; }
.vsf-brand-mark::before, .vsf-brand-mark::after { content: ""; position: absolute; inset: 6px 14px; background: var(--vsf-gold); }
.vsf-brand-mark::after { inset: 14px 6px; }
.vsf-brand-copy { display: grid; line-height: 1; }
.vsf-brand-copy strong { font-family: Georgia, serif; font-size: 17px; font-weight: 500; letter-spacing: .075em; }
.vsf-brand-copy small { margin-top: 5px; color: #9fa39c; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.vsf-nav { display: flex; align-items: center; gap: 28px; font-size: 13px; font-weight: 650; }
.vsf-nav a { color: #d8d9d4; text-decoration: none; transition: color .2s ease; }
.vsf-nav a:hover, .vsf-nav a:focus { color: #fff; }
.vsf-nav .vsf-nav-cta { padding: 11px 16px; border: 1px solid rgba(215,188,131,.45); border-radius: 999px; color: var(--vsf-gold-light); }

.vsf-hero { position: relative; overflow: hidden; background: #0d0f0d; color: #fff; }
.vsf-hero::before { content: ""; position: absolute; width: 620px; height: 620px; right: -200px; top: -260px; border-radius: 50%; background: rgba(182,146,84,.13); filter: blur(2px); }
.vsf-hero-grid { min-height: 690px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); align-items: center; gap: 70px; padding-block: 88px; }
.vsf-hero h1 { max-width: 760px; margin: 0 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(56px, 7.2vw, 102px); font-weight: 400; line-height: .94; letter-spacing: -.055em; }
.vsf-hero h1 em { color: var(--vsf-gold-light); font-weight: 400; }
.vsf-hero-copy { max-width: 650px; color: #b7bbb4; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.65; }
.vsf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.vsf-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; background: var(--vsf-gold-light); color: #111310; font-size: 13px; font-weight: 800; letter-spacing: .025em; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.vsf-button:hover { transform: translateY(-2px); background: #e3cb99; }
.vsf-button--ghost { border-color: rgba(255,255,255,.22); background: transparent; color: #fff; }
.vsf-button--dark { background: #151714; color: #fff; }
.vsf-proofline { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 35px; padding: 0; color: #92978e; font-size: 12px; list-style: none; }
.vsf-proofline li::before { content: "✓"; margin-right: 7px; color: var(--vsf-gold-light); }
.vsf-watch-stage { position: relative; min-height: 510px; display: grid; place-items: center; }
.vsf-orbit { position: absolute; width: 450px; aspect-ratio: 1; border: 1px solid rgba(215,188,131,.2); border-radius: 50%; }
.vsf-orbit::before { content: ""; position: absolute; inset: 55px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.vsf-watch { position: relative; width: 270px; height: 400px; transform: rotate(-13deg); filter: drop-shadow(0 35px 35px rgba(0,0,0,.48)); }
.vsf-watch::before, .vsf-watch::after { content: ""; position: absolute; left: 87px; width: 96px; height: 120px; border: 2px solid #686c68; background: linear-gradient(90deg,#262925 0 18%,#b4b7b1 19% 22%,#363a36 23% 77%,#b4b7b1 78% 81%,#262925 82%); }
.vsf-watch::before { top: 0; border-radius: 14px 14px 4px 4px; }
.vsf-watch::after { bottom: 0; border-radius: 4px 4px 14px 14px; }
.vsf-watch-face { position: absolute; z-index: 2; top: 85px; left: 12px; width: 242px; aspect-ratio: 1; border: 12px solid #90948f; border-radius: 50%; background: radial-gradient(circle at 42% 35%,#252923 0,#11130f 42%,#030403 74%); box-shadow: inset 0 0 0 8px #050605, inset 0 0 0 10px #b69254, 0 0 0 3px #252724; }
.vsf-watch-face::before { content: "VSF"; position: absolute; top: 51px; left: 0; right: 0; color: #d8d4ca; font-family: Georgia, serif; font-size: 17px; letter-spacing: .18em; text-align: center; }
.vsf-watch-face::after { content: ""; position: absolute; left: 116px; top: 111px; width: 5px; height: 76px; border-radius: 5px; background: linear-gradient(#d9bb80 0 62%, transparent 63%); transform-origin: 50% 7px; transform: rotate(48deg); box-shadow: 0 -55px 0 -1px #d9bb80; }
.vsf-watch-index { position: absolute; inset: 16px; border-radius: 50%; background: repeating-conic-gradient(from -2deg, #d9bb80 0deg 1.3deg, transparent 1.3deg 30deg); -webkit-mask: radial-gradient(transparent 0 75%,#000 76%); mask: radial-gradient(transparent 0 75%,#000 76%); }
.vsf-watch-hand { position: absolute; z-index: 3; left: 117px; top: 117px; width: 74px; height: 5px; border-radius: 5px; background: #e6e3da; transform-origin: 4px 50%; transform: rotate(160deg); }
.vsf-watch-hand::after { content: ""; position: absolute; left: 0; top: -4px; width: 13px; height: 13px; border-radius: 50%; background: var(--vsf-gold-light); }
.vsf-stage-note { position: absolute; right: -12px; bottom: 58px; max-width: 170px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(20,22,19,.82); backdrop-filter: blur(10px); color: #d5d7d1; font-size: 11px; line-height: 1.55; }
.vsf-stage-note strong { display: block; color: var(--vsf-gold-light); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

.vsf-metrics { background: #171a16; color: #fff; }
.vsf-metrics-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.vsf-metric { padding: 25px 24px; border-left: 1px solid var(--vsf-line); }
.vsf-metric:last-child { border-right: 1px solid var(--vsf-line); }
.vsf-metric strong { display: block; color: #fff; font-family: Georgia,serif; font-size: 24px; font-weight: 400; }
.vsf-metric span { color: #959a92; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }

.vsf-section { padding-block: 105px; }
.vsf-section--dark { background: #111310; color: #fff; }
.vsf-section--stone { background: #e9e4d9; }
.vsf-section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 44px; }
.vsf-text-link { color: var(--vsf-gold); font-size: 13px; font-weight: 800; text-decoration: none; }
.vsf-text-link::after { content: " →"; }
.vsf-collection-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.vsf-collection { min-height: 310px; display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; border: 1px solid rgba(17,19,16,.09); border-radius: var(--vsf-radius); background: linear-gradient(160deg,rgba(255,255,255,.85),rgba(217,210,195,.7)); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.vsf-collection:hover { transform: translateY(-5px); box-shadow: 0 22px 45px rgba(36,32,24,.1); }
.vsf-collection:nth-child(2) { background: linear-gradient(160deg,#293029,#111510); color: #fff; }
.vsf-collection:nth-child(3) { background: linear-gradient(160deg,#d7c5a2,#a88e60); }
.vsf-collection:nth-child(4) { background: linear-gradient(160deg,#d7dadd,#8e9699); }
.vsf-collection-icon { width: 95px; height: 95px; margin: 4px auto auto; border: 9px solid currentColor; border-radius: 50%; opacity: .27; box-shadow: inset 0 0 0 2px currentColor; }
.vsf-collection small { opacity: .65; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.vsf-collection h3 { margin: 8px 0 0; font-family: Georgia,serif; font-size: 28px; font-weight: 400; }

.wp-block-post-template { padding: 0; list-style: none; }
.vsf-product-grid .wp-block-post-template { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.vsf-product-grid .wp-block-post { min-width: 0; overflow: hidden; border: 1px solid #d9d3c7; border-radius: 18px; background: #faf8f3; }
.vsf-product-grid .wp-block-post::before { content: "CURRENT REFERENCE"; display: grid; min-height: 210px; place-items: end start; padding: 18px; background: radial-gradient(circle at 50% 45%,transparent 0 54px,#9a9e99 55px 61px,transparent 62px), radial-gradient(circle at 50% 45%,#181b17 0 52px,transparent 53px), linear-gradient(145deg,#e6e2d8,#c2bbb0); color: #5f635d; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.vsf-product-grid .wp-block-post-title { margin: 21px 20px 10px; font-family: Georgia,serif; font-size: 21px; font-weight: 400; line-height: 1.22; }
.vsf-product-grid .wp-block-post-title a { text-decoration: none; }
.vsf-product-grid .wp-block-post-excerpt { margin: 0 20px 22px; color: #686c65; font-size: 13px; line-height: 1.6; }
.vsf-product-grid .wp-block-read-more { display: inline-flex; margin: 0 20px 22px; color: #765b2f; font-size: 12px; font-weight: 800; text-decoration: none; }

.vsf-process { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.vsf-steps { border-top: 1px solid rgba(255,255,255,.13); }
.vsf-step { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.vsf-step-number { color: var(--vsf-gold-light); font-family: Georgia,serif; font-size: 22px; }
.vsf-step h3 { margin: 0 0 7px; font-size: 17px; }
.vsf-step p { margin: 0; color: #989d95; font-size: 14px; line-height: 1.65; }

.vsf-answer-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.vsf-answer { padding: 26px; border: 1px solid #d4cec2; border-radius: 17px; background: rgba(255,255,255,.48); }
.vsf-answer h3 { margin: 0 0 10px; font-family: Georgia,serif; font-size: 21px; font-weight: 400; }
.vsf-answer p { margin: 0; color: #63675f; font-size: 14px; line-height: 1.65; }

.vsf-page-hero { padding: 86px 0 58px; background: #111310; color: #fff; }
.vsf-page-hero h1 { max-width: 900px; margin: 0; font-family: Georgia,serif; font-size: clamp(43px,6vw,76px); font-weight: 400; line-height: 1.02; letter-spacing: -.04em; }
.vsf-page-hero .wp-block-post-excerpt { max-width: 760px; margin-top: 20px; color: #afb3ac; font-size: 18px; line-height: 1.65; }
.vsf-content { width: min(calc(100% - 40px), 860px); margin-inline: auto; padding-block: 70px 100px; }
.vsf-content > * { max-width: 760px; margin-inline: auto; }
.vsf-content > .alignwide { max-width: 1040px; }
.vsf-content h2 { margin-top: 2.1em; font-family: Georgia,serif; font-size: clamp(30px,4vw,45px); font-weight: 400; letter-spacing: -.03em; }
.vsf-content h3 { margin-top: 1.7em; font-size: 21px; }
.vsf-content p, .vsf-content li { color: #454a43; font-size: 17px; line-height: 1.78; }
.vsf-content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.vsf-content th, .vsf-content td { padding: 14px; border-bottom: 1px solid #d7d1c5; text-align: left; }
.vsf-content th { color: #775e36; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.vsf-note { padding: 22px 24px; border-left: 3px solid var(--vsf-gold); background: #e9e3d7; color: #3c403a; }
.vsf-specs { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: 28px 0; overflow: hidden; border: 1px solid #d6d0c4; border-radius: 15px; background: #d6d0c4; }
.vsf-spec { padding: 18px 20px; background: #f7f4ed; }
.vsf-spec small { display: block; margin-bottom: 5px; color: #8b7145; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.vsf-spec strong { font-size: 15px; }
.vsf-product-visual { min-height: 340px; display: grid; place-items: center; margin: 0 0 38px; border-radius: 22px; background: radial-gradient(circle at 50% 48%,#1a1d18 0 91px,#c4a66c 92px 96px,#6f746e 97px 108px,transparent 109px), linear-gradient(145deg,#222620,#0b0d0b); color: #d5bc89; font-family: Georgia,serif; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.vsf-product-visual span { margin-top: 125px; }
.vsf-disclosure { padding: 18px 20px; border-radius: 12px; background: #eeeadf; color: #5b5f58; font-size: 13px !important; }
.vsf-cta-panel { max-width: 1040px !important; margin-top: 50px !important; padding: 38px; border-radius: 20px; background: #111310; color: #fff; }
.vsf-cta-panel h2 { margin-top: 0; color: #fff; }
.vsf-cta-panel p { color: #aeb2aa; }

.vsf-site-footer { background: #0c0e0c; color: #fff; }
.vsf-footer-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 70px; padding-block: 72px; }
.vsf-footer-intro { max-width: 470px; color: #92978f; font-size: 14px; line-height: 1.75; }
.vsf-footer-col strong { display: block; margin-bottom: 17px; color: var(--vsf-gold-light); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.vsf-footer-col a { display: block; margin: 10px 0; color: #c2c5be; font-size: 13px; text-decoration: none; }
.vsf-footer-bottom { padding-block: 22px; border-top: 1px solid var(--vsf-line); color: #747970; font-size: 11px; line-height: 1.6; }

@media (max-width: 980px) {
	.vsf-nav a:not(.vsf-nav-cta) { display: none; }
	.vsf-hero-grid { min-height: auto; grid-template-columns: 1fr; padding-block: 76px 40px; }
	.vsf-watch-stage { min-height: 410px; }
	.vsf-metrics-grid, .vsf-collection-grid, .vsf-product-grid .wp-block-post-template { grid-template-columns: repeat(2,1fr); }
	.vsf-process { grid-template-columns: 1fr; gap: 42px; }
	.vsf-answer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.vsf-shell { width: min(calc(100% - 28px), var(--vsf-max)); }
	.vsf-header-inner { min-height: 68px; }
	.vsf-brand-copy small { display: none; }
	.vsf-nav { gap: 10px; }
	.vsf-nav-cta { padding-inline: 13px !important; }
	.vsf-hero-grid { gap: 20px; padding-top: 58px; }
	.vsf-hero h1 { font-size: 54px; }
	.vsf-watch-stage { min-height: 360px; transform: scale(.82); margin: -25px -30px; }
	.vsf-stage-note { right: 15px; }
	.vsf-metrics-grid { grid-template-columns: repeat(2,1fr); }
	.vsf-metric:nth-child(3), .vsf-metric:nth-child(4) { border-top: 1px solid var(--vsf-line); }
	.vsf-section { padding-block: 74px; }
	.vsf-section-head { display: block; }
	.vsf-section-head .vsf-text-link { display: inline-block; margin-top: 20px; }
	.vsf-collection-grid, .vsf-product-grid .wp-block-post-template { grid-template-columns: 1fr; }
	.vsf-collection { min-height: 250px; }
	.vsf-footer-grid { grid-template-columns: 1fr; gap: 35px; }
	.vsf-specs { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; }
}

.vsf-reviewed { margin-top: 36px; padding: 12px 16px; border: 1px solid #d8d0c1; border-radius: 10px; color: #666b63 !important; background: #f8f5ee; font-size: 12px !important; line-height: 1.55 !important; }
.vsf-content .wp-block-table { overflow-x: auto; margin-block: 28px; }
.vsf-content .wp-block-table table { min-width: 680px; background: #f8f5ee; }
.vsf-content .wp-block-table tbody tr:hover { background: #eee8dc; }
.vsf-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 auto 28px; color: #777b73; font-size: 12px; }
.vsf-breadcrumbs a { color: #775e36; text-decoration: none; }
.vsf-related { max-width: 1040px !important; margin-top: 58px !important; padding: 30px 32px; border: 1px solid #d7d0c3; border-radius: 18px; background: #f3efe6; }
.vsf-related h2 { margin: 4px 0 18px; font-size: clamp(27px,3vw,36px); }
.vsf-related ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 28px; margin: 0; padding-left: 20px; }
.vsf-related li { font-size: 14px; line-height: 1.5; }
.vsf-related a { color: #3e443d; text-decoration-color: #b79b66; text-underline-offset: 3px; }
.vsf-archive-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 45px; padding-top: 28px; border-top: 1px solid #d2cbbf; }
.vsf-archive-links a { padding: 10px 14px; border: 1px solid #c9c1b2; border-radius: 999px; color: #5c492b; font-size: 12px; font-weight: 800; text-decoration: none; }
@media (max-width: 640px) {
	.vsf-related ul { grid-template-columns: 1fr; }
}
