/* Service detail pages (Business Analysis, Web & Mobile, QA, Digital Marketing).
   Self-contained: only depends on Bootstrap grid + the Dixel blue palette. */

.dx-sd-section{padding:100px 0;background:#fff}

/* ---------- main column ---------- */
.dx-sd-main-img{border-radius:18px;overflow:hidden;margin-bottom:40px}
.dx-sd-main-img img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover}

.dx-sd-title{font-size:clamp(28px,3vw,40px);line-height:1.25;font-weight:700;color:#081426;margin:0 0 22px}
.dx-sd-title span{color:#1e4c9e}
.dx-sd-text{font-size:17px;line-height:1.85;color:#5a6475;margin:0 0 20px}

.dx-sd-features{list-style:none;margin:30px 0 40px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px}
.dx-sd-features li{position:relative;padding-left:34px;font-size:17px;font-weight:500;color:#081426;line-height:1.5}
.dx-sd-features li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:#e9eff9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e4c9e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}

.dx-sd-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:0 0 50px}
.dx-sd-gallery img{display:block;width:100%;height:260px;object-fit:cover;border-radius:16px}

.dx-sd-sub{font-size:clamp(24px,2.4vw,30px);font-weight:700;color:#081426;margin:0 0 16px}

.dx-sd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:34px 0 56px}
.dx-sd-step{background:#f7f9fc;border:1px solid #d5dce8;border-radius:16px;padding:28px 24px;transition:.3s}
.dx-sd-step:hover{border-color:#1f55e5;box-shadow:0 10px 28px rgba(31,85,229,.12);transform:translateY(-3px)}
.dx-sd-step-no{display:block;font-size:40px;font-weight:700;line-height:1;color:#1e4c9e;margin-bottom:16px}
.dx-sd-step h6{font-size:19px;font-weight:700;color:#081426;margin:0 0 10px}
.dx-sd-step p{font-size:15.5px;line-height:1.7;color:#5a6475;margin:0}

/* ---------- FAQ ---------- */
.dx-faq{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.dx-faq-item{border:1px solid #d5dce8;border-radius:14px;background:#fff;overflow:hidden;transition:.3s}
.dx-faq-item:has(.dx-faq-btn[aria-expanded="true"]){border-color:#1e4c9e;box-shadow:0 8px 22px rgba(30,76,158,.09)}
.dx-faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:none;border:0;padding:20px 24px;font-size:17.5px;font-weight:600;color:#081426;cursor:pointer}
.dx-faq-btn::after{content:"+";flex:0 0 auto;width:30px;height:30px;line-height:28px;text-align:center;border-radius:50%;background:#e9eff9;color:#1e4c9e;font-size:20px;font-weight:500}
.dx-faq-btn[aria-expanded="true"]{color:#1e4c9e}
.dx-faq-btn[aria-expanded="true"]::after{content:"\2212";background:#1e4c9e;color:#fff}
.dx-faq-body{padding:0 24px 22px;font-size:16px;line-height:1.8;color:#5a6475}
.dx-faq-body p{margin:0}

/* ---------- sidebar ---------- */
.dx-sd-sidebar{position:sticky;top:120px;display:flex;flex-direction:column;gap:28px}
.dx-sd-box{background:#f7f9fc;border:1px solid #d5dce8;border-radius:18px;padding:28px}
.dx-sd-box-title{font-size:22px;font-weight:700;color:#081426;margin:0 0 18px}
.dx-sd-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.dx-sd-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border:1px solid #d5dce8;border-radius:12px;background:#fff;color:#081426;font-size:16.5px;font-weight:500;transition:.3s}
.dx-sd-links a:hover,.dx-sd-links a.active{background:#1e4c9e;border-color:#1e4c9e;color:#fff}

.dx-sd-contact{position:relative;overflow:hidden;border-radius:18px;padding:34px 28px;color:#fff;background:linear-gradient(135deg,#081426 0%,#1e4c9e 100%)}
.dx-sd-contact h4{font-size:26px;line-height:1.3;font-weight:700;color:#fff;margin:0 0 10px}
.dx-sd-contact p{color:#d5dce8;font-size:15.5px;line-height:1.7;margin:0 0 20px}
.dx-sd-contact .dx-sd-call{display:block;font-size:22px;font-weight:700;color:#fff;margin-bottom:22px}
.dx-sd-contact .dx-sd-call:hover{color:#a9c2f5}
.dx-sd-contact .tj-primary-btn{background:#fff;border-color:#fff}
.dx-sd-contact .tj-primary-btn .btn-text span{color:#1e4c9e}

/* ---------- responsive ---------- */
@media (max-width:991px){
  .dx-sd-section{padding:70px 0}
  .dx-sd-sidebar{position:static;margin-top:50px}
  .dx-sd-steps{grid-template-columns:1fr}
}
@media (max-width:575px){
  .dx-sd-features,.dx-sd-gallery{grid-template-columns:1fr}
  .dx-sd-gallery img{height:220px}
  .dx-faq-btn{padding:16px 18px;font-size:16.5px}
  .dx-faq-body{padding:0 18px 18px}
}
@media (min-width:992px){
  .dx-sd-sidebar{position:relative!important;top:0!important}
}