.km-serviceIntro,
.km-serviceBenefits,
.km-serviceDetail,
.km-serviceProcess,
.km-serviceFaq,
.km-serviceCta{
  position:relative;
}

.km-serviceIntro{
  padding:72px 0 42px;
}

.km-serviceIntro__grid,
.km-serviceDetail__grid,
.km-serviceCta__box{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:36px;
  align-items:center;
}

.km-serviceIntro__title,
.km-serviceDetail__title{
  margin-bottom:18px;
}

.km-serviceIntro__text,
.km-serviceDetail__text{
  font-size:1.02rem;
}

.km-serviceIntro__text p,
.km-serviceDetail__text p{
  color:var(--km-text);
}

.km-serviceIntro__text strong,
.km-serviceDetail__text strong{
  color:var(--km-secondary);
}

.km-serviceIntro__img,
.km-serviceDetail__img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  border-radius:22px;
  box-shadow:var(--km-shadow);
}

.km-serviceBadges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.km-serviceBadges__item{
  display:inline-flex;
  align-items:center;
  padding:11px 16px;
  border:1px solid rgba(181,31,31,.14);
  background:#fff;
  border-radius:999px;
  color:var(--km-secondary);
  font-weight:700;
  box-shadow:0 10px 24px rgba(16,24,40,.06);
}

.km-serviceBenefits{
  padding:18px 0 42px;
}

.km-serviceBenefits__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.km-serviceBenefitCard{
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  border:1px solid var(--km-border);
  border-radius:22px;
  padding:28px;
  box-shadow:0 14px 32px rgba(16,24,40,.06);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.km-serviceBenefitCard:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 36px rgba(16,24,40,.1);
  border-color:rgba(181,31,31,.22);
}

.km-serviceBenefitCard__icon{
  width:58px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(181,31,31,.08);
  color:var(--km-primary);
  font-size:22px;
  margin-bottom:18px;
}

.km-serviceBenefitCard__title{
  margin-bottom:12px;
  font-size:1.25rem;
}

.km-serviceBenefitCard__text{
  margin:0;
  color:var(--km-text);
}

.km-serviceDetail{
  padding:42px 0 42px;
}

.km-serviceList{
  list-style:none;
  padding:0;
  margin:26px 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 16px;
}

.km-serviceList li{
  position:relative;
  padding:14px 14px 14px 42px;
  border:1px solid var(--km-border);
  border-radius:16px;
  background:#fff;
  color:var(--km-secondary);
  font-weight:600;
}

.km-serviceList li::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--km-primary);
  position:absolute;
  left:18px;
  top:19px;
}

.km-serviceSectionHead{
  max-width:760px;
  margin:0 0 28px;
}

.km-serviceProcess{
  padding:42px 0 42px;
  background:linear-gradient(180deg,#ffffff 0%,#f7f8fb 100%);
}

.km-serviceProcess__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.km-serviceStepCard{
  position:relative;
  background:#fff;
  border:1px solid var(--km-border);
  border-radius:22px;
  padding:28px 24px;
  box-shadow:0 12px 28px rgba(16,24,40,.06);
}

.km-serviceStepCard__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:var(--km-primary);
  color:#fff;
  font:800 1rem/1 var(--km-heading-font);
  margin-bottom:18px;
}

.km-serviceStepCard__title{
  margin-bottom:12px;
  font-size:1.2rem;
}

.km-serviceStepCard__text{
  margin:0;
}

.km-serviceFaq{
  padding:42px 0 42px;
}

.km-serviceFaq__list{
  display:grid;
  gap:16px;
}

.km-serviceFaqItem{
  border:1px solid var(--km-border);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(16,24,40,.05);
}

.km-serviceFaqItem summary{
  cursor:pointer;
  list-style:none;
  padding:20px 24px;
  font-weight:800;
  color:var(--km-secondary);
  position:relative;
}

.km-serviceFaqItem summary::-webkit-details-marker{
  display:none;
}

.km-serviceFaqItem summary::after{
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  color:var(--km-primary);
  font-size:24px;
  font-weight:800;
}

.km-serviceFaqItem[open] summary::after{
  content:"−";
}

.km-serviceFaqItem__answer{
  padding:0 24px 22px;
}

.km-serviceFaqItem__answer p{
  margin:0;
}

.km-serviceCta{
  padding:42px 0 84px;
}

.km-serviceCta__box{
  background:linear-gradient(135deg,var(--km-secondary) 0%,#111826 100%);
  border-radius:26px;
  padding:36px;
  color:#fff;
  gap:24px;
}

.km-serviceCta__box h2,
.km-serviceCta__box p{
  color:#fff;
}

.km-serviceCta__action{
  display:flex;
  justify-content:flex-end;
}

.km-serviceBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  background:var(--km-primary);
  color:#fff;
  font-weight:800;
  transition:transform .25s ease, opacity .25s ease;
}

.km-serviceBtn:hover{
  transform:translateY(-2px);
  opacity:.94;
}

@media (max-width: 1100px){
  .km-serviceBenefits__grid{
    grid-template-columns:1fr 1fr;
  }

  .km-serviceProcess__grid{
    grid-template-columns:1fr 1fr;
  }

  .km-serviceIntro__grid,
  .km-serviceDetail__grid,
  .km-serviceCta__box{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767px){
  .km-serviceIntro{
    padding:56px 0 28px;
  }

  .km-serviceBenefits,
  .km-serviceDetail,
  .km-serviceProcess,
  .km-serviceFaq{
    padding:28px 0;
  }

  .km-serviceCta{
    padding:28px 0 64px;
  }

  .km-serviceBenefits__grid,
  .km-serviceProcess__grid,
  .km-serviceList{
    grid-template-columns:1fr;
  }

  .km-serviceIntro__img,
  .km-serviceDetail__img{
    min-height:280px;
  }

  .km-serviceCta__action{
    justify-content:flex-start;
  }

  .km-serviceCta__box{
    padding:24px;
  }
}

.km-serviceCta{
  padding: 48px 0 96px;
}

.km-serviceCta__box{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  background: linear-gradient(135deg, #1c1f26 0%, #0f1720 100%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 20px 48px rgba(16,24,40,.18);
  overflow: hidden;
  position: relative;
}

.km-serviceCta__box::before{
  content: "";
  position: absolute;
  top: -90px;
  right: -90px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(183,255,42,.22) 0%, rgba(183,255,42,0) 72%);
  pointer-events: none;
  filter: blur(4px);
}

.km-serviceCta__content{
  position: relative;
  z-index: 1;
  max-width: 780px;
}

.km-serviceCta__content h2{
  margin: 0 0 12px;
  color: #fff !important;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.15;
}

.km-serviceCta__content p{
  margin: 0;
  color: rgba(255,255,255,.88) !important;
  font-size: 1.02rem;
  line-height: 1.7;
}

.km-serviceCta__action{
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.km-serviceBtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--km-primary);
  color: #fff !important;
  font-weight: 800;
  border: 1px solid transparent;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.km-serviceBtn:hover{
  transform: translateY(-2px);
  background: var(--km-primary-dark);
  box-shadow: 0 12px 24px rgba(16,24,40,.18);
}

@media (max-width: 991px){
  .km-serviceCta__box{
    grid-template-columns: 1fr;
    padding: 28px;
  }

  .km-serviceCta__action{
    justify-content: flex-start;
  }
}