:root {
  --vt-site-width: 90rem;
  --vt-paper: #f5f4ee;
  --vt-paper-2: #edece3;
  --vt-ink: #17241f;
  --vt-soft: #4a5751;
  --vt-pine: #1f4a3c;
  --vt-pine-deep: #173a2f;
  --vt-mint: #9fd4b8;
  --vt-leaf: #59af31;
  --vt-night: #0e1b14;
  --vt-night-card: #16281c;
  --vt-line: #dcdccf;
  --vt-radius-lg: 1.625rem;
  --vt-radius: 1.125rem;
  --vt-shadow: 0 1.75rem 4rem -2.5rem rgba(23, 36, 31, .4);
}
* { box-sizing: border-box; }
html { max-width: 100%; scroll-behavior: smooth; }
body.vitatrack-bootstrap-theme { background: var(--vt-paper); color: var(--vt-ink); font-family: "Instrument Sans", system-ui, -apple-system, sans-serif; font-size: 1.0625rem; line-height: 1.65; margin: 0; max-width: 100%; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img, svg { display: block; height: auto; max-width: 100%; }
a { color: var(--vt-pine); }
a:hover { color: var(--vt-leaf); }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: .1875rem solid var(--vt-mint); outline-offset: .2rem; }
h1, h2, h3 { font-weight: 650; letter-spacing: -.028em; line-height: 1.06; text-wrap: balance; }
h1 em, h2 em { color: var(--vt-pine); font-style: normal; }
p { max-width: 65ch; }
.vt-container { margin-inline: auto; max-width: var(--vt-site-width); min-width: 0; padding-inline: 2rem; width: 100%; }
.screen-reader-text { border: 0; clip: rect(.0625rem, .0625rem, .0625rem, .0625rem); clip-path: inset(50%); height: .0625rem; margin: -.0625rem; overflow: hidden; padding: 0; position: absolute; width: .0625rem; word-wrap: normal; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: var(--vt-ink); height: auto; left: 1rem; padding: .8rem 1rem; top: 1rem; width: auto; z-index: 10000; }

.site-header { color: #fff; left: 0; position: absolute; right: 0; top: 0; transition: background .25s, box-shadow .25s; z-index: 100; }
.site-header.is-scrolled { background: rgba(245, 244, 238, .94); box-shadow: 0 .0625rem 0 rgba(23,36,31,.08); color: var(--vt-ink); position: fixed; }
.site-header .navbar { min-height: 4.875rem; }
.navbar-brand { align-items: center; color: inherit; display: inline-flex; font-size: 1.45rem; font-weight: 700; gap: .65rem; text-decoration: none; }
.navbar-brand:hover { color: inherit; }
.custom-logo { height: 2.25rem; width: auto; }
.custom-logo-link { align-items: center; color: inherit; display: inline-flex; }
.vt-logo-mark { background: linear-gradient(145deg, var(--vt-leaf), var(--vt-pine)); border-radius: .65rem; color: #fff; display: grid; height: 2.25rem; place-items: center; width: 2.25rem; }
.site-header .nav-link { color: inherit; font-size: .92rem; font-weight: 600; }
.site-header .nav-link:hover, .site-header .current-menu-item > .nav-link { color: var(--vt-mint); }
.site-header.is-scrolled .nav-link:hover { color: var(--vt-pine); }
.navbar-toggler { background: var(--vt-paper); border-color: rgba(255,255,255,.4); }
.vt-language { margin-left: 1.25rem; }
.vt-language ul { display: flex; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.vt-language a { border: .0625rem solid currentColor; border-radius: 999px; color: inherit; display: block; font-size: .72rem; padding: .25rem .55rem; text-decoration: none; }
.vt-language a[aria-current="page"] { background: var(--vt-paper); border-color: var(--vt-pine-deep); color: var(--vt-pine-deep); }

.vt-hero { align-items: center; color: #fff; display: flex; min-height: 52rem; overflow: hidden; padding: 8.5rem 0 5rem; position: relative; }
.vt-hero-art { inset: 0; position: absolute; }
.vt-hero-art::after { background: linear-gradient(110deg, rgba(8,25,17,.75), rgba(14,27,20,.12) 65%), linear-gradient(180deg, rgba(14,27,20,.12), rgba(14,27,20,.72)); content: ""; inset: 0; position: absolute; }
.vt-hero-art svg { height: 100%; object-fit: cover; width: 100%; }
.hero-grid { align-items: center; display: grid; gap: 4rem; grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr); position: relative; }
.hero-copy, .score-card, .section-copy, .data-stack, .experiment-card { min-width: 0; }
.eyebrow { color: var(--vt-pine); font-size: .72rem; font-weight: 700; letter-spacing: .16em; margin-bottom: 1rem; text-transform: uppercase; }
.vt-hero .eyebrow, .section-night .eyebrow { color: var(--vt-mint); }
.vt-hero h1 { font-size: clamp(2.8rem, 5.8vw, 5rem); max-width: 14ch; text-shadow: 0 .15rem 2rem rgba(0,0,0,.3); }
.vt-hero h1 em, .final-cta h2 em { color: #7ed75d; }
.hero-lede { color: rgba(255,255,255,.88); font-size: 1.16rem; margin-top: 1.5rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.vt-button { align-items: center; background: var(--vt-pine); border: .0625rem solid transparent; border-radius: 999px; color: #fff; display: inline-flex; font-size: .94rem; font-weight: 700; gap: .5rem; justify-content: center; padding: .85rem 1.5rem; text-decoration: none; transition: transform .2s, background .2s; }
.vt-button:hover { background: var(--vt-pine-deep); color: #fff; transform: translateY(-.125rem); }
.vt-button-accent { background: linear-gradient(135deg, var(--vt-leaf), #00833a); }
.vt-button-glass { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); backdrop-filter: blur(.5rem); }
.placeholder-gated { border-left: .2rem solid var(--vt-mint); color: inherit; font-size: .88rem; margin-top: 1.25rem; padding-left: .8rem; }
.score-card { background: rgba(255,255,255,.1); border: .0625rem solid rgba(255,255,255,.24); border-radius: var(--vt-radius-lg); box-shadow: 0 2rem 5rem -2rem rgba(0,0,0,.7); padding: 1.7rem; backdrop-filter: blur(1.25rem); }
.score-head, .metric { align-items: center; display: flex; justify-content: space-between; }
.score-head { font-size: .82rem; font-weight: 700; }
.example-label { border: .0625rem solid rgba(159,212,184,.5); border-radius: 999px; color: var(--vt-mint); font-size: .67rem; letter-spacing: .08em; padding: .25rem .55rem; text-transform: uppercase; }
.score-value { font-size: 4rem; font-weight: 650; line-height: 1; margin-top: 1.5rem; }
.score-value small { color: rgba(255,255,255,.5); font-size: 1rem; }
.score-card p { color: rgba(255,255,255,.7); font-size: .86rem; }
.metric { border-top: .0625rem solid rgba(255,255,255,.14); font-size: .82rem; padding-block: .55rem; }

.integration-strip { background: var(--vt-paper); padding-block: 2.6rem; text-align: center; }
.integration-strip .eyebrow { color: #4a5751; }
.integration-list { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; }
.integration-list span { background: #fff; border: .0625rem solid var(--vt-line); border-radius: 999px; font-size: .84rem; font-weight: 650; padding: .55rem 1rem; }
.microcopy { color: var(--vt-soft); font-size: .76rem; margin: 1rem auto 0; }
.section { padding-block: 6.75rem; }
.section-muted { background: var(--vt-paper-2); }
.section-night { background: var(--vt-night); color: #eaf1ea; overflow: hidden; }
.section-night h2 em { color: var(--vt-mint); }
.split-grid { align-items: center; display: grid; gap: 4.5rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.section-copy h2, .section-head h2 { font-size: clamp(2.25rem, 4vw, 3.65rem); max-width: 19ch; }
.section-copy > p:not(.eyebrow), .section-head > p:not(.eyebrow) { color: var(--vt-soft); font-size: 1.06rem; }
.section-night .section-head > p:not(.eyebrow) { color: #9db3a3; }
.info-note { background: linear-gradient(135deg, #fff, #eff5ea); border: .0625rem solid #d9e7d2; border-radius: var(--vt-radius); color: var(--vt-soft); margin-top: 1.75rem; padding: 1.1rem 1.3rem; }
.info-note strong { color: var(--vt-ink); }
.data-stack { display: grid; gap: .7rem; }
.source-card { align-items: center; background: #fff; border: .0625rem solid var(--vt-line); border-radius: .9rem; display: flex; font-weight: 700; justify-content: space-between; padding: .85rem 1.1rem; }
.source-card small { color: #89958d; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.summary-card { background: linear-gradient(155deg, #12241b, #1b3a2c); border: .0625rem solid #2c5040; border-radius: var(--vt-radius-lg); box-shadow: var(--vt-shadow); color: #fff; margin-top: .5rem; padding: 1.8rem; }
.summary-card > span { font-size: .86rem; font-weight: 700; }
.summary-card b { display: block; font-size: 3.6rem; line-height: 1.1; margin-top: .5rem; }
.summary-card p { color: #bfd3c4; font-size: .84rem; }
.section-head { display: grid; gap: .65rem; margin-bottom: 3.5rem; }
.section-head.centered, .centered { justify-items: center; text-align: center; }
.section-head.centered h2, .section-head.centered p, .centered p { margin-inline: auto; }
.card-grid { display: grid; gap: 1.15rem; }
.card-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feature-card, .plan-card { background: #fff; border: .0625rem solid var(--vt-line); border-radius: var(--vt-radius); min-width: 0; padding: 1.5rem; }
.feature-card h3 { font-size: 1.55rem; margin-top: 1rem; }
.feature-card p { color: var(--vt-soft); font-size: .9rem; }
.feature-icon { background: linear-gradient(145deg, var(--vt-pine), #56886d); border-radius: .75rem; color: #fff; display: grid; font-weight: 700; height: 2.5rem; place-items: center; width: 2.5rem; }
.sparkline { background: linear-gradient(150deg, transparent 45%, #5f8c6c 46% 49%, transparent 50%); height: 3.5rem; margin-top: 1rem; opacity: .75; }
.experiment-card { background: #fff; border: .0625rem solid var(--vt-line); border-radius: var(--vt-radius-lg); box-shadow: var(--vt-shadow); padding: 2rem; }
.experiment-card .example-label { border-color: rgba(31,74,60,.25); color: var(--vt-pine); display: inline-block; }
.experiment-card h3 { font-size: 1.8rem; margin-top: 1.25rem; }
.compare-bars { display: grid; gap: 1rem; margin-top: 2rem; }
.compare-bars span { align-items: center; background: linear-gradient(90deg, var(--vt-mint) var(--value), var(--vt-paper-2) var(--value)); border-radius: .6rem; display: flex; font-size: .75rem; font-weight: 700; height: 2.3rem; padding-left: .7rem; }
.night-card { background: var(--vt-night-card); border: .0625rem solid #273d30; border-radius: var(--vt-radius); padding: 1.6rem; }
.night-card p { color: #9db3a3; font-size: .9rem; }
.text-link { color: var(--vt-mint); display: inline-block; margin-top: 2rem; }
.steps-grid { counter-reset: item; display: grid; gap: 1.1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.steps-grid li { background: #fff; border: .0625rem solid var(--vt-line); border-radius: var(--vt-radius); min-width: 0; padding: 1.8rem; }
.steps-grid li > span { background: rgba(31,74,60,.08); border-radius: 999px; color: var(--vt-pine); display: grid; font-size: .8rem; font-weight: 700; height: 2rem; place-items: center; width: 2rem; }
.steps-grid h3 { font-size: 1.35rem; margin-top: 1.5rem; }
.steps-grid p, .plan-card p { color: var(--vt-soft); font-size: .9rem; }
.plan-card .availability { color: var(--vt-pine); font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.faq-wrap { max-width: 52rem; }
.faq-wrap details { background: #fff; border: .0625rem solid var(--vt-line); border-radius: var(--vt-radius); margin-bottom: .75rem; overflow: hidden; }
.faq-wrap summary { align-items: center; cursor: pointer; display: flex; font-weight: 700; gap: 1rem; justify-content: space-between; list-style: none; padding: 1.2rem 1.4rem; }
.faq-wrap summary::-webkit-details-marker { display: none; }
.faq-wrap summary span { border: .0625rem solid rgba(31,74,60,.35); border-radius: 50%; display: grid; flex: 0 0 auto; height: 1.75rem; place-items: center; transition: transform .2s; width: 1.75rem; }
.faq-wrap details[open] summary span { transform: rotate(45deg); }
.faq-wrap details div { color: var(--vt-soft); padding: 0 1.4rem 1.2rem; }
.final-cta { background: radial-gradient(circle at 75% 15%, #315c3b, transparent 40%), var(--vt-night); color: #fff; padding-block: 8.5rem; }
.final-cta h2 { font-size: clamp(2.5rem, 5vw, 4.4rem); max-width: 18ch; }
.final-cta p { color: rgba(255,255,255,.76); }
.site-footer { background: var(--vt-night); color: #9db3a3; font-size: .88rem; padding: 4rem 0 2rem; }
.footer-grid { display: grid; gap: 2.5rem; grid-template-columns: 2fr 1fr 1fr; }
.footer-brand { color: #fff; font-size: 1.5rem; font-weight: 700; text-decoration: none; }
.site-footer ul { display: grid; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.site-footer a { color: #c5d4c8; }
.footer-contact { display: grid; gap: .5rem; align-content: start; }
.footer-bottom { border-top: .0625rem solid #1e3226; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin-top: 3rem; padding-top: 1.4rem; }

.content-shell { min-height: 60vh; padding-block: 8rem 5rem; }
.content-narrow { max-width: 52rem; }
.entry-header h1, .archive-header h1 { font-size: clamp(2.3rem, 4vw, 3.7rem); }
.entry-meta { color: var(--vt-soft); font-size: .84rem; }
.entry-content > * { max-width: 52rem; }
.entry-content > .vt-package-comparison,
.entry-content > .woocommerce { max-width: none; }
.entry-content > .alignwide { max-width: 72rem; }
.entry-content > .alignfull { margin-left: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.post-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-card { background: #fff; border: .0625rem solid var(--vt-line); border-radius: var(--vt-radius); min-width: 0; overflow: hidden; }
.post-card img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.post-card-body { padding: 1.25rem; }
.post-card h2 { font-size: 1.4rem; }
.post-card h2 a { color: var(--vt-ink); text-decoration: none; }
.error-page { text-align: center; }
.error-page p, .error-page form { margin-inline: auto; }

.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { background: var(--vt-pine) !important; border-radius: 999px !important; color: #fff !important; font-weight: 700 !important; padding: .8rem 1.25rem !important; }
.woocommerce .button:disabled, .woocommerce button.button:disabled, .woocommerce .button[aria-disabled="true"] { cursor: not-allowed; opacity: .58; }
.woocommerce form .form-row label { display: block; margin-bottom: .35rem; }
.woocommerce .quantity .qty, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { background: #fff; border: .0625rem solid #646b66; border-color: #646b66; border-radius: .65rem; min-height: 2.8rem; padding: .6rem .75rem; width: 100%; }
.woocommerce form .form-row [aria-invalid="true"] { border-color: #9b2c2c; box-shadow: 0 0 0 .125rem rgba(155, 44, 44, .18); }
.woocommerce .field-error { color: #7a1f1f; display: block; font-size: .82rem; font-weight: 650; margin-top: .3rem; }
.woocommerce-error a { color: #5d1717; font-weight: 700; }
.woocommerce-error a:focus-visible { outline-color: #5d1717; }
.woocommerce table.shop_table { background: #fff; border-color: var(--vt-line); border-radius: var(--vt-radius); overflow: hidden; table-layout: fixed; width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { overflow-wrap: anywhere; }
.woocommerce .quantity .qty { max-width: 4rem; width: 100%; }
.woocommerce-message, .woocommerce-info { background: #edf5ef; border-color: var(--vt-pine); color: var(--vt-ink); }
.woocommerce-error { background: #fff0f0; border-color: #9b2c2c; color: #5d1717; }
.woocommerce-checkout-review-order, .cart_totals, .woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { min-width: 0; }

body.vitatrack-bootstrap-theme:not(.home) .site-header { background: var(--vt-night); position: relative; }
body.vitatrack-bootstrap-theme:not(.home) .site-header.is-scrolled { background: rgba(245, 244, 238, .94); color: var(--vt-ink); position: fixed; }
.preview-product { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(14rem, .8fr) minmax(0, 1.2fr); }
.preview-product-art { align-items: center; aspect-ratio: 1; background: linear-gradient(145deg, var(--vt-pine), var(--vt-leaf)); border-radius: var(--vt-radius-lg); color: #fff; display: flex; font-size: clamp(3rem, 10vw, 8rem); font-weight: 700; justify-content: center; max-width: 28rem; width: 100%; }
.preview-products { list-style: none; margin-top: 2.5rem; padding: 0; }
.preview-products .product { background: #fff; border: .0625rem solid var(--vt-line); border-radius: var(--vt-radius); max-width: 34rem; padding: 1.5rem; }
.preview-empty { text-align: center; }
.preview-empty > * { margin-inline: auto; }
.woocommerce-checkout form.checkout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); }
.woocommerce-checkout form.checkout > div { background: #fff; border: .0625rem solid var(--vt-line); border-radius: var(--vt-radius); min-width: 0; padding: 1.5rem; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 1.5rem; }
.woocommerce-checkout .vt-checkout-summary { align-self: start; }
.woocommerce-checkout .vt-checkout-summary #order_review { background: transparent; border: 0; padding: 0; }
.woocommerce-checkout form.checkout > div { align-self: start; }
.woocommerce-checkout #order_review .shop_table th:first-child,
.woocommerce-checkout #order_review .shop_table td:first-child { width: 65%; }
.woocommerce-checkout #order_review .shop_table th:last-child,
.woocommerce-checkout #order_review .shop_table td:last-child { width: 35%; }
.woocommerce .shop_table dl.variation dt,
.woocommerce .shop_table dl.variation dd { display: block; float: none; margin: 0; }

.reveal { opacity: 0; transform: translateY(1.5rem); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 991.98px) {
  .site-header .navbar-collapse { background: var(--vt-paper); border-radius: var(--vt-radius); color: var(--vt-ink); margin-top: .5rem; padding: 1rem; }
  .vt-language { margin: .75rem 0 0; }
  .hero-grid, .split-grid { grid-template-columns: 1fr; }
  .vt-hero { min-height: auto; }
  .score-card { max-width: 25rem; }
  .card-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  body.vitatrack-bootstrap-theme { font-size: 1rem; }
  .vt-container { padding-inline: 1.25rem; }
  .section { padding-block: 4.5rem; }
  .vt-hero { padding: 6rem 0 2.75rem; }
  .hero-grid { gap: 1.75rem; }
  .vt-hero h1 { font-size: clamp(2.35rem, calc(9vw + .55rem), 3.6rem); }
  .score-card { padding: 1.15rem; }
  .score-value { font-size: 3rem; margin-top: .75rem; }
  .score-card p { margin-bottom: .65rem; }
  .metric { padding-block: .35rem; }
  .hero-actions, .hero-actions .vt-button { width: 100%; }
  .card-grid.four, .card-grid.three, .steps-grid, .post-grid, .footer-grid { grid-template-columns: 1fr; }
  .source-card { align-items: flex-start; flex-direction: column; }
  .preview-product { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .woocommerce table.shop_table_responsive thead { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
  .woocommerce table.shop_table_responsive tbody, .woocommerce table.shop_table_responsive tr, .woocommerce table.shop_table_responsive td { display: block; width: 100%; }
  .woocommerce table.shop_table_responsive tr { border-bottom: .0625rem solid var(--vt-line); padding: .6rem; }
  .woocommerce table.shop_table_responsive tr td { align-items: center; border: 0; display: flex; gap: 1rem; justify-content: space-between; overflow-wrap: anywhere; padding: .55rem; text-align: right; }
  .woocommerce table.shop_table_responsive tr td::before { content: attr(data-title); flex: 0 0 40%; font-weight: 700; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .vt-button:hover { transform: none; }
}
