/* =========================================================
   AXL Studios — services.css
========================================================= */

#services.pp-services{
  width:100%;
  margin:0 auto;
  padding:clamp(72px,8vw,120px) 0;
  background:transparent;
  zoom:0.77;
}
.pp-services-head{
  padding:0 var(--container-pad) clamp(40px,4vw,80px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
@media (max-width:980px){
  .pp-services-head{
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
  }
}
.pp-services-title{
  margin:0;
  color:#fff;
  font-family:"Urbanist";
  font-weight:600;
  font-size:clamp(72px,12vw,208px);
  line-height:.95;
}
.pp-services-desc{
  margin:0;
  max-width:750px;
  color:#fff;
  font-family:"Urbanist";
  font-weight:600;
  font-size:clamp(18px,2.4vw,32px);
  line-height:1.2;
  text-wrap:pretty;
  padding-top: 45px;
}

.pp-services-strip{
  position:relative;
  width:100%;
  overflow:hidden;
  isolation:isolate;
}
.pp-services-bg{
  position:relative;
  z-index:0;
  width:100%;
  height:clamp(560px,50vw,800px);
  background:url("../../bgcard.webp") center/cover no-repeat;
}
.pp-services-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:rotate(180deg);
  pointer-events:none;
  z-index:1;
  opacity:.9;
  transition:opacity .32s ease;
}
.pp-services-strip::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.15);
  -webkit-backdrop-filter:blur(12px) saturate(110%);
  backdrop-filter:blur(12px) saturate(110%);
  z-index:2;
}

.pp-services-viewport{
  position:absolute;
  inset:0;
  height:100%;
  overflow-x:auto;
  overflow-y:hidden;
  cursor:grab;
  touch-action:auto;
  z-index:3;
  scrollbar-width:none;
}

.pp-services-viewport--dragging{ cursor:grabbing; }

.pp-services-viewport::-webkit-scrollbar{ display:none; }

.pp-services-track{
  position:relative;
  height:100%;
  display:flex;
  width:max-content;
}

.pp-service{
  flex:0 0 var(--card-w,600px);
  width:var(--card-w,600px);
  height:100%;
  display:flex;
  align-items:stretch;
  justify-content:center;
  position:relative;
  --card-w:clamp(280px,60vw,600px);
}
.pp-service + .pp-service::before,
.pp-service.pp-service--loop-edge::before{
  content:"";
  position:absolute;
  top:5%;
  bottom:5%;
  left:0;
  width:2px;
  background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0.22) 35%,rgba(255,255,255,0.22) 65%,rgba(255,255,255,0) 100%);
  pointer-events:none;
  z-index:2;
}
.pp-service-inner{
  position:relative;
  width:100%;
  height:100%;
  padding:clamp(32px,6vw,80px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:rgba(255,255,255,0.10);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  border:1px solid rgba(255,255,255,0.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.12),0 8px 28px rgba(0,0,0,0.32);
  isolation:isolate;
  overflow:hidden;
}
.pp-service-inner::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(0,0,0,0.22);
  z-index:0;
  pointer-events:none;
}
.pp-service-inner > *{
  position:relative;
  z-index:2;
}

.pp-service-copy{
  display:flex;
  flex-direction:column;
  gap:clamp(20px,3vw,40px);
}
.pp-service-title{
  margin:0;
  color:var(--axl-text-100);
  font-family:"Urbanist";
  font-weight:800;
  font-size:clamp(34px,6vw,80px);
  line-height:1.1;
}
.pp-service-text{
  margin:0;
  color:#fff;
  font-family:"Inter";
  font-weight:400;
  font-size:clamp(14px,1.6vw,18px);
  line-height:1.6;
}

@media (max-width:768px){
  .pp-services-strip::after{
    background:rgba(0,0,0,0.08);
    -webkit-backdrop-filter:blur(6px) saturate(105%);
    backdrop-filter:blur(6px) saturate(105%);
  }
  .pp-services-bg-video{ opacity:1; }
}

@media (max-width:560px){
  .pp-services-head{ gap:16px; }
  .pp-services-bg{ height:clamp(500px,150vw,680px); }
  .pp-service{
    --card-w:min(86vw,360px);
  }
  .pp-service-inner{ padding:24px 20px 28px; }
  .pp-service-title br{ display:none; }
  .pp-services-desc{ font-weight:600; }
  .pp-services-desc{ font-size:clamp(14px,4.2vw,18px); }
  .pp-service-text{ font-size:clamp(13px,3.8vw,16px); }
}

@media (prefers-reduced-motion:reduce){
  .pp-services-bg-video{ display:none; }
}

@media (min-width:1920px){
  .pp-service{
    --card-w:680px;
  }
}