/* Large project-style service slider, adapted to Regaxia's corporate identity. */
.service-section .service-showcase{
  --service-progress:16.6667%;
  margin-top:clamp(42px,6vw,90px);
  padding-top:clamp(28px,3vw,48px);
  background:transparent;
}
.service-section .service-card-stack{
  align-items:center;
  gap:clamp(22px,2.4vw,38px);
  padding:18px calc((100vw - min(1120px,78vw))/2) 36px;
  scroll-padding-inline:calc((100vw - min(1120px,78vw))/2);
  perspective:1600px;
}
.service-section .service-card{
  position:relative;
  flex:0 0 min(1120px,78vw);
  height:auto;
  aspect-ratio:16/8.8;
  min-height:560px;
  display:block;
  overflow:hidden;
  border-radius:0;
  background:#07362f;
  box-shadow:0 28px 70px rgba(4,31,29,.18);
  opacity:.56;
  filter:saturate(.72) brightness(.72);
  transform:scale(.92) rotateY(1.4deg);
  transition:opacity .65s ease,filter .65s ease,transform .8s cubic-bezier(.22,1,.36,1),box-shadow .65s ease;
}
.service-section .service-card.is-current{
  z-index:3;
  opacity:1;
  filter:none;
  transform:scale(1) rotateY(0);
  box-shadow:0 34px 90px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.12);
}
.service-section .service-card-main{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(44px,5vw,78px) clamp(36px,6vw,94px);
  background:transparent;
  box-shadow:none;
}
.service-section .service-card-photo{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
}
.service-section .service-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.08);
  transition:transform 1.35s cubic-bezier(.22,1,.36,1),filter .7s ease;
}
.service-section .service-card:nth-child(5) .service-card-photo img{object-position:center 30%}
.service-section .service-card:nth-child(6) .service-card-photo img{object-position:center 43%}
.service-section .service-card.is-current .service-card-photo img{transform:scale(1)}
.service-section .service-card-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,34,30,.96) 0%,rgba(4,48,42,.86) 43%,rgba(4,36,33,.35) 72%,rgba(4,26,25,.2) 100%),
    linear-gradient(0deg,rgba(2,25,23,.68),transparent 55%);
}
.service-section .service-card header,
.service-section .service-card-main>p,
.service-section .service-card ul{
  position:relative;
  z-index:2;
  max-width:min(710px,64%);
}
.service-section .service-card header{
  display:block;
  padding:0;
  border:0;
}
.service-section .service-card header>span{
  position:absolute;
  left:0;
  bottom:calc(100% + 78px);
  color:rgba(255,255,255,.9);
  font:500 12px var(--latin);
  letter-spacing:.2em;
}
.service-section .service-card header>span::after{
  content:" / 06";
  color:rgba(255,255,255,.45);
}
.service-section .service-card small{
  margin-bottom:14px;
  color:#d5bb7d;
  font-size:10px;
  letter-spacing:.25em;
}
.service-section .service-card h3{
  font:500 clamp(38px,4.5vw,70px)/1.14 var(--serif);
  letter-spacing:-.035em;
  text-wrap:balance;
}
.service-section .service-card-main>p{
  margin:30px 0 22px;
  font-size:clamp(13px,1.1vw,16px);
  line-height:1.95;
  letter-spacing:.03em;
}
.service-section .service-card ul{display:flex;flex-wrap:wrap;gap:10px 14px}
.service-section .service-card li{
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:rgba(2,29,26,.28);
  font-size:11px;
  backdrop-filter:blur(8px);
}
.service-section .service-card li::before{content:"";margin:0}
.service-section .service-card>a{
  position:absolute;
  z-index:4;
  right:clamp(30px,4vw,62px);
  bottom:clamp(34px,4vw,62px);
  width:clamp(150px,13vw,190px);
  height:58px;
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  padding:0 8px 0 22px;
  color:#07362f;
  background:#fff;
  border-radius:999px;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
  transition:color .35s ease,background .35s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.service-section .service-card>a::before{display:none}
.service-section .service-card>a span{font-size:9px;letter-spacing:.16em;writing-mode:horizontal-tb}
.service-section .service-card>a b{width:42px;height:42px;font-size:16px}
.service-section .service-card>a:hover{color:#fff;background:#c59a45;transform:translateY(-3px)}
.service-section .service-card>a:hover b{color:#07362f;background:#fff;transform:translate(3px,-3px)}

.service-section .service-slider-controls{
  position:relative;
  width:min(1120px,78vw);
  justify-content:flex-end;
  margin:0 auto;
  padding:12px 0 58px;
}
.service-section .service-slider-controls::before{
  content:"";
  position:absolute;
  top:38px;
  right:230px;
  left:0;
  height:1px;
  background:rgba(0,50,54,.18);
}
.service-section .service-slider-controls::after{
  content:"";
  position:absolute;
  top:37px;
  left:0;
  width:var(--service-progress);
  max-width:calc(100% - 230px);
  height:3px;
  background:#c59a45;
  transition:width .65s cubic-bezier(.22,1,.36,1);
}
.service-section .service-slider-controls p{order:-1;margin-right:4px}

@media(max-width:900px){
  .service-section .service-showcase{padding-top:20px;background:transparent}
  .service-section .service-card-stack{
    gap:14px;
    padding:10px 8vw 24px;
    scroll-padding-inline:8vw;
    perspective:none;
  }
  .service-section .service-card{
    flex-basis:84vw;
    height:min(690px,78svh);
    min-height:570px;
    aspect-ratio:auto;
    transform:scale(.94);
  }
  .service-section .service-card.is-current{transform:scale(1)}
  .service-section .service-card-main{padding:34px 25px 104px}
  .service-section .service-card-photo::after{
    background:linear-gradient(0deg,rgba(3,35,31,.98) 0%,rgba(3,43,37,.88) 48%,rgba(3,31,29,.3) 100%);
  }
  .service-section .service-card header,
  .service-section .service-card-main>p,
  .service-section .service-card ul{max-width:100%}
  .service-section .service-card header>span{bottom:calc(100% + 46px);font-size:10px}
  .service-section .service-card h3{font-size:clamp(31px,9vw,43px)}
  .service-section .service-card-main>p{margin:22px 0 17px;font-size:12px;line-height:1.8}
  .service-section .service-card ul{gap:7px}
  .service-section .service-card li{padding:6px 10px;font-size:10px}
  .service-section .service-card>a{right:22px;bottom:25px;width:142px;height:50px;padding-left:17px}
  .service-section .service-card>a b{width:36px;height:36px}
  .service-section .service-slider-controls{width:84vw;padding:8px 0 40px}
  .service-section .service-slider-controls::before{top:34px;right:205px}
  .service-section .service-slider-controls::after{top:33px;max-width:calc(100% - 205px)}
}
@media(prefers-reduced-motion:reduce){
  .service-section .service-card,.service-section .service-card-photo img,.service-section .service-slider-controls::after{transition:none}
}
