.vl{--vl-ink:#32134A;--vl-accent:#8E44AD;--vl-lilac:#f4ebf8;--vl-cream:#FFFDF9;--vl-line:#ecdff3;color:var(--vl-ink);font-family:var(--font-body-family);-webkit-font-smoothing:antialiased}
.vl *,.vl *::before,.vl *::after{box-sizing:border-box}
.vl-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.vl-sec{padding:56px 0}
@media (min-width:750px){.vl-sec{padding:84px 0}}
.vl-eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--vl-accent);margin:0 0 10px}
.vl-h2{font-family:var(--font-heading-family);font-size:clamp(27px,4vw,42px);line-height:1.12;margin:0 0 14px;color:var(--vl-ink);font-weight:700;letter-spacing:-.01em}
.vl-sub{font-size:16px;line-height:1.6;margin:0 auto;max-width:640px;opacity:.85}
.vl-sub p{margin:0}
.vl-center{text-align:center}
.vl-head{margin-bottom:36px}
.vl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 30px;border-radius:999px;background:var(--vl-ink);color:#fff;font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;border:0;cursor:pointer;transition:transform .15s ease,background-color .15s ease,color .15s ease;letter-spacing:.02em}
.vl-btn:hover{background:var(--vl-accent);color:#fff;transform:translateY(-1px)}
.vl-btn--light{background:#fff;color:var(--vl-ink)}
.vl-btn--outline{background:transparent;color:var(--vl-ink);box-shadow:inset 0 0 0 1.5px var(--vl-ink)}
.vl-btn--block{display:flex;width:100%}
.vl-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.vl-btn.is-loading{opacity:.7;pointer-events:none}
.vl-btn:focus-visible{outline:2px solid var(--vl-accent);outline-offset:3px}
.vl-img{display:block;width:100%;height:100%;object-fit:cover}
.vl-ph{background:var(--vl-lilac);width:100%;height:100%;min-height:120px}
.vl-ph svg{width:100%;height:100%;fill:rgba(50,19,74,.2)}
.vl-stars{color:#f5a623;letter-spacing:2px}
.vl-scroller{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px}
.vl-scroller::-webkit-scrollbar{display:none}
.vl-scroller>*{scroll-snap-align:start;flex:0 0 auto}
.vl-rte p{margin:0 0 10px}
.vl-rte p:last-child{margin-bottom:0}
html.vl-lock{overflow:hidden}
