/* Scoped to the student testimonials; existing landing and popup stay intact. */
.land-testimonials {
  position:relative; isolation:isolate; overflow:hidden;
  background:#17101d url('testimonials/background-desktop.webp') center center/cover no-repeat;
  color:#fffaf6; padding-block:60px 40px;
}
.land-testimonials::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg,rgba(16,10,24,.46),rgba(20,11,27,.32) 45%,rgba(13,8,20,.72));
}
.land-testimonials .land-container {width:min(1360px,calc(100% - 64px)); max-width:1360px; min-width:0}
.land-testimonials .land-section-heading {text-align:center; max-width:none; margin:0 auto 30px}
.land-testimonials .land-eyebrow {color:#d4aff8; font-size:16px; font-weight:600; margin:0 0 12px}
.land-testimonials h2 {color:#fffaf6; font-size:clamp(30px,3.6vw,48px); line-height:1.25; margin:0; text-wrap:balance}
.land-testimonials h2 span {color:#c793f3}
.land-testimonials .student-track {
  display:flex; direction:rtl; gap:20px; overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; scroll-padding-inline:4px;
  overscroll-behavior-inline:contain; scrollbar-width:none;
  padding:8px 4px 22px; margin:0; list-style:none; min-width:0;
}
.land-testimonials .student-track::-webkit-scrollbar {display:none}
.land-testimonials .student-track:focus-visible {outline:2px solid #d5aaff; outline-offset:5px; border-radius:20px}
.land-testimonials .student-card {
  position:relative; isolation:isolate; margin:0; min-width:0; min-height:460px; flex:0 0 calc((100% - 40px)/3);
  display:flex; flex-direction:column; scroll-snap-align:start;
  border:1px solid #b18ac16e; border-radius:22px; overflow:hidden;
  background:#17121f;
  box-shadow:0 12px 28px #08050d55; color:inherit;
}
.land-testimonials .student-photo {position:absolute; inset:0; z-index:-1; display:block; width:100%; height:100%; object-fit:contain; object-position:center top}
.land-testimonials .student-copy {
  display:flex; flex-direction:column; justify-content:flex-end; align-items:center;
  padding:232px 24px 22px; flex:1; text-align:center;
  background:linear-gradient(180deg,transparent 0%,transparent 27%,rgba(19,11,29,.4) 42%,rgba(19,11,29,.91) 65%,#17101ff5 100%);
}
.land-testimonials .student-quote-mark {
  display:grid; place-items:center; width:40px; height:40px; border-radius:50%;
  background:#ba86ef; color:#281439; font:bold 34px/1 Georgia,serif;
  margin:0; position:absolute; top:16px; inset-inline-end:16px; box-shadow:0 3px 12px #160b2966;
}
.land-testimonials .student-card blockquote {margin:0 0 18px; padding:0; border:0; background:none; box-shadow:none; font:400 19px/1.75 Heebo,Arial,sans-serif; color:#fffaf7; overflow-wrap:anywhere}
.land-testimonials .student-card figcaption {margin-top:auto; padding-top:14px; border-top:1px solid #ac8bbc47; width:75%; display:flex; flex-direction:column; gap:3px}
.land-testimonials .student-card figcaption strong {font-size:18px; font-weight:700; color:#fffaf6}
.land-testimonials .student-card figcaption small {font-size:14px; color:#d9cddd}
.land-testimonials .student-nav {display:flex; align-items:center; justify-content:center; gap:20px; margin:0}
.land-testimonials .student-arrow {
  display:grid; place-items:center; border:1px solid #d4b2e25c; border-radius:50%;
  width:44px; height:44px; padding:0; background:#302039d9; color:#fff;
  font:500 24px/1 Arial,sans-serif; cursor:pointer;
}
.land-testimonials .student-arrow:disabled {opacity:.3; cursor:default}
.land-testimonials button:focus-visible {outline:3px solid #e2c2ff; outline-offset:4px}
.land-testimonials .student-dots {display:flex; gap:4px; align-items:center; justify-content:center}
.land-testimonials .student-dot {display:grid; place-items:center; width:28px; height:32px; padding:0; border:0; background:transparent; cursor:pointer}
.land-testimonials .student-dot::before {content:""; width:8px; height:8px; border-radius:50%; background:#b6a3be66; transition:background .18s,transform .18s}
.land-testimonials .student-dot[aria-current="true"]::before {background:#c78ffa; transform:scale(1.35)}
.land-testimonials [hidden] {display:none!important}
.land-testimonials .student-source {text-align:center; font-size:12px; color:#d2bfd8; margin:16px 0 0}
.land-testimonials .student-source a {color:inherit; text-underline-offset:4px}
@media(min-width:1440px) {.land-testimonials .student-card {flex-basis:calc((100% - 60px)/4)}}
@media(min-width:701px) and (max-width:1050px) {
  .land-testimonials {background-image:url('testimonials/background-tablet.webp'); padding-block:46px 30px}
  .land-testimonials .student-card {flex-basis:calc((100% - 20px)/2)}
}
@media(max-width:700px) {
  .land-testimonials {background-image:url('testimonials/background-mobile.webp'); background-position:35% center; padding-block:34px 24px}
  .land-testimonials .land-container {width:calc(100% - 32px)}
  .land-testimonials .land-section-heading {margin-bottom:20px}
  .land-testimonials .land-eyebrow {font-size:13px; margin-bottom:8px}
  .land-testimonials .land-section-heading h2 {font-size:28px; line-height:1.25}
  .land-testimonials h2 span {display:block}
  .land-testimonials .student-track {gap:14px; padding-bottom:16px}
  .land-testimonials .student-card {flex-basis:calc(100% - 28px); border-radius:18px; min-height:420px}
  .land-testimonials .student-copy {padding:199px 20px 18px}
  .land-testimonials .student-card blockquote {font-size:17px; line-height:1.7; margin-bottom:14px}
  .land-testimonials .student-quote-mark {width:34px; height:34px; margin-top:0; margin-bottom:10px; font-size:30px}
  .land-testimonials .student-card figcaption {padding-top:10px}
  .land-testimonials .student-nav {gap:14px}
  .land-testimonials .student-source {margin-top:12px}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .land-testimonials .student-card {transition:transform .2s ease,border-color .2s ease}
  .land-testimonials .student-card:hover {transform:translateY(-3px); border-color:#c89cea}
  .land-testimonials .student-arrow:not(:disabled):hover {background:#69417b}
}
@media(prefers-reduced-motion:reduce) {.land-testimonials * {scroll-behavior:auto!important; transition:none!important}}

/* tap target: the dot stays small, its hit area is 44px */
.student-dot{position:relative}.student-dot::after{content:'';position:absolute;inset:-8px -6px}
