﻿:root {
  --primary: #1e3a5f;
  --secondary: #c9a227;
  --theme: #faf8f5;
  --entry: #ffffff;
  --content: #1a1a1a;
  --vf-primary: #1e3a5f;
  --vf-accent: #c9a227;
  --vf-bg: #faf8f5;
  --vf-text: #1a1a1a;
  --vf-surface: #ffffff;
  --vf-border: #e8e4df;
}

html[data-theme="dark"] {
  --theme: #0f1419;
  --entry: #1a232e;
  --content: #f5f5f5;
  --vf-bg: #0f1419;
  --vf-text: #f5f5f5;
  --vf-surface: #1a232e;
  --vf-border: #2d3748;
}

body {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  background: var(--vf-bg);
  color: var(--vf-text);
}

h1, h2, h3, h4 {
  font-family: "DM Serif Display", Georgia, serif;
  letter-spacing: 0.01em;
}

a {
  color: var(--vf-primary);
}

a:hover {
  color: var(--vf-accent);
}

/* PaperMod cards */
.post-entry, .post-single, .entry-content {
  border-radius: 14px;
  background: var(--vf-surface);
  border: 1px solid var(--vf-border);
}

/* Header / footer alignment */
.vf-header {
  border-bottom: 1px solid var(--vf-border);
  background: rgba(250, 248, 245, 0.9);
  backdrop-filter: blur(8px);
}
html[data-theme="dark"] .vf-header {
  background: rgba(15, 20, 25, 0.9);
}
.vf-header .logo a {
  font-family: "DM Serif Display", Georgia, serif;
  color: var(--vf-text);
}
.vf-menu a span {
  font-weight: 600;
}
.vf-footer {
  border-top: 1px solid var(--vf-border);
  background: var(--vf-surface);
}

/* CTA button style */
.vf-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  background: var(--vf-primary);
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none;
}

.vf-cta:hover { background: #152a45; }

/* CTA focus states */
.vf-cta:focus-visible {
  outline: 2px solid var(--vf-accent);
  outline-offset: 2px;
}

/* Trust callout */
.vf-trust {
  border: 2px solid var(--vf-accent);
  padding: 1rem;
  border-radius: 12px;
  background: rgba(201,162,39,0.08);
  font-weight: 600;
}
.vf-trust:focus-within {
  box-shadow: 0 0 0 2px var(--vf-accent);
}

/* Home hero layout */
.vf-hero {
  display: grid;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 900px) {
  .vf-hero {
    grid-template-columns: 1.2fr 0.8fr;
    align-items: start;
  }
}
.vf-kicker {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--vf-accent);
  margin-bottom: 0.5rem;
}
.vf-lead {
  font-size: 1.05rem;
  line-height: 1.6;
  margin-bottom: 1.2rem;
}
.vf-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1rem 0 1.5rem;
}
.vf-cta-secondary {
  background: transparent;
  color: var(--vf-primary);
  border: 2px solid var(--vf-primary);
}
.vf-cta-secondary:hover {
  background: rgba(30, 58, 95, 0.08);
}

.vf-hero-card {
  background: var(--vf-surface);
  border: 1px solid var(--vf-border);
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
}
.vf-card-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--vf-primary);
  margin-bottom: 1rem;
}
.vf-stat-grid {
  display: grid;
  gap: 0.9rem;
}
.vf-stat {
  padding: 0.75rem 0.9rem;
  border: 1px dashed var(--vf-border);
  border-radius: 10px;
}
.vf-stat-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--vf-text);
  opacity: 0.7;
  margin-bottom: 0.2rem;
}
.vf-stat-value {
  font-weight: 700;
  color: var(--vf-text);
}
.vf-evidence {
  margin-top: 1.2rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgba(201,162,39,0.12);
  border: 1px solid rgba(201,162,39,0.5);
  font-weight: 600;
}

.vf-pillars {
  display: grid;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 900px) {
  .vf-pillars {
    grid-template-columns: repeat(3, 1fr);
  }
}
.vf-pill {
  padding: 1.1rem 1.2rem;
  border-radius: 14px;
  background: var(--vf-surface);
  border: 1px solid var(--vf-border);
}
.vf-pill h3 {
  margin-top: 0;
}
