/* =========================================================================
   Verisq design system — light theme
   Spec 06 §0. Single stylesheet for every page except the homepage and the
   captive landings, which carry their own copy of the same token set.

   Selector vocabulary is deliberately UNCHANGED from the retired dark sheet:
   the page bodies were written against it, so re-skinning here converts the
   whole site without touching 73 files of markup. Legacy token names
   (--gold, --ink, --paper …) are re-pointed at the new palette in the same
   spirit — 63 pages reference them from inline <style> blocks.
   ========================================================================= */

/* ---------- fonts (self-hosted; no CDN) ---------- */
@font-face{font-family:'Chakra Petch';font-weight:500;font-display:swap;src:url('/fonts/chakra-petch-500.woff2') format('woff2')}
@font-face{font-family:'Chakra Petch';font-weight:600;font-display:swap;src:url('/fonts/chakra-petch-600.woff2') format('woff2')}
@font-face{font-family:'Chakra Petch';font-weight:700;font-display:swap;src:url('/fonts/chakra-petch-700.woff2') format('woff2')}
@font-face{font-family:'Sora';font-weight:400;font-display:swap;src:url('/fonts/sora-400.woff2') format('woff2')}
@font-face{font-family:'Sora';font-weight:600;font-display:swap;src:url('/fonts/sora-600.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:500;font-display:swap;src:url('/fonts/jetbrains-mono-500.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:600;font-display:swap;src:url('/fonts/jetbrains-mono-600.woff2') format('woff2')}

/* ---------- tokens ---------- */
:root{
  --vsq-gold:#FED33C; --vsq-gold-deep:#E8B62E; --vsq-gold-warm:#F5A623;
  --vsq-gold-soft:rgba(254,211,60,.10); --vsq-gold-glow:rgba(254,211,60,.22);
  --vsq-silver:#ACACAC;
  --vsq-bg-base:#FAFAF9; --vsq-bg-soft:#F4F4F2; --vsq-surface:#FFFFFF;
  --vsq-border:#E7E5E0; --vsq-border-soft:#F1EFEB; --vsq-border-strong:#D4D2CC;
  --vsq-text:#0A0A0B; --vsq-text-mid:#4A4A52; --vsq-text-muted:#8A8A92; --vsq-text-faint:#C8C8D0;
  --vsq-radius-sm:6px; --vsq-radius:10px; --vsq-radius-lg:14px; --vsq-radius-xl:20px;
  --vsq-shadow-sm:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --vsq-shadow-md:0 4px 8px -2px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.04);
  --vsq-shadow-lg:0 12px 24px -6px rgba(15,23,42,.12),0 4px 8px -4px rgba(15,23,42,.06);
  --vsq-shadow-xl:0 24px 48px -12px rgba(15,23,42,.18);

  /* verified / live state — the one non-gold accent, carried over from the
     approved homepage prototype so "current" reads the same sitewide */
  --sx:#047857; --sx-bg:rgba(16,185,129,.10); --sx-bd:rgba(16,185,129,.20);

  /* ---- legacy bridge: old names, new values ---- */
  --black:var(--vsq-text); --ink:var(--vsq-text); --ink-2:var(--vsq-text);
  --ink-soft:var(--vsq-text-mid);
  --gold:var(--vsq-gold); --gold-deep:var(--vsq-gold-deep); --gold-dim:var(--vsq-gold-warm);
  --gold-2:var(--vsq-gold-warm);
  --white:var(--vsq-surface); --paper:var(--vsq-bg-base); --card:var(--vsq-bg-soft);
  --muted:var(--vsq-text-muted); --muted-2:var(--vsq-text-faint);
  --line:var(--vsq-border); --line-dk:var(--vsq-border-strong);
  --panel:var(--vsq-bg-soft);
  --maxw:1180px;
  --font-display:'Chakra Petch',system-ui,sans-serif;
  --font-body:'Sora',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;

  /* hub accents collapse into the gold family — spec 06 §0 is gold-accent-only,
     and five saturated hues fought the prototype every time they appeared */
  --c-compliance:var(--vsq-gold-deep);
  --c-vendor:var(--vsq-gold-warm);
  --c-privacy:var(--vsq-gold);
  --c-riskops:var(--vsq-gold-deep);
  --c-deal:var(--vsq-gold-warm);
}

/* ---------- base ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  font-size:15.5px;line-height:1.6;color:var(--vsq-text);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  background:
    radial-gradient(ellipse 900px 700px at 18% -10%, rgba(254,211,60,.06) 0%, transparent 55%),
    radial-gradient(ellipse 800px 600px at 88% 100%, rgba(245,166,35,.04) 0%, transparent 55%),
    var(--vsq-bg-base);
  background-attachment:fixed;
}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
section{padding:76px 0}
h1,h2,h3,h4,h5,.display{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:-.005em;line-height:1.12;color:var(--vsq-text)}
h1{font-size:clamp(34px,4.4vw,50px);letter-spacing:-.01em}
h2{font-size:clamp(26px,2.8vw,36px)}
h3{font-size:22px}
h4{font-size:17px}
h5{font-size:15px}
p{color:var(--vsq-text-mid)}
b,strong{font-weight:600;color:var(--vsq-text)}
.au{color:var(--vsq-gold-deep)}
.center{text-align:center;margin-left:auto;margin-right:auto}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}

/* eyebrows, kickers, mono labels */
.eyebrow,.kicker,.fw-group-label,.lbl,.mono-tag,.pub-tag{
  font-family:var(--font-mono);font-size:10.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--vsq-text-muted)}
.eyebrow{display:inline-flex;align-items:center;gap:9px}
.eyebrow .dot,.kicker .dot{width:5px;height:5px;border-radius:50%;background:var(--vsq-gold);
  box-shadow:0 0 0 3px var(--vsq-gold-soft);display:block;flex:none}
.lede,.lead,.sub{font-size:16px;color:var(--vsq-text-mid);line-height:1.6;max-width:62ch}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--font-display);font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px;padding:13px 20px;
  border-radius:7px;border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background .12s ease,border-color .12s ease,color .12s ease,transform .08s ease}
.btn:active{transform:scale(.985)}
/* gold fill always carries near-black text — never white on gold */
.btn-primary,.btn-gold{background:var(--vsq-gold);color:#0A0A0B;border-color:var(--vsq-gold)}
.btn-primary:hover,.btn-gold:hover{background:var(--vsq-gold-deep)}
.btn-ghost{background:transparent;color:var(--vsq-text-mid);border-color:var(--vsq-border-strong)}
.btn-ghost:hover{background:var(--vsq-bg-soft);color:var(--vsq-text)}
.btn-dark{background:var(--vsq-text);color:var(--vsq-surface);border-color:var(--vsq-text)}
.btn-dark:hover{background:#26262C}
.btn-sm{padding:9px 14px;font-size:11.5px}

/* ---------- header / navigation ---------- */
header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--vsq-border);
  background:rgba(250,250,249,.9);backdrop-filter:blur(8px)}
.nav{position:relative;display:flex;align-items:center;justify-content:space-between;height:70px}
.nav img{height:28px;width:auto;display:block}
.nav .right{display:flex;gap:12px;align-items:center}
.nav .menu{display:flex;gap:4px;list-style:none;align-items:center}
.nav .menu > li{position:relative}
.nav .menu > li > a{display:flex;align-items:center;gap:6px;font-family:var(--font-display);
  font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--vsq-text-mid);padding:12px 14px;border-radius:var(--vsq-radius-sm);
  transition:background .12s ease,color .12s ease}
.nav .menu > li > a:hover,.nav .menu > li:hover > a{background:var(--vsq-bg-soft);color:var(--vsq-text)}
.nav .menu > li > a .car{width:7px;height:7px;border-right:1.6px solid var(--vsq-text-muted);
  border-bottom:1.6px solid var(--vsq-text-muted);transform:rotate(45deg) translateY(-2px);
  transition:transform .12s ease}
.nav .menu > li:hover > a .car{transform:rotate(225deg) translateY(-2px)}
.drop{position:absolute;top:calc(100% + 6px);left:0;width:320px;background:var(--vsq-surface);
  border:1px solid var(--vsq-border);border-radius:var(--vsq-radius-lg);box-shadow:var(--vsq-shadow-lg);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(-6px);list-style:none;display:block;
  transition:opacity .12s ease,transform .12s ease,visibility .12s}
.nav .menu > li:hover .drop{opacity:1;visibility:visible;transform:none}
.drop .dh{display:block;font-family:var(--font-mono);font-size:9px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--vsq-text-muted);padding:8px 12px 6px}
.drop li a{display:block;padding:9px 12px;border-radius:var(--vsq-radius-sm);transition:background .12s ease}
.drop li a:hover{background:var(--vsq-gold-soft)}
.drop li a b{display:block;font-family:var(--font-display);font-size:13.5px;font-weight:600;
  text-transform:uppercase;color:var(--vsq-text);letter-spacing:.02em;white-space:nowrap}
.drop li a span{display:block;font-size:12px;color:var(--vsq-text-muted);margin-top:2px;line-height:1.4}

/* burger + mobile panel: hidden on desktop. The retired build shipped these
   rules with their media query stripped, so the burger showed at 1440px and
   the Login button was hidden everywhere. */
.burger{display:none;width:40px;height:38px;border:1px solid var(--vsq-border-strong);
  border-radius:var(--vsq-radius-sm);background:transparent;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:4px}
.burger i{display:block;width:16px;height:1.6px;background:var(--vsq-text)}
.mnav{display:none;border-top:1px solid var(--vsq-border);background:var(--vsq-surface);padding:14px 0 20px}
.mnav.open{display:block}
.mnav .grp{padding:10px 0;border-bottom:1px solid var(--vsq-border-soft)}
.mnav .grp:last-child{border-bottom:none}
.mnav .gh{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--vsq-text-muted);margin-bottom:8px}
.mnav a{display:block;font-family:var(--font-display);font-size:14px;font-weight:600;
  text-transform:uppercase;color:var(--vsq-text);padding:8px 0}

/* ---------- page hero ---------- */
.page-hero{position:relative;overflow:hidden;padding:66px 0 58px;
  background:
    radial-gradient(ellipse 760px 420px at 12% -30%, var(--vsq-gold-glow) 0%, transparent 60%),
    radial-gradient(ellipse 620px 380px at 92% 120%, rgba(245,166,35,.10) 0%, transparent 60%),
    var(--vsq-bg-base);
  border-bottom:1px solid var(--vsq-border)}
.page-hero .grid,.page-hero .hero-grid{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(10,10,11,.035) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(10,10,11,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(760px 380px at 74% 26%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(760px 380px at 74% 26%,#000,transparent 78%)}
.page-hero .wrap,.page-hero-inner{position:relative;z-index:2}
.page-hero-inner{max-width:820px}
.page-hero h1{margin:18px 0 18px}
.page-hero .lede,.page-hero .lead{font-size:17px;max-width:66ch;margin-bottom:26px}
.crumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--vsq-text-muted);margin-bottom:18px}
.crumb a{color:var(--vsq-gold-deep)}
.crumb a:hover{color:var(--vsq-text)}
.hub-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:10px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:100px;
  margin-bottom:20px;color:var(--vsq-text-mid);background:var(--vsq-surface);border:1px solid var(--vsq-border)}
.hero-ctas,.ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* ---------- section scaffolding ---------- */
.sec-head{max-width:760px;margin-bottom:44px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head .eyebrow{color:var(--vsq-text-muted);margin-bottom:14px}
.sec-head h2{margin-bottom:14px}
.sec-head p{font-size:16.5px;color:var(--vsq-text-mid)}
.section-light{background:var(--vsq-bg-soft)}
.section-white{background:var(--vsq-surface)}
/* the retired "dark band" rhythm is kept as an alternating surface, not a
   colour inversion — a black band inside a #FAFAF9 page reads as a leftover */
.section-dark{background:var(--vsq-surface);border-top:1px solid var(--vsq-border);
  border-bottom:1px solid var(--vsq-border)}
.section-dark .sec-head h2,.section-dark h3,.section-dark h4{color:var(--vsq-text)}
.section-dark .sec-head p,.section-dark p{color:var(--vsq-text-mid)}
.section-dark .sec-head .eyebrow{color:var(--vsq-text-muted)}

/* ---------- generic surfaces ---------- */
.card,.gcard,.pillar,.wedge-card,.audit-item,.tl,.price-card,.hub-card,.tri,.free-item,.moment,.pc-tile{
  background:var(--vsq-surface);border:1px solid var(--vsq-border);border-radius:var(--vsq-radius-lg);
  box-shadow:var(--vsq-shadow-sm);transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease}
.card,.gcard,.pillar,.wedge-card,.tri{padding:26px}
.audit-item{padding:22px}
.tl,.price-card{padding:30px;border-radius:var(--vsq-radius-xl)}
.card:hover,.gcard:hover,.pillar:hover,.hub-card:hover{box-shadow:var(--vsq-shadow-md);transform:translateY(-2px)}
.card h3,.gcard h4,.pillar h4,.wedge-card h4,.audit-item h5,.tri h4{margin-bottom:9px;color:var(--vsq-text)}
.card p,.gcard p,.pillar p,.wedge-card p,.audit-item p,.tri p{font-size:14px;line-height:1.55;color:var(--vsq-text-mid)}
.card > a,.gcard-link{color:var(--vsq-gold-deep);font-family:var(--font-display);font-size:12px;
  font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.gcard-link:hover{color:var(--vsq-text)}

/* icon tiles */
.ic,.gi,.av,.pcI,.dsar-num,.idx{
  width:44px;height:44px;border-radius:var(--vsq-radius);background:var(--vsq-gold-soft);
  border:1px solid rgba(232,182,46,.28);color:#0A0A0B;
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex:none;
  font-family:var(--font-display);font-weight:700;font-size:16px}
.gi{width:40px;height:40px;margin-bottom:14px}
.ic svg,.gi svg{width:20px;height:20px}
.ic img,.gi img{width:22px;height:22px}

/* grids */
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card-grid,.cardgrid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.cardgrid.c2,.cols-2{grid-template-columns:repeat(2,1fr)}
.cardgrid.c3,.cols-3{grid-template-columns:repeat(3,1fr)}
.cardgrid.c4,.cols-4{grid-template-columns:repeat(4,1fr)}
.grid{display:grid;gap:28px}
.hub-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.audit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.wedge-cols,.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.timelines{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}

/* pillars / numbered blocks */
.pillar .pct,.wedge-card .n,.n,.tri .num,.dsar-num{font-family:var(--font-display);font-weight:700;color:var(--vsq-gold-deep)}
.wedge-card .n,.n{font-size:26px;margin-bottom:10px;background:none;border:none;width:auto;height:auto;display:block}
.tri .num{font-size:13px;letter-spacing:.1em;margin-bottom:14px;text-transform:uppercase}
.pillar .pct{position:absolute;top:22px;right:24px;font-size:32px}
.pillar{position:relative;overflow:hidden}
.pillar.feature,.price-card.feature,.gcard.feature{border-color:rgba(232,182,46,.45);
  background:linear-gradient(168deg,rgba(254,211,60,.06),var(--vsq-surface) 58%)}

/* chips, tags, pills */
.chip,.tag,.m-tag,.sc-chip,.fw-pill,.pub-tag,.lt-tag{
  font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;padding:4px 10px;border-radius:100px;display:inline-flex;align-items:center;gap:6px;
  color:var(--vsq-text-mid);background:var(--vsq-bg-soft);border:1px solid var(--vsq-border)}
.chip.live,.tag.live,.live,.m-tag.ok{color:var(--sx);background:var(--sx-bg);border-color:var(--sx-bd)}
.fw-pill{font-size:11.5px;padding:8px 14px;border-radius:8px;color:var(--vsq-text);
  background:var(--vsq-surface);border:1px solid var(--vsq-border-strong)}
.fw-pill.fin{border-color:var(--vsq-gold-deep);color:var(--vsq-text)}
.fw-pill-row,.tech{display:flex;flex-wrap:wrap;gap:8px}
.fw-list{display:flex;flex-direction:column;gap:10px}
.fw-group-label{margin:8px 0 4px}
.fw-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.fw-shot,.feat-visual,.fwc{border:1px solid var(--vsq-border);border-radius:var(--vsq-radius-lg);
  overflow:hidden;background:var(--vsq-surface);box-shadow:var(--vsq-shadow-lg)}
.fw-shot img,.feat-visual img{width:100%;display:block}

/* wedge / audit / trust / labor bands */
.wedge,.audit,.trust,.labor,.hubs,.fw{background:var(--vsq-bg-soft)}
.wedge .sec-head h2,.audit .sec-head h2,.trust .sec-head h2,.labor .sec-head h2{color:var(--vsq-text)}
.wedge .sec-head p,.audit .sec-head p,.trust .sec-head p,.labor .sec-head p{color:var(--vsq-text-mid)}
.wedge .sec-head .eyebrow,.audit .sec-head .eyebrow,.trust .sec-head .eyebrow,.labor .sec-head .eyebrow{color:var(--vsq-text-muted)}
.audit-item h5{color:var(--vsq-gold-deep)}
.trust-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.trust-points{display:flex;flex-direction:column;gap:18px}
.trust-pt{display:flex;gap:14px;align-items:flex-start}
.trust-pt .ck{flex:none;width:26px;height:26px;border-radius:50%;background:var(--vsq-gold);color:#0A0A0B;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-top:2px}
.badges-row{display:flex;gap:16px;justify-content:center}
.badges-row img{width:33%;border-radius:var(--vsq-radius-lg);border:1px solid var(--vsq-border)}
.labor-rows{display:flex;flex-direction:column;gap:1px;background:var(--vsq-border);
  border:1px solid var(--vsq-border);border-radius:var(--vsq-radius-lg);overflow:hidden}
.labor-row{display:grid;grid-template-columns:1fr 44px 1fr;background:var(--vsq-surface);align-items:center}
.labor-row > div{padding:18px 22px}
.labor-row .was{color:var(--vsq-text-muted);font-size:14px}
.labor-row .arrow{text-align:center;color:var(--vsq-gold-deep);font-size:16px;padding:0}
.labor-row .now{font-size:14px;color:var(--vsq-text)}
.labor-row .now b{color:var(--vsq-gold-deep)}

/* hub cards */
.hub-card{overflow:hidden;padding:0}
.hub-card .top{height:5px;background:var(--vsq-gold)}
.hub-card .body{padding:22px 18px}
.hub-card h4{font-size:15px;letter-spacing:.03em;margin-bottom:10px}
.hub-card .ds{font-size:12.5px;color:var(--vsq-text-muted);line-height:1.5}
.hub-foot{text-align:center;margin-top:28px;font-size:14px;color:var(--vsq-text-mid)}

/* timelines */
.tl .tag{margin-bottom:8px}
.tl .big{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--vsq-gold-deep);margin-bottom:20px}
.tl-step{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--vsq-border-soft)}
.tl-step .t{font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--vsq-gold-deep);padding-top:3px}
.tl-step .c h5{font-size:14px;margin-bottom:3px}
.tl-step .c p{font-size:12.5px;color:var(--vsq-text-muted);line-height:1.45}

/* feature rows */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:28px 0}
.feat.flip .feat-text{order:2}
.feat-text h3{margin-bottom:14px}
.feat-text p{font-size:15.5px;margin-bottom:16px;line-height:1.6}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.feat-list li{display:flex;gap:11px;font-size:14.5px;color:var(--vsq-text-mid);align-items:flex-start}
.feat-list li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;margin-top:2px;
  background-color:var(--vsq-gold-deep);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M5 9l3 3 5-6' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.feat-mock{padding:28px;min-height:290px;display:flex;flex-direction:column;gap:12px}

/* mock UI bits */
.m-row,.ledger-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--vsq-surface);
  border:1px solid var(--vsq-border);border-radius:var(--vsq-radius);font-size:13px;color:var(--vsq-text)}
.m-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--vsq-gold-deep)}
.m-bar,.sc-bar{flex:1;height:7px;border-radius:4px;background:var(--vsq-bg-soft);overflow:hidden}
.m-bar span,.sc-bar span{display:block;height:100%;border-radius:4px;background:var(--vsq-gold-deep)}
.mock{border:1px solid var(--vsq-border);border-radius:var(--vsq-radius-lg);background:var(--vsq-surface);overflow:hidden}
.mock-bar{background:var(--vsq-bg-soft);border-bottom:1px solid var(--vsq-border);padding:10px 14px;
  display:flex;align-items:center;gap:10px}
.mock-dots{display:flex;gap:5px}
.mock-dots i{width:9px;height:9px;border-radius:50%;display:block;background:var(--vsq-border-strong)}
.mock-url{flex:1;background:var(--vsq-surface);border:1px solid var(--vsq-border);border-radius:var(--vsq-radius-sm);
  font-family:var(--font-mono);font-size:10px;color:var(--vsq-text-muted);padding:5px 11px}
.mock-body{padding:18px 20px}
.chk{width:15px;height:15px;border-radius:50%;background:var(--sx-bg);display:flex;align-items:center;
  justify-content:center;flex:none}
.chk::after{content:"";width:4px;height:7px;border:solid var(--sx);border-width:0 1.7px 1.7px 0;
  transform:rotate(42deg);margin-top:-2px}

/* pricing */
.price-card{display:flex;flex-direction:column}
.price-card.feature{position:relative;border-width:2px}
.price-card.feature::before{content:"MOST POPULAR";position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--vsq-gold);color:#0A0A0B;font-family:var(--font-mono);font-size:10px;font-weight:600;
  letter-spacing:.1em;padding:5px 14px;border-radius:100px}
.pname{font-family:var(--font-display);font-size:19px;font-weight:600;text-transform:uppercase;margin-bottom:6px}
.pdesc{font-size:13.5px;color:var(--vsq-text-muted);margin-bottom:20px;min-height:40px}
.pprice{font-family:var(--font-display);font-size:38px;font-weight:700;color:var(--vsq-text);margin-bottom:4px}
.pprice small{font-size:15px;color:var(--vsq-text-muted);font-weight:500}
.pnote{font-size:12.5px;color:var(--vsq-text-muted);margin-bottom:22px}
.price-card ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:24px;flex:1}
.price-card ul li{display:flex;gap:10px;font-size:13.5px;color:var(--vsq-text-mid);align-items:flex-start}
.price-card ul li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;margin-top:2px;
  background-color:var(--sx);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 18 18'%3E%3Cpath d='M5 9l3 3 5-6' stroke='white' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

/* stats */
.stat .sn,.sn{font-family:var(--font-display);font-size:42px;font-weight:700;color:var(--vsq-gold-deep);line-height:1}
.stat .sl,.sl{font-size:13px;color:var(--vsq-text-muted);margin-top:8px}

/* document / policy bodies */
.doc,.doc-body{max-width:820px}
.doc-body h2{margin:36px 0 12px}
.doc-body h3{margin:26px 0 10px;font-size:18px}
.doc-body p,.doc-body li{font-size:15px;color:var(--vsq-text-mid);line-height:1.7}
.doc-body ul,.doc-body ol{margin:10px 0 10px 20px}
.doc-body li{margin-bottom:6px}
.doc-body a{color:var(--vsq-gold-deep);border-bottom:1px solid rgba(232,182,46,.4)}
.doc-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px}
.doc-body th,.doc-body td{border:1px solid var(--vsq-border);padding:10px 12px;text-align:left;vertical-align:top}
.doc-body th{background:var(--vsq-bg-soft);font-family:var(--font-display);font-weight:600;
  text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--vsq-text)}

/* DSAR / process steps */
.dsar-step{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--vsq-border-soft)}
.dsar-num{width:44px;height:44px;margin-bottom:0}
.dsar-c h4{margin-bottom:6px}
.dsar-c p{font-size:14px;color:var(--vsq-text-mid)}

/* final CTA band */
.final{background:var(--vsq-surface);border-top:1px solid var(--vsq-border);text-align:center}
.final h2{max-width:780px;margin:0 auto 16px}
.final p{font-size:16.5px;color:var(--vsq-text-mid);max-width:620px;margin:0 auto 30px}
.final .ctas,.final .hero-ctas{justify-content:center}

/* quotes / misc */
.vq{border-left:3px solid var(--vsq-gold);padding:6px 0 6px 18px;color:var(--vsq-text-mid);font-size:15px}
.cat{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--vsq-text-muted);margin-bottom:10px}
.partial{color:var(--vsq-gold-warm)}
.ver,.nm{font-family:var(--font-display);font-weight:600;text-transform:uppercase;color:var(--vsq-text)}
.cv{font-size:14px;color:var(--vsq-text-mid)}
.solo{max-width:820px;margin:0 auto}
.area{display:flex;flex-direction:column;gap:10px}

/* reveal-on-scroll (script already ships on every page) */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto}
}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--vsq-border);background:var(--vsq-bg-soft);padding:34px 0}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:34px}
.flogo{height:26px;width:auto;display:block;margin-bottom:14px}
.fdesc{font-size:13.5px;color:var(--vsq-text-muted);line-height:1.6;max-width:320px}
.fh{font-family:var(--font-display);font-size:12px;font-weight:600;text-transform:uppercase;
  letter-spacing:.06em;color:var(--vsq-text);margin-bottom:12px}
.fcol a{display:block;font-size:13.5px;color:var(--vsq-text-mid);padding:5px 0;transition:color .12s ease}
.fcol a:hover{color:var(--vsq-text)}
.fbar{border-top:1px solid var(--vsq-border);padding-top:20px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--vsq-text-muted)}
.fbadges{display:flex;align-items:center;gap:10px}
.fbadges img{height:44px;width:auto;display:block}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .fw-inner,.trust-inner,.timelines,.feat,.feat.flip{grid-template-columns:1fr}
  .feat.flip .feat-text{order:0}
  .pillars-grid,.card-grid,.cardgrid,.cardgrid.c3,.cardgrid.c4,.cols-3,.cols-4,
  .wedge-cols,.triple,.audit-grid,.price-grid,.statband{grid-template-columns:1fr 1fr}
  .hub-grid{grid-template-columns:repeat(2,1fr)}
  .fcols{grid-template-columns:1fr 1fr}
}
@media(max-width:1000px){
  .nav .menu{display:none}
  .nav .right .btn-ghost{display:none}
  .burger{display:flex}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  section{padding:54px 0}
  .page-hero{padding:44px 0 40px}
  .pillars-grid,.card-grid,.cardgrid,.cardgrid.c2,.cardgrid.c3,.cardgrid.c4,
  .cols-2,.cols-3,.cols-4,.wedge-cols,.triple,.audit-grid,.hub-grid,
  .price-grid,.statband,.fcols{grid-template-columns:1fr}
  .labor-row{grid-template-columns:1fr}
  .labor-row .arrow{display:none}
  .fbar{flex-direction:column;align-items:flex-start}
}
