/* VTS landing page — AI commercial real estate platform
   Built to the VTS design system (current/legacy brand), Oct 2026.
   Every rule is scoped under .vtslp so it won't collide with the WordPress theme. */

.vtslp {
  --indigo-t5: #140532;
  --indigo-t4: #280F96;
  --indigo: #5528FF;
  --indigo-t3: #8C82FF;
  --indigo-t2: #C8C8FF;
  --indigo-t1: #E6E6FF;
  --gray-6: #1B1B1B;
  --gray-5: #93989E;
  --gray-4: #C5CBD4;
  --gray-3: #DBE2E7;
  --gray-2: #F1F4F7;
  --gray-1: #F5F7FA;
  --text-2: #4E4E4E;
  --grad-accent: linear-gradient(135deg, #673FFF 0%, #8C82FF 45%);
  --font: "Proxima Nova", proximanova, proxima-nova, "Helvetica Neue", Arial, sans-serif;
  --radius: 5px;
  --radius-card: 10px;

  font-family: var(--font);
  font-weight: 300;
  font-size: 18px;
  line-height: 1.44;
  color: var(--indigo-t5);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden; overflow-x: clip; /* clip, not hidden, so position: sticky still works inside */
  position: relative;
}
/* resets use :where() so they carry zero specificity and never beat component rules */
:where(.vtslp) *, :where(.vtslp) *::before, :where(.vtslp) *::after { box-sizing: border-box; }
:where(.vtslp) :where(img) { max-width: 100%; height: auto; display: block; }
:where(.vtslp) :where(h1, h2, h3, h4, h5, p, ul, figure, blockquote) { margin: 0; }
:where(.vtslp) :where(ul) { padding: 0; list-style: none; }
:where(.vtslp) :where(a) { color: inherit; }
/* WordPress guard: one class of specificity, so these beat a theme's bare h2/p/a/ul rules,
   while every component rule further down (same or higher specificity, later in the file) still wins */
.vtslp :where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, figure, blockquote, dl, dd) { margin: 0; padding: 0; }
.vtslp :where(h1, h2, h3, h4, h5, h6) { color: inherit; font-family: inherit; font-size: inherit; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-transform: none; }
.vtslp :where(p, li, blockquote, dd) { color: inherit; font-family: inherit; }
.vtslp :where(ul, ol) { list-style: none; }
.vtslp :where(a) { color: inherit; }
.vtslp :where(img, video) { max-width: 100%; height: auto; }
:where(.vtslp) :where(b, strong) { font-weight: 600; }

/* ---------- layout ---------- */
.vtslp-wrap { max-width: 1250px; margin: 0 auto; padding: 0 25px; }
.vtslp-section { padding: 110px 0; position: relative; }
.vtslp-section--tint { background: var(--gray-1); }
.vtslp-section--dark { background: var(--indigo-t5); color: #fff; overflow: hidden; }
.vtslp-head { max-width: 820px; margin: 0 auto 60px; text-align: center; }
.vtslp-head .vtslp-h2 { text-wrap: balance; }
.vtslp-head p { color: var(--text-2); margin-top: 18px; }
.vtslp-section--dark .vtslp-head p { color: rgba(255,255,255,.75); }

/* ---------- type (matches vts.com: headings #140532, accent words in lilac) ---------- */
.vtslp-accent { color: var(--indigo-t3); }
.vtslp-section--dark .vtslp-accent, .vtslp-hero .vtslp-accent, .vtslp-closer .vtslp-accent, .vtslp-logos .vtslp-accent { color: var(--indigo-t2); }
.vtslp-kicker { display: block; font-weight: 600; font-size: 14px; line-height: 1.2; letter-spacing: 1px; text-transform: uppercase; color: var(--indigo-t4); margin-bottom: 14px; }
.vtslp-hero .vtslp-kicker { color: rgba(255,255,255,.75); }
.vtslp-h1 { font-weight: 600; font-size: 64px; line-height: 1.06; letter-spacing: -0.01em; }
.vtslp-h2 { font-weight: 600; font-size: 48px; line-height: 1.08; letter-spacing: -0.005em; }
.vtslp-h3 { font-weight: 600; font-size: 34px; line-height: 1.18; }
.vtslp-h4 { font-weight: 600; font-size: 24px; line-height: 1.25; }
.vtslp-eyebrow { font-weight: 600; font-size: 13px; line-height: 1.16; letter-spacing: 1.3px; text-transform: uppercase; opacity: .55; }
.vtslp-lede { font-size: 21px; line-height: 1.5; }

/* ---------- buttons (matches vts.com: Semibold, UPPERCASE, radius 5; nav button is a gradient pill) ---------- */
.vtslp-btns { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.vtslp-btn {
  display: inline-block; font-family: var(--font); font-weight: 600; font-size: 14px; line-height: 20px;
  letter-spacing: .5px; text-transform: uppercase; text-align: center;
  padding: 16px 28px; border-radius: var(--radius); text-decoration: none; cursor: pointer;
  border: 1px solid transparent; transition: opacity .15s, background-color .15s, color .15s;
}
.vtslp-btn--primary { background: var(--grad-accent); color: #fff; }
.vtslp-btn--primary:hover { opacity: .7; }
.vtslp-btn--secondary { background: #fff; color: var(--indigo-t5); border-color: var(--indigo-t5); }
.vtslp-btn--secondary:hover { background: var(--indigo-t5); color: #fff; }
.vtslp-btn--ghost { background: transparent; color: #fff; border-color: #fff; }
.vtslp-btn--white { background: #fff; color: var(--indigo-t5); border-color: #fff; }
.vtslp-btn--white:hover { opacity: .8; }
.vtslp-btn--navy { background: var(--indigo-t4); color: #fff; border-color: var(--indigo-t4); }
.vtslp-btn--navy:hover { opacity: .8; }
.vtslp-btn--pill { background: var(--grad-accent); color: #fff; border-radius: 100px; }
.vtslp-btn--pill:hover { opacity: .8; }
.vtslp-btn--ghost:hover { background: #fff; color: var(--indigo-t5); }
.vtslp-link {
  font-weight: 600; font-size: 15px; text-decoration: none; color: var(--indigo);
  background: linear-gradient(var(--indigo-t3), var(--indigo-t3)) left bottom / 100% 2px no-repeat;
  padding-bottom: 3px; transition: background-size .2s;
}
.vtslp-link:hover { background-size: 50% 2px; }
.vtslp-center { text-align: center; margin-top: 56px; }

/* ---------- image slots ----------
   vts.com pattern: lifestyle photo (square corners) with a floating product-UI card overlapping it.
   Replace .vtslp-shot__photo with an <img> photo and .vtslp-shot__card with the product UI image. */
.vtslp-shot { position: relative; aspect-ratio: 500 / 380; }
.vtslp-shot__photo {
  position: absolute; top: 0; right: 0; width: 78%; height: 100%;
  background: linear-gradient(135deg, #D9D6EA, #B9B3D9); display: flex; align-items: flex-start; justify-content: flex-end;
  padding: 14px; font-size: 12px; font-weight: 600; color: rgba(20,5,50,.55); text-align: right;
}
.vtslp-shot__card {
  position: absolute; left: 0; bottom: 8%; width: 68%; height: 62%; background: #fff;
  box-shadow: 0 12px 34px rgba(20,5,50,.16); border-radius: 4px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  color: var(--indigo-t4); font-size: 14px; font-weight: 600; padding: 16px;
}
.vtslp-shot small { display: block; font-weight: 300; color: var(--gray-5); margin-top: 6px; font-size: 12px; }
.vtslp-shot img { width: 100%; height: 100%; object-fit: cover; }
.vtslp-shot--img { aspect-ratio: auto; }
.vtslp-shot--img img, .vtslp-shot--img video { display: block; width: 100%; height: auto; object-fit: contain; }
.vtslp-feature--flip .vtslp-shot__photo { right: auto; left: 0; justify-content: flex-start; text-align: left; }
.vtslp-feature--flip .vtslp-shot__card { left: auto; right: 0; }

/* hero: laptop/product shot that runs off the right edge, as on vts.com */
.vtslp-hero__media { margin-right: calc(min(0px, (1250px - 100vw) / 2) - 25px); align-self: start; margin-bottom: -38px; position: relative; z-index: 3; }
/* matches vts.com/vts-platform: ~1011px laptop at 1512 wide (67vw), top-aligned under the nav,
   bleeding off the right edge and overhanging the section below by ~38px */
.vtslp-laptop { position: relative; width: min(67vw, 1011px); min-width: 640px; margin-left: -60px; }
.vtslp-laptop__frame { width: 100%; height: auto; display: block; filter: drop-shadow(0 30px 40px rgba(10,0,40,.35)); }
/* screen area measured from hero-laptop-frame.png (1523×849): x 159–1358, y 36–749 */
.vtslp-laptop__screen { position: absolute; left: 10.44%; top: 4.24%; width: 78.79%; height: 84.04%; object-fit: cover; object-position: top left; display: block; background: #fff; }

/* ---------- preview-only header + footer (use the site's global ones in WordPress) ---------- */
.vtslp-nav { position: absolute; top: 16px; left: 0; right: 0; z-index: 5; }
.vtslp-nav__bar {
  display: flex; align-items: center; gap: 32px; border-radius: 100px;
  padding: 16px 16px 16px 30px;
  /* frosted glass, matching vts.com's header */
  background: rgba(255,255,255,.6); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.vtslp-nav__bar img { height: 22px; width: auto; }
.vtslp-nav__menu { display: flex; gap: 26px; font-size: 13px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; flex: 1; }
.vtslp-nav__menu a, .vtslp-nav__right a { text-decoration: none; }
.vtslp-nav__right { margin-left: auto; display: flex; align-items: center; gap: 18px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.vtslp-nav .vtslp-btn { padding: 10px 20px; font-size: 13px; }

/* ---------- 01 hero ---------- */
/* overflow-x clips the right-edge bleed; overflow-y stays visible so the laptop base can hang over the next section (as on vts.com) */
.vtslp-hero { background: #3b2f86 url("images/hero-bg-platform.jpg") center / cover no-repeat; /* texture captured from vts.com/vts-platform hero */ color: #fff; padding: 132px 0 0; position: relative; z-index: 2; overflow-x: clip; overflow-y: visible; }
.vtslp-hero::after { display: none; content: ""; position: absolute; inset: 0; background: url("images/CircleWave6.png") right -180px bottom -220px / 640px 640px no-repeat; opacity: .35; pointer-events: none; }
.vtslp-hero__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; position: relative; z-index: 1; }
.vtslp-hero .vtslp-h1 { font-size: 50px; text-wrap: balance; }
.vtslp-hero .vtslp-lede { margin: 18px 0 26px; color: rgba(255,255,255,.85); font-size: 17px; max-width: 540px; }

/* logo banner — dark indigo band, one auto-scrolling row of white logos (as on vts.com) */
.vtslp-logos { padding: 56px 0 40px; background: var(--indigo-t5); color: #fff; position: relative; z-index: 1; }
.vtslp-logos__title { text-align: center; font-size: 17px; font-weight: 400; margin-bottom: 12px; color: rgba(255,255,255,.85); }
.vtslp-logos__marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.vtslp-logos__track { display: flex; width: max-content; animation: vtslp-marquee 90s linear infinite; }
.vtslp-logos__marquee:hover .vtslp-logos__track { animation-play-state: paused; }
.vtslp-logos__grid { display: flex; flex-wrap: nowrap; align-items: center; gap: 14px; padding-right: 14px; }
@keyframes vtslp-marquee { to { transform: translateX(-50%); } }
/* pain point: two contained comparison cards — muted "Today", highlighted "With VTS" */
.vtslp-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1100px; margin: 0 auto; padding: 0 25px; align-items: stretch; }
.vtslp-split__side { border-radius: var(--radius-card); }
.vtslp-split__side--old { background: var(--gray-1); border: 1px solid var(--gray-3); }
.vtslp-split__side--new { background: #fff; border: 1.5px solid var(--indigo-t3); box-shadow: 0 16px 40px rgba(85,40,255,.12); }
.vtslp-split__inner { padding: 32px 36px 36px; height: 100%; display: flex; flex-direction: column; }
.vtslp-split__title { font-size: 22px; font-weight: 600; line-height: 1.2; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--gray-3); color: var(--indigo-t5); }
.vtslp-split__side--old .vtslp-split__title { color: var(--gray-5); }
.vtslp-split__side--new .vtslp-split__title { color: var(--indigo-t4); border-bottom-color: var(--indigo-t1); }
.vtslp-split__group + .vtslp-split__group { margin-top: 22px; }
.vtslp-split__group h4 { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--indigo-t4); margin-bottom: 10px; }
.vtslp-split__side--old .vtslp-split__group h4 { color: var(--gray-5); }
.vtslp-split__group ul { list-style: none; margin: 0; padding: 0; }
.vtslp-split__group li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.45; color: var(--indigo-t5); }
.vtslp-split__group li + li { margin-top: 8px; }
.vtslp-split__side--old li { color: var(--text-2); }
.vtslp-split__group li::before { content: ""; flex: 0 0 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: center / 11px 11px no-repeat; }
.vtslp-split__side--old li::before { background-color: var(--gray-3); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' stroke='%2393989E' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.vtslp-split__side--new li::before { background-color: var(--indigo); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.vtslp-split__cta { text-align: center; margin-top: 40px; }
@media (max-width: 900px) {
  .vtslp-split { grid-template-columns: 1fr; padding: 0 16px; gap: 16px; }
  .vtslp-split__inner { padding: 24px 22px 26px; }
}
/* feature accordion: divider rows on the left, product image on the right (sticky) */
.vtslp-tabs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 72px; align-items: center; }
.vtslp-tabs__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--gray-3); }
.vtslp-tab { position: relative; border-bottom: 1px solid var(--gray-3); }
.vtslp-tab__h { margin: 0; font: inherit; }
.vtslp-tab__btn { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 22px 4px; background: none; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; }
.vtslp-tab__btn:focus-visible { outline: 2px solid var(--indigo); outline-offset: 2px; border-radius: 4px; }
.vtslp-tab__kicker { display: block; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--gray-5); margin-bottom: 6px; transition: color .25s ease; }
.vtslp-tab__title { display: block; font-size: 21px; font-weight: 600; line-height: 1.3; color: var(--text-2); transition: color .25s ease; }
.vtslp-tab__btn:hover .vtslp-tab__title { color: var(--indigo-t5); }
.is-active .vtslp-tab__kicker { color: var(--indigo-t4); }
.is-active .vtslp-tab__title { color: var(--indigo-t5); }
.vtslp-tab__chev { flex: 0 0 auto; width: 10px; height: 10px; margin-right: 6px; border-right: 2px solid var(--gray-5); border-bottom: 2px solid var(--gray-5); transform: rotate(45deg) translateY(-3px); transition: transform .3s ease, border-color .3s ease; }
.is-active .vtslp-tab__chev { transform: rotate(-135deg) translateY(-3px); border-color: var(--indigo-t4); }
/* collapsed with grid rows (not display:none) so the copy stays readable to search engines */
.vtslp-tab__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s cubic-bezier(.4,0,.2,1); }
.is-active .vtslp-tab__body { grid-template-rows: 1fr; }
.vtslp-tab__inner { min-height: 0; overflow: hidden; padding: 0 4px; }
.vtslp-tab__inner::after { content: ""; display: block; height: 24px; }
.vtslp-tab__inner > p { margin: 0; color: var(--text-2); font-size: 17px; }
.vtslp-tab__inner .vtslp-stat { margin-top: 16px; }
.vtslp-tab__inner .vtslp-stat b { font-size: 34px; }
.vtslp-tab__progress { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; background: var(--indigo); }
.vtslp-tabs.is-auto .vtslp-tab.is-active .vtslp-tab__progress { animation: vtslp-progress var(--vtslp-tab-dur, 7s) linear forwards; }
.vtslp-tabs.is-paused .vtslp-tab__progress { animation-play-state: paused !important; }
@keyframes vtslp-progress { to { width: 100%; } }
.vtslp-tabs__panel { position: sticky; top: 120px; display: grid; }
.vtslp-tabs__slide { grid-area: 1 / 1; align-self: center; opacity: 0; visibility: hidden; transform: translateY(12px) scale(.98); transition: opacity .4s ease, transform .4s cubic-bezier(.4,0,.2,1), visibility 0s linear .4s; }
.vtslp-tabs__slide.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.vtslp-tabs__slide img { display: block; width: 100%; height: auto; }
@media (max-width: 900px) {
  .vtslp-tabs { grid-template-columns: 1fr; gap: 24px; }
  .vtslp-tabs__panel { position: relative; order: -1; }
  .vtslp-tab__title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .vtslp-tab__body, .vtslp-tabs__slide, .vtslp-tab__chev { transition: none; }
}

@media (max-width: 900px) {
  .vtslp-split { grid-template-columns: 1fr; }
  .vtslp-split__inner { padding: 56px 16px 64px; }
  .vtslp-split__title { font-size: 32px; margin-bottom: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .vtslp-logos__track { animation: none; width: auto; }
  .vtslp-logos__grid { flex-wrap: wrap; justify-content: center; }
  .vtslp-logos__grid[aria-hidden="true"] { display: none; }
  .vtslp-logos__marquee { -webkit-mask-image: none; mask-image: none; }
}
.vtslp-logo {
  flex: 0 0 auto; height: 66px; padding: 0 24px; border-radius: 6px; display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.vtslp-logo img { display: block; width: auto; height: auto; max-height: 34px; max-width: 150px; }
/* optical sizing so every logo reads at a similar weight */
.vtslp-logo img { max-height: none; max-width: 170px; }
.vtslp-logo img[src$="/jll.png"] { height: 28px; }
.vtslp-logo img[src$="/nuveen.png"] { height: 30px; }
.vtslp-logo img[src$="/pgim.png"] { height: 30px; }
.vtslp-logo img[src$="/cbre.png"] { height: 24px; }
.vtslp-logo img[src$="/invesco.png"] { height: 26px; }
.vtslp-logo img[src$="/tishman-speyer.png"] { height: 28px; }
.vtslp-logo img[src$="/brookfield.png"] { height: 18px; }
.vtslp-logo img[src$="/ubs.png"] { height: 30px; }
.vtslp-logo img[src$="/vornado.svg"] { height: 20px; }
.vtslp-logo img[src$="/silverstein.svg"] { height: 26px; }
.vtslp-logo img[src$="/lionstone.png"] { height: 24px; }
.vtslp-logo img[src$="/starwood.png"] { height: 42px; }
.vtslp-logo img[src$="/sl-green.svg"] { height: 30px; }
.vtslp-logo img[src$="/durst.svg"] { height: 36px; }
.vtslp-logo img[src$="/sage.svg"] { height: 22px; }
.vtslp-logo img[src$="/columbia.svg"] { height: 38px; }
.vtslp-logo img[src$="/granite.svg"] { height: 22px; }
.vtslp-logo img[src$="/swift.png"] { height: 26px; }
.vtslp-logo img[src$="/rxr.png"] { height: 22px; }
.vtslp-logo img[src$="/cannonhill.png"] { height: 34px; }
.vtslp-logo img[src$="/newmark.png"] { height: 18px; }
.vtslp-logo img[src$="/metro.png"] { height: 30px; }
.vtslp-logo img[src$="/rockhill.png"] { height: 28px; }
.vtslp-logo img[src$="/epic.png"] { height: 32px; }
.vtslp-logo img[src$="/kw.png"] { height: 16px; }
.vtslp-logo img[src$="/rubenstein.png"] { height: 26px; }
.vtslp-logo img[src$="/merritt.png"] { height: 26px; }
.vtslp-logo img[src$="/beacon.png"] { height: 26px; }
.vtslp-logo img[src$="/doc.png"] { height: 30px; }
.vtslp-logo--case { border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.05); padding: 0 20px; }
.vtslp-logo--case img { max-height: 34px; }
.vtslp-logo--case a { font-size: 11px; font-weight: 600; color: var(--indigo-t2); text-decoration: none; margin-top: 5px; }
.vtslp-logo--case a:hover { text-decoration: underline; }

/* ---------- 02 old vs new ---------- */
.vtslp-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: start; }
.vtslp-compare__card { border-radius: var(--radius-card); padding: 36px 40px 40px; }
.vtslp-compare__card--old { background: var(--gray-1); border: 1px solid var(--gray-3); }
.vtslp-compare__card--new { background: var(--indigo-t1); border: 1px solid var(--indigo-t2); }
.vtslp-compare__card h3 { font-weight: 600; font-size: 22px; margin-bottom: 22px; }
.vtslp-compare li { color: var(--indigo-t5); }
.vtslp-compare__card--new h3 { color: var(--indigo-t4); }
.vtslp-compare li { display: flex; gap: 14px; font-size: 17px; line-height: 1.45; margin-bottom: 16px; }
.vtslp-compare li:last-child { margin-bottom: 0; }
.vtslp-compare li::before {
  flex: 0 0 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: 14px; line-height: 1; margin-top: 1px;
}
.vtslp-compare__card--old li::before { content: "–"; background: var(--gray-3); color: var(--gray-5); }
.vtslp-compare__card--new li::before { content: "+"; background: var(--indigo); color: #fff; }

/* ---------- 03 features ---------- */
.vtslp-features { display: flex; flex-direction: column; gap: 110px; }
/* mid-page CTA band between feature blocks */
.vtslp-midcta { display: flex; align-items: center; justify-content: space-between; gap: 32px; background: var(--indigo-t1); border: 1px solid var(--indigo-t2); border-radius: var(--radius-card); padding: 32px 40px; }
.vtslp-midcta p { margin: 0; font-size: 18px; color: var(--indigo-t5); max-width: 640px; }
.vtslp-midcta .vtslp-btn { flex: 0 0 auto; }
.vtslp-split__cta { margin-top: 48px; }
.vtslp-feature { display: grid; grid-template-columns: 1fr 500px; gap: 96px; align-items: center; }
.vtslp-feature--flip { grid-template-columns: 500px 1fr; }
.vtslp-feature--flip .vtslp-shot { order: -1; }
.vtslp-feature__copy p { color: var(--text-2); margin-top: 18px; }
.vtslp-stat { display: flex; align-items: center; gap: 16px; margin-top: 22px; }
.vtslp-stat b { font-weight: 600; font-size: 40px; line-height: 1; color: var(--indigo); white-space: nowrap; }
.vtslp-stat span { font-size: 15px; font-weight: 400; line-height: 1.4; }
.vtslp-bullets { margin-top: 20px; }
.vtslp-bullets li { position: relative; padding-left: 20px; font-size: 16px; font-weight: 400; margin-bottom: 10px; }
.vtslp-bullets li::before { content: ""; position: absolute; left: 0; top: .5em; width: 8px; height: 8px; border-radius: 50%; background: var(--indigo); }

/* ---------- 03b featured report ---------- */
.vtslp-report-band { background: var(--indigo-t5) url("images/grad-market.jpg") center / cover no-repeat; padding: 90px 0; }
.vtslp-report { display: grid; grid-template-columns: 1fr 1fr; border-radius: 6px; overflow: hidden; background: #fff; box-shadow: 0 30px 60px rgba(10,0,40,.35); }
.vtslp-report__cover { min-height: 420px; background: var(--grad-accent); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 600; font-size: 14px; padding: 20px; }
.vtslp-report__cover small { display: block; font-weight: 300; opacity: .75; margin-top: 6px; }
.vtslp-report__cover { padding: 0; position: relative; }
.vtslp-report__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.vtslp-report__body { padding: 56px 48px; position: relative; }
.vtslp-report__tag { position: absolute; top: 0; right: 0; background: var(--indigo-t2); color: var(--indigo-t5); font-size: 13px; font-weight: 600; padding: 7px 16px; border-bottom-left-radius: 10px; }
.vtslp-report__body .vtslp-h4 { font-size: 30px; margin: 14px 0 18px; }
.vtslp-report__body p { color: var(--text-2); font-size: 16px; line-height: 1.55; margin-bottom: 32px; }

/* ---------- 04b sectors ---------- */
.vtslp-sectors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.vtslp-sector { background: var(--gray-1); border: 1px solid var(--gray-3); border-radius: var(--radius-card); padding: 36px 40px 40px; display: flex; flex-direction: column; text-decoration: none; transition: box-shadow .2s, border-color .2s; }
.vtslp-sector:hover { border-color: var(--indigo-t2); box-shadow: 0 16px 40px rgba(20,5,50,.08); }
.vtslp-sector__icon { width: 72px; height: 72px; margin-bottom: 26px; }
@media (max-width: 860px) { .vtslp-sectors { grid-template-columns: 1fr; } .vtslp-sector { padding: 28px 24px; } }
.vtslp-sector__media { border-radius: 12px; aspect-ratio: 4 / 3; overflow: hidden; display: block; background: linear-gradient(145deg, var(--gray-1) 0%, #EFEDFF 100%); }
.vtslp-sector__media svg { display: block; width: 100%; height: 100%; }
.vtslp-sector__media img { width: 136px; height: 136px; margin: 0; }
.vtslp-sector .vtslp-h4 { font-size: 22px; }
.vtslp-sector p { color: var(--text-2); font-size: 15px; line-height: 1.6; margin: 6px 0 14px; flex: 1; }
.vtslp-sector .vtslp-arrow { align-self: flex-start; font-size: 15px; font-weight: 600; color: var(--indigo); text-decoration: none; }
.vtslp-sector .vtslp-arrow:hover { color: var(--indigo-t4); }

/* ---------- 04c AI benchmark ---------- */
.vtslp-bench::before { content: ""; position: absolute; width: 900px; height: 900px; left: 50%; top: 180px; transform: translateX(-50%); background: url("images/CircleWave4.png") center / contain no-repeat; opacity: .12; pointer-events: none; }
.vtslp-bench__intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: end; margin-bottom: 56px; position: relative; }
.vtslp-bench__intro p { color: rgba(255,255,255,.75); margin-top: 18px; font-size: 17px; }
.vtslp-bench__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; font-size: 15px; }
.vtslp-bench__meta .vtslp-eyebrow { color: var(--indigo-t3); opacity: 1; margin-bottom: 8px; }
.vtslp-charts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; position: relative; }
.vtslp-charts--single { grid-template-columns: minmax(0, 460px); justify-content: center; }
.vtslp-chart { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-card); padding: 28px 24px 22px; }
.vtslp-chart__big { font-weight: 600; font-size: 34px; line-height: 1; color: var(--indigo-t3); }
.vtslp-chart__label { font-size: 16px; margin-top: 6px; color: rgba(255,255,255,.9); }
.vtslp-bars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: end; height: 190px; margin-top: 28px; border-bottom: 1px solid rgba(255,255,255,.25); padding: 0 8px; }
.vtslp-bar { position: relative; border-radius: 3px 3px 0 0; background: #4A4F6B; min-height: 6px; }
.vtslp-bar--vts { background: linear-gradient(180deg, #673FFF, #8C82FF); }
.vtslp-bar span { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 6px; font-size: 11px; font-weight: 600; letter-spacing: .5px; white-space: nowrap; color: rgba(255,255,255,.85); }
.vtslp-bars__x { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0 8px; margin-top: 10px; font-size: 10.5px; letter-spacing: 1px; text-transform: uppercase; text-align: center; color: rgba(255,255,255,.65); font-weight: 600; }
/* --- AI answer panel (one object: query / split answers / benchmark) --- */
.vtslp-aip { position: relative; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); }
.vtslp-aip__q { display: flex; align-items: baseline; gap: 12px; padding: 22px 30px; font-size: 20px; line-height: 1.35; color: #fff; background: rgba(8,2,22,.45); border-bottom: 1px solid rgba(255,255,255,.12); }
.vtslp-aip__caret { color: var(--indigo-t3); font-size: 22px; font-weight: 600; line-height: 1; }

.vtslp-aip__split { display: grid; grid-template-columns: 1fr 1.15fr; }
.vtslp-ans { padding: 30px; display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 1.55; }
.vtslp-ans__who { font-weight: 600; font-size: 11px; letter-spacing: 1.3px; text-transform: uppercase; }

.vtslp-ans--gen { color: rgba(255,255,255,.52); }
.vtslp-ans--gen .vtslp-ans__who { color: rgba(255,255,255,.42); }
.vtslp-ans__state { margin-top: 2px; align-self: flex-start; font-size: 12px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: rgba(255,255,255,.38); border: 1px dashed rgba(255,255,255,.22); border-radius: 20px; padding: 5px 12px; }

.vtslp-ans--vts { color: rgba(255,255,255,.78); background: rgba(103,63,255,.14); border-left: 1px solid rgba(255,255,255,.14); position: relative; }
.vtslp-ans--vts::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: var(--grad-accent); }
.vtslp-ans--vts .vtslp-ans__who { color: var(--indigo-t2); }
.vtslp-ans__lead { font-size: 21px; line-height: 1.25; font-weight: 600; color: #fff; }
.vtslp-ans__big { display: flex; align-items: baseline; gap: 12px; margin-top: 2px; font-weight: 600; font-size: 46px; line-height: 1; color: #fff; }
.vtslp-ans__big span { font-size: 15px; font-weight: 400; color: rgba(255,255,255,.65); letter-spacing: .2px; }
.vtslp-ans__src { margin-top: auto; display: flex; align-items: center; gap: 10px; font-size: 13px; color: rgba(255,255,255,.55); }
.vtslp-ans__chip { font-weight: 600; font-size: 11px; letter-spacing: .6px; padding: 4px 10px; border-radius: 20px; color: var(--indigo-t2); border: 1px solid var(--indigo-t3); background: rgba(140,130,255,.16); }

.vtslp-aip__foot { display: grid; grid-template-columns: auto 1fr; gap: 44px; align-items: center; padding: 20px 30px; background: rgba(8,2,22,.45); border-top: 1px solid rgba(255,255,255,.12); }
.vtslp-aip__fig { font-size: 14px; color: rgba(255,255,255,.6); white-space: nowrap; }
.vtslp-aip__fig b { font-weight: 600; font-size: 26px; color: #fff; margin-right: 6px; }
.vtslp-hbars { display: grid; gap: 8px; }
.vtslp-hbar { display: grid; grid-template-columns: 84px 1fr 40px; gap: 14px; align-items: center; }
.vtslp-hbar__k { font-size: 10.5px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.55); }
.vtslp-hbar__t { height: 6px; border-radius: 3px; background: rgba(255,255,255,.12); overflow: hidden; }
.vtslp-hbar__f { display: block; height: 100%; border-radius: 3px; background: #4A4F6B; }
.vtslp-hbar__f--vts { background: var(--grad-accent); }
.vtslp-hbar__v { font-size: 12px; font-weight: 600; text-align: right; color: rgba(255,255,255,.8); }

.vtslp-outcomes { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 25px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-card); padding: 34px 0; position: relative; }
.vtslp-outcomes > div { text-align: center; padding: 0 20px; }
.vtslp-outcomes > div + div { border-left: 1px solid rgba(255,255,255,.15); }
.vtslp-outcomes b { display: block; font-weight: 600; font-size: 36px; line-height: 1.1; }
.vtslp-outcomes span { font-size: 15px; color: rgba(255,255,255,.75); }

/* ---------- 05 case study ---------- */
.vtslp-results { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--indigo-t5); color: #fff; border-radius: var(--radius-card); padding: 40px 0; margin-bottom: 25px; }
.vtslp-results > div { text-align: center; padding: 0 24px; }
.vtslp-results--single { grid-template-columns: 1fr; }
.vtslp-results > div + div { border-left: 1px solid rgba(255,255,255,.18); }
.vtslp-results b { display: block; font-weight: 600; font-size: 48px; line-height: 1.1; margin-bottom: 10px; font-variant-numeric: tabular-nums; }
/* scroll-in: each stat fades up as it counts (only once vts-lp.js has started) */
.vtslp-results.is-ready > div { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.vtslp-results.is-ready > div:nth-child(2) { transition-delay: .15s; }
.vtslp-results.is-ready > div:nth-child(3) { transition-delay: .3s; }
.vtslp-results.is-visible > div { opacity: 1; transform: none; }
.vtslp-results span { font-size: 15px; color: rgba(255,255,255,.8); }
.vtslp-proof { display: grid; grid-template-columns: 1fr 1.15fr; gap: 25px; }
.vtslp-video { border-radius: var(--radius-card); overflow: hidden; border: 1px solid var(--gray-3); background: #fff; display: flex; flex-direction: column; text-decoration: none; }
.vtslp-video__frame { aspect-ratio: 16 / 9; background: var(--indigo-t5) url("images/grad-platform.jpg") center / cover; display: flex; align-items: center; justify-content: center; }
.vtslp-video__play { width: 64px; height: 64px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; }
.vtslp-video__play::after { content: ""; border-left: 18px solid var(--indigo); border-top: 11px solid transparent; border-bottom: 11px solid transparent; margin-left: 5px; }
.vtslp-video__cap { padding: 20px 22px; }
.vtslp-video__cap b { display: block; font-size: 16px; line-height: 1.35; }
.vtslp-video__cap span { font-size: 13px; color: var(--gray-5); }
.vtslp-quote { border-radius: var(--radius-card); border: 1px solid var(--gray-3); background: #fff; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; }
.vtslp-quote__mark { font-size: 64px; line-height: .6; color: var(--indigo); font-weight: 600; height: 30px; }
.vtslp-quote blockquote { margin: 18px 0 30px; font-size: 21px; line-height: 1.5; font-weight: 400; }
.vtslp-quote cite { font-style: normal; display: flex; align-items: center; gap: 14px; font-size: 15px; }
.vtslp-quote cite::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background: var(--indigo-t1); flex: 0 0 44px; }
.vtslp-quote cite span { display: block; color: var(--gray-5); font-size: 13px; }

/* ---------- 06 FAQ ---------- */
.vtslp-faq { display: grid; grid-template-columns: 360px 1fr; gap: 96px; align-items: start; }
.vtslp-faq__intro p { color: var(--text-2); margin: 20px 0 22px; font-size: 17px; }
.vtslp-faq details { border-bottom: 1px solid var(--gray-3); padding: 24px 0; }
.vtslp-faq details:first-child { border-top: 1px solid var(--gray-3); }
.vtslp-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; font-weight: 600; font-size: 19px; line-height: 1.35; }
.vtslp-faq summary::-webkit-details-marker { display: none; }
.vtslp-faq summary::after { content: "+"; color: var(--indigo); font-size: 24px; line-height: 1; font-weight: 400; }
.vtslp-faq details[open] summary::after { content: "–"; }
.vtslp-faq details p { color: var(--text-2); font-size: 16px; line-height: 1.6; margin-top: 12px; max-width: 680px; }

/* ---------- 06b compliance ---------- */
.vtslp-compliance { background: var(--gray-1); padding: 48px 0; border-top: 1px solid var(--gray-3); }
.vtslp-badges { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 26px 48px; text-align: center; }
.vtslp-badge { width: 92px; }
.vtslp-badge__icon { display: block; width: 44px; height: 50px; margin: 0 auto 8px; background: #7A8094;
  -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.vtslp-badge b { font-weight: 600; font-size: 14px; letter-spacing: 1.2px; color: var(--indigo-t4); }

/* ---------- 07 closer ---------- */
.vtslp-closer { background: var(--indigo-t5) url("images/grad-platform.jpg") center / cover no-repeat; color: #fff; text-align: center; padding: 120px 0; position: relative; overflow: hidden; }
.vtslp-closer::after { content: ""; position: absolute; width: 560px; height: 560px; left: -200px; top: -160px; background: url("images/CircleWave4.png") center / contain no-repeat; opacity: .25; pointer-events: none; }
.vtslp-closer .vtslp-wrap { position: relative; z-index: 1; max-width: 960px; }
.vtslp-closer .vtslp-lede { color: rgba(255,255,255,.85); margin: 24px auto 40px; max-width: 720px; }

/* ---------- preview-only footer ---------- */
.vtslp-footer { background: var(--indigo-t5); color: #fff; padding: 64px 0 40px; font-size: 14px; }
.vtslp-footer a { text-decoration: none; color: rgba(255,255,255,.85); }
.vtslp-footer a:hover { color: #fff; }
.vtslp-footer__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }
.vtslp-footer h4 { font-weight: 600; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.15); }
.vtslp-footer li { margin-bottom: 11px; }
.vtslp-footer__mid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 25px; margin-top: 48px; align-items: start; }
.vtslp-footer form { display: flex; margin-top: 4px; max-width: 280px; }
.vtslp-footer input { flex: 1; min-width: 0; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-right: 0; color: #fff; padding: 11px 12px; font-family: var(--font); font-size: 14px; border-radius: var(--radius) 0 0 var(--radius); }
.vtslp-footer button { background: var(--indigo); border: 0; color: #fff; padding: 0 16px; border-radius: 0 var(--radius) var(--radius) 0; cursor: pointer; font-size: 16px; }
.vtslp-footer__social { display: flex; gap: 10px; margin-top: 4px; }
.vtslp-footer__social a { width: 36px; height: 36px; border-radius: var(--radius); background: var(--indigo); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; color: #fff; }
.vtslp-footer__login { text-align: right; }
.vtslp-footer__login .vtslp-btn { padding: 9px 20px; font-size: 14px; margin-top: 10px; }
.vtslp-footer__base { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 25px; margin-top: 48px; padding-top: 40px; border-top: 1px solid rgba(255,255,255,.15); line-height: 1.75; }
.vtslp-footer__base img { height: 20px; width: auto; }
.vtslp-footer__base h5 { font-weight: 600; font-size: 16px; margin: 0 0 6px; }
.vtslp-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 40px; font-size: 12px; color: rgba(255,255,255,.6); }
.vtslp-footer__legal nav { display: flex; flex-wrap: wrap; gap: 6px 16px; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .vtslp-nav__menu { display: none; }
  .vtslp-feature, .vtslp-feature--flip { grid-template-columns: 1fr 1fr; gap: 56px; }
  .vtslp-faq { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 860px) {
  .vtslp-section { padding: 72px 0; }
  .vtslp-h1 { font-size: 40px; }
  .vtslp-h2 { font-size: 32px; }
  .vtslp-h3 { font-size: 26px; }
  .vtslp-lede { font-size: 18px; }
  .vtslp-head { margin-bottom: 40px; }
  .vtslp-nav__right > a:not(.vtslp-btn), .vtslp-nav__right > span { display: none; }
  .vtslp-hero { padding: 120px 0 0; }
  .vtslp-hero__media { align-self: auto; }
  .vtslp-hero .vtslp-h1 { font-size: 38px; }
  .vtslp-hero__row, .vtslp-compare, .vtslp-report, .vtslp-proof, .vtslp-bench__intro { grid-template-columns: 1fr; }
  .vtslp-hero__row { gap: 40px; }
  .vtslp-hero__media { margin-right: -16px; margin-bottom: -28px; }
  .vtslp-logos { padding-top: 60px; }
  .vtslp-laptop { width: 112%; min-width: 0; }
  .vtslp-logos__title { font-size: 21px; }
  .vtslp-feature, .vtslp-feature--flip { grid-template-columns: 1fr; gap: 32px; }
  .vtslp-feature .vtslp-shot { order: -1; }
  .vtslp-features { gap: 72px; }
  .vtslp-midcta { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
  .vtslp-compare__card, .vtslp-quote { padding: 28px 24px; }
  .vtslp-report__cover { min-height: 220px; }
  .vtslp-report__body { padding: 44px 24px 32px; }
  .vtslp-charts { grid-template-columns: 1fr; }
  .vtslp-aip__split { grid-template-columns: 1fr; }
  .vtslp-ans--vts { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .vtslp-aip__foot { grid-template-columns: 1fr; gap: 20px; padding: 22px 24px; }
  .vtslp-aip__q { font-size: 17px; padding: 18px 22px; }
  .vtslp-ans { padding: 24px; }
  .vtslp-outcomes, .vtslp-results { grid-template-columns: 1fr; padding: 8px 0; }
  .vtslp-outcomes > div, .vtslp-results > div { padding: 22px 20px; }
  .vtslp-outcomes > div + div, .vtslp-results > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .vtslp-results b { font-size: 40px; }
  .vtslp-badges { gap: 24px 34px; }
  .vtslp-closer { padding: 80px 0; }
  .vtslp-footer__cols, .vtslp-footer__mid, .vtslp-footer__base { grid-template-columns: 1fr 1fr; }
  .vtslp-footer__login { text-align: left; }
  .vtslp-logos__grid { zoom: .82; }
}
@media (max-width: 520px) {
  .vtslp-wrap { padding: 0 16px; }
  .vtslp-h1 { font-size: 34px; }
  .vtslp-h2 { font-size: 28px; }
  .vtslp-nav__bar { padding: 12px 12px 12px 20px; }
  .vtslp-btns .vtslp-btn { flex: 1 1 100%; text-align: center; }
  .vtslp-nav .vtslp-btn { flex: none; }
  .vtslp-stat b { font-size: 34px; }
  .vtslp-footer__cols, .vtslp-footer__mid, .vtslp-footer__base { grid-template-columns: 1fr; }
}

/* ---------- 04c VTS AI: tabs (dark) + accuracy ---------- */
.vtslp-ai .vtslp-head .vtslp-kicker { color: var(--indigo-t3); }
.vtslp-ai .vtslp-head p { color: rgba(255,255,255,.72); }
.vtslp-ai .vtslp-head { margin-bottom: 36px; }
/* segmented tabs with a sliding pill */
.vtslp-ai__tabs { position: relative; display: flex; width: max-content; max-width: 100%; margin: 0 auto 28px; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); }
.vtslp-ai__slider { position: absolute; top: 5px; bottom: 5px; left: 5px; width: 0; border-radius: 999px; background: linear-gradient(90deg, #5528FF, #8C82FF); box-shadow: 0 6px 18px rgba(85,40,255,.4); transition: left .35s cubic-bezier(.4,0,.2,1), width .35s cubic-bezier(.4,0,.2,1); }
.vtslp-ai__tab { position: relative; z-index: 1; padding: 11px 22px; border: 0; background: none; border-radius: 999px; font: inherit; font-size: 15px; font-weight: 600; color: rgba(255,255,255,.65); cursor: pointer; transition: color .25s ease; white-space: nowrap; }
.vtslp-ai__tab:hover { color: #fff; }
.vtslp-ai__tab[aria-selected="true"] { color: #fff; }
.vtslp-ai__tab:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.vtslp-ai__tab::after { content: ""; position: absolute; left: 22px; right: 22px; bottom: 5px; height: 2px; border-radius: 2px; background: rgba(255,255,255,.7); transform: scaleX(0); transform-origin: left; }
.vtslp-ai.is-auto .vtslp-ai__tab[aria-selected="true"]::after { animation: vtslp-tabprog var(--vtslp-ai-dur, 8s) linear forwards; }
@keyframes vtslp-tabprog { to { transform: scaleX(1); } }
/* panels: without JS every panel shows, stacked */
.vtslp-ai__panels { max-width: 1000px; margin: 0 auto; }
.vtslp-ai__panel + .vtslp-ai__panel { margin-top: 48px; }
.vtslp-ai.is-armed .vtslp-ai__panel + .vtslp-ai__panel { margin-top: 0; }
.vtslp-ai.is-armed .vtslp-ai__panel { display: none; }
.vtslp-ai.is-armed .vtslp-ai__panel.is-active { display: block; animation: vtslp-panelin .45s ease; }
@keyframes vtslp-panelin { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.vtslp-ai__lede { text-align: center; max-width: 680px; margin: 0 auto 22px; font-size: 16px; color: rgba(255,255,255,.7); }
.vtslp-ai__stat { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 20px; }
.vtslp-ai__stat b { font-size: 34px; font-weight: 600; line-height: 1; background: var(--grad-accent); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vtslp-ai__stat span { font-size: 15px; color: rgba(255,255,255,.72); }

/* shared card + chip look */
.vtslp-ai__ask { display: flex; align-items: center; gap: 16px; margin: 0 0 16px; padding: 16px 22px; border-radius: 14px; background: var(--indigo); color: #fff; font-size: 17px; line-height: 1.45; }
.vtslp-ai__ask span { flex: none; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.7); }
.vtslp-ai__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vtslp-ai__card { display: flex; flex-direction: column; gap: 16px; padding: 24px 26px; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
.vtslp-ai.is-armed .vtslp-ai__card { min-height: 330px; }
.vtslp-ai__card p { flex: 1; font-size: 16px; line-height: 1.6; margin: 0; }
.vtslp-ai__card--vts { border-color: rgba(140,130,255,.5); background: linear-gradient(180deg, rgba(85,40,255,.2), rgba(255,255,255,.03) 65%); box-shadow: 0 30px 70px rgba(85,40,255,.3); }
.vtslp-ai__card--vts p { color: #fff; }
.vtslp-ai__card--vts mark { background: rgba(140,130,255,.25); color: #fff; font-weight: 600; padding: 0 4px; border-radius: 4px; transition: background-color .3s ease; }
.vtslp-ai__card--gen p { color: rgba(255,255,255,.55); font-style: italic; }
.vtslp-ai__name { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.6); }
.vtslp-ai__name > span:first-child { display: flex; align-items: center; gap: 8px; }
.vtslp-ai__name img { height: 14px; width: auto; display: block; }
.vtslp-ai__name b { font-size: 16px; font-weight: 600; letter-spacing: .06em; color: #fff; }
.vtslp-chip { display: none; align-items: center; gap: 7px; padding: 4px 10px 4px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.vtslp-chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.vtslp-chip--busy { color: #c9c3ff; background: rgba(140,130,255,.14); }
.vtslp-chip--busy::before { animation: vtslp-pulse 1s ease-in-out infinite; }
.vtslp-chip--ok { color: #5AC3C6; background: rgba(90,195,198,.14); }
.vtslp-chip--warn { color: #f2b57a; background: rgba(242,181,122,.12); }
.vtslp-chip--final { display: inline-flex; }
@keyframes vtslp-pulse { 50% { opacity: .3; } }
.vtslp-ai__src { display: flex; align-items: center; gap: 10px; font-size: 13px; color: rgba(255,255,255,.6); }
.vtslp-ai__src span { padding: 3px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.35); color: #fff; font-weight: 600; }
.vtslp-ai__verdict { display: grid; gap: 8px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); }
.vtslp-ai__verdict li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; color: #fff; }
.vtslp-ai__verdict li::before { content: ""; flex: 0 0 18px; height: 18px; border-radius: 50%; background: #5AC3C6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23140532' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat; }
.vtslp-ai__verdict--bad li { font-weight: 400; color: rgba(255,255,255,.55); }
.vtslp-ai__verdict--bad li::before { background: rgba(255,255,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 3.5l5 5M8.5 3.5l-5 5' stroke='%23ffffff' stroke-opacity='.7' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center / 10px no-repeat; }

/* abstraction mock */
.vtslp-abs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vtslp-abs__doc, .vtslp-abs__out { border-radius: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); padding: 20px 22px; }
.vtslp-abs__out { border-color: rgba(140,130,255,.5); background: linear-gradient(180deg, rgba(85,40,255,.2), rgba(255,255,255,.03) 65%); box-shadow: 0 30px 70px rgba(85,40,255,.3); display: flex; flex-direction: column; gap: 16px; }
.vtslp-abs__file { display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(255,255,255,.7); margin-bottom: 14px; }
.vtslp-abs__file::before { content: ""; width: 10px; height: 13px; border-radius: 2px; border: 1.5px solid rgba(255,255,255,.55); }
.vtslp-abs__page { display: flex; flex-direction: column; gap: 9px; padding: 18px; border-radius: 10px; background: rgba(255,255,255,.92); }
.vtslp-abs__page i { display: block; height: 6px; border-radius: 3px; background: #dcdbe8; }
.vtslp-abs__hl { align-self: flex-start; font-size: 12px; font-weight: 600; color: #140532; padding: 2px 6px; border-radius: 4px; background: rgba(140,130,255,.35); transition: background-color .4s ease, color .4s ease; }
.vtslp-abs__head { font-size: 15px; font-weight: 600; color: #fff; }
.vtslp-abs__fields { display: grid; gap: 10px; margin: 0; }
.vtslp-abs__fields > div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.06); font-size: 14px; }
.vtslp-abs__fields dt { color: rgba(255,255,255,.55); }
.vtslp-abs__fields dd { margin: 0; color: #fff; font-weight: 600; }
.vtslp-abs__status { list-style: none; margin: auto 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vtslp-abs__status li { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 6px; color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); }
.vtslp-abs__status li.vtslp-abs__ok { color: #140532; background: #5AC3C6; }

/* analyst */
.vtslp-ana { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; align-items: center; }
.vtslp-ana__shot { margin: 0; border-radius: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); }
.vtslp-ana__shot img { display: block; width: 100%; height: auto; }
.vtslp-ana__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.vtslp-ana__list li { padding: 16px 18px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); font-size: 15px; color: rgba(255,255,255,.7); }
.vtslp-ana__list b { display: block; margin-bottom: 4px; font-size: 16px; color: #fff; }

/* armed (JS on, motion allowed): steps appear as each panel's timeline passes them */
.vtslp-ai.is-armed [data-at] { transition: opacity .35s ease, transform .35s ease, background-color .4s ease; }
.vtslp-ai.is-armed .vtslp-ai__panel [data-at]:not(.is-on) { opacity: 0; transform: translateY(8px); }
.vtslp-ai.is-armed .vtslp-chip { display: none; }
.vtslp-ai.is-armed .vtslp-chip.is-on:not(.is-gone) { display: inline-flex; opacity: 1; transform: none; }
.vtslp-ai.is-armed .vtslp-abs__hl:not(.is-on) { opacity: 1; transform: none; background: transparent; color: #8d8aa3; }
.vtslp-ai.is-armed .vtslp-abs__status li:not(.is-on) { opacity: .25; transform: none; }
.vtslp-ai.is-armed .vtslp-w { opacity: 0; transition: opacity .15s linear; }
.vtslp-ai.is-armed .vtslp-w.is-on { opacity: 1; }
.vtslp-ai.is-armed .vtslp-ai__card--vts mark:has(.vtslp-w:not(.is-on)) { background: transparent; }

/* accuracy */
.vtslp-ai .vtslp-acc { max-width: 1000px; margin: 56px auto 48px; display: grid; grid-template-columns: 300px 1fr; gap: 56px; align-items: center; padding: 32px 38px; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
.vtslp-ai .vtslp-acc__fig b { display: block; font-size: 60px; font-weight: 600; line-height: 1; background: var(--grad-accent); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vtslp-ai .vtslp-acc__fig span { display: block; margin-top: 8px; font-size: 18px; color: #fff; }
.vtslp-ai .vtslp-acc__fig small { display: block; margin-top: 8px; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.55); }
.vtslp-ai .vtslp-acc__bar { color: rgba(255,255,255,.65); }
.vtslp-ai .vtslp-acc__bar--vts { color: #fff; font-weight: 600; }
.vtslp-ai .vtslp-acc__t { background: rgba(255,255,255,.08); }
.vtslp-ai .vtslp-acc__t i { background: rgba(255,255,255,.28); }
.vtslp-ai .vtslp-acc__bar--vts .vtslp-acc__t i { background: linear-gradient(90deg, #673FFF, #8C82FF); }
@media (max-width: 900px) {
  .vtslp-ai__tabs { width: 100%; overflow-x: auto; }
  .vtslp-ai__tab { padding: 10px 16px; font-size: 14px; }
  .vtslp-ai__ask { flex-direction: column; align-items: flex-start; gap: 6px; font-size: 16px; }
  .vtslp-ai__cols, .vtslp-abs, .vtslp-ana, .vtslp-ai .vtslp-acc { grid-template-columns: 1fr; }
  .vtslp-ai.is-armed .vtslp-ai__card { min-height: 0; }
  .vtslp-ai .vtslp-acc { gap: 24px; padding: 26px 22px; margin-top: 40px; }
  .vtslp-ai .vtslp-acc__fig b { font-size: 48px; }
}

/* ---------- 05 testimonials: expanding cards (after vts.com homepage) ---------- */
.vtslp-tm__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 44px; }
.vtslp-tm__top .vtslp-h2 { max-width: 640px; text-align: left; }
.vtslp-tm__row { display: flex; gap: 16px; height: 460px; }
.vtslp-tm__card { position: relative; flex: 1 1 0; min-width: 0; display: flex; border-radius: 16px; overflow: hidden; background: var(--gray-1); cursor: pointer; outline: none; transition: flex-grow .6s cubic-bezier(.4,0,.2,1), box-shadow .3s ease; }
.vtslp-tm__card.is-active { flex-grow: 4.2; cursor: default; box-shadow: 0 18px 40px rgba(20,5,50,.1); }
.vtslp-tm__card:focus-visible { box-shadow: 0 0 0 3px var(--indigo); }
.vtslp-tm__media { position: relative; flex: 0 0 auto; width: 100%; height: 100%; transition: width .6s cubic-bezier(.4,0,.2,1); }
.vtslp-tm__card.is-active .vtslp-tm__media { width: 42%; }
.vtslp-tm__media > img:first-child { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.vtslp-tm__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(20,5,50,.75)); transition: opacity .4s ease; }
.vtslp-tm__card.is-active .vtslp-tm__media::after { opacity: 0; }
.vtslp-tm__logo { position: absolute; left: 22px; bottom: 24px; z-index: 1; max-width: 70%; max-height: 30px; width: auto; height: auto; transition: opacity .3s ease; }
.vtslp-tm__card.is-active .vtslp-tm__media .vtslp-tm__logo { opacity: 0; }
.vtslp-tm__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; padding: 36px 40px; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
.vtslp-tm__card.is-active .vtslp-tm__body { opacity: 1; visibility: visible; transition: opacity .45s ease .25s, visibility 0s; }
.vtslp-tm__logo--dark { position: static; filter: brightness(0) saturate(100%); opacity: .85; max-height: 28px; max-width: 170px; align-self: flex-start; }
.vtslp-tm__body blockquote { margin: auto 0 0; font-size: 23px; line-height: 1.45; font-weight: 400; color: var(--indigo-t5); }
.vtslp-tm__who { margin-top: 24px; font-size: 15px; line-height: 1.4; }
.vtslp-tm__who b { display: block; font-weight: 600; color: var(--indigo-t5); }
.vtslp-tm__who span { color: var(--text-2); }
.vtslp-tm__more { margin-top: 14px; font-size: 14px; font-weight: 600; color: var(--indigo-t4); text-decoration: none; align-self: flex-start; }
.vtslp-tm__more:hover { text-decoration: underline; }
@media (max-width: 900px) {
  .vtslp-tm__top { flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: 28px; }
  .vtslp-tm__row { height: auto; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 0 16px 8px; }
  .vtslp-tm__card, .vtslp-tm__card.is-active { flex: 0 0 84%; flex-direction: column; scroll-snap-align: start; cursor: default; box-shadow: none; }
  .vtslp-tm__media, .vtslp-tm__card.is-active .vtslp-tm__media { width: 100%; height: 400px; }
  .vtslp-tm__media::after, .vtslp-tm__card.is-active .vtslp-tm__media::after { opacity: 0; }
  .vtslp-tm__card .vtslp-tm__media .vtslp-tm__logo { opacity: 0; }
  .vtslp-tm__body, .vtslp-tm__card.is-active .vtslp-tm__body { opacity: 1; visibility: visible; padding: 24px; }
  .vtslp-tm__body blockquote { font-size: 18px; margin-top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .vtslp-tm__card, .vtslp-tm__media, .vtslp-tm__body { transition: none; }
}

/* ---------- 07 closer: soft lavender card (after vts.com homepage) ---------- */
.vtslp-closer { background: #fff; color: var(--indigo-t5); padding: 40px 25px 80px; overflow: visible; }
.vtslp-closer::after { display: none; }
.vtslp-closer__card { max-width: 1400px; margin: 0 auto; border-radius: 20px; padding: 110px 32px; text-align: center; display: flex; flex-direction: column; align-items: center;
  background:
    radial-gradient(60% 80% at 10% 100%, rgba(190,170,255,.55), transparent 70%),
    radial-gradient(50% 70% at 95% 100%, rgba(200,180,255,.6), transparent 70%),
    radial-gradient(70% 60% at 50% 0%, rgba(245,240,255,1), transparent 70%),
    linear-gradient(180deg, #f1ecfd, #ddd3fb); }
.vtslp-closer__logo { height: 32px; width: auto; margin-bottom: 30px; }
.vtslp-closer .vtslp-h2 { max-width: 720px; font-size: 44px; color: var(--indigo-t5); text-wrap: balance; }
.vtslp-closer__btn { margin-top: 36px; border: 0; border-radius: 999px; padding: 17px 40px; line-height: 1; color: #fff; background: linear-gradient(90deg, #5528FF, #9C8CFF); box-shadow: 0 10px 24px rgba(85,40,255,.25); text-transform: none; letter-spacing: 0; font-size: 17px; }
.vtslp-closer__btn:hover { opacity: .9; }
@media (max-width: 900px) {
  .vtslp-closer { padding: 24px 16px 56px; }
  .vtslp-closer__card { padding: 64px 22px; }
  .vtslp-closer .vtslp-h2 { font-size: 32px; }
}

/* accuracy bars (shared) */
.vtslp-acc__bars { display: flex; flex-direction: column; gap: 16px; }
.vtslp-acc__bar { display: grid; grid-template-columns: 96px 1fr 48px; align-items: center; gap: 16px; font-size: 14px; }
.vtslp-acc__t { height: 14px; border-radius: 7px; overflow: hidden; }
.vtslp-acc__t i { display: block; height: 100%; width: var(--w); border-radius: 7px; transition: width 1.1s cubic-bezier(.2,.7,.2,1); }
.vtslp-acc__bar:nth-child(2) .vtslp-acc__t i { transition-delay: .15s; }
.vtslp-acc__bar:nth-child(3) .vtslp-acc__t i { transition-delay: .3s; }
.vtslp-acc.is-armed:not(.is-visible) .vtslp-acc__t i { width: 0; }

/* ---------- paid-page tweaks: hero proof strip, slim footer, real Abstraction image ---------- */
.vtslp-proofstrip { list-style: none; margin: -6px 0 30px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; }
.vtslp-proofstrip li { display: flex; align-items: baseline; gap: 8px; font-size: 14px; color: rgba(255,255,255,.8); }
.vtslp-proofstrip b { font-size: 22px; font-weight: 600; color: #fff; }
.vtslp-proofstrip li + li { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.25); }
.vtslp-footmin { background: var(--indigo-t5); color: rgba(255,255,255,.6); font-size: 13px; padding: 28px 0; }
.vtslp-footmin .vtslp-wrap { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.vtslp-footmin nav { margin-left: auto; display: flex; gap: 20px; }
.vtslp-footmin a { color: rgba(255,255,255,.75); text-decoration: none; }
.vtslp-footmin a:hover { color: #fff; text-decoration: underline; }
.vtslp-absimg { margin: 0 auto; max-width: 720px; border-radius: 16px; overflow: hidden; border: 1px solid rgba(140,130,255,.5); box-shadow: 0 30px 70px rgba(85,40,255,.3); }
.vtslp-absimg img { display: block; width: 100%; height: auto; }
.vtslp-abs__status--row { justify-content: center; margin: 18px auto 0; }
.vtslp-ai.is-armed .vtslp-absimg:not(.is-on) { opacity: 0; transform: translateY(14px) scale(.98); }
@media (max-width: 900px) {
  .vtslp-proofstrip { gap: 8px 18px; }
  .vtslp-proofstrip li + li { padding-left: 0; border-left: 0; }
  .vtslp-footmin nav { margin-left: 0; }
}

/* features: pinned while scrolling on desktop (JS sets the track height and sticky offset) */
.vtslp-tabs__track { position: relative; }
.vtslp-tabs__track.is-armed .vtslp-tabs { position: sticky; }
/* every product image sits in the same framed box, so short and tall screenshots don't leave uneven gaps */
.vtslp-tabs__panel { aspect-ratio: 1.35; border-radius: 16px; background: #F5F7FA; border: 1px solid var(--gray-3); box-shadow: 0 18px 40px rgba(20,5,50,.06); overflow: hidden; }
.vtslp-tabs__slide { display: flex; align-items: center; justify-content: center; height: 100%; }
.vtslp-tabs__slide img { width: 100%; height: 100%; object-fit: contain; }

/* hero proof strip: three even columns */
.vtslp-proofstrip { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 0; }
.vtslp-proofstrip li { flex-direction: column; align-items: flex-start; gap: 2px; padding: 0 24px; font-size: 13px; line-height: 1.35; max-width: 170px; }
.vtslp-proofstrip li:first-child { padding-left: 0; }
.vtslp-proofstrip li + li { padding-left: 24px; }
.vtslp-proofstrip b { font-size: 26px; line-height: 1.1; }
@media (max-width: 900px) {
  .vtslp-proofstrip li { padding: 0 14px; max-width: none; }
  .vtslp-proofstrip li + li { border-left: 1px solid rgba(255,255,255,.25); padding-left: 14px; }
}
/* slides fill the framed box exactly (absolute), so the tallest image no longer sets the height */
.vtslp-tabs__panel { display: block; }
.vtslp-tabs__slide { position: absolute; inset: 0; padding: 18px; grid-area: auto; align-self: auto; }

/* =====================================================================
   SPACING POLISH (Oct 6) — one 8-point scale for the whole page.
   Section 96 / heading→content 48 / CTA 48 / cards 24–40 (desktop);
   section 64 / heading→content 32 / CTA 32 (phones).
   These rules sit last so they override the earlier per-section values.
   ===================================================================== */
.vtslp { --sp-section: 96px; --sp-head: 48px; --sp-cta: 48px; }

/* sections */
.vtslp-section { padding: var(--sp-section) 0; }
.vtslp-head, .vtslp-ai .vtslp-head { margin-bottom: var(--sp-head); }
.vtslp-head p { margin-top: 16px; }
.vtslp-center, .vtslp-split__cta { margin-top: var(--sp-cta); }
.vtslp-tm__top { margin-bottom: var(--sp-head); }

/* hero */
.vtslp-hero .vtslp-lede { margin: 16px 0 24px; }
.vtslp-proofstrip { margin: 0 0 32px; }
.vtslp-logos { padding: 64px 0 48px; }
.vtslp-logos__title { margin-bottom: 16px; }

/* comparison cards */
.vtslp-split__inner { padding: 32px; }
.vtslp-split__title { margin-bottom: 24px; padding-bottom: 16px; }
.vtslp-split__group + .vtslp-split__group { margin-top: 24px; }
.vtslp-split__group h4 { margin-bottom: 8px; }

/* features */
.vtslp-tab__btn { padding: 24px 4px; }

/* VTS AI */
.vtslp-ai__tabs { margin-bottom: 24px; }
.vtslp-ai__lede { margin-bottom: 24px; }
.vtslp-ai__card { padding: 24px; gap: 16px; }
.vtslp-ai__ask { padding: 16px 24px; margin-bottom: 16px; }
.vtslp-abs__doc, .vtslp-abs__out { padding: 24px; }
.vtslp-ai__stat { margin-top: 24px; }
.vtslp-abs__status--row { margin-top: 16px; }
.vtslp-ai .vtslp-acc { margin: 64px auto 0; padding: 32px 40px; gap: 48px; }

/* testimonials */
.vtslp-tm__body { padding: 40px; }
.vtslp-tm__who { margin-top: 24px; }

/* FAQ */
.vtslp-faq__intro .vtslp-btn { margin-top: 32px; }
.vtslp-faq details { padding: 24px 0; }
.vtslp-faq details p { margin-top: 16px; }

/* closer: FAQ above already gives 96px, so no extra top padding */
.vtslp-closer { padding: 0 24px var(--sp-section); }
.vtslp-closer__card { padding: 96px 32px; }
.vtslp-closer__logo { margin-bottom: 32px; }
.vtslp-closer__btn { margin-top: 32px; }

/* footer */
.vtslp-footmin { padding: 32px 0; }

@media (max-width: 900px) {
  .vtslp { --sp-section: 64px; --sp-head: 32px; --sp-cta: 32px; }
  .vtslp-logos { padding: 48px 0 32px; }
  .vtslp-split__inner, .vtslp-tm__body { padding: 24px; }
  .vtslp-ai .vtslp-acc { margin-top: 48px; padding: 24px; gap: 24px; }
  .vtslp-closer { padding: 0 16px var(--sp-section); }
  .vtslp-closer__card { padding: 64px 24px; }
}

/* two white sections in a row: don't double the padding */
.vtslp-tm + .vtslp-section { padding-top: 0; }
/* FAQ heading: wider intro column so it wraps to two lines, not four */
.vtslp-faq { grid-template-columns: 440px 1fr; gap: 80px; }
.vtslp-faq__intro .vtslp-h2 { font-size: 40px; }
/* closer card lines up with the page's content width */
.vtslp-closer__card { max-width: 1200px; }
@media (max-width: 900px) {
  .vtslp-faq { grid-template-columns: 1fr; gap: 32px; }
  .vtslp-faq__intro .vtslp-h2 { font-size: 32px; }
}

/* header: no pill container. White VTS logo on the left, white pill Talk to sales on the right, over the hero */
.vtslp-nav { top: 24px; }
.vtslp-nav__bar { background: none; border: 0; border-radius: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; padding: 0; }
.vtslp-nav__bar img { height: 24px; }
.vtslp-nav .vtslp-btn--white:hover { opacity: .85; }

/* every button is a pill, matching vts.com */
.vtslp-btn { border-radius: 999px; }
@media (max-width: 900px) {
  .vtslp-nav { top: 16px; }
  .vtslp-nav__bar { padding: 0; }
}

/* sticky header: fixed for the whole page. Transparent over the hero; once you scroll it gets a dark
   indigo bar so the white logo and white pill stay readable over the light sections. */
.vtslp-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; padding: 20px 0; transition: background-color .25s ease, padding .25s ease, box-shadow .25s ease; }
.vtslp-nav.is-scrolled { padding: 12px 0; background: rgba(20,5,50,.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 6px 24px rgba(20,5,50,.25); }
.vtslp-nav .vtslp-btn { transition: padding .25s ease, opacity .15s; }
.vtslp-nav.is-scrolled .vtslp-btn { padding: 8px 18px; }
@media (max-width: 900px) {
  .vtslp-nav { top: 0; padding: 14px 0; }
  .vtslp-nav.is-scrolled { padding: 10px 0; }
}
@media (prefers-reduced-motion: reduce) { .vtslp-nav, .vtslp-nav .vtslp-btn { transition: none; } }

/* comparison cards: line up Deals and proposals / Leases / Portfolio reporting across both cards.
   Both cards share one set of grid rows (subgrid), so a row that wraps in one card grows in both. */
@media (min-width: 901px) {
  .vtslp-split { grid-template-rows: repeat(4, auto); row-gap: 0; }
  .vtslp-split__side { display: grid; grid-row: 1 / span 4; grid-template-rows: subgrid; }
  .vtslp-split__inner { display: grid; grid-row: 1 / span 4; grid-template-rows: subgrid; row-gap: 24px; height: auto; }
  .vtslp-split__title { margin-bottom: 0; }
  .vtslp-split__group + .vtslp-split__group { margin-top: 0; }
}

/* ---------- hero: half laptop (Oct 6) ----------
   The laptop starts below the header, lines up with the eyebrow, bleeds off the right edge and is cut off
   at the bottom of the hero, so only its upper-left (the product screen) shows and nothing crowds the
   header pill or the logo bar. */
.vtslp-hero { overflow: clip; padding: 148px 0 96px; }
.vtslp-hero__row { align-items: start; }
.vtslp-hero__media { position: relative; align-self: stretch; margin: 0; min-height: 420px; }
.vtslp-laptop { position: absolute; top: 4px; left: 16px; width: 1180px; min-width: 0; margin: 0; }
.vtslp-laptop__frame { filter: drop-shadow(0 30px 60px rgba(10,0,40,.45)); }
@media (max-width: 900px) {
  .vtslp-hero { padding: 104px 0 0; }
  .vtslp-hero__media { min-height: 0; height: 260px; margin: 0 -16px 0 0; }
  .vtslp-laptop { top: 0; left: 0; width: 680px; }
}

/* ---------- logo bar: full-width marquee, even cells (Oct 6) ---------- */
.vtslp-logos__marquee { margin: 0 calc(50% - 50vw); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.vtslp-logos__grid { gap: 16px; padding-right: 16px; }
.vtslp-logo, .vtslp-logo--case { flex: 0 0 184px; width: 184px; height: 80px; padding: 0 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); }
.vtslp-logo--case { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.06); }
.vtslp-logo img { max-width: 140px; }
@media (max-width: 900px) {
  .vtslp-logo, .vtslp-logo--case { flex-basis: 150px; width: 150px; height: 72px; }
  .vtslp-logo img { max-width: 116px; }
}

/* hero laptop: show the whole height (base included), only the right side runs off the edge */
.vtslp-hero { padding-bottom: 72px; }
.vtslp-laptop { width: 920px; top: 0; }
.vtslp-hero__media { min-height: calc(920px * 849 / 1523); }
@media (max-width: 1200px) {
  .vtslp-laptop { width: 780px; }
  .vtslp-hero__media { min-height: calc(780px * 849 / 1523); }
}
@media (max-width: 900px) {
  .vtslp-hero { padding-bottom: 48px; }
  .vtslp-laptop { width: 560px; }
  .vtslp-hero__media { min-height: 0; height: calc(560px * 849 / 1523); }
}
.vtslp-hero { padding-bottom: 56px; }
@media (max-width: 900px) { .vtslp-hero { padding-bottom: 40px; } }

/* ---------- hero v3 (Oct 6): hero + logo bar fit above the fold; laptop 25% cut on the right,
   base overlapping the hero / logo-bar seam ----------
   --hero-h: hero height = viewport minus the logo bar (~200px), never below 600px.
   --lap-w: laptop width, sized so its base overhangs the seam by 40px while its top stays below the header,
            and capped so the visible 75% never crowds the headline. */
.vtslp-hero { --hero-h: max(600px, calc(100svh - 200px)); --lap-w: min(64vw, 1180px, calc((var(--hero-h) - 120px + 40px) * 1.794));
  height: var(--hero-h); padding: 88px 0 24px; display: flex; align-items: center; overflow-x: clip; overflow-y: visible; }
.vtslp-hero > .vtslp-wrap { width: 100%; }
.vtslp-hero__row { position: static; }
.vtslp-hero__media { position: absolute; right: calc(var(--lap-w) * -0.25); bottom: -40px; width: var(--lap-w); min-height: 0; height: auto; margin: 0; z-index: 3; }
.vtslp-laptop { position: relative; top: auto; left: auto; width: 100%; }
.vtslp-logos { padding: 48px 0 28px; }
.vtslp-logos__title { margin-bottom: 14px; }
.vtslp-logo, .vtslp-logo--case { height: 72px; }
@media (max-width: 900px) {
  .vtslp-hero { height: auto; display: block; padding: 104px 0 40px; overflow: clip; }
  .vtslp-hero__media { position: relative; right: auto; bottom: auto; width: 560px; margin: 32px -16px -24px 0; }
  .vtslp-logos { padding: 48px 0 32px; }
}
/* reduced motion: keep the logo bar to one row (swipe/scroll sideways) so it still fits above the fold */
@media (prefers-reduced-motion: reduce) {
  .vtslp-logos__marquee { overflow-x: auto; scrollbar-width: none; }
  .vtslp-logos__grid { flex-wrap: nowrap; justify-content: flex-start; padding-left: 24px; }
}
/* shorter screens: let the hero shrink further so the logo bar still lands above the fold */
.vtslp-hero { --hero-h: max(530px, calc(100svh - 196px)); }
@media (max-height: 780px) and (min-width: 901px) {
  .vtslp-hero .vtslp-h1 { font-size: 44px; }
  .vtslp-hero .vtslp-lede { margin: 12px 0 18px; }
  .vtslp-proofstrip { margin-bottom: 22px; }
}
@media (max-width: 900px) {
  .vtslp-hero__row { grid-template-columns: minmax(0, 1fr); }
  .vtslp-proofstrip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vtslp-proofstrip li { max-width: none; padding: 0 10px; }
  .vtslp-proofstrip li:first-child { padding-left: 0; }
  .vtslp-proofstrip b { font-size: 22px; }
}

/* hero + logo bar always fill the first screen exactly (no sliver of the next section showing) */
.vtslp { --hero-h: max(530px, calc(100svh - 196px)); }
.vtslp-hero { --hero-h: max(530px, calc(100svh - 196px)); }
@media (min-width: 901px) {
  .vtslp-logos { min-height: calc(100svh - var(--hero-h)); display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; }
  .vtslp-logos > .vtslp-wrap { width: 100%; }
}

/* =====================================================================
   TYPE SCALE (Oct 6) — one size per role (UI/UX Pro Max: consistent modular scale).
   12 labels · 14 small · 16 body · 18 subhead · 20 card titles · 24 quote/hero stats ·
   32 inline stats · 44 section headings · 50 hero headline · 56 feature number.
   Last in the file, so it overrides earlier per-section sizes.
   ===================================================================== */
/* section headings */
.vtslp-h2, .vtslp-closer .vtslp-h2, .vtslp-faq__intro .vtslp-h2 { font-size: 44px; }
.vtslp-faq { grid-template-columns: 480px 1fr; }
/* card / row titles */
.vtslp-split__title, .vtslp-tab__title, .vtslp-faq summary { font-size: 20px; }
.vtslp-abs__head { font-size: 16px; }
/* testimonial quote */
.vtslp-tm__body blockquote { font-size: 24px; }
/* subheads */
.vtslp-head p, .vtslp-hero .vtslp-lede, .vtslp-acc__fig span, .vtslp-ai .vtslp-acc__fig span { font-size: 18px; }
/* body */
.vtslp-tab__inner > p, .vtslp-ai__card p, .vtslp-faq details p, .vtslp-split__group li, .vtslp-ai__ask, .vtslp-ai__lede, .vtslp-logos__title, .vtslp-ana__list b { font-size: 16px; }
/* small */
.vtslp-stat span, .vtslp-ai__stat span, .vtslp-tm__who, .vtslp-acc__bar, .vtslp-ai__src, .vtslp-proofstrip li, .vtslp-acc__fig small, .vtslp-ai .vtslp-acc__fig small, .vtslp-footmin, .vtslp-ai__tab, .vtslp-ai__verdict li, .vtslp-ai__name, .vtslp-ana__list li, .vtslp-abs__fields > div, .vtslp-abs__file, .vtslp-tm__more { font-size: 14px; }
/* small-caps labels */
.vtslp-kicker, .vtslp-tab__kicker, .vtslp-split__group h4, .vtslp-abs__status li, .vtslp-ai__ask span, .vtslp-logo--case a, .vtslp-chip, .vtslp-abs__hl { font-size: 12px; }
/* stat numbers */
.vtslp-proofstrip b { font-size: 24px; }
.vtslp-stat b, .vtslp-tab__inner .vtslp-stat b, .vtslp-ai__stat b { font-size: 32px; }
.vtslp-acc__fig b, .vtslp-ai .vtslp-acc__fig b { font-size: 56px; }
/* buttons */
.vtslp-btn, .vtslp-nav .vtslp-btn, .vtslp-closer__btn { font-size: 14px; }
@media (max-width: 900px) {
  .vtslp-h2, .vtslp-closer .vtslp-h2, .vtslp-faq__intro .vtslp-h2 { font-size: 32px; }
  .vtslp-faq { grid-template-columns: 1fr; }
  .vtslp-split__title, .vtslp-tab__title, .vtslp-faq summary { font-size: 18px; }
  .vtslp-tm__body blockquote { font-size: 18px; }
  .vtslp-acc__fig b, .vtslp-ai .vtslp-acc__fig b { font-size: 48px; }
  .vtslp-proofstrip b { font-size: 20px; }
  .vtslp-proofstrip li { font-size: 12px; }
}
.vtslp-absimg video { display: block; width: 100%; height: auto; background: #f5f7fa; }

/* ---------- AI section, Abstraction tab: video left, copy right (after vts.com/ai) ---------- */
.vtslp-absplit { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.vtslp-absplit .vtslp-absimg { max-width: none; margin: 0; }
.vtslp-absplit__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.vtslp-absplit__icon { position: relative; width: 40px; height: 40px; margin-bottom: 8px; }
.vtslp-absplit__icon::before, .vtslp-absplit__icon::after { content: ""; position: absolute; border-radius: 6px; }
.vtslp-absplit__icon::before { left: 0; top: 0; width: 26px; height: 26px; background: rgba(200,200,255,.5); }
.vtslp-absplit__icon::after { right: 0; bottom: 0; width: 28px; height: 28px; background: linear-gradient(135deg, #8C82FF, #5528FF); }
.vtslp-absplit__title { font-size: 32px; font-weight: 600; line-height: 1.15; color: #fff; margin: 0; }
.vtslp-absplit__copy p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.72); }
.vtslp-absplit__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; width: 100%; margin-top: 8px; }
.vtslp-absplit__stats > div { padding-left: 16px; border-left: 2px solid var(--indigo-t3); }
.vtslp-absplit__stats b { display: block; font-size: 32px; font-weight: 600; line-height: 1.1; color: #fff; }
.vtslp-absplit__stats span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.4; color: rgba(255,255,255,.65); }
.vtslp-absplit .vtslp-abs__status { margin: 8px 0 0; }
.vtslp-absplit .vtslp-btn { margin-top: 8px; }
@media (max-width: 900px) {
  .vtslp-absplit { grid-template-columns: 1fr; gap: 28px; }
  .vtslp-absplit__title { font-size: 24px; }
}

/* Round 14 (Oct 6): AI tab CTA = vts.com/ai "btn-showcase-style": smaller glass pill, sentence case */
.vtslp-btn.vtslp-btn--glass { display: inline-flex; align-items: center; justify-content: center; height: 43px; padding: 0 32px; font-size: 15px; line-height: 1; letter-spacing: normal; text-transform: none; color: #fff; border: 0; border-radius: 104px; background: linear-gradient(90deg, rgba(47,44,48,.3) 0%, rgba(66,28,81,.3) 100%); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: inset 1px 0 2px rgba(255,255,255,.27), 0 1px 3px rgba(0,0,0,.32); transition: opacity .2s, transform .2s, background-color .2s; }
.vtslp-btn.vtslp-btn--glass:hover { opacity: .92; transform: translateY(-1px); background: rgba(255,255,255,.19); }
.vtslp-btn.vtslp-btn--glass:focus-visible { outline: 2px solid #C8C8FF; outline-offset: 3px; }

/* Round 15 (Oct 6): compact VTS AI vs Other AI agents chat comparison (after vts.com/ai's .ai-compare), static */
.vtslp-cmp { max-width: 860px; margin: 48px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.vtslp-cmp__win { display: flex; flex-direction: column; gap: 14px; padding: 18px; border-radius: 16px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); }
.vtslp-cmp__win--vts { border-color: rgba(140,130,255,.45); box-shadow: 0 24px 60px rgba(85,40,255,.25); }
.vtslp-cmp__name { display: flex; align-items: center; justify-content: center; gap: 6px; height: 20px; font-size: 15px; font-weight: 600; color: #fff; }
.vtslp-cmp__name img { display: block; height: 14px; width: auto; }
.vtslp-cmp__name b { font-weight: 600; padding-left: 6px; border-left: 1px solid rgba(255,255,255,.5); line-height: 1; }
.vtslp-cmp__chat { display: flex; flex-direction: column; gap: 10px; font-size: 13px; line-height: 1.5; }
.vtslp-cmp__chat p { margin: 0; }
.vtslp-cmp p { font-size: 13px !important; line-height: 1.5 !important; }
.vtslp-cmp__q { align-self: flex-end; max-width: 85%; padding: 9px 12px; border-radius: 10px; color: #fff; background: #7B3FE4; }
.vtslp-cmp__win--gen .vtslp-cmp__q { background: rgba(255,255,255,.22); }
.vtslp-cmp__docs { align-self: flex-end; display: flex; flex-direction: column; gap: 6px; }
.vtslp-cmp__docs span { padding: 6px 10px; border-radius: 8px; font-size: 12px; color: rgba(255,255,255,.85); background: rgba(255,255,255,.12); }
.vtslp-cmp__a { display: flex; flex-direction: column; gap: 8px; max-width: 92%; padding: 10px 12px; border-radius: 10px; color: rgba(255,255,255,.8); background: rgba(255,255,255,.07); }
.vtslp-cmp__a--long { max-height: 132px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.vtslp-cmp__src { align-self: flex-start; padding: 3px 10px; border-radius: 999px; font-size: 12px; color: #fff; border: 1px solid rgba(255,255,255,.35); }
.vtslp-cmp__note { max-width: 620px; margin: 24px auto 0; text-align: center; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.65); }
@media (max-width: 760px) { .vtslp-cmp { grid-template-columns: 1fr; gap: 14px; } }


/* ---------- AI section finale: compact chat comparison + 2.6x strip (Oct 6) ---------- */
.vtslp-cmpbox { max-width: 880px; margin: 56px auto 0; }
.vtslp-cmpbox .vtslp-cmp { margin: 0; max-width: none; }
.vtslp-ai.is-armed .vtslp-cmp__win { min-height: 330px; }
.vtslp-cmp__a mark { background: rgba(140,130,255,.25); color: #fff; font-weight: 600; padding: 0 3px; border-radius: 3px; transition: background-color .3s ease; }
.vtslp-cmp .vtslp-typing { padding: 10px 12px; }
.vtslp-cmpbox__foot { display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: center; margin-top: 16px; padding: 16px 24px; border-radius: 14px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); }
.vtslp-cmpbox__fig { margin: 0; display: flex; align-items: baseline; gap: 10px; font-size: 14px; color: rgba(255,255,255,.7); white-space: nowrap; }
.vtslp-cmpbox__fig b { font-size: 32px; font-weight: 600; line-height: 1; background: var(--grad-accent); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vtslp-cmpbox__bars { display: grid; gap: 6px; }
.vtslp-cmpbox__bar { display: grid; grid-template-columns: 80px 1fr 36px; align-items: center; gap: 12px; font-size: 12px; color: rgba(255,255,255,.6); }
.vtslp-cmpbox__bar--vts { color: #fff; font-weight: 600; }
.vtslp-cmpbox__bar i { display: block; height: 6px; border-radius: 3px; background: rgba(255,255,255,.08); overflow: hidden; }
.vtslp-cmpbox__bar s { display: block; height: 100%; width: var(--w); border-radius: 3px; background: rgba(255,255,255,.3); transition: width 1s cubic-bezier(.2,.7,.2,1); }
.vtslp-cmpbox__bar--vts s { background: linear-gradient(90deg, #673FFF, #8C82FF); }
.vtslp-cmpbox__bar em { font-style: normal; text-align: right; }
/* armed: each step appears as the timeline reaches it */
.vtslp-cmpbox.is-armed [data-at] { transition: opacity .35s ease, transform .35s ease; }
.vtslp-cmpbox.is-armed [data-at]:not(.is-on) { opacity: 0; transform: translateY(6px); }
.vtslp-cmpbox.is-armed .vtslp-cmp__a:not(.is-on), .vtslp-cmpbox.is-armed .vtslp-cmp__docs:not(.is-on) { display: none; }
.vtslp-cmpbox.is-armed .vtslp-typing.is-on:not(.is-gone) { display: flex; }
.vtslp-cmpbox.is-armed .vtslp-cmpbox__foot:not(.is-on) s { width: 0; }
.vtslp-cmpbox.is-armed .vtslp-cmp__a mark:has(.vtslp-w:not(.is-on)) { background: transparent; }
@media (max-width: 760px) {
  .vtslp-cmpbox__foot { grid-template-columns: 1fr; gap: 12px; }
  .vtslp-ai.is-armed .vtslp-cmp__win { min-height: 0; }
}

/* 2.6x strip as its own module between the tabs and the chat comparison */
.vtslp-accstrip { max-width: 880px; margin: 64px auto 0; padding: 20px 28px; }
.vtslp-accstrip + .vtslp-cmpbox { margin-top: 24px; }
.vtslp-accstrip.is-armed:not(.is-visible) s { width: 0; }

/* other AI window: the long answer keeps typing and scrolls inside a fixed-height window (as on vts.com/ai) */
.vtslp-cmp__win--gen .vtslp-cmp__chat--scroll { position: relative; height: 300px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16px, #000 88%, transparent); mask-image: linear-gradient(180deg, transparent 0, #000 16px, #000 88%, transparent); }
.vtslp-cmp__scroll { display: flex; flex-direction: column; gap: 10px; padding: 4px 0 24px; transition: transform .5s cubic-bezier(.4,0,.2,1); }
.vtslp-cmp__a--gen { max-height: none; overflow: visible; -webkit-mask-image: none; mask-image: none; }
.vtslp-cmpbox.is-armed .vtslp-cmp__a--gen p:not(:has(.vtslp-w.is-on)) { display: none; }
/* without JS, the window scrolls by hand */
.vtslp-cmpbox:not(.is-armed) .vtslp-cmp__chat--scroll { overflow-y: auto; }
@media (max-width: 760px) { .vtslp-cmp__win--gen .vtslp-cmp__chat--scroll { height: 260px; } }

/* features: Talk to sales sits left-aligned under the rows, inside the pinned block (no late fly-in) */
.vtslp-tabs { grid-template-rows: auto auto; row-gap: 32px; align-items: start; }
.vtslp-tabs__list { grid-column: 1; grid-row: 1; }
.vtslp-tabs__cta { grid-column: 1; grid-row: 2; justify-self: start; }
.vtslp-tabs__panel { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
@media (max-width: 900px) {
  .vtslp-tabs { grid-template-rows: none; }
  .vtslp-tabs__panel { grid-column: 1; grid-row: 1; }
  .vtslp-tabs__list { grid-row: 2; }
  .vtslp-tabs__cta { grid-row: 3; }
  /* mobile: image follows the text inside the open row, never on top of it */
  .vtslp-tabs__panel { display: none; }
  .vtslp-tabs__list { grid-row: 1; }
  .vtslp-tabs__cta { grid-row: 2; }
  .vtslp-tab__inner .vtslp-tabs__slide { position: static; inset: auto; display: block; height: auto; padding: 0; margin-top: 20px; opacity: 1; visibility: visible; transform: none; transition: none; border-radius: 12px; overflow: hidden; background: #F5F7FA; border: 1px solid var(--gray-3); }
  .vtslp-tab__inner .vtslp-tabs__slide img { display: block; width: 100%; height: auto; object-fit: contain; }
}
/* sector cards follow the type scale (card title 20 / body 16) */
.vtslp-sector .vtslp-h4 { font-size: 20px; }
.vtslp-sector p { font-size: 16px; margin-bottom: 0; }

/* every button reads in sentence case ("Talk to sales"), matching vts.com */
.vtslp-btn { text-transform: none; letter-spacing: 0; }
/* sector cards: link to each sector page sits at the bottom of the card */
.vtslp-sector p { margin-bottom: 16px; }
.vtslp-sector .vtslp-arrow { margin-top: auto; }

/* PublishPress Authors appends its author box to every post/page's content; not wanted on this paid landing page */
.pp-multiple-authors-boxes-wrapper { display: none !important; }

/* VTS logos link to the main site homepage */
.vtslp-homelink { display: inline-flex; align-items: center; line-height: 0; text-decoration: none; }
.vtslp-footmin a.vtslp-homelink:hover { text-decoration: none; }

/* Customer logo banner: scrollable both ways (JS adds .is-scrollable and drives the drift; see vts-lp.js) */
.vtslp-logos__marquee.is-scrollable { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; cursor: grab; overscroll-behavior-x: contain; }
.vtslp-logos__marquee.is-scrollable::-webkit-scrollbar { display: none; }
.vtslp-logos__marquee.is-scrollable .vtslp-logos__track { animation: none; }
.vtslp-logos__marquee.is-dragging { cursor: grabbing; user-select: none; -webkit-user-select: none; }
.vtslp-logos__marquee.is-scrollable img { -webkit-user-drag: none; user-select: none; }

/* Hide the hero media on mobile */
@media (max-width: 900px) {
  .vtslp-hero__media { display: none !important; }
}
