.vd-home { background: #f4f1ea; color: #142033; }
.vplat-hero {
  position: relative;
  min-height: 78vh;
  margin: 0 16px 28px;
  border-radius: 28px;
  overflow: hidden;
  background: #0e1a2b;
  color: #fff;
}
.vplat-slides, .vplat-slides img, .vplat-hero-shade { position: absolute; inset: 0; }
.vplat-slides img {
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transform: scale(1.06);
  transition: opacity 1.1s ease, transform 8s ease;
}
.vplat-slides img.is-on { opacity: 1; transform: scale(1); }
.vplat-hero-shade {
  background: linear-gradient(90deg, rgba(8,16,28,.88) 0%, rgba(8,16,28,.55) 48%, rgba(8,16,28,.2) 100%);
}
.vplat-hero-copy, .vplat-float { position: relative; z-index: 2; }
.vplat-hero-copy { width: min(640px, calc(100% - 48px)); padding: 72px 8px 120px 36px; }
.vplat-hero-copy p, .vplat-head p, .vplat-agency p {
  margin: 0 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #d4b483;
}
.vplat-hero-copy h1 {
  margin: 0; font-family: "Source Serif 4", serif;
  font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: .95; letter-spacing: -.03em; color: #fff;
}
.vplat-hero-copy span, .vplat-agency span { display: block; margin-top: 16px; max-width: 46ch; color: #e7e5e4; font-size: 17px; line-height: 1.5; }
.vplat-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.vplat-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 18px; border-radius: 999px;
  background: #ff6900; color: #fff; font-weight: 800; text-decoration: none;
  box-shadow: 0 12px 28px rgba(255,105,0,.28);
  transition: transform .3s ease, background .3s;
}
.vplat-btn:hover { transform: translateY(-2px); background: #e85f00; }
.vplat-btn-line { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.45); box-shadow: none; }
.vplat-hero-copy small { display: block; margin-top: 18px; color: #d6d3d1; font-size: 13px; }
.vplat-float {
  position: absolute; right: 28px; bottom: 28px; width: min(280px, calc(100% - 48px));
  padding: 18px; border-radius: 18px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(12px);
}
.vplat-float strong { display: block; margin-bottom: 8px; }
.vplat-float li { margin: 6px 0; color: #f5f5f4; font-size: 14px; }
.vplat-jump {
  position: sticky; top: 72px; z-index: 20;
  display: flex; gap: 8px; overflow: auto;
  width: min(1120px, calc(100% - 32px)); margin: -8px auto 8px; padding: 8px 0;
}
.vplat-jump a {
  flex: 0 0 auto; padding: 8px 12px; border-radius: 999px;
  background: #fff; color: #142033; text-decoration: none; font-size: 13px; font-weight: 700;
  border: 1px solid rgba(20,32,51,.08);
}
.vplat-jump a:hover { border-color: #d4b483; color: #9a7040; }
.vplat-wrap { width: min(1120px, calc(100% - 32px)); margin: 28px auto; }
.vplat-head h2, .vplat-close h2, .vplat-agency h2 {
  margin: 0; font-family: "Source Serif 4", serif; font-size: clamp(1.8rem, 3vw, 2.6rem); color: #142033; letter-spacing: -.02em;
}
.vplat-cards, .vplat-groups, .vplat-steps, .vplat-countries { display: grid; gap: 12px; margin-top: 18px; }
.vplat-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vplat-cards a, .vplat-groups article, .vplat-steps article, .vplat-city {
  display: grid; gap: 8px; padding: 18px; border-radius: 18px; background: #fff;
  border: 1px solid rgba(20,32,51,.08); text-decoration: none; color: inherit;
  transition: transform .3s ease, box-shadow .3s ease;
}
.vplat-cards a:hover, .vplat-groups article:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(14,26,43,.08); }
.vplat-cards strong, .vplat-groups h3 { font-size: 16px; }
.vplat-cards span, .vplat-groups li, .vplat-note { color: #57534e; font-size: 14px; line-height: 1.45; }
.vplat-cards em { font-style: normal; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #c45200; }
.vplat-boards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vplat-list { padding: 22px; border-radius: 22px; background: #fff; border: 1px solid rgba(20,32,51,.08); }
.vplat-list-dark { background: #0e1a2b; color: #fff; border-color: #0e1a2b; }
.vplat-list p { margin: 0 0 6px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #c45200; }
.vplat-list h3 { margin: 0 0 8px; font-family: "Source Serif 4", serif; font-size: 1.6rem; }
.vplat-list > span { display: block; margin-bottom: 10px; color: #57534e; font-size: 14px; }
.vplat-list-dark > span { color: #d6d3d1; }
.vplat-list ol { margin: 0; padding: 0; list-style: none; counter-reset: vdoc; }
.vplat-list li { counter-increment: vdoc; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 8px; padding: 10px 0; border-top: 1px solid #efe8dc; }
.vplat-list-dark li { border-top-color: rgba(255,255,255,.1); }
.vplat-list li::before { content: counter(vdoc, decimal-leading-zero); color: #c45200; font-size: 12px; font-weight: 800; }
.vplat-list strong,
.vplat-list em { grid-column: 2; }
.vplat-list strong { display: block; font-size: 15px; line-height: 1.35; }
.vplat-list em { display: block; margin-top: 3px; font-style: normal; font-size: 13px; line-height: 1.45; color: #78716c; }
.vplat-list-dark em { color: #d6d3d1; }
.vplat-downloads { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.vplat-downloads a { padding: 8px 12px; border-radius: 999px; background: #fff7f0; color: #9a3412; font-size: 13px; font-weight: 800; text-decoration: none; }
.vplat-list-dark .vplat-downloads a { background: #ff6900; color: #fff; }
.vplat-groups { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vplat-groups ul, .vplat-agency ol { margin: 0; padding-left: 18px; }
.vplat-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vplat-steps span { color: #c45200; font-weight: 800; }
.vplat-countries { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.vplat-countries a { display: grid; gap: 4px; padding: 16px; border-radius: 16px; background: #fff; text-decoration: none; color: #142033; border: 1px solid rgba(20,32,51,.08); }
.vplat-city { max-width: 520px; }
.vplat-agency { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; padding: 28px; border-radius: 28px; background: #0e1a2b; color: #fff; }
.vplat-agency h2, .vplat-agency span, .vplat-agency li { color: #fff; }
.vplat-agency .vplat-btn-line { color: #fff; }
.vplat-close { width: min(1120px, calc(100% - 32px)); margin: 12px auto 48px; text-align: center; }
.vplat-close p { color: #57534e; max-width: 62ch; margin: 14px auto 0; }
.vplat-note { margin-top: 14px; }
@media (max-width: 980px) {
  .vplat-cards, .vplat-groups, .vplat-steps, .vplat-boards, .vplat-agency { grid-template-columns: 1fr; }
  .vplat-float { position: relative; right: auto; bottom: auto; margin: 0 18px 18px; }
  .vplat-hero-copy { padding: 48px 18px 24px; }
  .vplat-btn-line { border-color: rgba(255,255,255,.7); }
}
@media (prefers-reduced-motion: reduce) {
  .vplat-slides img { transition: none; }
}

.vuse { width: min(760px, calc(100% - 28px)); margin: 28px auto 48px; }
.vuse-head p { margin: 0 0 8px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #c45200; }
.vuse-head h1 { margin: 0; font-family: "Source Serif 4", serif; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.05; color: #142033; }
.vuse-head span { display: block; margin-top: 10px; color: #57534e; font-size: 16px; line-height: 1.45; }
.vuse-card { margin-top: 18px; padding: 22px; border-radius: 22px; background: #fff; border: 1px solid rgba(20,32,51,.08); box-shadow: 0 16px 40px rgba(14,26,43,.05); }
.vuse-step { margin-top: 18px; }
.vuse-step strong { display: block; margin-bottom: 8px; font-size: 15px; }
.vuse-picks { display: flex; flex-wrap: wrap; gap: 8px; }
.vuse-picks button, .vuse-links a {
  min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(20,32,51,.12);
  background: #fff; color: #142033; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer;
}
.vuse-services { display: grid; grid-template-columns: 1fr; }
.vuse-services button { width: 100%; text-align: left; border-radius: 14px; }
.vuse-picks button.is-on { background: #142033; color: #fff; border-color: #142033; }
.vuse-where { margin: 0 0 8px; color: #57534e; font-size: 14px; }
.vuse-docs { margin: 0; padding: 0; list-style: none; counter-reset: vuse; }
.vuse-docs li { counter-increment: vuse; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; padding: 10px 0; border-top: 1px solid #efe8dc; }
.vuse-docs li::before { content: counter(vuse); color: #c45200; font-size: 13px; font-weight: 800; }
.vuse-docs strong, .vuse-docs em { grid-column: 2; }
.vuse-docs strong { font-size: 15px; }
.vuse-docs em { display: block; margin-top: 2px; font-style: normal; color: #78716c; font-size: 13px; line-height: 1.4; }
.vuse-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.vuse-links a { display: inline-flex; align-items: center; text-decoration: none; background: #fff7f0; color: #9a3412; border-color: transparent; }
.vuse-go { display: grid; gap: 8px; margin-top: 18px; }
.vuse-btn {
  display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 18px;
  border-radius: 14px; background: #ff6900; color: #fff; font-weight: 800; text-decoration: none; text-align: center;
}
.vuse-btn.is-wait { background: #a8a29e; }
.vuse-go small, .vuse-foot, .vuse-empty { color: #57534e; font-size: 13px; line-height: 1.45; }
.vuse-foot { margin: 14px 4px 0; }
.vuse-foot a { color: #c45200; font-weight: 700; }
@media (min-width: 720px) {
  .vuse-services { grid-template-columns: 1fr; }
}
