/* ---------- services carousel ---------- */
.services-page{padding:32px 0 88px;}
.svc-carousel{position:relative;}

.svc-arrow{
  position:absolute; top:36%; transform:translateY(-50%);
  width:48px; height:48px;
  background:var(--accent); color:#fff; border:0;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:5;
  transition:background .2s, opacity .2s;
}
.svc-arrow:hover{background:var(--ink);}
.svc-arrow[disabled]{opacity:.3; cursor:default; pointer-events:none;}
.svc-arrow svg{width:20px; height:20px;}
.svc-arrow.prev{left:-22px;}
.svc-arrow.next{right:-22px;}

.svc-track-viewport{overflow:hidden;}
.svc-track{
  display:flex; gap:24px;
  transition:transform .45s cubic-bezier(.4,0,.2,1);
}
.svc-slide{
  flex:0 0 calc((100% - 48px) / 3);
  background:var(--card);
  border:1px solid var(--line);
  display:flex; flex-direction:column;
}
.svc-photo{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--ink);}
.svc-photo img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:grayscale(1) sepia(.65) saturate(1.5) hue-rotate(-8deg) brightness(.95);
  transition:transform .5s ease;
}
.svc-slide:hover .svc-photo img{transform:scale(1.06);}
.svc-body{padding:34px 24px 26px;}
.svc-body h3{font-size:18px; font-weight:600; margin-bottom:14px;}
.svc-readmore{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--accent); transition:gap .2s;
}
.svc-readmore:hover{gap:10px;}
.svc-readmore-soon{color:var(--steel);}

/* -- "coming soon" placeholder card -- */
.svc-photo-placeholder{
  background:linear-gradient(160deg,#1c2530,var(--ink));
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.svc-photo-placeholder::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(247,248,246,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(247,248,246,.08) 1px, transparent 1px);
  background-size:20px 20px;
}
.svc-soon-mark{
  position:absolute;
  font-family:'Satoshi',sans-serif;
  font-weight:700;
  line-height:1;
  z-index:0;
  user-select:none;
  pointer-events:none;
}
.svc-soon-mark.m1{font-size:200px; top:-46px; left:-6px; color:rgba(247,248,246,.06); transform:rotate(-8deg);}
.svc-soon-mark.m2{font-size:110px; bottom:-24px; right:8px; color:rgba(255,107,26,.14); transform:rotate(10deg);}
.svc-soon-mark.m3{font-size:64px; top:18px; right:34px; color:rgba(247,248,246,.09); transform:rotate(6deg);}
.svc-soon-label{
  position:relative; z-index:1;
  font-size:20px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:#fff;
}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .svc-slide{flex:0 0 calc((100% - 24px) / 2);}
}
@media (max-width:560px){
  .svc-slide{flex:0 0 100%;}
  .svc-arrow.prev{left:-8px;}
  .svc-arrow.next{right:-8px;}
}
