/* VT Section Builder — styles for sections added from the block library.
   Everything is scoped under .vtsb-sec so nothing leaks into the theme. */

/* Fallbacks so that single elements added inside THEME sections (buttons, video frames) are styled too. */
:root{--_accent:var(--vtsb-accent,#1e4fd8);--_accent2:var(--vtsb-accent2,#c9a24b);--_radius:var(--vtsb-radius,16px);--_btn-radius:var(--vtsb-btn-radius,999px)}

.vtsb-sec{
	--_accent:var(--vtsb-accent,#1e4fd8);
	--_accent2:var(--vtsb-accent2,#c9a24b);
	--_ink:var(--vtsb-ink,#101828);
	--_muted:var(--vtsb-muted,#5b6475);
	--_soft:var(--vtsb-soft,#f4f6fb);
	--_radius:var(--vtsb-radius,16px);
	--_btn-radius:var(--vtsb-btn-radius,999px);
	position:relative;
	box-sizing:border-box;
	padding:clamp(52px,7vw,104px) clamp(18px,4vw,40px);
	color:var(--_ink);
	font-family:var(--vtsb-bfont,inherit);
	line-height:1.65;
	background-size:cover;
	background-position:center;
}
.vtsb-sec *,.vtsb-sec *::before,.vtsb-sec *::after{box-sizing:border-box}
.vtsb-sec--tight{padding-top:clamp(24px,3vw,44px);padding-bottom:clamp(24px,3vw,44px)}
.vtsb-wrap{width:100%;max-width:var(--vtsb-max,1180px);margin:0 auto}
.vtsb-narrow{max-width:760px}
.vtsb-narrow-lg{max-width:980px}
.vtsb-center{text-align:center}
.vtsb-head{margin:0 auto clamp(28px,4vw,52px);max-width:760px}

.vtsb-sec img{max-width:100%;height:auto;display:block}
.vtsb-sec p{margin:0 0 1em;color:var(--_muted);font-size:clamp(16px,1.15vw,18px)}
.vtsb-sec p:last-child{margin-bottom:0}

.vtsb-eyebrow{display:inline-block;margin:0 0 14px;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--_accent2)}
p.vtsb-eyebrow{display:block;color:var(--_accent2)}
.vtsb-h{margin:0 0 16px;font-family:var(--vtsb-hfont,inherit);font-size:clamp(28px,3.6vw,46px);line-height:1.12;letter-spacing:-.01em;color:var(--_ink)}
.vtsb-h em{font-style:italic;color:var(--_accent2)}
.vtsb-h3{margin:0 0 8px;font-family:var(--vtsb-hfont,inherit);font-size:clamp(19px,1.6vw,23px);line-height:1.25;color:var(--_ink)}
.vtsb-lead{font-size:clamp(17px,1.35vw,20px)!important}

/* Buttons */
.vtsb-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.vtsb-center .vtsb-actions{justify-content:center}
.vtsb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:var(--_btn-radius);border:1.5px solid transparent;background:var(--_accent);color:#fff!important;font-weight:650;font-size:16px;line-height:1.1;text-decoration:none!important;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 10px 24px -12px var(--_accent)}
.vtsb-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px var(--_accent)}
.vtsb-btn:focus-visible{outline:3px solid var(--_accent2);outline-offset:3px}
.vtsb-split__body>.vtsb-btn,.vtsb-banner .vtsb-btn{margin-top:22px}
.vtsb-btn--ghost{background:transparent;color:var(--_accent)!important;border-color:var(--_accent);box-shadow:none}
.vtsb-btn--light{background:#fff;color:var(--_accent)!important;box-shadow:0 12px 28px -14px rgba(0,0,0,.6)}
.vtsb-btn--ghost-light{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.65);box-shadow:none}

/* Grids */
.vtsb-grid{display:grid;gap:clamp(16px,2vw,28px)}
.vtsb-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vtsb-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vtsb-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* Split (image + text) */
.vtsb-split__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.vtsb-split--rev .vtsb-split__media{order:2}
.vtsb-split__media{margin:0;border-radius:var(--_radius);overflow:hidden;box-shadow:0 30px 60px -36px rgba(16,24,40,.45)}
.vtsb-split__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.vtsb-checks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.vtsb-checks li{position:relative;padding-left:30px;color:var(--_ink);font-weight:550}
.vtsb-checks li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;border-radius:50%;background:var(--_accent)}
.vtsb-checks li::after{content:"";position:absolute;left:6px;top:calc(.28em + 4px);width:5px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Image + gallery */
.vtsb-figure{margin:0}
.vtsb-figure img{width:100%;border-radius:var(--_radius)}
.vtsb-figure figcaption{margin-top:12px;text-align:center;color:var(--_muted);font-size:14.5px}
.vtsb-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
.vtsb-gallery__grid figure{margin:0;border-radius:calc(var(--_radius) - 4px);overflow:hidden;background:var(--_soft)}
.vtsb-gallery__grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}
.vtsb-gallery__grid figure:hover img{transform:scale(1.04)}

/* Video */
.vtsb-video__frame{position:relative;aspect-ratio:16/9;border-radius:var(--_radius);overflow:hidden;background:#0b1020;box-shadow:0 40px 80px -48px rgba(16,24,40,.6)}
.vtsb-video__frame iframe,.vtsb-video__frame video{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Banner */
.vtsb-banner{color:#fff;min-height:clamp(340px,44vw,560px);display:flex;align-items:center}
.vtsb-banner .vtsb-h,.vtsb-banner p{color:#fff}

/* Cards */
.vtsb-card{padding:clamp(22px,2.4vw,34px);border-radius:var(--_radius);background:#fff;border:1px solid rgba(16,24,40,.08);box-shadow:0 18px 40px -30px rgba(16,24,40,.35);transition:transform .25s ease,box-shadow .25s ease}
.vtsb-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(16,24,40,.45)}
.vtsb-card__num{display:inline-block;margin-bottom:14px;font-family:var(--vtsb-hfont,inherit);font-size:15px;font-weight:700;letter-spacing:.08em;color:var(--_accent2)}
.vtsb-features{background:var(--_soft)}
.vtsb-icard{display:flex;flex-direction:column}
.vtsb-icard__media{display:block;margin-bottom:16px;border-radius:var(--_radius);overflow:hidden;background:var(--_soft)}
.vtsb-icard__media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}
.vtsb-icard:hover .vtsb-icard__media img{transform:scale(1.04)}

/* Steps */
.vtsb-steps__list{list-style:none;counter-reset:vtsb-step;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.vtsb-step{counter-increment:vtsb-step;position:relative;padding-top:58px}
.vtsb-step::before{content:counter(vtsb-step,decimal-leading-zero);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--_accent);color:#fff;font-weight:700;font-size:15px}
.vtsb-step::after{content:"";position:absolute;top:22px;left:56px;right:-14px;height:1px;background:linear-gradient(90deg,var(--_accent2),transparent)}
.vtsb-step:last-child::after{display:none}

/* Stats */
.vtsb-stats{background:var(--_ink);color:#fff}
.vtsb-stat{text-align:center;padding:6px 10px}
.vtsb-stat__n{display:block;font-family:var(--vtsb-hfont,inherit);font-size:clamp(34px,4.4vw,58px);line-height:1;color:#fff}
.vtsb-stat__l{display:block;margin-top:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}

/* Quotes */
.vtsb-quote{margin:0;padding:clamp(22px,2.4vw,34px);border-radius:var(--_radius);background:#fff;border:1px solid rgba(16,24,40,.08);position:relative}
.vtsb-quote::before{content:"\201C";display:block;font-family:Georgia,serif;font-size:56px;line-height:.6;color:var(--_accent2);margin-bottom:6px}
.vtsb-quote p{color:var(--_ink);font-size:17px}
.vtsb-quote cite{display:block;margin-top:16px;font-style:normal;font-weight:650;font-size:14.5px;color:var(--_muted)}
.vtsb-quotes{background:var(--_soft)}

/* FAQ */
.vtsb-faq__list{display:grid;gap:12px}
.vtsb-faq__item{border:1px solid rgba(16,24,40,.1);border-radius:calc(var(--_radius) - 4px);background:#fff;overflow:hidden}
.vtsb-faq__item summary{list-style:none;cursor:pointer;padding:20px 56px 20px 22px;font-weight:650;font-size:17px;color:var(--_ink);position:relative}
.vtsb-faq__item summary::-webkit-details-marker{display:none}
.vtsb-faq__item summary::after{content:"";position:absolute;right:24px;top:50%;width:10px;height:10px;border:solid var(--_accent);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);transition:transform .25s ease}
.vtsb-faq__item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.vtsb-faq__a{padding:0 22px 22px}

/* Logos */
.vtsb-logos__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(20px,4vw,56px);margin-top:18px}
.vtsb-logos__row img{height:clamp(34px,4vw,54px);width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .3s ease,opacity .3s ease}
.vtsb-logos__row img:hover{filter:none;opacity:1}

/* CTA */
.vtsb-cta{background:linear-gradient(135deg,var(--_accent),color-mix(in srgb,var(--_accent) 62%,#000));color:#fff}
.vtsb-cta .vtsb-h,.vtsb-cta p{color:#fff}
.vtsb-cta p{opacity:.9}

/* Form */
.vtsb-form{background:var(--_soft)}
.vtsb-form__card{padding:clamp(20px,2.6vw,36px);border-radius:var(--_radius);background:#fff;border:1px solid rgba(16,24,40,.08);box-shadow:0 30px 60px -40px rgba(16,24,40,.45)}

/* Divider */
.vtsb-rule{border:0;height:1px;margin:0;background:linear-gradient(90deg,transparent,var(--_accent2),transparent)}

@media (max-width:1024px){
	.vtsb-grid--4,.vtsb-steps__list{grid-template-columns:repeat(2,minmax(0,1fr))}
	.vtsb-step::after{display:none}
}
@media (max-width:767px){
	.vtsb-grid--2,.vtsb-grid--3,.vtsb-split__grid{grid-template-columns:minmax(0,1fr)}
	.vtsb-split--rev .vtsb-split__media{order:0}
	.vtsb-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.vtsb-actions{flex-direction:column;align-items:stretch}
	.vtsb-btn{width:100%}
	.vtsb-split__body>.vtsb-btn{width:auto}
}
@media (max-width:420px){
	.vtsb-grid--4,.vtsb-steps__list{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
	.vtsb-sec *{transition:none!important}
}

/* Raw pasted HTML (Custom HTML block). No block styling; CSS of the pasted code is confined to #vtsb-s-xxxxxx. */
.vtsb-raw{position:relative;display:block;box-sizing:border-box;width:100%;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:none}
.vtsb-raw__in{position:relative;display:block}
.vtsb-raw--doc{contain:layout;overflow-x:clip}
.vtsb-raw--doc>.vtsb-raw__in{min-height:1px}

.vtsb-gap{display:block;width:100%}

/* Long-form / SEO content */
.vtsb-prose{color:var(--_ink,inherit)}
.vtsb-prose>*:first-child{margin-top:0}
.vtsb-prose h2{margin:1.6em 0 .55em;font-family:var(--vtsb-hfont,inherit);font-size:clamp(26px,3vw,38px);line-height:1.15}
.vtsb-prose h3{margin:1.5em 0 .5em;font-family:var(--vtsb-hfont,inherit);font-size:clamp(20px,2.1vw,26px);line-height:1.2}
.vtsb-prose h4{margin:1.3em 0 .4em;font-size:1.05em;line-height:1.3}
.vtsb-prose p{margin:0 0 1.05em;line-height:1.75}
.vtsb-prose ul,.vtsb-prose ol{margin:0 0 1.2em;padding-left:1.35em;line-height:1.7}
.vtsb-prose li{margin:0 0 .45em}
.vtsb-prose a{color:var(--vtsb-accent,inherit);text-decoration:underline;text-underline-offset:3px}
.vtsb-prose blockquote{margin:1.4em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--vtsb-accent2,currentColor);font-style:italic}
.vtsb-prose table{width:100%;margin:0 0 1.3em;border-collapse:collapse;font-size:.95em}
.vtsb-prose th,.vtsb-prose td{padding:10px 12px;border:1px solid rgba(127,127,127,.3);text-align:left;vertical-align:top}
