/* Visual page elements use the existing public typography, colors and cards. */
.vb-block { max-width: 100%; overflow-wrap: anywhere; }
.vb-columns { display: grid; grid-template-columns: repeat(var(--vb-columns, 3), minmax(0,1fr)); gap: 22px; }
.vb-image img { display: block; max-width: 100%; }
.vb-quote { border-left: 3px solid var(--primary); padding-left: 24px; }
.vb-document > :not(.page-band) { margin-left: auto; margin-right: auto; }
.vb-block.page-feature-card { height: auto; }
.vb-section-inner > .vb-block ~ .vb-block { margin-top: 16px; }
@media(max-width: 991px) { .vb-columns { grid-template-columns: repeat(var(--vb-tablet-columns,2),minmax(0,1fr)); } }
@media(max-width: 640px) { .vb-columns { grid-template-columns: repeat(var(--vb-mobile-columns,1),minmax(0,1fr)); } }

.vb-columns > .page-feature-card { min-width: 0; }
.vb-columns[style*="--vb-card-padding:"] > .page-feature-card { padding: var(--vb-card-padding); }

.vb-form > .vb-block + .vb-block { margin-top: 16px; }
.vb-form-field { min-width: 0; grid-template-columns: minmax(0,1fr); gap: 8px; }
.vb-form-field .website-check { display: flex; align-items: baseline; gap: 8px; }
.vb-form-field input[type="checkbox"], .vb-form-field input[type="radio"] { width: auto; min-height: 0; padding: 0; flex: 0 0 auto; }
.vb-form-field fieldset { min-width: 0; border: 0; padding: 0; }
.vb-form-field legend { float: none; font-size: inherit; }
.vb-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

.content-hero { position:relative; isolation:isolate; overflow:hidden; }
.vb-hero-image { position:absolute; inset:0; z-index:-1; background-position:center; pointer-events:none; }
.vb-document { padding-inline:clamp(20px,4vw,64px); max-width:1440px; margin-inline:auto; }
.vb-section-inner.container { width:100%; max-width:none; padding-inline:0; }
.vb-block.page-feature-card { overflow:auto; align-self:start; }
@media(max-width:640px) { .vb-columns > .page-feature-card { width:100% !important; height:auto !important; } }

/* Explicit page-relative sizing can expand a card beyond its original grid cell. */
.vb-block { box-sizing:border-box; min-width:0; }
.vb-document { width:100%; max-width:none; }
.vb-columns { --vb-column-gap:22px; }
.vb-columns:has(> [data-vb-page-width]) { display:flex; flex-wrap:wrap; align-items:flex-start; }
.vb-columns:has(> [data-vb-page-width]) > .vb-block { flex:0 0 auto; width:var(--vb-item-width,calc((100% - (var(--vb-columns,3) - 1) * var(--vb-column-gap,22px)) / var(--vb-columns,3))) !important; }
@media(max-width:991px) { .vb-columns:has(> [data-vb-page-width]) > .vb-block:not([data-vb-page-width]) { width:calc((100% - (var(--vb-tablet-columns,2) - 1) * var(--vb-column-gap,22px)) / var(--vb-tablet-columns,2)) !important; } }
@media(max-width:640px) { .vb-columns:has(> [data-vb-page-width]) > .vb-block { width:100% !important; } }

@media(max-width:640px) { .vb-columns > .page-feature-card[data-vb-height-unit="vh"] { height:var(--vb-viewport-height,auto) !important; } }

.vb-rich-content a { color:inherit; text-decoration:underline; }
.vb-rich-content :is(p,div,li,span,a) { font-family:inherit; }
