/* ===== Student testimonials: video stories ===== */
.tt{
  --tt-ink:#0b0f2e;--tt-violet:#6a3df0;--tt-wave:clamp(34px,5vw,70px);
  position:relative;color:var(--tt-ink);padding:0 0 28px;overflow:hidden;
  min-height:100vh;min-height:100svh;min-height:100lvh;
  display:flex;flex-direction:column;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%,rgba(255,255,255,.9),transparent 70%),
    radial-gradient(ellipse 50% 60% at 100% 100%,rgba(176,150,255,.28),transparent 70%),
    linear-gradient(180deg,#f3efff 0%,#ece6ff 55%,#e6defd 100%);
  font-family:'Plus Jakarta Sans','Nunito','Segoe UI',system-ui,sans-serif;
}
.tt-wave{position:relative;z-index:2;line-height:0;margin-top:-1px;flex:none;}
.tt-main{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;z-index:1;padding-top:max(0px,calc(var(--header-h,76px) - var(--tt-wave)));}
.tt-inner{position:relative;z-index:1;width:100%;max-width:1560px;margin:0 auto;flex:none;padding:clamp(14px,2vw,28px) clamp(14px,2.4vw,36px) 0;}
.tt-head{text-align:center;margin-bottom:clamp(14px,2.4vw,34px);}
.tt-pill{display:inline-flex;align-items:center;gap:12px;padding:9px 24px 9px 14px;border-radius:999px;background:rgba(214,203,250,.55);border:1.5px solid #cfc3f6;
  font-weight:800;font-size:clamp(12.5px,1.15vw,17px);letter-spacing:.03em;color:#1c1450;text-transform:uppercase;}
.tt-pill i{display:grid;place-items:center;width:1.7em;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#6a3df0,#4b28c4);color:#fff;}
.tt-pill i svg{width:55%;height:55%;fill:currentColor;margin-left:8%;}
.tt-title{font-weight:800;font-size:clamp(34px,4.1vw,62px);line-height:1.08;letter-spacing:-.04em;color:#0b0b2b;margin:clamp(10px,1.4vw,20px) auto 0;}
.tt-grad{background:linear-gradient(90deg,#4f2fd0 0%,#7a42f0 60%,#9a52ee 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.vt-br{display:none;}
.tt-sub{max-width:34em;margin:clamp(10px,1.2vw,16px) auto 0;font-size:clamp(14px,1.4vw,21px);line-height:1.6;color:#2f3260;}

.vt-wrap{position:relative;width:100%;margin:0 auto;max-width:min(1500px,max(720px,calc((100vh - 480px) * 3.2)));max-width:min(1500px,max(720px,calc((100lvh - 480px) * 3.2)));}
.vt-stage{position:relative;width:100%;aspect-ratio:1500/470;container-type:inline-size;overflow-x:clip;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline-offset:6px;}
.vt-card{
  --w:22.5cqw;--h:21.2cqw;--mb:8.6cqw;--step:33cqw;
  position:absolute;left:calc(50cqw + var(--o,0) * var(--step));top:50%;width:var(--w);height:var(--h);translate:-50% -50%;
  border-radius:2cqw;background:#fff;border:1.5px solid rgba(190,175,245,.5);box-shadow:0 1.4cqw 3.2cqw rgba(106,61,240,.12);
  transition:left .55s cubic-bezier(.25,.8,.25,1),width .55s cubic-bezier(.25,.8,.25,1),height .55s cubic-bezier(.25,.8,.25,1),opacity .4s ease,box-shadow .4s;
  opacity:0;pointer-events:none;cursor:pointer;
}
.vt-card.s{opacity:1;pointer-events:auto;}
.vt-card.c{--w:41cqw;--h:31.4cqw;--mb:8.4cqw;opacity:1;pointer-events:auto;cursor:default;z-index:2;
  background:linear-gradient(160deg,#f5f1ff,#e8e0ff);border:2px solid #b9a5f6;box-shadow:0 0 0 .5cqw rgba(160,130,250,.18),0 2cqw 5cqw rgba(106,61,240,.28);}
.vt-media{position:absolute;left:.8cqw;right:.8cqw;top:.8cqw;bottom:var(--mb);border-radius:1.4cqw;overflow:hidden;background:#1b1448;transition:bottom .55s cubic-bezier(.25,.8,.25,1);}
.vt-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.vt-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;}
.vt-card.c .vt-play{position:absolute;left:50%;top:50%;translate:-50% -50%;width:5.4cqw;aspect-ratio:1;border-radius:50%;border:.28cqw solid rgba(255,255,255,.85);cursor:pointer;display:grid;place-items:center;padding:0;
  background:radial-gradient(circle at 35% 30%,rgba(122,76,240,.95),rgba(70,36,170,.95));box-shadow:0 0 0 .6cqw rgba(180,150,255,.28),0 .8cqw 2cqw rgba(40,10,120,.5);color:#fff;transition:scale .25s;}
.vt-play svg{width:46%;height:46%;fill:currentColor;margin-left:8%;}
.vt-play:hover{scale:1.08;}
.vt-card.s .vt-play{width:4.2cqw;background:rgba(20,16,50,.6);border-color:rgba(255,255,255,.8);box-shadow:none;}
.vt-card.playing .vt-play,.vt-card.playing .vt-cap{opacity:0;pointer-events:none;}
.vt-cap{position:absolute;left:1.4cqw;right:1.4cqw;bottom:.8cqw;height:calc(var(--mb) - .8cqw);display:flex;align-items:center;gap:1.1cqw;transition:opacity .3s;}
.vt-card.c .vt-cap{left:2cqw;right:2cqw;}
.vt-q{flex:none;display:none;place-items:center;width:3.4cqw;aspect-ratio:1;border-radius:50%;background:#e9e1ff;color:#6a3df0;}
.vt-card.c .vt-q{display:grid;}
.vt-q svg{width:48%;height:48%;fill:currentColor;}
.vt-cap h3{margin:0;font-size:1.15cqw;line-height:1.25;font-weight:800;letter-spacing:-.015em;color:#10113a;}
.vt-cap h3 b{color:#6a3df0;font-weight:800;}
.vt-cap p{margin:.35cqw 0 0;font-size:1cqw;color:#363a66;display:flex;flex-wrap:wrap;gap:0 .7cqw;align-items:center;}
.vt-cap p i{font-style:normal;color:#a9a6c8;}
.vt-card.c .vt-cap h3{font-size:1.55cqw;}
.vt-card.c .vt-cap p{font-size:1.15cqw;margin-top:.35cqw;}

.vt-arrow{position:absolute;top:50%;translate:0 -50%;z-index:5;width:clamp(40px,3.6vw,56px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  background:#fff;border:1.5px solid #d6cdf7;color:#4b2bc4;box-shadow:0 8px 22px rgba(106,61,240,.18);transition:transform .2s,box-shadow .2s;}
.vt-arrow:hover{transform:scale(1.07) translateY(0);}
.vt-arrow svg{width:46%;height:46%;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.vt-prev{left:0;}.vt-next{right:0;}
.vt-dots{display:flex;justify-content:center;gap:10px;margin-top:clamp(10px,1.4vw,22px);}
.vt-dots button{width:11px;height:11px;padding:0;border:0;border-radius:99px;background:#cdbff7;cursor:pointer;transition:width .3s,background-color .3s;}
.vt-dots button[aria-current="true"]{width:36px;background:linear-gradient(90deg,#5a37d6,#8a52f0);}

/* Moon scenery in the bottom corners */
.vt-art{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
/* Moon and astronaut: cut straight out of the design image, at the same scale (the design is 1672px wide = the screen width). */
.vt-moon,.vt-astro{position:absolute;bottom:0;background-repeat:no-repeat;background-image:url(../assets/testimonials-scene-desktop.webp);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%),linear-gradient(180deg,transparent 0,#000 16%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 16%),linear-gradient(180deg,transparent 0,#000 16%);mask-composite:intersect;}
.vt-moon{left:0;width:28.1vw;height:10.5vw;background-size:100vw auto;background-position:0 -45.75vw;
  -webkit-mask-image:linear-gradient(270deg,transparent 0,#000 14%),linear-gradient(180deg,transparent 0,#000 16%);mask-image:linear-gradient(270deg,transparent 0,#000 14%),linear-gradient(180deg,transparent 0,#000 16%);}
.vt-astro{right:0;width:25.84vw;height:13.1vw;background-size:100vw auto;background-position:-74.16vw -43.18vw;}

@media(max-width:760px){
  .tt{padding-bottom:10px;}
  .tt-inner{padding:10px 0 0;}
  .tt-title{font-size:clamp(30px,8.2vw,44px);}
  .tt-main{padding-bottom:24vw;}
  .vt-br{display:inline;}
  .tt-sub{font-size:clamp(13px,3.5vw,16px);padding:0 14px;}
  .vt-wrap{max-width:min(100%,calc((100vh - 340px - 24vw) * 1.43));max-width:min(100%,calc((100lvh - 340px - 24vw) * 1.43));}
  .vt-stage{aspect-ratio:100/70;overflow:visible;}
  .vt-card{--w:39cqw;--h:34.2cqw;--mb:12.5cqw;--step:60cqw;border-radius:5cqw;}
  .vt-card.c{--w:74cqw;--h:62.4cqw;--mb:21cqw;}

  .vt-media{left:2cqw;right:2cqw;top:2cqw;border-radius:4cqw;}
  .vt-play{width:15cqw;border-width:.8cqw;}
  .vt-card.s .vt-play{width:11cqw;}
  .vt-cap{left:3cqw;right:3cqw;bottom:2cqw;height:calc(var(--mb) - 2cqw);gap:2.6cqw;}
  .vt-card.c .vt-cap{left:4cqw;right:4cqw;}
  .vt-q{width:9.6cqw;}
  .vt-cap h3{font-size:3cqw;}
  .vt-cap p{font-size:2.5cqw;margin-top:.8cqw;}
  .vt-card.c .vt-cap h3{font-size:3.3cqw;}
  .vt-card.c .vt-cap p{font-size:2.7cqw;margin-top:.8cqw;gap:0 2cqw;}
  .vt-arrow{width:44px;}
  .vt-prev{left:6px;}.vt-next{right:6px;}
  .vt-moon,.vt-astro{background-image:url(../assets/testimonials-scene-mobile.webp);}
  .vt-moon{width:36.1vw;height:22.1vw;background-size:100vw auto;background-position:0 -127.9vw;}
  .vt-astro{width:60.9vw;height:24.2vw;background-size:100vw auto;background-position:-39.06vw -125.6vw;}
}
@media(prefers-reduced-motion:reduce){.tt *{transition:none!important;}}
