/* ============================================================
   V8 — strict textless decorative imagery + responsive reviews.
   Every visible heading, label and button remains real HTML.
   ============================================================ */

/* Homepage hero now uses a textless abstract photograph, not a video or UI. */
.hero-static-v8{
  background-color:#041126;
  background-position:center;
  background-size:cover;
  transform:none!important;
}
.hero-static-v8::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(700px circle at 78% 45%,rgba(37,184,255,.20),transparent 62%),
    linear-gradient(90deg,rgba(2,8,23,.95),rgba(3,18,48,.72) 52%,rgba(4,29,70,.34));
}
.hero-static-v8 .hero-video-scrim{z-index:2}
.hero-cinema-copy{position:relative;z-index:4}
.hero-cinema-copy h1,.hero-cinema-copy .sub{text-shadow:0 4px 30px rgba(0,0,0,.34)}

/* Readable text layers over every abstract internal-page background. */
.hero--page-image h1,
.about-hero-v5 h1,
.services-hero-v5 h1,
.service-detail-hero-v5 h1,
.portfolio-hero-v6 h1,
.case-hero-v2 h1,
.offer-media-copy-v7 h2,
.home-process-media-copy-v7 b{
  text-shadow:0 5px 30px rgba(0,0,0,.40);
}

/* Review carousel: 3 desktop, 2 tablet, 1 mobile. */
.reviews-slider-v8{
  position:relative;
  margin-top:44px;
}
.reviews-viewport-v8{
  --reviews-visible:3;
  --reviews-gap:22px;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  padding:4px 1px 18px;
}
.reviews-viewport-v8::-webkit-scrollbar{display:none}
.reviews-track-v8{
  display:flex;
  gap:var(--reviews-gap);
}
.review-slide-v8{
  flex:0 0 calc((100% - (var(--reviews-visible) - 1) * var(--reviews-gap)) / var(--reviews-visible));
  min-width:0;
  min-height:350px;
  display:flex;
  flex-direction:column;
  margin:0;
  scroll-snap-align:start;
}
.review-slide-v8 blockquote{flex:1}
.review-slide-v8 .who{margin-top:auto}
.reviews-controls-v8{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:26px;
}
.reviews-arrow-v8{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #ccd8e9;
  border-radius:50%;
  color:#10264b;
  background:#fff;
  box-shadow:0 10px 25px rgba(25,55,104,.10);
  cursor:pointer;
  font-weight:800;
  transition:transform .2s ease,color .2s ease,background .2s ease,opacity .2s ease;
}
.reviews-arrow-v8:hover:not(:disabled){
  color:#fff;
  background:linear-gradient(135deg,#086cf0,#1098ff);
  transform:translateY(-2px);
}
.reviews-arrow-v8:disabled{opacity:.34;cursor:not-allowed}
.reviews-dots-v8{display:flex;align-items:center;gap:8px}
.reviews-dot-v8{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:99px;
  background:#b7c6da;
  cursor:pointer;
  transition:width .2s ease,background .2s ease;
}
.reviews-dot-v8[aria-current="true"]{width:28px;background:#086cf0}
.reviews-arrow-v8:focus-visible,.reviews-dot-v8:focus-visible{
  outline:3px solid #37d9e9;
  outline-offset:3px;
}

@media(max-width:980px){
  .reviews-viewport-v8{--reviews-visible:2}
}
@media(max-width:680px){
  .reviews-viewport-v8{--reviews-visible:1;--reviews-gap:16px}
  .review-slide-v8{min-height:325px}
}
@media(prefers-reduced-motion:reduce){
  .reviews-viewport-v8{scroll-behavior:auto}
}
