/* ==========================================================================
   Video testimonials — card grid plus a lightbox.
   ========================================================================== */
.vt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.4vw,26px);margin-top:clamp(12px,1.4vw,24px)}
.vt-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.vt-card:hover{transform:translateY(-3px);border-color:var(--gold);
  box-shadow:0 14px 30px rgba(6,26,72,.14)}

.vt-thumb{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;
  background:#0B1740;line-height:0;overflow:hidden}
.vt-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
  opacity:.82;transition:opacity .16s ease,transform .3s ease}
.vt-card:hover .vt-thumb img{opacity:1;transform:scale(1.04)}
.vt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:clamp(46px,4.2vw,68px);height:clamp(46px,4.2vw,68px);border-radius:50%;
  background:var(--gold);color:var(--blue);display:grid;place-items:center;
  box-shadow:0 8px 20px rgba(0,0,0,.35);transition:transform .16s ease}
.vt-play svg{width:52%;height:52%;margin-left:8%}
.vt-card:hover .vt-play{transform:translate(-50%,-50%) scale(1.08)}
.vt-len{position:absolute;right:9px;bottom:9px;background:rgba(6,18,64,.86);color:#fff;
  border-radius:5px;padding:3px 7px;font-weight:800;font-size:clamp(9px,.68vw,11.5px);
  line-height:1.2;letter-spacing:.02em}
.vt-soon{background:var(--gold);color:var(--blue)}
.vt-card-soon .vt-thumb{cursor:default}
.vt-card-soon .vt-play{opacity:.55}

.vt-body{padding:clamp(11px,1.15vw,19px);display:flex;flex-direction:column;flex:1}
.vt-stars{margin:0 0 6px;color:var(--gold-trust);letter-spacing:1px;
  font-size:clamp(12px,1vw,16px);line-height:1}
.vt-body blockquote{margin:0 0 clamp(9px,1vw,15px);color:#4A5261;
  font-size:clamp(12px,.88vw,15px);line-height:1.6}
.vt-body blockquote::before{content:"\201C"}
.vt-body blockquote::after{content:"\201D"}
.vt-who{margin:auto 0 0;line-height:1.3}
.vt-who b{display:block;color:var(--blue);font-weight:900;
  font-size:clamp(11.5px,.86vw,14.5px)}
.vt-who span{display:block;color:#5A6472;font-size:clamp(10px,.74vw,12.5px)}

/* lightbox */
.vt-modal{position:fixed;inset:0;z-index:200;background:rgba(4,10,34,.92);
  display:grid;place-items:center;padding:clamp(14px,3vw,50px)}
.vt-modal[hidden]{display:none}
.vt-frame{width:min(1100px,100%);aspect-ratio:16/9;background:#000;border-radius:12px;
  overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.55)}
.vt-frame div,.vt-frame iframe{width:100%;height:100%;border:0;display:block}
.vt-close{position:absolute;top:clamp(10px,2vw,26px);right:clamp(10px,2vw,26px);
  width:clamp(38px,3.4vw,52px);height:clamp(38px,3.4vw,52px);border-radius:50%;border:0;
  background:var(--gold);color:var(--blue);font-size:clamp(20px,1.9vw,30px);line-height:1;
  cursor:pointer;display:grid;place-items:center;font-weight:700}
.vt-close:hover{filter:brightness(1.06)}
.vt-close:focus-visible{outline:3px solid #fff;outline-offset:3px}

@media (max-width:1000px){ .vt-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:620px){  .vt-grid{grid-template-columns:1fr} }

/* ---- pager ---- */
.vt-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(6px,.7vw,10px);margin-top:clamp(18px,2vw,34px)}
.vt-pg{display:inline-flex;align-items:center;gap:7px;min-width:clamp(36px,3.2vw,46px);
  height:clamp(36px,3.2vw,46px);padding:0 clamp(10px,1vw,16px);justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:9px;
  font-weight:800;color:var(--blue);font-size:clamp(11px,.84vw,14px);
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.vt-pg:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}
.vt-num{padding:0}
.vt-pg.is-cur{background:var(--gold);border-color:var(--gold);color:var(--blue);
  box-shadow:0 6px 14px rgba(6,26,72,.16)}
.vt-pg.is-cur:hover{transform:none}
.vt-pg.is-off{opacity:.4;pointer-events:none}
@media (max-width:480px){ .vt-prev span,.vt-next span{display:none} }

/* ---- mobile usability ---- */
@media (max-width:1100px){
  .vt-body blockquote{font-size:14px!important}
  .vt-who b{font-size:14px!important}
  .vt-who span{font-size:12px!important}
  .vt-len{font-size:11px!important}
  .vt-pg{min-height:48px;min-width:48px}
}

/* page heading, now that the hero banner is gone */
.vt-h1{margin:0 0 clamp(6px,.8vw,12px);text-align:center;font-weight:900;text-transform:uppercase;
  color:var(--blue);line-height:1.1;font-size:clamp(22px,2.6vw,44px)}
.vt-h1 + .pg-h2-center{margin-top:0}
