* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #fff; overflow-x: hidden; }
body { font-family: var(--font-body); color: var(--kt-ink); }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; border: 0; }
.vc, .vcp, .vcs { width: 100%; max-width: none; }
.kt-wrap { width: min(100%, 1440px); margin: 0 auto; background: #fff; overflow: visible; }
.vc-top,
.vc-nav {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: max(56px, calc((100vw - 1440px) / 2 + 56px));
  padding-right: max(56px, calc((100vw - 1440px) / 2 + 56px));
}
image-slot { display: block; position: relative; overflow: hidden; background: #0f5286; }
image-slot img, .kt-img { width: 100%; height: 100%; display: block; object-fit: cover; }
.kt-placeholder {
  width: 100%; height: 100%; min-height: 180px;
  background:
    linear-gradient(135deg, rgba(15,82,134,.92), rgba(214,40,40,.72)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 18px);
}
.vc-nav-items .current-menu-item > a, .vc-nav-items a[aria-current="page"] { color: var(--kt-red); }
.vc-nav-items ul { display: flex; gap: 36px; list-style: none; padding: 0; margin: 0; }
.vc-nav-items li { display: flex; }
.screen-reader-text { position: absolute; left: -9999px; }
.vc-search form { display: flex; width: 100%; align-items: center; gap: 10px; }
.vc-search button { border: 0; }
.kt-alert { padding: 14px 16px; margin: 0 0 18px; background: #eaf7ef; color: #155724; font-weight: 700; }
.kt-alert.err { background: #fdecec; color: #9b1c1c; }
.vc-form .field input, .vc-form .field textarea { width: 100%; }
.comment-respond, .comments-area { padding: 48px 56px; }
.wp-caption, .aligncenter { max-width: 100%; }
.single .vcp-art-body img { max-width: 100%; height: auto; }
.kts-project-gallery-sec { background: #fff; }
.kts-project-gallery {
  height: clamp(420px, 42vw, 560px);
  min-height: 420px;
  max-height: 560px;
  overflow: hidden;
}
.kts-project-gallery .main,
.kts-project-gallery .thumb,
.kts-project-gallery image-slot {
  min-height: 0;
  height: 100%;
}
.kts-project-gallery .kt-img,
.kts-project-gallery image-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kts-project-detail { clear: both; }
.kts-project-detail .body { min-width: 0; }
.kts-project-detail .vcp-aside { z-index: 2; }
.single-kt_project .vc-contact { clear: both; margin-top: 24px; }
@media (max-width: 1100px) {
  .vc-top { display: none; }
  .vc-nav { height: auto; padding: 20px; flex-wrap: wrap; gap: 20px; }
  .vc-nav-items, .vc-nav-items ul { order: 3; width: 100%; gap: 16px; flex-wrap: wrap; margin: 0; }
  .vc-nav-r { margin-left: auto; }
  .vc-hero h1, .vcs-banner-body h1 { font-size: 48px; }
  .vc-about-grid, .vc-contact, .vcp-story, .vcp-detail, .vcp-news-layout, .vcp-article, .vcs-main, .vcp-contact-grid { grid-template-columns: 1fr; }
  .vc-svc-grid, .vc-proc-grid, .vcp-grid3, .vcp-values, .vcp-team, .vcp-offices, .vcs-related-grid { grid-template-columns: 1fr 1fr; }
  .vc-certs-row, .vc-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .vc-nav, .vc-hero-body, .vc-about, .vc-services, .vc-process, .vc-projects, .vc-news, .vc-contact-l, .vc-contact-r, .vc-foot, .vcp-sec, .vcs-main, .vcs-related { padding-left: 20px; padding-right: 20px; }
  .vc-hero { min-height: 560px; }
  .vc-hero h1, .vc-services-head h2, .vc-proc-head h2, .vc-proj-head h2, .vc-news-head h2, .vc-contact-l h2, .vcp-head h2 { font-size: 36px; }
  .vc-svc-grid, .vc-proc-grid, .vcp-grid3, .vcp-values, .vcp-team, .vcp-offices, .vcs-related-grid, .vc-certs-row, .vc-stats-grid, .vc-news-grid, .vc-logos { grid-template-columns: 1fr; }
  .vc-proj-grid { display: block; }
  .vc-proj-card { min-height: 300px; margin-bottom: 16px; }
  .vc-foot-top, .vc-foot-bottom, .vc-foot-brandrow { display: block; }
  .vc-foot-bottom { margin-left: -20px; margin-right: -20px; }
  .kts-project-gallery { display: block; height: auto; max-height: none; overflow: visible; }
  .kts-project-gallery .main { height: 320px; margin-bottom: 16px; }
  .kts-project-gallery .col { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .kts-project-gallery .thumb { height: 220px; }
}
