/* Shared layout/theme */
:root {
  --vt-color-bg: #ffffff;
  --vt-color-surface: #ffffff;
  --vt-color-muted: #F4F7FA;
  --vt-color-text: #0b0b0b;
  --vt-color-text-muted: #6C7A89;
  --vt-color-primary: #0a1f33;
  --vt-color-accent: #0096A6;
  --vt-color-border: #e0e4e8;
  --vt-font-base: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --vt-font-head: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --vt-radius: 10px;
  --vt-shadow-sm: 0 2px 6px rgba(16, 24, 40, 0.06);
  --vt-shadow-md: 0 6px 16px rgba(16, 24, 40, 0.08);
  --vt-transition: 0.25s ease;
  --vt-container-max: 1200px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--vt-font-base);
  color: var(--vt-color-text);
  background: var(--vt-color-bg);
  line-height: 1.6;
}
img, picture, svg { display: block; max-width: 100%; }
a { color: var(--vt-color-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { width: min(92%, var(--vt-container-max)); margin-inline: auto; }
h1,h2,h3,h4 { font-family: var(--vt-font-head); margin: 0 0 0.5em; }
p { margin: 0 0 1em; }
.hero { background: var(--vt-color-muted); padding: 3rem 0; }
.hero-inner { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2rem; align-items: center; }
@media (max-width: 900px){ .hero-inner{ grid-template-columns: 1fr; } }
.grid { display:grid; gap:2rem; }
.grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 900px){ .grid-2,.grid-3{ grid-template-columns:1fr; } }
.feature { background:#fff; border:1px solid var(--vt-color-border); border-radius:var(--vt-radius); padding:1.25rem; box-shadow:var(--vt-shadow-sm); }
.section { padding:3rem 0; }
.section-header { text-align:center; max-width:60ch; margin:0 auto 2rem; }
.btn { display:inline-block; padding:0.75rem 1.25rem; border-radius:var(--vt-radius); border:1px solid transparent; font-weight:600; }
.btn-primary { background:var(--vt-color-accent); color:#fff; }
.btn-primary:hover { background:#007684; color:#fff; text-decoration:none; }
.btn-ghost { background:transparent; border-color:var(--vt-color-accent); color:var(--vt-color-accent); }
.btn-ghost:hover { background:var(--vt-color-accent); color:#fff; text-decoration:none; }
.site-header { position:sticky; top:0; background:#fff; border-bottom:1px solid var(--vt-color-border); z-index:20; }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; }
.primary-nav ul { display:flex; gap:1.5rem; list-style:none; margin:0; padding:0; }
.primary-nav a { color:var(--vt-color-text); font-weight:500; }
.primary-nav a.active, .primary-nav a:hover { color:var(--vt-color-accent); text-decoration:none; }
.nav-toggle{ display:none; }
@media (max-width:900px){
  .nav-toggle{ display:inline-block; border:0; background:transparent; cursor:pointer; }
  .nav-toggle span{ display:block; width:22px; height:2px; background:#000; margin:4px 0; }
  .primary-nav{ position:fixed; inset:60px 0 auto 0; background:#fff; border-bottom:1px solid var(--vt-color-border); display:none; padding:1rem 0; }
  .primary-nav.is-open{ display:block; }
  .primary-nav ul{ flex-direction:column; padding:0 1rem; }
}
.trust-strip { background:#fff; border-top:1px solid var(--vt-color-border); border-bottom:1px solid var(--vt-color-border); }
.trust-logos{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; align-items:center; justify-items:center; padding:1rem 0; }
@media (max-width:700px){ .trust-logos{ grid-template-columns:repeat(2,1fr); } }
.stats-band{ background:var(--vt-color-primary); color:#fff; padding:2rem 0; }
.stats-band .grid-3{ text-align:center; }
.site-footer{ background:#0e1721; color:#d6d9de; padding:3rem 0 1rem; font-size:0.9rem; }
.footer-columns{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
@media (max-width:900px){ .footer-columns{ grid-template-columns:1fr; } }
.footer-bottom{ border-top:1px solid #1a2632; margin-top:1.5rem; padding-top:1rem; text-align:center; }
