/* Publieke site (SEO-pagina's) */
body.site { background: #fff; color: #1f2937; font-family: 'Instrument Sans', system-ui, sans-serif; }
.site a { text-decoration: none; }
.site-nav { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border-bottom: 1px solid #eef0f4; }
.site-menu { display: flex; align-items: center; gap: 1.25rem; }
.site-menu a { color: #374151; font-weight: 500; }
.site-menu a.active, .site-menu a:hover { color: var(--bs-primary); }
@media (max-width: 991.98px) {
  .site-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; flex-direction: column; align-items: stretch; padding: 1rem 1.25rem; border-bottom: 1px solid #eef0f4; gap: .75rem; }
  #navtoggle:checked ~ .site-menu { display: flex; }
}
.hero { background: radial-gradient(1200px 500px at 85% 0%, #eef2ff 0%, #fff 60%); }
.hero-doc { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 24px; transform: rotate(1.2deg); max-width: 460px; margin-left: auto; }
.bg-soft { background: #f6f7fb; }
.feature-card { transition: transform .15s, box-shadow .15s; border: 1px solid #eef0f4; }
.feature-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(17,24,39,.06); }
.step-nr { width: 44px; height: 44px; border-radius: 50%; background: var(--bs-primary); color: #fff; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.price-card.hl { border: 2px solid var(--bs-success); }
.site-cta { background: linear-gradient(135deg, #4f46e5, #6d28d9); color: #fff; }
.site-cta h2, .site-cta .lead { color: #fff; }
.site-footer { background: #0f172a; color: #94a3b8; }
.site-footer a { color: #cbd5e1; } .site-footer a:hover { color: #fff; }
.site-footer h3 { color: #fff; }
.site-footer img { filter: brightness(0) invert(1); opacity: .9; }
.faq-item { border-bottom: 1px solid #e5e7eb; padding: .9rem 0; }
.faq-item summary { cursor: pointer; font-weight: 600; list-style: none; }
.faq-item summary::after { content: "+"; float: right; color: var(--bs-primary); font-weight: 700; }
.faq-item[open] summary::after { content: "–"; }
.faq-item p { margin: .6rem 0 0; color: #4b5563; }
.check { width: 28px; height: 28px; border-radius: 50%; background: #dcfce7; color: #15803d; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-weight: 700; }
.check-list { padding-left: 0; list-style: none; } .check-list li { padding: .35rem 0 .35rem 1.8rem; position: relative; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: #15803d; font-weight: 700; }
.article-body { font-size: 1.05rem; line-height: 1.75; }
.article-body h2 { font-size: 1.3rem; font-weight: 700; margin-top: 2rem; }
.article-body ul { padding-left: 1.2rem; } .article-body li { margin: .25rem 0; }
.article-body code { background: #f3f4f6; color: #111827; padding: 1px 5px; border-radius: 4px; }
.tool-out { background: #f6f7fb; border-radius: 10px; padding: 14px; }
.tool-out.hl { background: #ecfdf5; }
.site .tpl-thumb { background: #f3f4f6; }
.hero { overflow: hidden; } body.site { overflow-x: hidden; } @media (max-width: 575.98px) { .hero-doc { transform: none; } }
.toc { background: #f6f7fb; border-radius: 10px; padding: 14px 18px; margin: 1rem 0 1.5rem; } .toc ol { padding-left: 1.2rem; } .toc li { margin: .15rem 0; } .article-body h2 { scroll-margin-top: 90px; } .article-body table { font-size: .95rem; }
