/*
Theme Name: Vintage Verdict
Theme URI: https://vintageverdict.com
Author: Vintage Verdict
Description: Custom neubrutalist theme for Vintage Verdict — research, valuation, and vintage insight. Built from the Vintage Verdict Claude Design project.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vintage-verdict
*/

/* ============ FONTS (self-hosted — no third-party requests) ============ */
@font-face {
  font-family: 'Archivo Black';
  src: url('assets/fonts/archivo-black-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Archivo';
  src: url('assets/fonts/archivo-variable.woff2') format('woff2');
  font-weight: 400 700; /* variable font covers the 400–700 range in one file */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Space Mono';
  src: url('assets/fonts/space-mono-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Space Mono';
  src: url('assets/fonts/space-mono-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ============ TOKENS ============ */
:root {
  --vv-cream: #F5EDDC;
  --vv-paper: #FBF6EA;
  --vv-ink: #201B14;
  --vv-orange: #D8552E;
  --vv-orange-dark: #B8431F;
  --vv-gold: #E9A63B;
  --vv-green: #33695C;
  --vv-muted: #7A6E58;
  --vv-stripe: #EFE3C8;
  --vv-display: 'Archivo Black', sans-serif;
  --vv-body: 'Archivo', sans-serif;
  --vv-mono: 'Space Mono', monospace;
}

/* ============ BASE ============ */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--vv-body);
  background: var(--vv-cream);
  color: var(--vv-ink);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
a { color: var(--vv-orange); }
a:hover { color: var(--vv-orange-dark); }
::selection { background: var(--vv-gold); color: var(--vv-ink); }
img { max-width: 100%; }

.vv-site-main { flex: 1; }

/* Typography helpers */
.vv-display { font-family: var(--vv-display); }
.vv-mono { font-family: var(--vv-mono); }
.vv-kicker {
  font-family: var(--vv-mono);
  font-size: 12px;
  letter-spacing: 2px;
  margin-bottom: 12px;
  text-transform: uppercase;
}
h1.vv-h1 {
  font-family: var(--vv-display);
  font-size: clamp(36px, 4.5vw, 56px);
  margin: 0 0 16px;
  text-transform: uppercase;
  line-height: 1.02;
}
h2.vv-h2 {
  font-family: var(--vv-display);
  font-size: clamp(30px, 3.5vw, 44px);
  margin: 0;
  text-transform: uppercase;
}

/* Containers */
.vv-container { max-width: 1200px; margin: 0 auto; }
.vv-container--1100 { max-width: 1100px; }
.vv-container--1000 { max-width: 1000px; }
.vv-container--900 { max-width: 900px; }
.vv-container--820 { max-width: 820px; }
.vv-container--760 { max-width: 760px; }
.vv-container--620 { max-width: 620px; }

/* Cards + borders */
.vv-card {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
}
.vv-shadow-3 { box-shadow: 3px 3px 0 var(--vv-ink); }
.vv-shadow-4 { box-shadow: 4px 4px 0 var(--vv-ink); }
.vv-shadow-5 { box-shadow: 5px 5px 0 var(--vv-ink); }
.vv-shadow-6 { box-shadow: 6px 6px 0 var(--vv-ink); }
.vv-shadow-7 { box-shadow: 7px 7px 0 var(--vv-ink); }
.vv-shadow-8 { box-shadow: 8px 8px 0 var(--vv-ink); }
.vv-shadow-10 { box-shadow: 10px 10px 0 var(--vv-ink); }

/* ============ BUTTONS ============ */
.vv-btn {
  cursor: pointer;
  display: inline-block;
  font-family: var(--vv-display);
  border: 3px solid var(--vv-ink);
  text-decoration: none;
  text-align: center;
  line-height: normal;
  transition: transform .08s ease, box-shadow .08s ease;
}
a.vv-btn, a.vv-btn:hover { text-decoration: none; }

.vv-btn--orange { background: var(--vv-orange); color: var(--vv-cream); }
.vv-btn--orange:hover { color: var(--vv-cream); }
.vv-btn--gold { background: var(--vv-gold); color: var(--vv-ink); }
.vv-btn--gold:hover { color: var(--vv-ink); }
.vv-btn--cream { background: var(--vv-cream); color: var(--vv-ink); }
.vv-btn--cream:hover { color: var(--vv-ink); }
.vv-btn--dark { background: var(--vv-ink); color: var(--vv-cream); box-shadow: 4px 4px 0 var(--vv-cream); }
.vv-btn--dark:hover { color: var(--vv-cream); transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--vv-cream); }

/* Size variants */
.vv-btn--lg { font-size: 17px; padding: 16px 28px; box-shadow: 6px 6px 0 var(--vv-ink); }
.vv-btn--lg:hover { transform: translate(3px,3px); box-shadow: 3px 3px 0 var(--vv-ink); }
.vv-btn--lg:active { transform: translate(6px,6px); box-shadow: 0 0 0 var(--vv-ink); }

.vv-btn--md { font-size: 15px; padding: 12px 22px; box-shadow: 5px 5px 0 var(--vv-ink); }
.vv-btn--md:hover { transform: translate(2px,2px); box-shadow: 3px 3px 0 var(--vv-ink); }

.vv-btn--nav { font-size: 14px; padding: 10px 20px; box-shadow: 4px 4px 0 var(--vv-ink); }
.vv-btn--nav:hover { transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--vv-ink); }
.vv-btn--nav:active { transform: translate(4px,4px); box-shadow: 0 0 0 var(--vv-ink); }

.vv-btn--dark.vv-btn--md { padding: 12px 20px; font-size: 14px; }

/* ============ TICKER ============ */
.vv-ticker {
  background: var(--vv-ink);
  color: var(--vv-cream);
  font-family: var(--vv-mono);
  font-size: 12px;
  letter-spacing: 1px;
  padding: 8px 24px;
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
}

/* ============ NAV ============ */
.vv-nav {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 16px 40px;
  border-bottom: 3px solid var(--vv-ink);
  background: var(--vv-cream);
  position: sticky;
  top: 0;
  z-index: 50;
  gap: 14px;
}
.vv-nav__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.vv-brand {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: var(--vv-ink);
}
.vv-brand:hover { color: var(--vv-ink); }
.vv-logo {
  border: 3px solid var(--vv-ink);
  background: var(--vv-orange);
  box-shadow: 3px 3px 0 var(--vv-ink);
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vv-logo__top {
  font-family: var(--vv-display);
  font-size: 12px;
  letter-spacing: 5px;
  color: var(--vv-cream);
  line-height: 1;
  padding: 6px 10px 5px;
  text-align: center;
}
.vv-logo__bottom {
  background: var(--vv-cream);
  border-top: 2px solid var(--vv-ink);
  padding: 3px 10px 4px;
  text-align: center;
}
.vv-logo__bottom span {
  font-family: var(--vv-display);
  font-size: 15px;
  letter-spacing: 4px;
  color: var(--vv-ink);
  line-height: 1;
  display: block;
}
.vv-brand__tag {
  font-family: var(--vv-mono);
  font-size: 10px;
  letter-spacing: 2px;
  line-height: 1.6;
  max-width: 140px;
}
.vv-nav__links { display: flex; align-items: center; gap: 28px; }
.vv-nav__link {
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  padding-bottom: 3px;
  border-bottom: 3px solid transparent;
  color: var(--vv-ink);
  text-decoration: none;
}
.vv-nav__link:hover { color: var(--vv-orange); }
.vv-nav__link--active { border-bottom-color: var(--vv-orange); }

/* Cart button in the nav */
.vv-cart-btn {
  cursor: pointer;
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  background: none;
  border: 0;
  color: var(--vv-ink);
  line-height: 0;
}
.vv-cart-btn:hover { opacity: .65; }
.vv-cart-btn:focus-visible { outline: 3px solid var(--vv-orange); outline-offset: 3px; }
.vv-cart-btn__badge {
  position: absolute;
  top: -11px;
  right: -11px;
  min-width: 23px;
  height: 23px;
  padding: 0 5px;
  border-radius: 50%;
  border: 2px solid var(--vv-ink);
  background: var(--vv-orange);
  color: var(--vv-cream);
  font-family: var(--vv-mono);
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vv-cart-btn__badge[hidden] { display: none; }

/* ============ CART DRAWER (site-wide) ============ */
body.vv-cart-open { overflow: hidden; }
.vv-cart {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  justify-content: flex-end;
}
.vv-cart[hidden] { display: none; }
.vv-cart__scrim {
  position: absolute;
  inset: 0;
  background: rgba(32, 27, 20, .62);
  opacity: 0;
  transition: opacity .18s ease;
}
.vv-cart.is-open .vv-cart__scrim { opacity: 1; }
.vv-cart__panel {
  position: relative;
  width: 100%;
  max-width: 430px;
  height: 100%;
  background: var(--vv-cream);
  border-left: 3px solid var(--vv-ink);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .18s ease;
}
.vv-cart.is-open .vv-cart__panel { transform: none; }
.vv-cart.is-busy .vv-cart__body { opacity: .5; }
.vv-cart__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 3px solid var(--vv-ink);
  background: var(--vv-ink);
  color: var(--vv-cream);
}
.vv-cart__title { font-family: var(--vv-display); font-size: 17px; letter-spacing: 1px; }
.vv-cart__close {
  cursor: pointer;
  font-family: var(--vv-mono);
  font-size: 12px;
  letter-spacing: 1.5px;
  border: 2px solid var(--vv-cream);
  background: none;
  color: var(--vv-cream);
  padding: 5px 10px;
}
.vv-cart__close:hover { background: var(--vv-orange); border-color: var(--vv-orange); }
.vv-cart__body { flex: 1; overflow-y: auto; padding: 20px 24px; transition: opacity .12s ease; }
.vv-cart__error {
  margin: 16px 24px 0;
  border: 3px solid var(--vv-ink);
  border-left-width: 10px;
  border-left-color: var(--vv-orange-dark);
  background: var(--vv-paper);
  padding: 12px 14px;
  font-size: 14px;
}
.vv-cart__empty { border: 3px dashed #B7AD98; padding: 28px 20px; }
.vv-cart__empty-title { font-family: var(--vv-display); font-size: 16px; margin-bottom: 8px; }
.vv-cart__empty-copy { font-size: 14px; line-height: 1.5; opacity: .75; margin: 0 0 16px; }
.vv-cart__empty-link { font-family: var(--vv-display); font-size: 13px; color: var(--vv-orange); text-decoration: none; }
.vv-cart__lines { display: flex; flex-direction: column; gap: 14px; }
.vv-cart__line { border: 3px solid var(--vv-ink); background: var(--vv-paper); padding: 14px 16px; }
.vv-cart__line-top { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.vv-cart__line-name { font-family: var(--vv-display); font-size: 14.5px; line-height: 1.2; }
.vv-cart__line-total { font-family: var(--vv-mono); font-size: 14px; font-weight: 700; flex: none; }
.vv-cart__line-variant {
  font-family: var(--vv-mono);
  font-size: 10.5px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  opacity: .6;
  margin: 6px 0 12px;
}
.vv-cart__line-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.vv-cart__drop {
  cursor: pointer;
  font-family: var(--vv-mono);
  font-size: 11px;
  letter-spacing: 1.2px;
  background: none;
  border: 0;
  color: var(--vv-ink);
  opacity: .6;
  padding: 0;
}
.vv-cart__drop:hover { color: #C0392B; opacity: 1; }
.vv-cart__foot { border-top: 3px solid var(--vv-ink); padding: 20px 24px; background: var(--vv-paper); }
.vv-cart__subtotal { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.vv-cart__subtotal-label { font-family: var(--vv-mono); font-size: 12px; letter-spacing: 2px; }
.vv-cart__subtotal-val { font-family: var(--vv-display); font-size: 22px; }
.vv-cart__note {
  font-family: var(--vv-mono);
  font-size: 10.5px;
  letter-spacing: 1.2px;
  opacity: .62;
  margin-bottom: 16px;
}
.vv-cart__checkout {
  display: block;
  cursor: pointer;
  width: 100%;
  font-family: var(--vv-display);
  font-size: 15px;
  text-align: left;
  text-decoration: none;
  background: var(--vv-ink);
  color: var(--vv-cream);
  border: 3px solid var(--vv-ink);
  padding: 14px 18px;
  box-shadow: 5px 5px 0 var(--vv-orange);
  transition: transform .08s ease, box-shadow .08s ease;
}
.vv-cart__checkout:hover {
  color: var(--vv-cream);
  transform: translate(2px, 2px);
  box-shadow: 3px 3px 0 var(--vv-orange);
}
.vv-cart__checkout--off { opacity: .4; pointer-events: none; }

/* Quantity stepper, shared by the drawer and the product page */
.vv-qty { display: flex; align-items: center; border: 3px solid var(--vv-ink); background: var(--vv-paper); }
.vv-qty__btn {
  cursor: pointer;
  width: 42px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vv-display);
  font-size: 18px;
  background: none;
  border: 0;
  color: var(--vv-ink);
}
.vv-qty__btn:first-child { border-right: 2px solid var(--vv-ink); }
.vv-qty__btn:last-child { border-left: 2px solid var(--vv-ink); }
.vv-qty__btn:hover { background: var(--vv-gold); }
.vv-qty__input,
.vv-qty__val {
  width: 50px;
  text-align: center;
  font-family: var(--vv-mono);
  font-size: 15px;
  font-weight: 700;
  border: 0;
  background: none;
  color: var(--vv-ink);
  padding: 0;
  -moz-appearance: textfield;
}
.vv-qty__input::-webkit-outer-spin-button,
.vv-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vv-qty--sm { border-width: 2px; }
.vv-qty--sm .vv-qty__btn { width: 32px; min-height: 30px; font-size: 15px; }
.vv-qty--sm .vv-qty__val { width: 36px; font-size: 13px; font-weight: 400; }

/* ============ SECTIONS ============ */
.vv-section { padding: 72px 40px; }
.vv-section--rule { border-bottom: 3px solid var(--vv-ink); }
.vv-section--green { background: var(--vv-green); }
.vv-section--gold { background: var(--vv-gold); }
.vv-section--dark { background: var(--vv-ink); }

/* ============ HERO (Home) ============ */
.vv-hero { border-bottom: 3px solid var(--vv-ink); background: var(--vv-cream); position: relative; overflow: hidden; }
.vv-hero__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 40px 72px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 48px;
  align-items: center;
}
.vv-hero__pill {
  display: inline-block;
  font-family: var(--vv-mono);
  font-size: 12px;
  letter-spacing: 2px;
  background: var(--vv-green);
  color: var(--vv-cream);
  border: 2px solid var(--vv-ink);
  padding: 6px 14px;
  margin-bottom: 24px;
}
.vv-hero__title {
  font-family: var(--vv-display);
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.02;
  margin: 0 0 24px;
  text-transform: uppercase;
}
.vv-hero__lede { font-size: 19px; line-height: 1.55; margin: 0 0 32px; max-width: 520px; }
.vv-hero__ctas { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.vv-hero__note { font-family: var(--vv-mono); font-size: 13px; margin-top: 24px; }
.vv-hero__figure { position: relative; display: flex; justify-content: center; }

/* Specimen (signed verdict) card */
.vv-specimen {
  width: 100%;
  max-width: 380px;
  background: var(--vv-paper);
  border: 3px solid var(--vv-ink);
  box-shadow: 10px 10px 0 var(--vv-gold), 10px 10px 0 3px var(--vv-ink);
  padding: 28px;
  transform: rotate(2deg);
}
.vv-specimen__head {
  font-family: var(--vv-mono);
  font-size: 11px;
  letter-spacing: 2px;
  border-bottom: 2px solid var(--vv-ink);
  padding-bottom: 10px;
  margin-bottom: 14px;
  display: flex;
  justify-content: space-between;
}
.vv-specimen__title { font-family: var(--vv-display); font-size: 19px; margin-bottom: 6px; }
.vv-specimen__serial { font-family: var(--vv-mono); font-size: 12px; margin-bottom: 16px; }
.vv-specimen__rows { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.vv-specimen__row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dashed var(--vv-ink);
  padding-bottom: 6px;
}
.vv-specimen__verdict {
  margin-top: 16px;
  background: var(--vv-orange);
  color: var(--vv-cream);
  border: 2px solid var(--vv-ink);
  font-family: var(--vv-display);
  font-size: 14px;
  padding: 8px 12px;
  text-align: center;
  text-transform: uppercase;
}
.vv-specimen__foot { margin-top: 18px; display: flex; justify-content: space-between; align-items: flex-end; }
.vv-specimen__foot-note { font-family: var(--vv-mono); font-size: 10px; }
.vv-signature {
  font-family: var(--vv-display);
  font-size: 16px;
  transform: rotate(-4deg);
  border-bottom: 2px solid var(--vv-ink);
  padding: 0 6px 2px;
  font-style: italic;
}
.vv-hero__stamp {
  position: absolute;
  top: -18px;
  right: 6px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: var(--vv-gold);
  border: 3px solid var(--vv-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--vv-display);
  font-size: 12px;
  line-height: 1.2;
  transform: rotate(10deg);
  box-shadow: 4px 4px 0 var(--vv-ink);
  padding: 10px;
}

/* ============ SECTION HEADERS ============ */
.vv-secthead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.vv-secthead .vv-h2--cream { color: var(--vv-cream); }
.vv-secthead__meta { font-family: var(--vv-mono); font-size: 13px; }
.vv-secthead__meta--cream { color: var(--vv-cream); }

/* ============ CATEGORY GRID (Home + footer of How) ============ */
.vv-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 20px; }
.vv-cat-card {
  cursor: pointer;
  background: var(--vv-paper);
  border: 3px solid var(--vv-ink);
  box-shadow: 6px 6px 0 var(--vv-ink);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 210px;
  color: var(--vv-ink);
  text-decoration: none;
  transition: transform .08s ease, box-shadow .08s ease, background .08s ease;
}
.vv-cat-card:hover {
  transform: translate(3px,3px);
  box-shadow: 3px 3px 0 var(--vv-ink);
  background: var(--vv-gold);
  color: var(--vv-ink);
}
.vv-cat-card__num {
  font-family: var(--vv-mono);
  font-size: 13px;
  border: 2px solid var(--vv-ink);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--vv-cream);
}
.vv-cat-card__name { font-family: var(--vv-display); font-size: 19px; line-height: 1.15; }
.vv-cat-card__desc { font-size: 14px; line-height: 1.4; flex: 1; }
.vv-cat-card__price { font-family: var(--vv-mono); font-size: 13px; font-weight: 700; }
.vv-cat-card__go { font-family: var(--vv-display); font-size: 14px; color: var(--vv-orange); }

/* ============ REPORT ITEMS (Home) ============ */
.vv-report { display: grid; grid-template-columns: 1fr 1.4fr; gap: 56px; align-items: start; }
.vv-report h2 {
  font-family: var(--vv-display);
  font-size: clamp(28px, 3vw, 40px);
  margin: 0 0 18px;
  text-transform: uppercase;
  line-height: 1.05;
}
.vv-report__intro p { font-size: 16px; line-height: 1.6; margin: 0 0 24px; }
.vv-report__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vv-report-item { border: 3px solid var(--vv-ink); background: var(--vv-paper); padding: 20px; box-shadow: 5px 5px 0 var(--vv-ink); }
.vv-report-item__tag { font-family: var(--vv-mono); font-size: 12px; color: var(--vv-orange); font-weight: 700; margin-bottom: 8px; }
.vv-report-item__title { font-family: var(--vv-display); font-size: 16px; margin-bottom: 6px; }
.vv-report-item__desc { font-size: 13.5px; line-height: 1.5; }

/* ============ BENCH CARDS (Home) ============ */
.vv-bench { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 32px; }
.vv-bench-card {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 7px 7px 0 var(--vv-ink);
  display: flex;
  flex-direction: column;
}
.vv-bench-card__img { height: 190px; border-bottom: 3px solid var(--vv-ink); background: var(--vv-paper); overflow: hidden; }
.vv-bench-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.vv-bench-card__img--top img { object-position: center 12%; }
.vv-bench-card__body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.vv-bench-card__title { font-family: var(--vv-display); font-size: 18px; }
.vv-bench-card__desc { font-size: 14px; line-height: 1.55; flex: 1; }
.vv-bench-card__tag {
  align-self: flex-start;
  background: var(--vv-ink);
  color: var(--vv-cream);
  font-family: var(--vv-display);
  font-size: 12px;
  padding: 6px 12px;
  text-transform: uppercase;
}

/* ============ GUIDES + CTA DUO (Home) ============ */
.vv-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.vv-duo__guides { border: 3px solid var(--vv-ink); background: var(--vv-paper); box-shadow: 7px 7px 0 var(--vv-ink); padding: 32px; }
.vv-duo__guides .vv-kicker { margin-bottom: 10px; }
.vv-duo__title { font-family: var(--vv-display); font-size: 24px; margin-bottom: 12px; line-height: 1.15; }
.vv-duo__guides p { font-size: 15px; line-height: 1.6; margin: 0; }
.vv-duo__cta {
  border: 3px solid var(--vv-ink);
  background: var(--vv-orange);
  color: var(--vv-cream);
  box-shadow: 7px 7px 0 var(--vv-ink);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
}

/* ============ HOW IT WORKS ============ */
.vv-page-hero { padding: 72px 40px 56px; border-bottom: 3px solid var(--vv-ink); }
.vv-page-hero p { font-size: 18px; line-height: 1.6; max-width: 640px; margin: 0; }
.vv-steps { display: flex; flex-direction: column; gap: 28px; }
.vv-step {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 28px;
  align-items: start;
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 6px 6px 0 var(--vv-ink);
  padding: 28px;
}
.vv-step__num {
  width: 72px;
  height: 72px;
  border: 3px solid var(--vv-ink);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vv-display);
  font-size: 26px;
}
.vv-step__num--1 { background: var(--vv-orange); color: var(--vv-cream); }
.vv-step__num--2 { background: var(--vv-gold); color: var(--vv-ink); }
.vv-step__num--3 { background: var(--vv-green); color: var(--vv-cream); }
.vv-step__num--4 { background: var(--vv-ink); color: var(--vv-cream); }
.vv-step__title { font-family: var(--vv-display); font-size: 22px; margin-bottom: 8px; }
.vv-step__desc { font-size: 15.5px; line-height: 1.6; }
.vv-step__meta { font-family: var(--vv-mono); font-size: 12px; margin-top: 12px; color: var(--vv-muted); }

/* Pricing */
.vv-pricing-head { font-family: var(--vv-display); font-size: clamp(28px, 3vw, 40px); color: var(--vv-cream); margin: 0 0 8px; text-transform: uppercase; }
.vv-pricing-meta { font-family: var(--vv-mono); font-size: 13px; color: var(--vv-cream); margin-bottom: 32px; }
.vv-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px; }
.vv-price-card {
  cursor: pointer;
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 5px 5px 0 var(--vv-ink);
  padding: 20px;
  color: var(--vv-ink);
  text-decoration: none;
  display: block;
  transition: transform .08s ease, box-shadow .08s ease, background .08s ease;
}
.vv-price-card:hover { transform: translate(2px,2px); box-shadow: 3px 3px 0 var(--vv-ink); background: var(--vv-gold); color: var(--vv-ink); }
.vv-price-card__name { font-family: var(--vv-display); font-size: 16px; line-height: 1.2; margin-bottom: 8px; }
.vv-price-card__price { font-family: var(--vv-mono); font-size: 20px; font-weight: 700; }
.vv-addon {
  margin-top: 28px;
  border: 3px solid var(--vv-ink);
  background: var(--vv-gold);
  box-shadow: 5px 5px 0 var(--vv-ink);
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.vv-addon__title { font-family: var(--vv-display); font-size: 18px; }
.vv-addon__desc { font-size: 14.5px; line-height: 1.5; margin-top: 4px; max-width: 560px; }

.vv-closing { padding: 64px 40px; text-align: center; }
.vv-closing__title { font-family: var(--vv-display); font-size: clamp(24px, 3vw, 36px); margin-bottom: 20px; text-transform: uppercase; }

/* ============ ABOUT ============ */
.vv-about-intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; }
.vv-about-intro h1 { font-family: var(--vv-display); font-size: clamp(34px, 4vw, 52px); margin: 0 0 20px; text-transform: uppercase; line-height: 1.05; }
.vv-about-intro p { font-size: 17px; line-height: 1.65; margin: 0 0 16px; }
.vv-about-intro p:last-child { margin-bottom: 0; }
.vv-figure { margin: 0; }
.vv-figure__frame { border: 3px solid var(--vv-ink); box-shadow: 8px 8px 0 var(--vv-ink); background: var(--vv-paper); overflow: hidden; }
.vv-figure__frame img { display: block; width: 100%; height: 440px; object-fit: cover; }
.vv-figure figcaption { font-family: var(--vv-mono); font-size: 12px; margin-top: 14px; line-height: 1.6; text-transform: uppercase; }
.vv-figure__placeholder {
  width: 100%;
  height: 440px;
  background: repeating-linear-gradient(45deg, var(--vv-cream), var(--vv-cream) 8px, var(--vv-stripe) 8px, var(--vv-stripe) 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vv-mono);
  font-size: 11px;
  color: var(--vv-muted);
  text-align: center;
}

.vv-expert {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 7px 7px 0 var(--vv-ink);
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  padding: 32px;
  align-items: center;
}
.vv-expert__portrait {
  width: 200px;
  height: 200px;
  border: 3px solid var(--vv-ink);
  border-radius: 50%;
  background: repeating-linear-gradient(45deg, var(--vv-cream), var(--vv-cream) 8px, var(--vv-stripe) 8px, var(--vv-stripe) 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vv-mono);
  font-size: 11px;
  color: var(--vv-muted);
  text-align: center;
  overflow: hidden;
}
.vv-expert__portrait img { width: 100%; height: 100%; object-fit: cover; }
.vv-expert__name { font-family: var(--vv-display); font-size: 24px; margin-bottom: 6px; }
.vv-expert__role { font-family: var(--vv-mono); font-size: 13px; color: var(--vv-orange); font-weight: 700; margin-bottom: 14px; }
.vv-expert p { font-size: 15.5px; line-height: 1.6; margin: 0 0 16px; }
.vv-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.vv-chip { border: 2px solid var(--vv-ink); background: var(--vv-cream); font-family: var(--vv-mono); font-size: 12px; padding: 6px 12px; }

.vv-notband { padding: 56px 40px; border-bottom: 3px solid var(--vv-ink); background: var(--vv-ink); }
.vv-notband__inner { color: var(--vv-cream); }
.vv-notband .vv-kicker { color: var(--vv-gold); }
.vv-notband__title { font-family: var(--vv-display); font-size: clamp(20px, 2.4vw, 30px); line-height: 1.25; text-transform: uppercase; }
.vv-notband p { font-size: 16px; line-height: 1.6; margin: 14px 0 0; opacity: .85; max-width: 640px; }

/* Sample doc (About) */
.vv-sample { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.vv-sample__wrap { display: flex; justify-content: center; }
.vv-doc {
  width: 100%;
  max-width: 400px;
  background: var(--vv-paper);
  border: 3px solid var(--vv-ink);
  box-shadow: 10px 10px 0 var(--vv-green), 10px 10px 0 3px var(--vv-ink);
  padding: 32px;
  transform: rotate(-1.5deg);
}
.vv-doc__head { text-align: center; border-bottom: 3px double var(--vv-ink); padding-bottom: 14px; margin-bottom: 18px; }
.vv-doc__brand { font-family: var(--vv-display); font-size: 18px; }
.vv-doc__sub { font-family: var(--vv-mono); font-size: 10px; letter-spacing: 2px; }
.vv-doc__rows { display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; }
.vv-doc__row { display: flex; justify-content: space-between; }
.vv-doc__label { font-family: var(--vv-mono); font-size: 11px; }
.vv-doc__safety { margin-top: 18px; border: 2px dashed var(--vv-ink); padding: 10px; font-size: 12px; line-height: 1.5; }
.vv-doc__foot { margin-top: 18px; display: flex; justify-content: space-between; align-items: flex-end; }
.vv-doc__stamp {
  width: 64px;
  height: 64px;
  border: 2px solid var(--vv-orange);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vv-mono);
  font-size: 9px;
  color: var(--vv-orange);
  text-align: center;
  transform: rotate(-12deg);
}
.vv-sample__copy h2 { font-family: var(--vv-display); font-size: clamp(26px, 3vw, 38px); margin: 0 0 16px; text-transform: uppercase; line-height: 1.1; }
.vv-sample__copy p { font-size: 16.5px; line-height: 1.65; margin: 0 0 24px; }
.vv-recommend--green { color: var(--vv-green); }

/* ============ DEPARTMENT ============ */
.vv-dept-hero { padding: 72px 40px 64px; border-bottom: 3px solid var(--vv-ink); background: var(--vv-green); }
.vv-dept-hero .vv-kicker { color: var(--vv-cream); margin-bottom: 16px; }
.vv-dept-hero h1 {
  font-family: var(--vv-display);
  font-size: clamp(32px, 4vw, 52px);
  color: var(--vv-cream);
  margin: 0 0 18px;
  text-transform: uppercase;
  line-height: 1.05;
}
.vv-dept-hero__meta { font-family: var(--vv-mono); font-size: 14px; color: var(--vv-cream); }
.vv-dept-how { border: 3px solid var(--vv-ink); background: var(--vv-paper); box-shadow: 6px 6px 0 var(--vv-ink); padding: 28px; }
.vv-dept-how__title { font-family: var(--vv-display); font-size: 20px; margin-bottom: 10px; }
.vv-dept-how__desc { font-size: 15.5px; line-height: 1.65; }
.vv-dept-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.vv-plan {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 7px 7px 0 var(--vv-ink);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
}
.vv-plan__flag {
  position: absolute;
  top: -16px;
  right: 18px;
  background: var(--vv-orange);
  color: var(--vv-cream);
  border: 2px solid var(--vv-ink);
  font-family: var(--vv-mono);
  font-size: 11px;
  letter-spacing: 1px;
  padding: 4px 10px;
}
.vv-plan__name { font-family: var(--vv-display); font-size: 20px; }
.vv-plan__price { font-family: var(--vv-display); font-size: 44px; }
.vv-plan__desc { font-size: 15px; line-height: 1.6; flex: 1; }
.vv-plan .vv-btn { align-self: flex-start; }

/* ============ INTAKE ============ */
.vv-intake-section { padding: 56px 24px 80px; }
.vv-intake-head h1 { font-family: var(--vv-display); font-size: clamp(32px, 4vw, 48px); margin: 0 0 10px; text-transform: uppercase; }
.vv-intake-head .vv-kicker { margin-bottom: 10px; }
.vv-intake-head p { font-size: 16px; line-height: 1.6; margin: 0 0 32px; }
.vv-intake-card {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 8px 8px 0 var(--vv-ink);
  padding: 36px;
}
.vv-error-banner {
  border: 3px solid var(--vv-ink);
  background: var(--vv-orange);
  color: var(--vv-cream);
  padding: 16px 20px;
  margin-bottom: 24px;
  font-weight: 600;
  box-shadow: 4px 4px 0 var(--vv-ink);
}

/* Confirmation */
.vv-confirm {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 10px 10px 0 var(--vv-green), 10px 10px 0 3px var(--vv-ink);
  padding: 48px;
  text-align: center;
}
.vv-confirm__check {
  width: 88px;
  height: 88px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: var(--vv-green);
  border: 3px solid var(--vv-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  color: var(--vv-cream);
}
.vv-confirm h1 { font-family: var(--vv-display); font-size: 32px; margin: 0 0 14px; text-transform: uppercase; }
.vv-confirm p { font-size: 16px; line-height: 1.65; margin: 0 0 12px; }
.vv-confirm__mono { font-family: var(--vv-mono); font-size: 13px; margin: 0 0 28px; }

/* ============ WPFORMS OVERRIDES (scoped to intake card) ============ */
.vv-intake-card .wpforms-container { margin: 0; }
.vv-intake-card .wpforms-form .wpforms-field { padding: 14px 0; }
.vv-intake-card .wpforms-form .wpforms-field-label {
  font-family: var(--vv-display);
  font-size: 14px;
  margin-bottom: 8px;
  color: var(--vv-ink);
}
.vv-intake-card .wpforms-form .wpforms-field-sublabel,
.vv-intake-card .wpforms-form .wpforms-field-description {
  font-size: 13px;
  color: var(--vv-muted);
}
.vv-intake-card .wpforms-form input[type=text],
.vv-intake-card .wpforms-form input[type=email],
.vv-intake-card .wpforms-form input[type=tel],
.vv-intake-card .wpforms-form select,
.vv-intake-card .wpforms-form textarea {
  width: 100%;
  max-width: 100%;
  border: 3px solid var(--vv-ink);
  border-radius: 0;
  background: var(--vv-cream);
  padding: 12px 14px;
  font-family: var(--vv-body);
  font-size: 15px;
  outline: none;
  height: auto;
  color: var(--vv-ink);
  box-shadow: none;
}
.vv-intake-card .wpforms-form input:focus,
.vv-intake-card .wpforms-form select:focus,
.vv-intake-card .wpforms-form textarea:focus {
  background: #FFFFFF;
  box-shadow: 3px 3px 0 var(--vv-gold);
  border-color: var(--vv-ink);
}
/* Goal picker: design's bordered button grid */
.vv-intake-card .wpforms-form .wpforms-field-radio ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.vv-intake-card .wpforms-form .wpforms-field-radio li {
  border: 3px solid var(--vv-ink);
  background: var(--vv-cream);
  box-shadow: 3px 3px 0 var(--vv-ink);
  margin: 0;
  transition: transform .08s ease, box-shadow .08s ease;
}
.vv-intake-card .wpforms-form .wpforms-field-radio li:hover {
  transform: translate(1px,1px);
  box-shadow: 2px 2px 0 var(--vv-ink);
}
.vv-intake-card .wpforms-form .wpforms-field-radio li label {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px 10px;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  width: 100%;
  margin: 0;
}
.vv-intake-card .wpforms-form .wpforms-field-radio li input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.vv-intake-card .wpforms-form .wpforms-field-radio li:has(input:checked) {
  background: var(--vv-ink);
}
.vv-intake-card .wpforms-form .wpforms-field-radio li:has(input:checked) label {
  color: var(--vv-cream);
}

/* Agreement: design's bordered agree row */
.vv-intake-card .wpforms-form .wpforms-field-checkbox ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.vv-intake-card .wpforms-form .wpforms-field-checkbox li {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 4px 4px 0 var(--vv-ink);
  padding: 16px 18px;
  margin: 0;
}
.vv-intake-card .wpforms-form .wpforms-field-checkbox li:has(input:checked) {
  background: rgba(51, 105, 92, 0.13);
}
.vv-intake-card .wpforms-form .wpforms-field-checkbox li label {
  font-size: 14.5px;
  font-weight: 600;
  cursor: pointer;
}
.vv-intake-card .wpforms-form button[type=submit],
.vv-intake-card .wpforms-form .wpforms-submit {
  cursor: pointer;
  font-family: var(--vv-display);
  font-size: 18px;
  height: auto;
  min-height: 0;
  white-space: normal;
  line-height: 1.35;
  background: var(--vv-orange) !important;
  color: var(--vv-cream) !important;
  border: 3px solid var(--vv-ink) !important;
  border-radius: 0;
  padding: 18px 28px;
  box-shadow: 6px 6px 0 var(--vv-ink);
  transition: transform .08s ease, box-shadow .08s ease;
  width: 100%;
}
.vv-intake-card .wpforms-form button[type=submit]:hover {
  transform: translate(3px,3px);
  box-shadow: 3px 3px 0 var(--vv-ink);
  background: var(--vv-orange) !important;
}
.vv-intake-card .wpforms-form .wpforms-error,
.vv-intake-card .wpforms-form label.wpforms-error {
  color: var(--vv-orange-dark);
  font-weight: 700;
  font-size: 13px;
}
.vv-intake-card .wpforms-form .wpforms-uploader,
.vv-intake-card .wpforms-form .wpforms-field-file-upload .dropzone {
  border: 3px dashed var(--vv-ink);
  border-radius: 0;
  background: var(--vv-cream);
}
.vv-intake-card .wpforms-form .wpforms-uploader:hover { background: var(--vv-gold); }
.vv-intake-card .wpforms-confirmation-container-full,
.vv-intake-card div[class*=wpforms-confirmation] {
  background: transparent;
  border: none;
  padding: 0;
}

/* ============ LEGAL / PRIVACY (generic page content) ============ */
.vv-legal-stack { display: flex; flex-direction: column; gap: 24px; }
.vv-legal-card {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 6px 6px 0 var(--vv-ink);
  padding: 28px;
}
.vv-legal-card--dark {
  background: var(--vv-ink);
  color: var(--vv-cream);
  box-shadow: 6px 6px 0 var(--vv-gold);
}
.vv-legal-card--dark a { color: var(--vv-gold); }
.vv-legal-card__title { font-family: var(--vv-display); font-size: 20px; margin-bottom: 14px; }
.vv-legal-card__body { font-size: 15px; line-height: 1.65; display: flex; flex-direction: column; gap: 12px; }
.vv-legal-card__body p { margin: 0; }
.vv-legal-card__body ul { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }
.vv-legal-card__subtitle { font-family: var(--vv-display); font-size: 16px; }
.vv-legal-intro p { font-size: 16.5px; line-height: 1.6; margin: 0; }

/* ============ FOOTER ============ */
.vv-footer {
  border-top: 3px solid var(--vv-ink);
  background: var(--vv-ink);
  color: var(--vv-cream);
  padding: 48px 40px 32px;
}
.vv-footer__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 40px;
}
.vv-footer .vv-logo { border-color: var(--vv-cream); box-shadow: none; display: inline-flex; margin-bottom: 12px; }
.vv-footer .vv-logo__top { font-size: 11px; }
.vv-footer .vv-logo__bottom { border-top: none; }
.vv-footer .vv-logo__bottom span { font-size: 14px; }
.vv-footer__tag { font-family: var(--vv-mono); font-size: 11px; letter-spacing: 2px; margin-bottom: 16px; }
.vv-footer__blurb { font-size: 13.5px; line-height: 1.6; opacity: .75; margin: 0; max-width: 380px; }
.vv-footer__heading { font-family: var(--vv-mono); font-size: 12px; letter-spacing: 2px; margin-bottom: 14px; color: var(--vv-gold); }
.vv-footer__links { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.vv-footer__links a { color: var(--vv-cream); opacity: .85; text-decoration: none; cursor: pointer; }
.vv-footer__links a:hover { color: var(--vv-gold); opacity: 1; }

/* ============ CATEGORY LINE ART ============ */
.vv-cat-card__art {
  border: 2px solid var(--vv-ink);
  background: var(--vv-cream);
  height: 130px;
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vv-cat-card__art div {
  width: 100%;
  height: 126px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.vv-dept-hero__grid { display: grid; grid-template-columns: 1fr 260px; gap: 44px; align-items: center; }
.vv-dept-hero__art {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 7px 7px 0 var(--vv-ink);
  padding: 12px;
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.vv-dept-hero__art div {
  width: 100%;
  height: 226px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* ============ REVIEWS ============ */
.vv-reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.vv-review-card {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 6px 6px 0 var(--vv-ink);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.vv-review-card__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.vv-review-card__stars { color: var(--vv-orange); font-size: 18px; letter-spacing: 2px; }
.vv-review-card__name { font-family: var(--vv-mono); font-size: 12px; font-weight: 700; }
.vv-review-card__text { font-size: 14.5px; line-height: 1.6; flex: 1; }

.vv-review-avg {
  display: flex;
  align-items: center;
  gap: 20px;
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 6px 6px 0 var(--vv-ink);
  padding: 20px 28px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.vv-review-avg__num { font-family: var(--vv-display); font-size: 44px; }
.vv-review-avg__meta { font-family: var(--vv-mono); font-size: 12px; letter-spacing: 1px; }

.vv-review-form label { display: block; font-family: var(--vv-display); font-size: 14px; margin-bottom: 8px; }
.vv-review-form input[type=text], .vv-review-form textarea {
  width: 100%;
  border: 3px solid var(--vv-ink);
  background: var(--vv-cream);
  padding: 12px 14px;
  font-family: var(--vv-body);
  font-size: 15px;
  outline: none;
}
.vv-review-form input:focus, .vv-review-form textarea:focus { background: #fff; box-shadow: 3px 3px 0 var(--vv-gold); }
.vv-star-picker { display: flex; gap: 8px; flex-wrap: wrap; }
.vv-star-picker input { position: absolute; opacity: 0; pointer-events: none; }
.vv-star-picker label {
  cursor: pointer;
  border: 3px solid var(--vv-ink);
  background: var(--vv-cream);
  box-shadow: 3px 3px 0 var(--vv-ink);
  padding: 8px 12px;
  font-size: 18px;
  color: var(--vv-muted);
  margin: 0;
}
.vv-star-picker input:checked + label, .vv-star-picker label.selected { background: var(--vv-gold); color: var(--vv-ink); }

/* ============ ORDER STATUS ============ */
.vv-status-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 18px; align-items: end; }
.vv-status-timeline { display: flex; flex-direction: column; gap: 0; margin-top: 18px; }
.vv-status-step { display: flex; gap: 16px; align-items: flex-start; }
.vv-status-step__mark {
  width: 30px;
  height: 30px;
  border: 3px solid var(--vv-ink);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--vv-display);
  font-size: 14px;
  flex-shrink: 0;
  background: var(--vv-cream);
}
.vv-status-step--done .vv-status-step__mark { background: var(--vv-green); color: var(--vv-cream); }
.vv-status-step--now .vv-status-step__mark { background: var(--vv-gold); }
.vv-status-step__label { font-size: 15px; font-weight: 600; padding-top: 4px; }
.vv-status-step__rail { width: 3px; height: 22px; background: var(--vv-ink); margin-left: 13px; }
.vv-status-badge {
  display: inline-block;
  border: 2px solid var(--vv-ink);
  font-family: var(--vv-display);
  font-size: 12px;
  padding: 6px 12px;
  text-transform: uppercase;
}

/* ============ BACK BENCH ============ */
.vv-bb-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin-bottom: 36px; }
.vv-bb-tile { border: 3px solid var(--vv-ink); background: var(--vv-paper); box-shadow: 4px 4px 0 var(--vv-ink); padding: 16px 20px; }
.vv-bb-tile__n { font-family: var(--vv-display); font-size: 30px; }
.vv-bb-tile__label { font-family: var(--vv-mono); font-size: 11px; letter-spacing: 1px; }
.vv-bb-table { width: 100%; border-collapse: collapse; }
.vv-bb-table th { font-family: var(--vv-mono); font-size: 11px; letter-spacing: 1px; text-align: left; border-bottom: 3px solid var(--vv-ink); padding: 10px 12px; }
.vv-bb-table td { border-bottom: 2px solid var(--vv-ink); padding: 12px; font-size: 14px; vertical-align: middle; }
.vv-bb-table tr:hover td { background: var(--vv-cream); }
.vv-bb-report {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 6px 6px 0 var(--vv-ink);
  padding: 24px;
  font-size: 14px;
  line-height: 1.6;
  max-height: 480px;
  overflow-y: auto;
  white-space: pre-wrap;
  font-family: var(--vv-mono);
}
.vv-bb-log { font-family: var(--vv-mono); font-size: 12px; line-height: 1.9; }

/* ============ GUIDES / ARTICLES ============ */
.vv-guides-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.vv-guide-card {
  border: 3px solid var(--vv-ink);
  background: var(--vv-paper);
  box-shadow: 6px 6px 0 var(--vv-ink);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: var(--vv-ink);
  text-decoration: none;
  transition: transform .08s ease, box-shadow .08s ease, background .08s ease;
}
.vv-guide-card:hover { transform: translate(3px,3px); box-shadow: 3px 3px 0 var(--vv-ink); background: var(--vv-gold); color: var(--vv-ink); }
.vv-guide-card__kicker { font-family: var(--vv-mono); font-size: 11px; letter-spacing: 1.5px; color: var(--vv-muted); }
.vv-guide-card:hover .vv-guide-card__kicker { color: var(--vv-ink); }
.vv-guide-card__title { font-family: var(--vv-display); font-size: 19px; line-height: 1.2; }
.vv-guide-card__excerpt { font-size: 14px; line-height: 1.55; flex: 1; }

.vv-article { font-size: 16.5px; line-height: 1.7; }
.vv-article h2 {
  font-family: var(--vv-display);
  font-size: 26px;
  text-transform: uppercase;
  line-height: 1.15;
  margin: 36px 0 14px;
}
.vv-article h2:first-child { margin-top: 0; }
.vv-article h3 { font-family: var(--vv-display); font-size: 19px; margin: 28px 0 10px; }
.vv-article p { margin: 0 0 18px; }
.vv-article ul, .vv-article ol { margin: 0 0 18px; padding-left: 24px; }
.vv-article li { margin-bottom: 8px; }
.vv-article blockquote {
  border: 3px solid var(--vv-ink);
  background: var(--vv-cream);
  box-shadow: 4px 4px 0 var(--vv-ink);
  margin: 24px 0;
  padding: 20px 24px;
  font-size: 15.5px;
}
.vv-article blockquote p:last-child { margin-bottom: 0; }
.vv-article figure { margin: 24px 0; }
.vv-article figure img { border: 3px solid var(--vv-ink); box-shadow: 5px 5px 0 var(--vv-ink); display: block; }
.vv-article figcaption { font-family: var(--vv-mono); font-size: 12px; margin-top: 10px; }
.vv-article table { border-collapse: collapse; margin: 0 0 18px; width: 100%; }
.vv-article th, .vv-article td { border: 2px solid var(--vv-ink); padding: 8px 12px; font-size: 14.5px; text-align: left; }
.vv-article th { font-family: var(--vv-display); font-size: 13px; background: var(--vv-cream); }

/* ============ BENCH NOTE (affiliate aside) ============ */
/* Deliberately quieter than .vv-duo__cta: paper background, gold accent,
   smaller shadow. It must read as a side note, never as the page's CTA. */
.vv-bench-note {
  border: 3px solid var(--vv-ink);
  border-left: 10px solid var(--vv-gold);
  background: var(--vv-paper);
  box-shadow: 5px 5px 0 var(--vv-ink);
  margin: 24px 0;
  padding: 20px 24px;
}
.vv-bench-note__kicker {
  font-family: var(--vv-mono);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--vv-muted);
  margin-bottom: 8px;
}
.vv-bench-note__text { font-size: 15px; line-height: 1.6; margin: 0 0 10px; }
.vv-bench-note__link {
  font-family: var(--vv-display);
  font-size: 15px;
  color: var(--vv-ink);
  text-decoration-color: var(--vv-gold);
  text-underline-offset: 3px;
}
.vv-bench-note__link:hover { color: var(--vv-orange); }
.vv-bench-note__disclosure {
  font-family: var(--vv-mono);
  font-size: 12px;
  color: var(--vv-muted);
  margin-top: 10px;
}

.vv-pagination .nav-links, nav.pagination .nav-links { display: flex; gap: 12px; font-family: var(--vv-mono); }

/* ============ SEO NAV (breadcrumbs + related guides) ============ */
.vv-breadcrumbs { font-family: var(--vv-mono); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 14px; }
.vv-breadcrumbs a { color: var(--vv-muted); text-decoration: none; }
.vv-breadcrumbs a:hover { color: var(--vv-orange); }
.vv-breadcrumbs .separator { margin: 0 6px; color: var(--vv-muted); }
.vv-dept-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
.vv-cta-dept-link { display: block; margin-top: 12px; font-family: var(--vv-mono); font-size: 13px; }

/* ============ 404 ============ */
.vv-404 { padding: 96px 40px; text-align: center; }
.vv-404 h1 { font-family: var(--vv-display); font-size: clamp(40px, 6vw, 80px); text-transform: uppercase; margin: 0 0 16px; }
.vv-404 p { font-size: 17px; margin: 0 0 28px; }

/* ============ RESPONSIVE ============ */
@media (max-width: 1000px) {
  .vv-hero__grid { grid-template-columns: 1fr; padding: 56px 24px 48px; }
  .vv-hero__figure { margin-top: 8px; }
  .vv-report { grid-template-columns: 1fr; gap: 32px; }
  .vv-about-intro { grid-template-columns: 1fr; gap: 32px; }
  .vv-sample { grid-template-columns: 1fr; gap: 32px; }
  .vv-expert { grid-template-columns: 1fr; justify-items: start; }
}
@media (max-width: 820px) {
  .vv-section { padding: 56px 24px; }
  .vv-page-hero { padding: 56px 24px 40px; }
  .vv-dept-hero { padding: 56px 24px 48px; }
  .vv-nav { padding: 14px 20px; }
  .vv-nav__links { gap: 18px; flex-wrap: wrap; }
  .vv-duo { grid-template-columns: 1fr; }
  .vv-dept-plans { grid-template-columns: 1fr; }
  .vv-report__grid { grid-template-columns: 1fr; }
  .vv-step { grid-template-columns: 1fr; gap: 16px; }
  .vv-footer { padding: 40px 24px 28px; }
  .vv-footer__grid { grid-template-columns: 1fr; gap: 32px; }
  .vv-intake-card { padding: 24px 18px; }
  .vv-confirm { padding: 32px 20px; }
  .vv-figure__frame img { height: 320px; }
  .vv-figure__placeholder { height: 320px; }
  .vv-dept-hero__grid { grid-template-columns: 1fr; }
  .vv-status-form { grid-template-columns: 1fr; }
}
