.kcs-calibration {
  --kcs-navy: #06375d;
  --kcs-navy-deep: #022d4e;
  --kcs-blue: #0878bd;
  --kcs-teal: #0f8c88;
  --kcs-cyan: #17aeb5;
  --kcs-ink: #0b3152;
  --kcs-copy: #516b82;
  --kcs-line: #d7e3ec;
  --kcs-soft: #f2f8fb;
  --kcs-white: #fff;
  --kcs-radius: 24px;
  color: var(--kcs-ink);
  font-family: inherit;
  line-height: 1.55;
  overflow: hidden;
}

.kcs-calibration *, .kcs-calibration *::before, .kcs-calibration *::after { box-sizing: border-box; }
.kcs-calibration img { max-width: 100%; height: auto; }
.kcs-calibration a { text-decoration: none; }
.kcs-calibration .kcs-shell { width: min(100% - 40px, 1220px); margin-inline: auto; }
.kcs-calibration .kcs-section { padding: clamp(72px, 8vw, 112px) 0; }
.kcs-calibration h1, .kcs-calibration h2, .kcs-calibration h3, .kcs-calibration p { margin-top: 0; }
.kcs-calibration h1, .kcs-calibration h2, .kcs-calibration h3 { color: var(--kcs-ink); line-height: 1.08; letter-spacing: -.035em; }
.kcs-calibration h1 { font-size: clamp(2.6rem, 5.2vw, 4.9rem); margin-bottom: 24px; }
.kcs-calibration h2 { font-size: clamp(2rem, 3.4vw, 3.35rem); margin-bottom: 18px; }
.kcs-calibration h3 { font-size: 1.35rem; }
.kcs-calibration p { color: var(--kcs-copy); }

.kcs-hero {
  position: relative;
  padding: clamp(70px, 8vw, 120px) 0 clamp(82px, 9vw, 128px);
  background:
    radial-gradient(circle at 100% 0%, rgba(7,120,189,.14), transparent 36%),
    radial-gradient(circle at 0% 65%, rgba(15,140,136,.11), transparent 30%),
    linear-gradient(135deg, #fbfdfe 0%, #eef7fb 100%);
}
.kcs-hero::before, .kcs-hero::after { content:""; position:absolute; border:1px solid rgba(6,55,93,.08); border-radius:50%; pointer-events:none; }
.kcs-hero::before { width:360px; height:360px; left:-210px; bottom:-120px; }
.kcs-hero::after { width:260px; height:260px; left:-140px; bottom:-70px; }
.kcs-hero__grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr); gap:clamp(42px,6vw,86px); align-items:center; }
.kcs-eyebrow, .kcs-kicker { color: var(--kcs-teal) !important; font-weight:800; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.kcs-lead { max-width:670px; font-size:clamp(1.05rem,1.4vw,1.2rem); margin-bottom:30px; }
.kcs-actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.kcs-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:13px 21px; border-radius:999px; font-weight:800; font-size:.94rem; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.kcs-button:hover { transform:translateY(-2px); }
.kcs-button--primary { color:#fff !important; background:linear-gradient(135deg,var(--kcs-blue),#075f9d); box-shadow:0 14px 30px rgba(7,120,189,.22); }
.kcs-button--secondary { color:var(--kcs-ink) !important; background:#fff; border:1px solid var(--kcs-line); }
.kcs-trust { display:flex; flex-wrap:wrap; gap:10px 22px; color:#315975; font-size:.82rem; font-weight:700; }
.kcs-trust span { display:inline-flex; align-items:center; gap:8px; }
.kcs-trust span::before { content:"✓"; width:18px; height:18px; display:grid; place-items:center; border:1px solid rgba(15,140,136,.3); border-radius:50%; color:var(--kcs-teal); font-size:.68rem; }
.kcs-hero__visual { min-width:0; }
.kcs-hero__image-wrap { position:relative; border-radius:28px; padding:9px; background:rgba(255,255,255,.8); border:1px solid rgba(6,55,93,.09); box-shadow:0 28px 70px rgba(6,55,93,.16); }
.kcs-hero__image-wrap img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:21px; }
.kcs-image-note { position:absolute; left:24px; right:24px; bottom:24px; padding:15px 18px; border-radius:15px; color:#fff; background:rgba(2,45,78,.9); backdrop-filter:blur(10px); }
.kcs-image-note span { display:block; color:#74dedb; font-size:.68rem; font-weight:800; letter-spacing:.11em; }
.kcs-image-note strong { display:block; font-size:clamp(.95rem,1.3vw,1.08rem); line-height:1.35; }

.kcs-section-heading { max-width:740px; margin-bottom:42px; }
.kcs-section-heading--compact { margin-bottom:32px; }
.kcs-section-heading > p:last-child { font-size:1.04rem; margin-bottom:0; }
.kcs-services { background:#fff; }
.kcs-service-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; align-items:start; }
.kcs-service-card { grid-column:span 2; min-width:0; overflow:hidden; border:1px solid #d8e6ee; border-radius:22px; background:#fff; box-shadow:0 16px 44px rgba(6,55,93,.08); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.kcs-service-card:nth-child(4) { grid-column:2 / span 2; }
.kcs-service-card:nth-child(5) { grid-column:4 / span 2; }
.kcs-service-card:hover { transform:translateY(-4px); border-color:#bed7e5; box-shadow:0 24px 58px rgba(6,55,93,.13); }
.kcs-service-card__top { aspect-ratio:5 / 3; display:grid; place-items:center; padding:0; background:#f8fbfd; border-bottom:1px solid #e4edf2; overflow:hidden; }
.kcs-service-card__image { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.kcs-service-card__body { padding:24px 24px 28px; }
.kcs-service-card__heading { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start; margin-bottom:18px; }
.kcs-card-label { display:inline-grid; place-items:center; min-width:38px; height:32px; padding:0 9px; border-radius:8px; color:#fff; background:linear-gradient(135deg,var(--kcs-blue),var(--kcs-teal)); font-size:.74rem; font-weight:900; letter-spacing:.08em; box-shadow:0 8px 18px rgba(8,120,189,.18); }
.kcs-service-card h3 { margin:2px 0 0; font-size:clamp(1.06rem,1.45vw,1.28rem); line-height:1.28; letter-spacing:-.02em; }
.kcs-service-card ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; color:var(--kcs-copy); font-size:.94rem; }
.kcs-service-card li { position:relative; padding-left:18px; line-height:1.45; }
.kcs-service-card li::before { content:""; position:absolute; left:0; top:.62em; width:6px; height:6px; border-radius:50%; background:var(--kcs-teal); }
.kcs-step__icon svg, .kcs-search svg { width:34px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.kcs-parameters { background:linear-gradient(180deg,#f7fbfd,#eef6fa); }
.kcs-parameter-list { overflow:hidden; border:1px solid var(--kcs-line); border-radius:22px; background:#fff; box-shadow:0 20px 55px rgba(6,55,93,.07); }
.kcs-parameter-row { display:grid; grid-template-columns:minmax(210px,.42fr) minmax(0,1fr); gap:34px; padding:25px 28px; align-items:start; }
.kcs-parameter-row + .kcs-parameter-row { border-top:1px solid var(--kcs-line); }
.kcs-parameter-row h3 { color:var(--kcs-teal); font-size:1.03rem; letter-spacing:-.015em; margin:0; }
.kcs-parameter-row p { margin:0; color:#274d68; }

.kcs-matrix { background:#fff; }
.kcs-matrix__header { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,390px); gap:34px; align-items:end; margin-bottom:28px; }
.kcs-matrix__header .kcs-section-heading { margin-bottom:0; }
.kcs-search { display:flex; align-items:center; gap:12px; padding:0 16px; min-height:50px; border:1px solid var(--kcs-line); border-radius:14px; background:#f8fbfd; color:var(--kcs-blue); }
.kcs-search svg { width:20px; flex:0 0 auto; }
.kcs-search input { width:100%; border:0 !important; outline:0; box-shadow:none !important; background:transparent !important; color:var(--kcs-ink); font:inherit; }
.kcs-table-wrap { overflow:hidden; border:1px solid var(--kcs-line); border-radius:20px; box-shadow:0 18px 48px rgba(6,55,93,.07); }
.kcs-table { width:100%; border-collapse:collapse; margin:0; font-size:.93rem; }
.kcs-table th, .kcs-table td { padding:20px 22px; text-align:left; vertical-align:top; border:0; }
.kcs-table thead { background:var(--kcs-navy-deep); color:#fff; }
.kcs-table thead th { color:#fff; font-size:.77rem; letter-spacing:.07em; text-transform:uppercase; }
.kcs-table tbody tr:nth-child(even) { background:#f7fbfd; }
.kcs-table tbody tr + tr { border-top:1px solid var(--kcs-line); }
.kcs-table tbody th { width:31%; color:var(--kcs-teal); font-size:.96rem; }
.kcs-table tbody td { color:#274d68; }
.kcs-empty { padding:26px; text-align:center; margin:0; }

.kcs-process { background:#f5f9fb; }
.kcs-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.kcs-step { position:relative; min-height:270px; padding:22px; border:1px solid var(--kcs-line); border-radius:20px; background:#fff; box-shadow:0 15px 35px rgba(6,55,93,.05); }
.kcs-step__icon { width:48px; height:48px; display:grid; place-items:center; color:#fff; background:var(--kcs-navy-deep); border-radius:13px; margin-bottom:24px; }
.kcs-step__icon svg { width:24px; }
.kcs-step > span { position:absolute; top:24px; right:20px; color:#cad7e0; font-weight:900; font-size:1.45rem; }
.kcs-step h3 { font-size:1.22rem; margin-bottom:12px; }
.kcs-step p { font-size:.91rem; margin:0; }

.kcs-cta { padding:clamp(58px,7vw,88px) 0; color:#fff; background:linear-gradient(135deg,var(--kcs-navy-deep),#0a5c7f 72%,var(--kcs-teal)); }
.kcs-cta__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:44px; align-items:center; }
.kcs-cta h2 { color:#fff; max-width:760px; margin-bottom:14px; }
.kcs-cta p { color:rgba(255,255,255,.78); max-width:750px; margin-bottom:0; }
.kcs-cta .kcs-kicker { color:#76ded9 !important; }
.kcs-button--light { color:var(--kcs-navy-deep) !important; background:#fff; white-space:nowrap; box-shadow:0 14px 35px rgba(0,0,0,.14); }

@media (max-width: 980px) {
  .kcs-hero__grid { grid-template-columns:1fr; }
  .kcs-hero__visual { width:min(100%,760px); }
  .kcs-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kcs-service-card, .kcs-service-card:nth-child(4), .kcs-service-card:nth-child(5) { grid-column:auto; }
  .kcs-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kcs-matrix__header { grid-template-columns:1fr; }
  .kcs-search { max-width:560px; }
}

@media (max-width: 680px) {
  .kcs-calibration .kcs-shell { width:min(100% - 28px,1220px); }
  .kcs-calibration .kcs-section { padding:64px 0; }
  .kcs-hero { padding:62px 0 72px; }
  .kcs-hero__grid { gap:34px; }
  .kcs-actions { align-items:stretch; flex-direction:column; }
  .kcs-button { width:100%; }
  .kcs-image-note { left:14px; right:14px; bottom:14px; }
  .kcs-service-grid, .kcs-process-grid { grid-template-columns:1fr; }
  .kcs-service-card, .kcs-service-card:nth-child(4), .kcs-service-card:nth-child(5) { grid-column:auto; }
  .kcs-service-card__top { aspect-ratio:16 / 9; }
  .kcs-service-card__body { padding:21px 19px 24px; }
  .kcs-service-card__heading { gap:10px; margin-bottom:16px; }
  .kcs-parameter-row { grid-template-columns:1fr; gap:8px; padding:21px 20px; }
  .kcs-table-wrap { overflow-x:auto; border-radius:16px; }
  .kcs-table { min-width:720px; }
  .kcs-cta__inner { grid-template-columns:1fr; gap:28px; }
  .kcs-cta .kcs-button { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  .kcs-calibration *, .kcs-calibration *::before, .kcs-calibration *::after { scroll-behavior:auto !important; transition:none !important; }
}
.kcs-calibration .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Compatibility guard: some themes/page builders apply global SVG rules. */
.kcs-calibration .kcs-icon-badge svg,
.kcs-calibration .kcs-step__icon svg,
.kcs-calibration .kcs-search svg {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  fill: none !important;
  stroke: currentColor !important;
  overflow: visible;
}
.kcs-calibration .kcs-step__icon svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
}
.kcs-calibration .kcs-search svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}
.kcs-calibration .kcs-icon-badge svg *,
.kcs-calibration .kcs-step__icon svg *,
.kcs-calibration .kcs-search svg * {
  fill: none !important;
  stroke: currentColor !important;
  vector-effect: non-scaling-stroke;
}

/* =========================================================
   v1.1.1 — balanced photographic service cards
   ========================================================= */
.kcs-calibration .kcs-service-grid {
  align-items: stretch;
}

.kcs-calibration .kcs-service-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.kcs-calibration .kcs-service-card__top {
  aspect-ratio: auto;
  height: 230px;
  padding: 14px;
  background: linear-gradient(180deg, #f8fbfd 0%, #eef5f9 100%);
}

.kcs-calibration .kcs-service-card__image {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
  object-position: center;
  transform-origin: center;
}

.kcs-calibration .kcs-service-card:nth-child(2) .kcs-service-card__image {
  transform: scale(1.04);
}

.kcs-calibration .kcs-service-card:nth-child(3) .kcs-service-card__image {
  transform: scale(1.48);
}

.kcs-calibration .kcs-service-card:nth-child(4) .kcs-service-card__image {
  object-fit: cover;
  transform: scale(1.01);
}

.kcs-calibration .kcs-service-card:nth-child(5) .kcs-service-card__image {
  transform: scale(1.12);
}

.kcs-calibration .kcs-service-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.kcs-calibration .kcs-service-card__heading {
  min-height: 58px;
}

@media (min-width: 1181px) {
  .kcs-calibration .kcs-service-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 24px;
  }

  .kcs-calibration .kcs-service-card {
    grid-column: span 2;
  }

  .kcs-calibration .kcs-service-card:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .kcs-calibration .kcs-service-card:nth-child(5) {
    grid-column: 4 / span 2;
  }
}

@media (max-width: 1180px) and (min-width: 768px) {
  .kcs-calibration .kcs-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .kcs-calibration .kcs-service-card,
  .kcs-calibration .kcs-service-card:nth-child(4) {
    grid-column: auto;
  }

  .kcs-calibration .kcs-service-card:nth-child(5) {
    grid-column: 1 / -1;
    width: calc((100% - 24px) / 2);
    justify-self: center;
  }

  .kcs-calibration .kcs-service-card__top {
    height: 220px;
  }
}

@media (max-width: 767px) {
  .kcs-calibration .kcs-service-card,
  .kcs-calibration .kcs-service-card:nth-child(4),
  .kcs-calibration .kcs-service-card:nth-child(5) {
    grid-column: auto;
    width: 100%;
  }

  .kcs-calibration .kcs-service-card__top {
    height: 210px;
  }

  .kcs-calibration .kcs-service-card__heading {
    min-height: 0;
  }
}


/* =========================================================
   v1.1.2 — balanced service imagery and cleaner cut-outs
   ========================================================= */
.kcs-calibration .kcs-service-card__top {
  height: 248px;
  padding: 20px;
  background: linear-gradient(180deg, #f7fbfd 0%, #eef5f9 100%);
}

.kcs-calibration .kcs-service-card__image {
  width: auto;
  height: auto;
  max-width: 86%;
  max-height: 198px;
  object-fit: contain;
  object-position: center;
  transform: none !important;
  margin-inline: auto;
}

/* 01 — balance */
.kcs-calibration .kcs-service-card:nth-child(1) .kcs-service-card__image {
  max-width: 78%;
  max-height: 198px;
}

/* 02 — dissolution */
.kcs-calibration .kcs-service-card:nth-child(2) .kcs-service-card__image {
  max-width: 92%;
  max-height: 194px;
}

/* 03 — thermal oven, enlarge after background removal */
.kcs-calibration .kcs-service-card:nth-child(3) .kcs-service-card__image {
  max-width: 78%;
  max-height: 194px;
}

/* 04 — keep photo style but balance the crop */
.kcs-calibration .kcs-service-card:nth-child(4) .kcs-service-card__top {
  padding: 12px;
}
.kcs-calibration .kcs-service-card:nth-child(4) .kcs-service-card__image {
  width: 100%;
  max-width: none;
  max-height: none;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* 05 — calibration weights */
.kcs-calibration .kcs-service-card:nth-child(5) .kcs-service-card__image {
  max-width: 72%;
  max-height: 188px;
}

@media (max-width: 1180px) and (min-width: 768px) {
  .kcs-calibration .kcs-service-card__top {
    height: 228px;
    padding: 18px;
  }
  .kcs-calibration .kcs-service-card__image {
    max-height: 178px;
  }
  .kcs-calibration .kcs-service-card:nth-child(4) .kcs-service-card__top {
    padding: 10px;
  }
}

@media (max-width: 767px) {
  .kcs-calibration .kcs-service-card__top {
    height: 214px;
    padding: 16px;
  }
  .kcs-calibration .kcs-service-card__image {
    max-height: 170px;
  }
  .kcs-calibration .kcs-service-card:nth-child(1) .kcs-service-card__image {
    max-width: 74%;
  }
  .kcs-calibration .kcs-service-card:nth-child(2) .kcs-service-card__image {
    max-width: 88%;
  }
  .kcs-calibration .kcs-service-card:nth-child(3) .kcs-service-card__image {
    max-width: 76%;
  }
  .kcs-calibration .kcs-service-card:nth-child(4) .kcs-service-card__top {
    padding: 8px;
  }
  .kcs-calibration .kcs-service-card:nth-child(5) .kcs-service-card__image {
    max-width: 68%;
  }
}
