/* VB pack structural layer — generated, theme-invariant, responsive. Do not edit. */
.vb-section,.vb-container,.vb-grid,.vb-col,.vb-row,.vb-box { box-sizing: border-box; }
.vb-section { padding: var(--vb-section-pad-y, 4rem) var(--vb-section-pad-x, var(--vb-space-fluid-md, 1.5rem)); }
.vb-container { max-width: var(--vb-content-width, 65rem); margin-inline: auto; width: 100%; }
.vb-container--wide { max-width: var(--vb-wide-width, 80rem); }
.vb-grid { display: grid; grid-template-columns: var(--vb-grid-cols, repeat(3, 1fr)); gap: var(--vb-grid-gap, var(--vb-gap, 1.5rem)); }
.vb-row { display: flex; gap: var(--vb-grid-gap, var(--vb-gap, 1.5rem)); align-items: stretch; flex-wrap: wrap; }
.vb-col { flex: 1 1 0; min-width: 0; }
.vb-box { display: block; }
/* surface inversion */
.vb-surface--default { background: var(--vb-surface-default-bg, #ffffff); color: var(--vb-surface-default-text, #1f2933); }
.vb-surface--inverted { background: var(--vb-surface-inverted-bg, #1f2933); color: var(--vb-surface-inverted-text, #ffffff); }
.vb-surface--brand { background: var(--vb-surface-brand-bg, #3c4655); color: var(--vb-surface-brand-text, #ffffff); }
.vb-surface--inverted :where(h1,h2,h3,h4,h5,h6,p,a,li,span,strong,em),.vb-surface--brand :where(h1,h2,h3,h4,h5,h6,p,a,li,span,strong,em) { color: inherit; }
/* components */
.vb-btn { display: inline-block; padding: 0.65em 1.4em; border: 1px solid transparent; border-radius: var(--vb-radius-md, 6px); font: inherit; font-weight: 600; line-height: 1.2; cursor: pointer; text-decoration: none; transition: filter .15s ease; }
.vb-btn--primary { background: var(--vb-color-primary-600, #3c4655); color: var(--vb-color-text-inverse, #ffffff); }
.vb-btn--primary:hover { filter: brightness(1.08); }
.vb-btn--ghost { background: transparent; border-color: currentColor; color: inherit; }
.vb-surface--inverted .vb-btn--primary,.vb-surface--brand .vb-btn--primary { background: var(--vb-color-text-inverse, #ffffff); color: var(--vb-color-primary-700, #2d3542); }
.vb-nav { display: flex; align-items: center; gap: var(--vb-space-5, 1.25rem); flex-wrap: wrap; }
.vb-nav__link { color: inherit; text-decoration: none; opacity: 0.85; }
.vb-nav__link:hover { opacity: 1; }
.vb-header { padding: var(--vb-space-4, 1rem) 0; border-bottom: 1px solid var(--vb-color-border, #e5e7eb); }
.vb-header .vb-nav { max-width: var(--vb-content-width, 65rem); margin-inline: auto; padding-inline: var(--vb-space-fluid-md, 1.5rem); }
.vb-footer { padding: var(--vb-space-fluid-lg, 3rem) 0; border-top: 1px solid var(--vb-color-border, #e5e7eb); font-size: var(--vb-font-size-sm, 0.875rem); }
/* responsive breakpoints */
@media (max-width: 1024px) { .vb-grid { grid-template-columns: var(--vb-grid-cols-lg, var(--vb-grid-cols, repeat(3, 1fr))); } }
@media (max-width: 768px) { .vb-grid { grid-template-columns: var(--vb-grid-cols-md, repeat(2, 1fr)); } }
@media (max-width: 640px) { .vb-grid { grid-template-columns: 1fr; } .vb-grid > * { grid-column: auto !important; } .vb-row { flex-direction: column; } .vb-col { flex-basis: auto; } }
