/* Vijas — Services page alignment pass
   Equal-height cards, consistent icon/title/body rhythm. */

/* ---------- top "Services" 4-up grid ---------- */
.service_section .service_container .row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.75rem;
  margin: 0;
}

.service_section .service_container .row > [class*="col-"] {
  width: 100%;
  max-width: none;
  flex: none;
  padding: 0;
  display: flex;
}

.service_section .box {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 2.75rem 1.5rem 1.75rem;
  text-align: left;
}

.service_section .box .img-box {
  height: 68px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  margin: 0 0 1.1rem;
}

.service_section .box .img-box img {
  max-height: 64px;
  width: auto;
  object-fit: contain;
}

.service_section .box .detail-box {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.service_section .box .detail-box h5 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .01em;
  text-transform: none;
  color: var(--v-ink, #0f1b3d);
  min-height: 2.6em;
  margin: 0 0 .6rem;
  display: flex;
  align-items: flex-start;
}

.service_section .box .detail-box p {
  font-size: .95rem;
  line-height: 1.6;
  margin: 0;
}

/* ---------- "OUR SERVICES" 6-up grid ---------- */
.psection .row:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem;
  margin: 0;
}

.psection .column {
  width: 100%;
  max-width: none;
  flex: none;
  padding: 0;
  margin: 0;
  display: flex;
}

.psection .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 2.25rem 1.6rem 2rem;
}

.psection .card .icon-wrapper {
  position: static;
  transform: none;
  margin: 0 0 1.25rem;
  width: 68px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
  font-size: 1.5rem;
  line-height: 1;
}

.psection .card .icon-wrapper i {
  line-height: 1;
  display: block;
}

.psection .card:hover .icon-wrapper {
  transform: translateY(-4px);
}

.psection .card .ph3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.32;
  min-height: 2.64em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 .75rem;
  color: var(--v-ink, #0f1b3d);
}

.psection .card .pp {
  font-size: .95rem;
  line-height: 1.62;
  margin: 0;
}

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .service_section .service_container .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .psection .row:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .service_section .service_container .row,
  .psection .row:last-child { grid-template-columns: minmax(0, 1fr); }
  .service_section .box .detail-box h5,
  .psection .card .ph3 { min-height: 0; }
}

/* ---------- interactive slider tabs ---------- */
.slider_section .carousel-indicators.slider-tabs {
  position: static;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: center;
  align-items: stretch;
  margin: 38px auto 0;
  padding: 0;
  list-style: none;
}

.slider_section .carousel-indicators.slider-tabs li {
  width: auto;
  height: auto;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: .5rem 1.05rem .62rem;
  margin: 0;
  opacity: 1;
  cursor: pointer;
  text-indent: 0;
  position: relative;
  overflow: hidden;
  transition: background .25s ease, transform .25s ease, border-color .25s ease;
}

.slider_section .carousel-indicators.slider-tabs li:hover,
.slider_section .carousel-indicators.slider-tabs li:focus-visible {
  background: rgba(255, 255, 255, .3);
  border-color: rgba(255, 255, 255, .6);
  transform: translateY(-2px);
}

.slider_section .carousel-indicators.slider-tabs li .tab-label {
  font-family: 'DM Sans', sans-serif;
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: #fff;
  white-space: nowrap;
}

.slider_section .carousel-indicators.slider-tabs li .tab-bar {
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 5px;
  height: 2px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .9);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
}

.slider_section .carousel-indicators.slider-tabs li:hover .tab-bar { transform: scaleX(.4); }

.slider_section .carousel-indicators.slider-tabs li.active {
  width: auto;
  height: auto;
  background: #0d5dab;
  border-color: #0d5dab;
  box-shadow: 0 10px 24px rgba(13, 93, 171, .35);
}

.slider_section .carousel-indicators.slider-tabs li.active .tab-bar { transform: scaleX(1); }

.slider_section .slider-arrow {
  width: 44px;
  height: 44px;
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
  border: 1px solid rgba(255, 255, 255, .38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  font-size: 1.5rem;
  opacity: 1;
  transition: background .25s ease, transform .25s ease;
  z-index: 5;
}

.slider_section .slider-arrow:hover { background: rgba(255, 255, 255, .34); color: #fff; }
.slider_section .carousel-control-prev.slider-arrow { left: 18px; }
.slider_section .carousel-control-next.slider-arrow { right: 18px; }

@media (max-width: 700px) {
  .slider_section .carousel-indicators.slider-tabs li { padding: .42rem .8rem .55rem; }
  .slider_section .carousel-indicators.slider-tabs li .tab-label { font-size: .76rem; }
  .slider_section .slider-arrow { display: none; }
}

.slider_section { position: relative; z-index: 3; }
.slider_section .carousel-indicators.slider-tabs { position: relative; z-index: 4; }
.service_section { position: relative; z-index: 1; }

/* tabs sit on light strip below hero */
.slider_section .carousel-indicators.slider-tabs li {
  background: rgba(255, 255, 255, .72) !important;
  border-color: rgba(15, 27, 61, .12);
  box-shadow: 0 6px 18px rgba(15, 27, 61, .08);
}
.slider_section .carousel-indicators.slider-tabs li .tab-label { color: #0f1b3d !important; }
.slider_section .carousel-indicators.slider-tabs li .tab-bar { background: #0d5dab !important; }
.slider_section .carousel-indicators.slider-tabs li:hover { background: #fff !important; border-color: rgba(13, 93, 171, .35); }
.slider_section .carousel-indicators.slider-tabs li.active { background: #0d5dab !important; border-color: #0d5dab; }
.slider_section .carousel-indicators.slider-tabs li.active .tab-label { color: #fff !important; }
.slider_section .carousel-indicators.slider-tabs li.active .tab-bar { background: rgba(255, 255, 255, .95); }
