.vps-showcase {
  --vps-gap: 56px;
  --vps-text: #111111;
  --vps-muted: #4b5563;
  --vps-line: #e5e7eb;
  --vps-accent: #cf102d;
}
.vps-showcase * { box-sizing: border-box; }
.vps-showcase__grid {
  display: grid;
  grid-template-columns: minmax(320px,1fr) minmax(340px,560px);
  gap: var(--vps-gap);
  align-items: start;
}
.vps-showcase--image-left .vps-showcase__content { order: 2; }
.vps-showcase--image-left .vps-showcase__media { order: 1; }
.vps-showcase__title { margin:0 0 14px; font-size:clamp(30px,3vw,42px); line-height:1.1; color:var(--vps-text); }
.vps-showcase__description { margin:0 0 28px; color:var(--vps-muted); font-size:18px; line-height:1.7; max-width:720px; }
.vps-showcase__description p { margin:0; }
.vps-showcase__list { list-style:none; padding:0; margin:0; }
.vps-showcase__list-item { border-bottom:3px solid var(--item-line-color, var(--vps-line)); }
.vps-showcase__trigger {
  width:100%; border:0; background:transparent; display:flex; align-items:flex-start; gap:12px;
  padding:18px 0 16px; text-align:left; cursor:pointer; text-decoration:none; color:var(--vps-text);
  transition:transform .22s ease, color .22s ease, opacity .22s ease;
}
.vps-showcase__trigger:hover,
.vps-showcase__trigger:focus-visible,
.vps-showcase__trigger.is-active { color:var(--vps-accent); transform:translateX(6px); outline:none; }
.vps-showcase__bullet { flex:0 0 auto; font-size:20px; line-height:1.2; }
.vps-showcase__text { display:block; font-size:var(--vps-item-font-size,28px); line-height:1.35; font-weight:600; }
.vps-showcase__media { position:sticky; top:30px; }
.vps-showcase__image-wrap { position:relative; width:100%; height:var(--vps-image-height,650px); overflow:hidden; background:#f3f4f6; }
.vps-showcase__image,.vps-showcase__placeholder { width:100%; height:100%; }
.vps-showcase__image { display:block; object-fit:cover; opacity:1; transform:scale(1); transition:opacity .28s ease, transform .45s ease; }
.vps-showcase__image.is-swapping { opacity:.18; transform:scale(1.02); }
.vps-showcase__placeholder { display:flex; align-items:center; justify-content:center; padding:24px; color:#6b7280; text-align:center; font-size:18px; }
.vps-showcase__caption { padding-top:16px; }
.vps-showcase__caption-title { color:var(--vps-text); font-size:24px; font-weight:700; line-height:1.2; }
.vps-showcase__caption-description { margin-top:10px; color:var(--vps-muted); font-size:16px; line-height:1.65; }
@media (max-width:849px) {
  .vps-showcase__grid { grid-template-columns:1fr; gap:28px; }
  .vps-showcase__media { position:static; order:-1 !important; }
  .vps-showcase__image-wrap { height:min(72vw,440px); }
  .vps-showcase__description { font-size:16px; line-height:1.6; }
  .vps-showcase__text { font-size:min(var(--vps-item-font-size,28px),20px); }
}
