/* ============================================
   VLP Advisors — Shared Design System
   Palette: forest green + brass gold on warm parchment
   Type: Source Serif 4 (display) + Inter (body/UI)
   ============================================ */

:root{
  --bg:#F5F3EE;
  --surface:#FFFFFF;
  --ink:#1E2A28;
  --ink-soft:#48544F;
  --accent:#4A7A9B;
  --accent-dark:#35566E;
  --accent-light:#DEE8EE;
  --gold:#B08D57;
  --gold-light:#F3E9D8;
  --gold-text:#7A6636;
  --critical:#B4483B;
  --high:#C98A2E;
  --medium:#6B93AE;
  --strong:#3F7D5C;
  --border:#E1DDD3;
  --radius:14px;
  --radius-sm:10px;
  --maxw:1120px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Source Serif 4',serif;}
h1,h2,h3{margin:0 0 16px;font-weight:700;color:var(--ink);}
p{margin:0 0 16px;color:var(--ink-soft);}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:10px;}

/* ---------- Header / Nav ---------- */
header.site-header{
  background:var(--bg);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
}
.nav-row{
  max-width:var(--maxw);margin:0 auto;padding:18px 24px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{
  font-family:'Source Serif 4',serif;font-weight:700;font-size:20px;color:var(--ink);
  display:flex;align-items:center;gap:9px;
}
.logo-block{display:flex;flex-direction:column;align-items:center;gap:2px;}
.nav-tagline{
  font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  font-weight:600;color:var(--gold-text);
}
.logo-icon{height:32px;width:auto;display:block;}
.logo-full{height:120px;width:auto;display:block;}
.tagline{
  font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.09em;text-transform:uppercase;
  font-weight:600;color:var(--gold-text);
}
footer .tagline{color:var(--gold);}
nav.main-nav{display:flex;align-items:center;gap:28px;}
nav.main-nav a{
  font-size:14.5px;font-weight:600;color:var(--ink-soft);
}
nav.main-nav a:hover{color:var(--accent);text-decoration:none;}
nav.main-nav a.current{color:var(--accent);}
.nav-cta{
  background:var(--accent);color:#fff !important;padding:10px 20px;border-radius:999px;
  font-size:14px;font-weight:600;
}
.nav-cta:hover{background:var(--accent-dark);text-decoration:none;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.menu-toggle svg{width:24px;height:24px;stroke:var(--ink);}

@media(max-width:860px){
  nav.main-nav{
    position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--bg);
    flex-direction:column;align-items:flex-start;padding:28px 24px;gap:22px;
    transform:translateX(100%);transition:transform .22s ease;overflow-y:auto;
  }
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav a{font-size:18px;}
  .menu-toggle{display:block;}
  .nav-cta{margin-top:8px;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--accent);color:#fff;border:none;border-radius:10px;
  padding:15px 28px;font-size:15px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;
  transition:background .15s ease, transform .1s ease;
}
.btn:hover{background:var(--accent-dark);text-decoration:none;color:#fff;}
.btn:active{transform:translateY(1px);}
.btn.secondary{background:transparent;color:var(--accent);border:1.5px solid var(--accent);}
.btn.secondary:hover{background:var(--accent-light);}
.btn.gold{background:var(--gold);}
.btn.gold:hover{background:#9a7947;}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- Sections ---------- */
section{padding:88px 0;}
section.tight{padding:56px 0;}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* ---------- Cards ---------- */
.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;box-shadow:0 1px 2px rgba(30,42,40,0.04);
}

/* ---------- Ledger bar (signature motif) ---------- */
.ledger{display:flex;gap:5px;align-items:flex-end;height:46px;}
.ledger .seg{flex:1;border-radius:3px 3px 0 0;background:var(--border);}
.ledger .seg.fill{background:var(--accent);}
.ledger .seg.gold{background:var(--gold);}
.divider-ledger{display:flex;gap:4px;margin:56px 0;height:6px;}
.divider-ledger .seg{flex:1;background:var(--border);border-radius:3px;}
.divider-ledger .seg:nth-child(3n+1){background:var(--accent-light);}
.divider-ledger .seg:nth-child(5n+2){background:var(--gold-light);}

/* ---------- Hero ---------- */
.hero{padding:80px 0 70px;}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:start;}
.hero h1{font-size:44px;line-height:1.12;letter-spacing:-.01em;}
.hero .lede{font-size:18px;max-width:480px;}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .hero h1{font-size:32px;}
}

/* ---------- Grids ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(max-width:860px){
  .grid-3{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
}

/* ---------- Pills / tags ---------- */
.tag{
  display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--accent);background:var(--accent-light);padding:4px 10px;border-radius:999px;
}
.tag.gold{color:var(--gold-text);background:var(--gold-light);}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--ink);color:#CBD3CF;padding:56px 0 32px;margin-top:40px;
}
footer.site-footer a{color:#E8ECE9;}
footer.site-footer .foot-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px;
}
footer.site-footer h4{color:#fff;font-size:14px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;font-family:'Inter',sans-serif;}
footer.site-footer ul{list-style:none;margin:0;padding:0;}
footer.site-footer li{margin-bottom:10px;font-size:14.5px;}
footer.site-footer .foot-bottom{
  border-top:1px solid #33403C;padding-top:24px;font-size:13px;color:#8A968F;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
@media(max-width:860px){
  footer.site-footer .foot-grid{grid-template-columns:1fr;}
}

/* ---------- Mini results card (mirrors assessment tool components) ---------- */
.snap-gauge-wrap{display:flex;flex-direction:column;align-items:center;margin:4px 0 14px;}
.snap-gauge-score{font-family:'Source Serif 4',serif;font-size:38px;font-weight:700;margin-top:-46px;color:var(--ink);}
.snap-readiness-pill{display:inline-block;padding:5px 14px;border-radius:999px;font-size:12.5px;font-weight:600;margin-top:4px;background:var(--gold-light);color:var(--gold-text);}
.snap-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 18px;}
.snap-stat-box{background:var(--gold-light);border-radius:10px;padding:12px 14px;}
.snap-stat-box .snap-stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--gold-text);font-weight:600;margin-bottom:4px;}
.snap-stat-box .snap-stat-value{font-family:'Source Serif 4',serif;font-size:19px;font-weight:700;color:var(--ink);}
.snap-cat-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.snap-cat-row .snap-cat-name{width:108px;font-size:12.5px;font-weight:600;flex-shrink:0;color:var(--ink);}
.snap-cat-bar-track{flex:1;height:8px;background:var(--border);border-radius:6px;overflow:hidden;}
.snap-cat-bar-fill{height:100%;border-radius:6px;}
.snap-cat-priority{width:52px;text-align:right;font-size:10.5px;font-weight:600;flex-shrink:0;}
@media(max-width:480px){
  .snap-cat-row .snap-cat-name{width:88px;font-size:11.5px;}
}

/* ---------- Utility ---------- */
.center{text-align:center;}
.mt-0{margin-top:0;}
.text-soft{color:var(--ink-soft);}
.bg-surface{background:var(--surface);}
.bg-accent-light{background:var(--accent-light);}
