/* ===========================================================================
   Vantage Acuity — shared subpage stylesheet
   One source of truth for buyers / partners / privacy / terms / samples.
   Tokens lifted verbatim from the locked brand in index.html :root
   (steel/graphite/pearl, 2026-05-28). Header + footer mirror index exactly.
   =========================================================================== */

:root{
  /* --bronze-2 (steel-mid) is decorative/border only — fails WCAG AA for text on pearl. Text accents use --bronze-1 (steel-dark). */
  --ink:#161d27; --paper:#f4f6f9; --muted:#6b7280;
  --bronze-1:#3a4654; --bronze-2:#7c8a9c; --bronze-soft:#fef3da;
  --pewter:#9CA3A0; --midnight:#050608;
  --border:#d4dae3; --bg-deep:#050608; --bg-card:#ffffff;
  --gold:var(--bronze-1); --gold-soft:var(--bronze-1);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.wrap{max-width:820px; margin:0 auto; padding:0 28px}
main.wrap{padding-top:40px; padding-bottom:8px}

a{color:var(--ink); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{color:var(--gold-soft)}

/* ---- eyebrow / labels / memo IDs : mono ---- */
.eyebrow{
  font-family:var(--mono); font-size:.72rem; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold-soft);
  margin-bottom:14px;
}

/* ---- headings ---- */
h1{
  font-family:var(--serif); font-size:clamp(2.6rem,5vw,4rem); font-weight:600;
  line-height:1.12; letter-spacing:-0.01em; margin-bottom:18px;
}
h1 em{font-style:italic; color:var(--bronze-1); display:block; font-size:.84em; margin-top:4px}
h2{font-family:var(--serif); font-size:clamp(1.7rem,3vw,2.2rem); font-weight:600; margin:46px 0 14px; line-height:1.15; letter-spacing:-0.01em}
h3{font-family:var(--sans); font-size:1rem; font-weight:700}
p{margin-bottom:14px}
.lead{font-size:1.25rem; color:var(--bronze-1); max-width:700px}
ul.body-list{margin:8px 0 18px 22px}
ul.body-list li{margin-bottom:9px}
strong{color:var(--ink); font-weight:600}
em{font-style:italic; font-family:var(--serif); color:var(--ink)}

/* =========================== HEADER (mirrors index nav.top) ============== */
nav.top{
  position:sticky; top:0; z-index:40;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  gap:16px; padding:14px 28px; max-width:1180px; margin:0 auto;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  -webkit-backdrop-filter:saturate(140%) blur(8px); backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid transparent; transition:border-color .25s, background .25s;
}
nav.top.scrolled{border-bottom-color:var(--border)}
nav.top .nav-left{display:flex; align-items:center}
nav.top .crest{height:30px; width:auto; display:block}
nav.top .nav-center{text-align:center; line-height:1.05}
nav.top .wordmark{font-family:var(--serif); font-weight:600; font-size:19px; letter-spacing:.01em; color:var(--ink); white-space:nowrap}
nav.top .wordmark .va{color:var(--bronze-1)}
nav.top .wordmark-sub{display:block; font-family:var(--mono); font-size:8.5px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--bronze-2); margin-top:3px}
nav.top .nav-right{display:flex; align-items:center; justify-content:flex-end; gap:14px}
nav.top .back-link{font-size:14px; font-weight:500; color:var(--ink); text-decoration:none; letter-spacing:.02em; white-space:nowrap}
nav.top .back-link:hover{color:var(--bronze-1)}
nav.top .theme-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0; border-radius:8px;
  background:transparent; border:1px solid var(--border); cursor:pointer;
  color:var(--bronze-1); transition:transform .35s ease, border-color .2s, background .2s, color .2s;
}
nav.top .theme-toggle:hover{border-color:var(--bronze-1); transform:rotate(18deg)}
nav.top .theme-toggle svg{width:19px; height:19px}
nav.top .theme-toggle .icon-moon{display:none}
[data-theme="dark"] nav.top .theme-toggle .icon-sun{display:none}
[data-theme="dark"] nav.top .theme-toggle .icon-moon{display:block}
@media(max-width:640px){
  nav.top{grid-template-columns:auto 1fr auto; gap:10px; padding:12px 18px}
  nav.top .nav-center{text-align:left}
  nav.top .wordmark{font-size:17px}
  nav.top .back-link span.long{display:none}
}

/* =========================== CARDS / PRICE / FORMS ======================= */
.price-card{background:var(--bg-card); border:1px solid var(--border); border-left:3px solid var(--bronze-1); border-radius:10px; padding:24px 28px; margin:28px 0; max-width:540px}
.price-card .price{font-family:var(--serif); font-size:48px; font-weight:700; color:var(--bronze-1); line-height:1}
.price-card .price small{font-size:18px; color:var(--muted); font-weight:500}
.price-card .tagline{margin-top:6px; color:var(--muted); font-size:15px}
.price-note{font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--muted); line-height:1.6; max-width:620px; margin:-8px 0 28px}

.callout{background:var(--bg-card); border:1px solid var(--bronze-1); border-radius:10px; padding:22px 26px; margin:28px 0; max-width:620px}
.callout strong{color:var(--bronze-1)}

.grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; margin:18px 0 24px}
.card{background:var(--bg-card); border:1px solid var(--border); border-radius:10px; padding:20px 22px}
.card .num{font-family:var(--serif); font-size:42px; font-weight:600; color:var(--bronze-1); line-height:1; margin-bottom:8px}
.card h3{margin-bottom:6px}
.card h3.serif{font-family:var(--serif); font-size:20px; font-weight:600; color:var(--bronze-1)}
.card p{font-size:14px; color:var(--muted); margin:0; line-height:1.55}

.terms-card{background:var(--bg-card); border:1px solid var(--border); border-left:3px solid var(--bronze-1); border-radius:10px; padding:24px 28px; margin:28px 0}
.terms-card h3{font-family:var(--serif); font-size:20px; font-weight:600; margin-bottom:10px}
.terms-card ul{margin:0 0 0 22px}
.terms-card li{margin-bottom:7px}

form.acuity-form{background:var(--bg-card); border:1px solid var(--border); border-radius:10px; padding:24px 28px; margin:32px 0; max-width:560px}
form.acuity-form label{display:block; font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:14px 0 6px}
form.acuity-form input,form.acuity-form select,form.acuity-form textarea{width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:8px; font-family:inherit; font-size:15px; background:#fff; color:var(--ink)}
form.acuity-form input:focus,form.acuity-form select:focus,form.acuity-form textarea:focus{outline:none; border-color:var(--bronze-1); box-shadow:0 0 0 3px rgba(58,70,84,.12)}
form.acuity-form textarea{resize:vertical; min-height:90px}
form.acuity-form button{margin-top:18px; padding:14px 24px; background:var(--ink); color:#fff; border:0; border-radius:8px; font-weight:600; font-size:15px; cursor:pointer; width:100%; transition:background .15s}
form.acuity-form button:hover{background:#0c121b}

/* buttons / CTAs */
.cta{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 26px; background:var(--ink); color:#fff; text-decoration:none; border-radius:8px; font-weight:600; font-size:15px; margin-top:12px; transition:background .15s, transform .15s}
.cta:hover{background:#0c121b; color:#fff}
.cta.secondary{background:#fff; color:var(--ink); border:1px solid var(--border)}
.cta.secondary:hover{border-color:var(--bronze-1); color:var(--bronze-1)}

.section-divider{border:none; border-top:1px solid var(--border); margin:40px 0}

/* =========================== FOOTER (mirrors index) ===================== */
footer{padding:56px 0 32px; background:var(--ink); color:#bbb; margin-top:64px}
footer a{color:#d8dde4; text-decoration:none}
footer a:hover{text-decoration:underline; color:#fff}
footer .wrap{max-width:1100px}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:32px}
.footer-col h4{font-family:var(--serif); font-size:18px; font-weight:600; color:#fff; margin:0 0 14px; letter-spacing:.02em}
.footer-col ul{list-style:none; padding:0; margin:0}
.footer-col li{margin:8px 0; font-size:14px}
.footer-col li a{min-height:44px; display:inline-flex; align-items:center; padding:2px 0}
.footer-brand-line{font-size:14px; color:#cfd5dd; margin:8px 0}
.footer-brand-line strong{color:#fff; font-weight:600}
.footer-tag{color:#cfd5dd; margin-top:14px; font-size:13px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); padding-top:24px; text-align:center}
.footer-bottom p{margin:6px 0; font-size:12px; color:#888}
.footer-bottom .footnote{max-width:760px; margin:14px auto 0; font-size:11px; color:#777; line-height:1.5; opacity:.85}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr; gap:28px}}

/* =========================== ANIMATIONS (matches index/Animata) ========= */
@keyframes vsde-fade-up{from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none}}
@keyframes vsde-reveal-from-left{from{opacity:0; transform:translateX(-16px)} to{opacity:1; transform:none}}
@keyframes vsde-scale-pop{from{opacity:0; transform:scale(.96)} to{opacity:1; transform:scale(1)}}
[data-animate]{opacity:0}
[data-animate].in-view{opacity:1; animation:vsde-fade-up .6s ease-out forwards}
[data-animate="reveal-from-left"].in-view{animation-name:vsde-reveal-from-left}
[data-animate="scale-pop"].in-view{animation-name:vsde-scale-pop; animation-duration:.7s}
[data-animate="fade-up-delayed"].in-view{animation:vsde-fade-up .7s .15s ease-out forwards}

/* =========================== DARK THEME OVERRIDES ======================= */
[data-theme="dark"]{--paper:#0e131a; --ink:#eef2f7; --muted:#9aa6b4; --border:#28323f; --bg-card:#141b24}
[data-theme="dark"] body{background:var(--paper); color:var(--ink)}
[data-theme="dark"] nav.top{background:color-mix(in srgb,#0e131a 88%,transparent)}
[data-theme="dark"] h1 em,[data-theme="dark"] .lead,[data-theme="dark"] .card h3.serif,[data-theme="dark"] .price-card .price{color:#cdd5e0}
[data-theme="dark"] strong,[data-theme="dark"] em{color:var(--ink)}
[data-theme="dark"] .eyebrow,[data-theme="dark"] nav.top .wordmark .va{color:#aeb9c6}
[data-theme="dark"] form.acuity-form input,[data-theme="dark"] form.acuity-form select,[data-theme="dark"] form.acuity-form textarea{background:#10161e; color:var(--ink)}
[data-theme="dark"] .cta.secondary{background:var(--bg-card); color:var(--ink)}
[data-theme="dark"] a{color:var(--ink)}
[data-theme="dark"] a:hover{color:#aeb9c6}
/* footer stays dark in both modes (matches index) */

/* =========================== REDUCED MOTION + PRINT ===================== */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  [data-animate]{opacity:1!important; animation:none!important; transform:none!important}
  *{transition:none!important}
}
@media print{
  nav.top,.theme-toggle{display:none!important}
  body{background:#fff; color:#000}
  [data-animate]{opacity:1!important; animation:none!important}
  footer{background:#fff; color:#444; border-top:1px solid #ccc}
  footer a{color:#444}
}

/* ===== House-Standard report snapshot dashboard — sleek, restrained, no emoji ===== */
.snap{margin:30px 0 8px}
.snap .kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze-1);margin-bottom:14px}
.bluf{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:30px 34px;position:relative;overflow:hidden}
.bluf::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#3a4654,#7c8a9c)}
.bluf .lead{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.05rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin:0 0 12px}
.bluf .lead .val{color:var(--bronze-1);white-space:nowrap}
.bluf .sub{color:var(--muted);font-size:.95rem;line-height:1.65;max-width:64ch;margin:0}
.bluf .sub strong{color:var(--ink)}
.pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:999px;padding:6px 13px;color:var(--muted)}
.pill .dot{width:7px;height:7px;border-radius:50%;background:#7c8a9c;box-shadow:0 0 0 3px rgba(124,138,156,.18)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:16px 0 0}
.kpi{background:var(--bg-card);padding:16px 18px}
.kpi .l{font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.kpi .v{font-family:var(--serif);font-size:1.55rem;font-weight:600;color:var(--ink);line-height:1}
.kpi .v small{font-size:.66rem;font-family:var(--mono);color:var(--muted);font-weight:400;letter-spacing:.03em}
.viz{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 0}
.vcard{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:22px 24px}
.vcard h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-1);margin:0 0 5px}
.vcard .cap{color:var(--muted);font-size:.77rem;margin:0 0 16px;line-height:1.55}
.bridge .row{display:flex;align-items:center;gap:12px;margin:10px 0}
.bridge .nm{flex:0 0 44%;font-size:.82rem;color:var(--ink)}
.bridge .nm span{color:var(--muted)}
.bridge .bar{flex:1;height:14px;border-radius:3px;background:rgba(124,138,156,.16);position:relative}
.bridge .fill{position:absolute;inset:0 auto 0 0;border-radius:3px;background:linear-gradient(90deg,#3a4654,#7c8a9c)}
.bridge .amt{flex:0 0 78px;text-align:right;font-family:var(--mono);font-size:.76rem;color:var(--muted)}
.bridge .tot{border-top:1px solid var(--border);margin-top:8px;padding-top:11px}
.bridge .tot .nm,.bridge .tot .amt{font-weight:600;color:var(--ink)}
.bridge .tot .fill{background:var(--ink)}
.mscale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.66rem;color:var(--muted);margin-top:14px}
.mtrack{height:44px;border-radius:6px;background:linear-gradient(90deg,rgba(58,70,84,.16),rgba(124,138,156,.32));position:relative;margin:6px 0;border:1px solid var(--border)}
.mtrack .band{position:absolute;top:0;bottom:0;background:rgba(58,70,84,.20);border-left:2px solid var(--bronze-1);border-right:2px solid var(--bronze-1)}
.mtrack .tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}
.mtrack .lab{position:absolute;top:-19px;transform:translateX(-50%);font-family:var(--mono);font-size:.64rem;color:var(--ink);white-space:nowrap}
.lens .lrow{margin:12px 0}
.lens .lh{display:flex;justify-content:space-between;font-size:.8rem;color:var(--ink);margin-bottom:6px}
.lens .lh b{font-family:var(--mono);font-weight:500;color:var(--bronze-1)}
.lens .lt{height:8px;border-radius:4px;background:rgba(124,138,156,.16);overflow:hidden}
.lens .lf{height:100%;border-radius:4px;background:linear-gradient(90deg,#3a4654,#7c8a9c)}
.rr .it{display:flex;gap:13px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border)}
.rr .it:last-child{border-bottom:none;padding-bottom:0}
.rr .rk{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:4px;border:1px solid var(--border);color:var(--muted);white-space:nowrap;margin-top:1px}
.rr .rk.hi{color:var(--paper);background:var(--bronze-1);border-color:var(--bronze-1)}
.rr .tx{font-size:.85rem;color:var(--ink);line-height:1.55}
.rr .tx span{color:var(--muted)}
.moat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 4px}
.moat .m{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:18px 20px}
.moat .m .mt{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--ink);margin:0 0 7px}
.moat .m .md{font-size:.79rem;color:var(--muted);line-height:1.5;margin:0}
@media(max-width:680px){.viz{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.moat{grid-template-columns:1fr}}
