 /* =============================================
                   SERVICES PAGE — Custom Styles
                   ============================================= */

 /* ---- Hero ---- */
 .sv-hero {
     position: relative;
     min-height: 380px;
     display: flex;
     align-items: center;
     background: #0f0f23;
     overflow: hidden;
 }

 .sv-hero__pattern {
     position: absolute;
     inset: 0;
     background-image:
         radial-gradient(circle at 15% 55%, rgba(232, 164, 0, .15) 0%, transparent 45%),
         radial-gradient(circle at 85% 15%, rgba(232, 164, 0, .08) 0%, transparent 40%);
 }

 .sv-hero__grid {
     position: absolute;
     inset: 0;
     background-image:
         linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px),
         linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px);
     background-size: 55px 55px;
 }

 .sv-hero__content {
     position: relative;
     z-index: 2;
     padding: 110px 0 85px;
 }

 .sv-hero__breadcrumb {
     display: flex;
     align-items: center;
     gap: 10px;
     font-size: 13px;
     color: rgba(255, 255, 255, .5);
     margin-bottom: 20px;
 }

 .sv-hero__breadcrumb a {
     color: #e8a400;
     text-decoration: none;
     transition: color .2s;
 }

 .sv-hero__breadcrumb a:hover {
     color: #fff;
 }

 .sv-hero__badge {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(232, 164, 0, .12);
     border: 1px solid rgba(232, 164, 0, .35);
     color: #e8a400;
     padding: 7px 18px;
     border-radius: 50px;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     margin-bottom: 20px;
 }

 .sv-hero__title {
     font-size: clamp(34px, 5vw, 54px);
     font-weight: 800;
     color: #fff;
     line-height: 1.15;
     margin: 0 0 18px;
 }

 .sv-hero__title span {
     color: #e8a400;
 }

 .sv-hero__desc {
     font-size: 16px;
     color: rgba(255, 255, 255, .62);
     line-height: 1.85;
     max-width: 560px;
     margin: 0;
 }

 .sv-hero__stats {
     display: flex;
     gap: 36px;
     flex-wrap: wrap;
     margin-top: 36px;
 }

 .sv-hero__stat strong {
     display: block;
     font-size: 28px;
     font-weight: 800;
     color: #e8a400;
     line-height: 1;
 }

 .sv-hero__stat span {
     font-size: 12px;
     color: rgba(255, 255, 255, .45);
     margin-top: 3px;
     display: block;
 }

 /* ---- Service Cards Grid ---- */
 .sv-main {
     padding: 80px 0 90px;
     background: #f8f9fc;
 }

 .sv-card {
     background: #fff;
     border-radius: 20px;
     overflow: hidden;
     border: 1px solid #eef0f5;
     box-shadow: 0 4px 24px rgba(0, 0, 0, .05);
     transition: all .35s ease;
     height: 100%;
     display: flex;
     flex-direction: column;
     position: relative;
 }

 .sv-card::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 3px;
     background: linear-gradient(90deg, #e8a400, #f5c842);
     transform: scaleX(0);
     transition: transform .35s ease;
     transform-origin: left;
 }

 .sv-card:hover {
     box-shadow: 0 24px 65px rgba(0, 0, 0, .12);
     transform: translateY(-7px);
 }

 .sv-card:hover::after {
     transform: scaleX(1);
 }

 .sv-card__num {
     position: absolute;
     top: 18px;
     right: 22px;
     font-size: 64px;
     font-weight: 800;
     color: rgba(232, 164, 0, .06);
     line-height: 1;
     transition: color .3s;
 }

 .sv-card:hover .sv-card__num {
     color: rgba(232, 164, 0, .1);
 }

 .sv-card__top {
     padding: 36px 30px 28px;
     flex: 1;
 }

 .sv-card__icon-wrap {
     width: 68px;
     height: 68px;
     border-radius: 16px;
     background: linear-gradient(135deg, #fff8e6, #fff3cc);
     border: 2px solid rgba(232, 164, 0, .2);
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 22px;
     transition: all .35s ease;
 }

 .sv-card:hover .sv-card__icon-wrap {
     background: linear-gradient(135deg, #e8a400, #f5c842);
     border-color: transparent;
     box-shadow: 0 10px 28px rgba(232, 164, 0, .35);
 }

 .sv-card__icon-wrap i,
 .sv-card__icon-wrap span {
     font-size: 26px;
     color: #e8a400;
     transition: color .35s;
 }

 .sv-card:hover .sv-card__icon-wrap i,
 .sv-card:hover .sv-card__icon-wrap span {
     color: #fff;
 }

 .sv-card__title {
     font-size: 19px;
     font-weight: 800;
     color: #1a1a2e;
     margin-bottom: 12px;
     line-height: 1.3;
     transition: color .25s;
 }

 .sv-card:hover .sv-card__title {
     color: #e8a400;
 }

 .sv-card__text {
     font-size: 14px;
     color: #6b7280;
     line-height: 1.85;
     margin: 0;
 }

 .sv-card__footer {
     padding: 18px 30px 28px;
     border-top: 1px solid #f3f4f6;
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
     gap: 10px;
 }

 .sv-card__link {
     display: inline-flex;
     align-items: center;
     gap: 7px;
     font-size: 13px;
     font-weight: 700;
     color: #e8a400;
     text-decoration: none;
     transition: gap .25s ease;
 }

 .sv-card:hover .sv-card__link {
     gap: 11px;
 }

 /* ---- Process Section ---- */
 .sv-process {
     padding: 80px 0;
     background: #fff;
 }

 .sv-process__step {
     text-align: center;
     padding: 10px;
     position: relative;
 }

 .sv-process__step::after {
     content: '';
     position: absolute;
     top: 34px;
     left: calc(50% + 44px);
     width: calc(100% - 88px);
     height: 2px;
     background: linear-gradient(90deg, #e8a400, rgba(232, 164, 0, .15));
     border-radius: 2px;
 }

 .sv-process__step:last-child::after {
     display: none;
 }

 @media (max-width: 767px) {
     .sv-process__step::after {
         display: none;
     }
 }

 .sv-process__num-wrap {
     width: 68px;
     height: 68px;
     border-radius: 50%;
     background: linear-gradient(135deg, #e8a400, #f5c842);
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 18px;
     box-shadow: 0 10px 28px rgba(232, 164, 0, .35);
     position: relative;
     z-index: 1;
     transition: transform .3s ease;
 }

 .sv-process__step:hover .sv-process__num-wrap {
     transform: scale(1.1);
 }

 .sv-process__num {
     font-size: 22px;
     font-weight: 800;
     color: #fff;
 }

 .sv-process__title {
     font-size: 15px;
     font-weight: 700;
     color: #1a1a2e;
     margin-bottom: 8px;
 }

 .sv-process__desc {
     font-size: 13px;
     color: #6b7280;
     line-height: 1.7;
     margin: 0;
 }

 /* ---- Why Choose ---- */
 .sv-why {
     padding: 80px 0;
     background: #f8f9fc;
 }

 .sv-why-card {
     background: #fff;
     border-radius: 16px;
     padding: 34px 28px;
     border: 1px solid #eef0f5;
     box-shadow: 0 4px 20px rgba(0, 0, 0, .05);
     transition: all .35s ease;
     height: 100%;
 }

 .sv-why-card:hover {
     box-shadow: 0 20px 55px rgba(0, 0, 0, .1);
     transform: translateY(-6px);
     border-color: #e8a400;
 }

 .sv-why-card__icon {
     width: 58px;
     height: 58px;
     border-radius: 14px;
     background: linear-gradient(135deg, #fff8e6, #fff3cc);
     border: 2px solid rgba(232, 164, 0, .2);
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 18px;
     transition: all .35s ease;
 }

 .sv-why-card:hover .sv-why-card__icon {
     background: linear-gradient(135deg, #e8a400, #f5c842);
     border-color: transparent;
     box-shadow: 0 8px 22px rgba(232, 164, 0, .3);
 }

 .sv-why-card__icon i {
     font-size: 22px;
     color: #e8a400;
     transition: color .35s;
 }

 .sv-why-card:hover .sv-why-card__icon i {
     color: #fff;
 }

 .sv-why-card__title {
     font-size: 16px;
     font-weight: 700;
     color: #1a1a2e;
     margin-bottom: 10px;
 }

 .sv-why-card__text {
     font-size: 14px;
     color: #6b7280;
     line-height: 1.8;
     margin: 0;
 }

 /* ---- CTA ---- */
 .sv-cta {
     padding: 0 0 90px;
     background: #f8f9fc;
 }

 .sv-cta__box {
     background: linear-gradient(135deg, #0f0f23 0%, #1a1a40 100%);
     border-radius: 20px;
     padding: 65px 55px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
     gap: 30px;
     position: relative;
     overflow: hidden;
 }

 .sv-cta__box::before {
     content: '';
     position: absolute;
     top: -70px;
     right: -70px;
     width: 300px;
     height: 300px;
     border-radius: 50%;
     background: rgba(232, 164, 0, .07);
 }

 .sv-cta__box::after {
     content: '';
     position: absolute;
     bottom: -50px;
     left: 15%;
     width: 250px;
     height: 250px;
     border-radius: 50%;
     background: rgba(232, 164, 0, .05);
 }

 .sv-cta__label {
     color: #e8a400;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     margin-bottom: 12px;
     position: relative;
     z-index: 1;
 }

 .sv-cta__title {
     font-size: clamp(22px, 3vw, 34px);
     font-weight: 800;
     color: #fff;
     line-height: 1.3;
     margin: 0;
     position: relative;
     z-index: 1;
 }

 .sv-cta__btns {
     display: flex;
     gap: 14px;
     flex-wrap: wrap;
     position: relative;
     z-index: 1;
 }

 .sv-btn-wa {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 14px 30px;
     background: #25d366;
     color: #fff;
     border-radius: 8px;
     font-size: 15px;
     font-weight: 700;
     text-decoration: none;
     border: 2px solid #25d366;
     transition: all .3s ease;
 }

 .sv-btn-wa:hover {
     background: #1ebe5b;
     border-color: #1ebe5b;
     transform: translateY(-2px);
     color: #fff;
 }

 .sv-btn-outline {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 14px 30px;
     border: 2px solid rgba(255, 255, 255, .28);
     color: #fff;
     border-radius: 8px;
     font-size: 15px;
     font-weight: 700;
     text-decoration: none;
     transition: all .3s ease;
 }

 .sv-btn-outline:hover {
     border-color: #fff;
     background: rgba(255, 255, 255, .08);
     color: #fff;
 }

 /* Section header shared */
 .sv-sh-tag {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     color: #e8a400;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 2.5px;
     text-transform: uppercase;
     margin-bottom: 14px;
 }

 .sv-sh-tag::before,
 .sv-sh-tag::after {
     content: '';
     width: 22px;
     height: 2px;
     background: #e8a400;
 }

 .sv-sh-title {
     font-size: clamp(26px, 3.2vw, 36px);
     font-weight: 800;
     color: #1a1a2e;
     line-height: 1.25;
     margin-bottom: 14px;
 }

 .sv-sh-title span {
     color: #e8a400;
 }

 .sv-sh-text {
     font-size: 16px;
     color: #6b7280;
     line-height: 1.85;
 }

 @media (max-width: 991px) {
     .sv-cta__box {
         padding: 50px 36px;
     }
 }

 @media (max-width: 767px) {
     .sv-hero__content {
         padding: 80px 0 65px;
     }

     .sv-main {
         padding: 60px 0 70px;
     }

     .sv-cta__box {
         padding: 40px 26px;
     }
 }