/* =============================================
   KANAK CLINIC — Daltonganj
   Primary #3b5ba6 | Green #328648 | CTA #E53935
   ============================================= */

/* ── Variables ─────────────────────────────── */
:root {
  --p:          #3b5ba6;
  --p-dk:       #2f4a8a;
  --p-lt:       rgba(59,91,166,.09);
  --p-border:   rgba(59,91,166,.18);
  --g:          #328648;
  --g-dk:       #276e38;
  --g-lt:       rgba(50,134,72,.09);
  --cta:        #E53935;
  --cta-dk:     #c62828;
  --cta-lt:     rgba(229,57,53,.09);
  --dark:       #0c1425;
  --body:       #1e293b;
  --muted:      #64748b;
  --light:      #f7f9fc;
  --border:     #e2e8f0;
  --white:      #ffffff;

  --r-xs:   6px;
  --r-sm:   10px;
  --r-md:   16px;
  --r-lg:   22px;
  --r-xl:   30px;
  --r-pill: 999px;

  --sh-xs:  0 1px 3px rgba(0,0,0,.07);
  --sh-sm:  0 2px 8px rgba(0,0,0,.07);
  --sh-md:  0 6px 20px rgba(0,0,0,.08);
  --sh-lg:  0 12px 40px rgba(0,0,0,.10);
  --sh-xl:  0 24px 64px rgba(0,0,0,.12);

  --ease:   cubic-bezier(.4,0,.2,1);
  --dur:    .24s;
}

/* ── Reset & Base ───────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--body);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overscroll-behavior-x: none;
  max-width: 100%;
}

a { color: var(--p); text-decoration: none; }
a:hover { color: var(--p-dk); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; padding: 0; margin: 0; }

/* ── Main offset for fixed navbar ───────────── */
.kc-main { padding-top: 65px; }
@media (max-width: 991.98px) { .kc-main { padding-bottom: 58px; } }

/* =============================================
   NAVBAR
   ============================================= */
/* ── Navbar ── */
.kc-nav {
  height: 68px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
  transition: box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);
  z-index: 1040;
}
/* Gradient top accent line */
.kc-nav::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--p) 0%, var(--g) 100%);
}
.kc-nav.scrolled {
  background: rgba(255,255,255,.98);
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
}
.kc-nav .container {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  height: 100%;
}

/* Brand */
.kc-brand {
  display: flex;
  align-items: center;
  gap: .625rem;
  text-decoration: none;
  flex-shrink: 0;
}
.kc-brand img {
  width: 40px; height: 40px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: none;
}
.kc-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.kc-brand__name {
  font-size: 1rem;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -.02em;
}
.kc-brand__tag {
  font-size: .65rem;
  font-weight: 600;
  color: var(--g);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.kc-brand:hover .kc-brand__name { color: var(--p); }

/* Nav links */
.kc-nav-links {
  display: flex;
  align-items: center;
  gap: .125rem;
  margin: 0 auto;
  list-style: none;
  padding: 0;
}
.kc-nav-links a {
  font-size: .9rem;
  font-weight: 600;
  color: var(--body);
  padding: .45rem .875rem;
  border-radius: 999px;
  position: relative;
  transition: color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.kc-nav-links a::after { display: none; }
.kc-nav-links a:hover {
  color: var(--p);
  background: var(--p-lt);
}
.kc-nav-links a.active {
  color: var(--p);
  background: var(--p-lt);
  font-weight: 700;
}

/* Separator */
.kc-nav-sep {
  width: 1px;
  height: 28px;
  background: var(--border);
  flex-shrink: 0;
}

/* CTA group */
.kc-nav-cta { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }

/* Phone link in nav */
.kc-nav-call {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: .8375rem;
  font-weight: 700;
  color: var(--dark);
  padding: .4rem .75rem;
  border-radius: 999px;
  border: 1.5px solid var(--border);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);
  white-space: nowrap;
}
.kc-nav-call i { color: var(--p); font-size: .8rem; }
.kc-nav-call:hover {
  color: var(--p);
  border-color: var(--p);
  background: var(--p-lt);
}

/* Hamburger */
.kc-toggler {
  display: none;
  background: none;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  width: 40px; height: 40px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: var(--body);
  font-size: 1rem;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.kc-toggler:hover { background: var(--light); border-color: var(--p); }

/* Mobile collapse */
.kc-collapse {
  display: flex;
  align-items: center;
  flex: 1;
  gap: .75rem;
}

@media (max-width: 991.98px) {
  .kc-nav { height: 64px; }
  .kc-nav .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .kc-toggler { display: flex; }
  .kc-nav-sep { display: none; }
  .kc-collapse {
    display: none;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(14px);
    flex-direction: column;
    align-items: stretch;
    padding: 1rem 1.25rem 1.25rem;
    border-bottom: 1px solid var(--border);
    box-shadow: 0 12px 32px rgba(0,0,0,.1);
    gap: .5rem;
  }
  .kc-collapse.open { display: flex; }
  .kc-nav-links {
    flex-direction: column;
    width: 100%;
    margin: 0 0 .5rem;
    gap: .125rem;
  }
  .kc-nav-links li { width: 100%; }
  .kc-nav-links a {
    display: block;
    width: 100%;
    padding: .625rem .875rem;
    border-radius: var(--r-sm);
  }
  .kc-nav-cta {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
  }
  .kc-nav-cta .kc-btn,
  .kc-nav-cta .kc-nav-call { justify-content: center; width: 100%; border-radius: var(--r-sm); }

  /* Dropdown mobile */
  .kc-drop { width: 100%; }
  .kc-drop__trigger { width: 100%; text-align: left; padding: .625rem .875rem; border-radius: var(--r-sm); }
  .kc-drop__panel {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: var(--r-sm) !important;
    background: var(--light) !important;
    padding: .25rem .5rem !important;
    display: none;
    pointer-events: auto !important;
  }
  .kc-drop__caret { display: none; }
  .kc-drop.open .kc-drop__panel { display: block; }
  .kc-drop__item { padding: .625rem .75rem !important; border-radius: var(--r-sm) !important; }
  .kc-drop__footer { display: none; }
}

/* =============================================
   NAVBAR DROPDOWN
   ============================================= */
.kc-drop { position: relative; }

.kc-drop__trigger {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: .9375rem;
  font-weight: 500;
  color: var(--body);
  background: none;
  border: none;
  cursor: pointer;
  padding: .5rem .875rem;
  border-radius: var(--r-xs);
  transition: color var(--dur) var(--ease), background var(--dur) var(--ease);
  position: relative;
}
.kc-drop__trigger::after {
  content: '';
  position: absolute;
  left: .875rem; right: .875rem; bottom: .25rem;
  height: 2px;
  background: var(--p);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease);
}
.kc-drop__trigger:hover,
.kc-drop.open .kc-drop__trigger { color: var(--p); }
.kc-drop__trigger:hover::after,
.kc-drop.open .kc-drop__trigger::after { transform: scaleX(1); }

.kc-drop__arrow {
  font-size: .65rem;
  transition: transform .22s var(--ease);
  margin-top: 1px;
}
.kc-drop.open .kc-drop__arrow { transform: rotate(180deg); }

/* Panel */
.kc-drop__panel {
  position: absolute;
  top: calc(100% + .875rem);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  width: 300px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-xl);
  padding: .5rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s var(--ease), transform .22s var(--ease);
  z-index: 200;
}
.kc-drop.open .kc-drop__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* Invisible bridge — fills the gap between the trigger and the panel top
   so the mouse never "leaves" .kc-drop while crossing that space */
.kc-drop__panel::before {
  content: '';
  position: absolute;
  top: -1rem;
  left: -1rem;
  right: -1rem;
  height: 1rem;
  background: transparent;
}

/* Caret arrow */
.kc-drop__caret {
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 13px; height: 13px;
  background: var(--white);
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}

/* Items */
.kc-drop__item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .625rem .75rem;
  border-radius: var(--r-md);
  text-decoration: none;
  color: inherit;
  transition: background .16s var(--ease);
}
/* Kill the nav underline animation inside the dropdown */
.kc-drop__item::after { display: none !important; }
.kc-drop__item:hover {
  background: var(--light);
  color: inherit;
  transform: none;
}

.kc-drop__item-icon {
  width: 34px; height: 34px;
  flex-shrink: 0;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  flex-shrink: 0;
}
.kc-drop__item-icon--blue  { background: var(--p-lt); color: var(--p); }
.kc-drop__item-icon--green { background: var(--g-lt); color: var(--g); }
.kc-drop__item-icon--teal  { background: rgba(6,148,162,.09); color: #0694a2; }

.kc-drop__item-title {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--dark);
  line-height: 1;
}
.kc-drop__item-sub {
  display: block;
  font-size: .78rem;
  color: var(--muted);
}

/* Footer row */
.kc-drop__footer {
  border-top: 1px solid var(--border);
  margin-top: .375rem;
  padding: .75rem 1rem .5rem;
}
.kc-drop__footer a {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--cta);
  display: flex;
  align-items: center;
  gap: .375rem;
}
.kc-drop__footer a:hover { color: var(--cta-dk); }

/* =============================================
   BUTTONS
   ============================================= */
.kc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1;
  border-radius: var(--r-pill);
  padding: .75rem 1.625rem;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background var(--dur) var(--ease),
              border-color var(--dur) var(--ease),
              color var(--dur) var(--ease),
              transform var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease);
  white-space: nowrap;
  text-decoration: none;
}
.kc-btn:hover { transform: translateY(-2px); text-decoration: none; }
.kc-btn:active { transform: translateY(0); }

.kc-btn-sm { padding: .5rem 1.125rem; font-size: .875rem; }

.kc-btn-call {
  background: var(--cta);
  border-color: var(--cta);
  color: var(--white);
}
.kc-btn-call:hover {
  background: var(--cta-dk);
  border-color: var(--cta-dk);
  color: var(--white);
  box-shadow: 0 6px 20px rgba(229,57,53,.30);
}

.kc-btn-wa {
  background: var(--g);
  border-color: var(--g);
  color: var(--white);
}
.kc-btn-wa:hover {
  background: var(--g-dk);
  border-color: var(--g-dk);
  color: var(--white);
  box-shadow: 0 6px 20px rgba(50,134,72,.30);
}

.kc-btn-primary {
  background: var(--p);
  border-color: var(--p);
  color: var(--white);
}
.kc-btn-primary:hover {
  background: var(--p-dk);
  border-color: var(--p-dk);
  color: var(--white);
  box-shadow: 0 6px 20px rgba(59,91,166,.25);
}

.kc-btn-outline {
  background: transparent;
  border-color: var(--p);
  color: var(--p);
}
.kc-btn-outline:hover {
  background: var(--p);
  color: var(--white);
  box-shadow: 0 6px 20px rgba(59,91,166,.20);
}

.kc-btn-ghost {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.35);
  color: var(--white);
}
.kc-btn-ghost:hover {
  background: rgba(255,255,255,.22);
  border-color: rgba(255,255,255,.6);
  color: var(--white);
}

/* =============================================
   SECTION LAYOUT
   ============================================= */
.kc-section { padding: 40px 0; }
.kc-section-sm { padding: 64px 0; }
.kc-section-contact { padding-bottom: 80px; }
.kc-section-svc-list { padding-bottom: 60px; }
.kc-section-bg { background: var(--light); }

.kc-section-head { max-width: 580px; }
.kc-section-head-center { text-align: center; margin-left: auto; margin-right: auto; }

.kc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4375rem;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--p);
  margin-bottom: .875rem;
}
.kc-eyebrow::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 2px;
  background: var(--p);
  border-radius: 2px;
  flex-shrink: 0;
}

.kc-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: var(--dark);
  margin-bottom: 1rem;
}

.kc-subtitle {
  font-size: clamp(1.375rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.02em;
  color: var(--dark);
  margin-bottom: .875rem;
}

.kc-lead {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--muted);
}

.kc-divider {
  width: 44px;
  height: 4px;
  background: linear-gradient(90deg, var(--p), var(--g));
  border-radius: 4px;
  margin-bottom: 1.5rem;
}
.kc-divider-center { margin-left: auto; margin-right: auto; }

/* =============================================
   PAGE HERO (inner pages)
   ============================================= */
.kc-page-hero {
  background: linear-gradient(140deg, var(--p) 0%, #253e88 100%);
  padding: 60px 0 52px;
  position: relative;
  overflow: hidden;
  text-align: center; /* overridden per-column via inline styles for split layout */
}
.kc-page-hero--green { background: linear-gradient(140deg, #1d7a3a 0%, #1e5e30 100%); }
.kc-page-hero--teal  { background: linear-gradient(140deg, #0694a2 0%, #065f6b 100%); }


/* Left column in split hero — overrides section-level text-align:center */
.kc-ph-left { text-align: left; }
.kc-ph-left .kc-page-hero__eyebrow  { margin-left: 0; }
.kc-ph-left .kc-page-hero__sub      { margin-left: 0; margin-right: 0; }
.kc-ph-left .kc-page-hero__title    { font-size: clamp(1.5rem, 3.2vw, 2.125rem); }

/* Service page hero — button row & stats */
.kc-ph-btns {
  margin-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.kc-ph-stats { justify-content: flex-start; margin-top: 1.25rem; }

@media (max-width: 575.98px) {
  .kc-page-hero { padding: 44px 0 36px; }
  .kc-ph-left   { text-align: center; }
  .kc-ph-left .kc-page-hero__eyebrow { margin-left: auto; margin-right: auto; }
  .kc-ph-left .kc-page-hero__sub     { margin-left: auto; margin-right: auto; }
  .kc-ph-btns   { flex-direction: row; }
  .kc-ph-btns .kc-btn { flex: 1; justify-content: center; font-size: .875rem; padding: .6rem .75rem; }
  .kc-ph-stats  { justify-content: center; }
  .kc-ph-stats .kc-hero-stat { font-size: .75rem; padding: .3rem .65rem; }
}

/* ── Page-hero split graphic (Medical Store right column) ── */
.kc-ph-graphic {
  position: relative;
  width: 440px;
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* concentric rings */
.kc-ph-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.1);
  pointer-events: none;
}
.kc-ph-ring--1 { width: 200px; height: 200px; }
.kc-ph-ring--2 { width: 340px; height: 340px; border-style: dashed; opacity: .5; }

/* centre icon bubble */
.kc-ph-graphic__center {
  position: relative;
  z-index: 2;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  border: 2px solid rgba(255,255,255,.28);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.75rem;
  color: #fff;
  box-shadow: 0 8px 32px rgba(0,0,0,.2);
}

/* floating pill cards */
.kc-ph-float {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .625rem;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(10px);
  border-radius: 14px;
  padding: .55rem .85rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.kc-ph-float__icon {
  width: 34px; height: 34px;
  border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem;
  flex-shrink: 0;
}
.kc-ph-float__title {
  font-size: .78rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 .1rem;
  line-height: 1;
  white-space: nowrap;
}
.kc-ph-float__sub {
  font-size: .7rem;
  color: rgba(255,255,255,.6);
  margin: 0;
  white-space: nowrap;
}

/* positions + staggered float animation */
.kc-ph-float--tr { top: 18px;    right: 0;  animation: kcPhFloat 3.2s ease-in-out infinite; }
.kc-ph-float--br { bottom: 18px; right: 0;  animation: kcPhFloat 3.8s ease-in-out infinite .6s; }
.kc-ph-float--tl { top: 18px;    left: 0;   animation: kcPhFloat 4s   ease-in-out infinite 1.1s; }
.kc-ph-float--bl { bottom: 18px; left: 0;   animation: kcPhFloat 3.5s ease-in-out infinite 1.7s; }

@keyframes kcPhFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-9px); }
}

/* Service page image */
.kc-svc-img {
  width: 100%;
  border-radius: var(--r-xl);
  object-fit: cover;
  display: block;
  box-shadow: var(--sh-xl);
}

/* Process steps */
.kc-step {
  display: flex;
  align-items: flex-start;
  gap: 1.125rem;
}
.kc-step__num {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--p);
  color: var(--white);
  font-size: 1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.kc-step__num--green { background: var(--g); }
.kc-step__num--teal  { background: #0694a2; }
.kc-step__title { font-size: 1rem; font-weight: 700; color: var(--dark); margin-bottom: .25rem; }
.kc-step__text  { font-size: .9rem; color: var(--muted); margin: 0; line-height: 1.65; }

/* Highlight stat box */
.kc-stat-box {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 1.5rem;
  text-align: center;
  height: 100%;
}
.kc-stat-box__val  { font-size: 2rem; font-weight: 800; letter-spacing: -.03em; display: block; }
.kc-stat-box__label{ font-size: .875rem; color: var(--muted); margin-top: .25rem; }

/* CTA strip */
.kc-cta-strip {
  background: linear-gradient(135deg, var(--p) 0%, #253e88 100%);
  border-radius: var(--r-xl);
  padding: 3rem 2.5rem;
  position: relative;
  overflow: hidden;
}
.kc-cta-strip--green { background: linear-gradient(135deg, var(--g) 0%, #1e5e30 100%); }
.kc-cta-strip--teal  { background: linear-gradient(135deg, #0694a2 0%, #065f6b 100%); }
.kc-cta-strip::before {
  content: '';
  position: absolute;
  bottom: -50px; right: -50px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  pointer-events: none;
}
.kc-page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(255,255,255,.08) 0%, transparent 55%),
    radial-gradient(circle at 8% 92%, rgba(255,255,255,.05) 0%, transparent 45%);
  pointer-events: none;
}

/* Pill badge eyebrow */
.kc-page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(6px);
  padding: .28rem .75rem;
  border-radius: 999px;
  margin-bottom: .875rem;
}
.kc-page-hero__title {
  font-size: clamp(1.625rem, 4vw, 2.375rem);
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.03em;
  margin-bottom: .625rem;
  line-height: 1.15;
}
.kc-page-hero__sub {
  font-size: .9375rem;
  color: rgba(255,255,255,.75);
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.65;
}

/* Hero stat pills */
.kc-hero-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-top: 1.25rem;
}
.kc-hero-stat {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .8125rem;
  font-weight: 600;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  padding: .35rem .9rem;
  border-radius: 999px;
}
.kc-hero-stat i { font-size: .75rem; opacity: .85; }

.kc-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  margin-bottom: 1.25rem;
}
.kc-breadcrumb li { font-size: .8125rem; color: rgba(255,255,255,.45); }
.kc-breadcrumb li + li::before { content: '/'; margin-right: .375rem; }
.kc-breadcrumb li a { color: rgba(255,255,255,.65); }
.kc-breadcrumb li a:hover { color: var(--white); }

/* =============================================
   HERO (Home)
   ============================================= */
.kc-hero {
  padding: 50px 0 50px;
  background:
    radial-gradient(ellipse 90% 70% at 5% 30%, rgba(59,91,166,.10) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 95% 70%, rgba(50,134,72,.07) 0%, transparent 60%),
    linear-gradient(180deg, #eef3ff 0%, #f7f9fc 50%, #ffffff 100%);
  position: relative;
  overflow: hidden;
}
.kc-hero::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59,91,166,.05) 0%, transparent 70%);
  pointer-events: none;
}

/* Tag above headline */
.kc-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--g);
  border: 1px solid rgba(255,255,255,.15);
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: .375rem 1rem;
  border-radius: var(--r-pill);
  margin-bottom: 1.375rem;
}
.kc-hero__tag-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  position: relative;
}
.kc-hero__tag-dot::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  animation: kc-ping 2s ease infinite;
}

.kc-hero__title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: var(--dark);
  margin-bottom: 1.125rem;
}
.kc-hero__title mark {
  background: none;
  color: var(--p);
}
.kc-hero__title-brand {
  display: inline-block;
  color: var(--p);
  font-size: 1.1em;
  letter-spacing: -.04em;
  line-height: 1.1;
}

.kc-hero__lead {
  font-size: 1.125rem;
  line-height: 1.75;
  color: #2e3034;
  margin-bottom: 2rem;
}

.kc-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 2.25rem;
}

/* Hero action group — buttons + features share same width context */
.kc-hero__action-group { display: flex; flex-direction: column; gap: .75rem; }
.kc-hero__buttons { display: flex; gap: .75rem; margin: 0; }
.kc-btn-stretch { flex: 1; justify-content: center; }

/* Hero feature row */
.kc-hero__features {
  display: flex;
  gap: .625rem;
  flex-wrap: wrap;
}
.kc-hero__feature {
  display: flex;
  align-items: center;
  gap: .6rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: .625rem .875rem;
  box-shadow: var(--sh-xs);
  flex: 1;
  min-width: 130px;
}
.kc-hero__feature-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: var(--p-lt);
  color: var(--p);
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem;
  flex-shrink: 0;
}
.kc-hero__feature-title {
  font-size: .8rem;
  font-weight: 700;
  color: var(--dark);
  margin: 0;
  line-height: 1.2;
}
.kc-hero__feature-sub {
  font-size: .7rem;
  color: var(--muted);
  margin: .1rem 0 0;
}
.kc-hero__feature-sep { display: none; }

/* Hero card (right panel) */
.kc-hero-card {
  text-align: left;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 0;
  box-shadow: var(--sh-xl);
  position: relative;
  overflow: hidden;
}
.kc-hero-card__top {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--p) 0%, var(--g) 100%);
}
.kc-hero-card__header {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1.375rem 1.5rem 1.125rem;
  border-bottom: 1px solid var(--border);
  margin-top: 4px;
}

.kc-live-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #22c55e;
  position: relative;
  flex-shrink: 0;
}
.kc-live-dot::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: rgba(34,197,94,.25);
  animation: kc-ping 2s ease infinite;
}
@keyframes kc-ping {
  0%,100% { transform: scale(1); opacity: 1; }
  60%      { transform: scale(1.8); opacity: 0; }
}

/* Rating row */
.kc-hero-card__rating {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .75rem 1.5rem;
  background: #fffbeb;
  border-bottom: 1px solid #fde68a;
}
.kc-hero-card__stars { color: #f59e0b; font-size: .75rem; letter-spacing: .05em; }
.kc-hero-card__rating-text { font-size: .78rem; color: #92400e; font-weight: 500; }

/* Service rows */
.kc-hero-card__row {
  display: flex;
  align-items: center;
  gap: .875rem;
  padding: .875rem 1.5rem;
  border-bottom: 1px solid var(--border);
  text-decoration: none;
  transition: background var(--dur) var(--ease);
}
.kc-hero-card__row:hover { background: var(--light); }
.kc-hero-card__row:last-of-type { border-bottom: none; }
.kc-hero-card__row-body { flex: 1; }
.kc-hero-card__row-title {
  font-weight: 700;
  font-size: .9375rem;
  color: var(--dark);
  margin-bottom: .125rem;
}
.kc-hero-card__row-sub { font-size: .78rem; color: var(--muted); }
.kc-hero-card__row-arrow {
  font-size: .7rem;
  color: var(--muted);
  opacity: 0;
  transition: opacity var(--dur), transform var(--dur);
}
.kc-hero-card__row:hover .kc-hero-card__row-arrow { opacity: 1; transform: translateX(3px); }

.kc-hero-card__ico {
  width: 38px; height: 38px;
  border-radius: var(--r-xs);
  display: flex; align-items: center; justify-content: center;
  font-size: .9375rem;
  flex-shrink: 0;
  background: var(--p-lt);
  color: var(--p);
}
.kc-hero-card__ico--green { background: var(--g-lt); color: var(--g); }
.kc-hero-card__ico--red   { background: var(--cta-lt); color: var(--cta); }

/* Card footer — WhatsApp CTA */
.kc-hero-card__footer {
  border-top: 1px solid var(--border);
  background: var(--light);
}
.kc-hero-card__footer-link {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .875rem 1.5rem;
  font-size: .8375rem;
  font-weight: 600;
  color: var(--g);
  text-decoration: none;
  transition: background var(--dur);
}
.kc-hero-card__footer-link:hover { background: rgba(50,134,72,.06); color: var(--g); }
.kc-hero-card__footer-link > i:first-child { font-size: 1rem; }
.kc-hero-card__footer-link span { flex: 1; }
.kc-hero-card__footer-arrow { font-size: .7rem; opacity: .5; transition: transform var(--dur); }
.kc-hero-card__footer-link:hover .kc-hero-card__footer-arrow { transform: translateX(3px); opacity: 1; }

/* =============================================
   OFFCANVAS MOBILE NAV
   ============================================= */

/* Overlay */
.kc-oc-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,14,26,.55);
  backdrop-filter: blur(2px);
  z-index: 1040;
  opacity: 0;
  transition: opacity .3s ease;
}
.kc-oc-overlay.active { display: block; opacity: 1; }

/* Drawer */
.kc-oc {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 300px;
  max-width: 88vw;
  background: var(--white);
  z-index: 1050;
  display: flex;
  flex-direction: column;
  transform: translateX(110%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  box-shadow: -4px 0 32px rgba(0,0,0,.15);
  visibility: hidden;
}
.kc-oc.open {
  transform: translateX(0);
  visibility: visible;
}

/* Header */
.kc-oc__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border);
  background: var(--white);
  flex-shrink: 0;
}
.kc-oc__close {
  width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--light);
  border: 1px solid var(--border);
  color: var(--body);
  font-size: .95rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background var(--dur), color var(--dur);
}
.kc-oc__close:hover { background: var(--cta); color: #fff; border-color: var(--cta); }

/* Body — scrollable */
.kc-oc__body {
  flex: 1;
  overflow-y: auto;
  padding: .75rem 0;
}
.kc-oc__links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kc-oc__links > li > a,
.kc-oc__group-btn {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .875rem 1.375rem;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--dark);
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  transition: background var(--dur), color var(--dur);
}
.kc-oc__links > li > a i,
.kc-oc__group-btn > span > i {
  width: 18px;
  text-align: center;
  color: var(--p);
  font-size: .875rem;
}
.kc-oc__links > li > a:hover,
.kc-oc__group-btn:hover { background: var(--light); color: var(--p); }
.kc-oc__links > li > a.active { color: var(--p); background: var(--p-lt); }

/* Services group */
.kc-oc__group { border-bottom: 1px solid var(--border); }
.kc-oc__group:first-child { border-top: 1px solid var(--border); }
.kc-oc__group-btn {
  justify-content: space-between;
  border-radius: 0;
}
.kc-oc__group-btn > span { display: flex; align-items: center; gap: .75rem; }
.kc-oc__group-arrow {
  font-size: .7rem;
  color: var(--muted);
  transition: transform .25s ease;
}
.kc-oc__group.open .kc-oc__group-arrow { transform: rotate(180deg); }

/* Sub-menu */
.kc-oc__sub {
  list-style: none;
  margin: 0;
  padding: 0 0 .5rem;
  display: none;
  background: var(--light);
}
.kc-oc__group.open .kc-oc__sub { display: block; }
.kc-oc__sub li a {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1.375rem .75rem 2rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--body);
  text-decoration: none;
  transition: background var(--dur), color var(--dur);
}
.kc-oc__sub li a:hover { background: var(--p-lt); color: var(--p); }
.kc-oc__sub-icon {
  width: 28px; height: 28px;
  border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem;
  flex-shrink: 0;
}

/* Footer CTA — kept for backward compat but no longer used */
.kc-oc__footer { display: none; }
.kc-oc__timing {
  font-size: .78rem;
  color: var(--muted);
  text-align: center;
  margin: .25rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
}
.kc-oc__timing i { color: var(--p); }

/* Offcanvas social section */
.kc-oc__social-section {
  border-top: 1px solid var(--border);
  padding: .875rem 1.375rem .75rem;
  list-style: none;
}

/* Offcanvas CTA section (Call + WhatsApp + timing) */
.kc-oc__cta-section {
  list-style: none;
  padding: .75rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .625rem;
  border-top: 1px solid var(--border);
}
/* Restore button colours — overrides the generic li > a { background:none } rule */
.kc-oc__cta-section .kc-btn-call {
  background: var(--cta)  !important;
  border-color: var(--cta) !important;
  color: var(--white)      !important;
}
.kc-oc__cta-section .kc-btn-wa {
  background: var(--g)    !important;
  border-color: var(--g)  !important;
  color: var(--white)     !important;
}
/* Keep icons white inside the CTA buttons */
.kc-oc__cta-section .kc-btn i {
  color: var(--white) !important;
}
.kc-oc__social-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  text-align: center;
  margin: 0 0 .5rem;
}
.kc-oc__social-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.kc-oc__social {
  width: 36px; height: 36px;
  border-radius: 9px;
  background: var(--light);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: .875rem;
  color: var(--muted);
  text-decoration: none;
  transition: background var(--dur) var(--ease),
              color var(--dur) var(--ease),
              border-color var(--dur) var(--ease),
              transform var(--dur) var(--ease);
}
.kc-oc__social:hover {
  background: var(--oc-sc, var(--p));
  border-color: var(--oc-sc, var(--p));
  color: #fff;
  transform: translateY(-2px);
}

/* Mobile navbar WhatsApp circle button */
.kc-nav-wa-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--g);
  color: #fff;
  font-size: 1.1rem;
  flex-shrink: 0;
  text-decoration: none;
  transition: background var(--dur) var(--ease);
}
.kc-nav-wa-circle:hover { background: var(--g-dk); color: #fff; }

/* =============================================
   SERVICES SECTION (home)
   ============================================= */
.kc-svc-section {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(59,91,166,.05) 0%, transparent 70%),
    linear-gradient(180deg, #f4f7ff 0%, #ffffff 60%);
}

/* Card base */
.kc-sc {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 2rem 2rem 1.625rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition:
    transform .28s var(--ease),
    box-shadow .28s var(--ease),
    border-color .28s var(--ease);
}
.kc-sc:hover {
  transform: translateY(-8px);
  box-shadow: var(--sh-xl);
}

/* Accent top bar */
.kc-sc__accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  transition: height .28s var(--ease);
}
.kc-sc:hover .kc-sc__accent { height: 6px; }

/* Number badge */
.kc-sc__num {
  position: absolute;
  top: 1.25rem; right: 1.5rem;
  font-size: 2.25rem;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
  opacity: .06;
  transition: opacity .28s var(--ease);
}
.kc-sc:hover .kc-sc__num { opacity: .12; }

/* Icon */
.kc-sc__icon {
  width: 68px; height: 68px;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.625rem;
  margin-bottom: 1.5rem;
  transition: transform .28s var(--ease), box-shadow .28s var(--ease);
}
.kc-sc:hover .kc-sc__icon {
  transform: scale(1.08);
  box-shadow: var(--sh-md);
}

/* Tag */
.kc-sc__tag {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: .5rem;
}

/* Title */
.kc-sc__title {
  font-size: 1.3125rem;
  font-weight: 800;
  color: var(--dark);
  letter-spacing: -.02em;
  margin-bottom: .75rem;
}

/* Body text */
.kc-sc__text {
  font-size: .9375rem;
  color: var(--muted);
  line-height: 1.7;
  flex: 1;
  margin-bottom: 1.5rem;
}

/* Footer action row */
.kc-sc__footer {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding-top: 1.125rem;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}

.kc-sc__btn-call,
.kc-sc__btn-wa {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: .8125rem;
  font-weight: 700;
  padding: .4375rem .9375rem;
  border-radius: var(--r-pill);
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: filter .2s var(--ease), transform .2s var(--ease);
  white-space: nowrap;
}
.kc-sc__btn-call:hover,
.kc-sc__btn-wa:hover  { filter: brightness(.9); transform: translateY(-1px); }

.kc-sc__btn-call { background: var(--cta-lt); color: var(--cta); }
.kc-sc__btn-wa   { background: var(--g-lt);   color: var(--g); }

.kc-sc__link {
  display: inline-flex;
  align-items: center;
  gap: .3125rem;
  font-size: .8125rem;
  font-weight: 700;
  text-decoration: none;
  margin-left: auto;
  transition: gap .2s var(--ease);
  white-space: nowrap;
}
.kc-sc:hover .kc-sc__link { gap: .5rem; }

/* ── Color variants ─────────────────────────── */
/* Blue */
.kc-sc--blue { border-color: rgba(59,91,166,.15); }
.kc-sc--blue:hover { border-color: rgba(59,91,166,.3); }
.kc-sc--blue .kc-sc__accent { background: linear-gradient(90deg, var(--p), #5c7fd4); }
.kc-sc--blue .kc-sc__num    { color: var(--p); }
.kc-sc--blue .kc-sc__icon   { background: var(--p-lt); color: var(--p); }
.kc-sc--blue .kc-sc__tag    { color: var(--p); }
.kc-sc--blue .kc-sc__link   { color: var(--p); }

/* Green */
.kc-sc--green { border-color: rgba(50,134,72,.15); }
.kc-sc--green:hover { border-color: rgba(50,134,72,.30); }
.kc-sc--green .kc-sc__accent { background: linear-gradient(90deg, var(--g), #4fb96c); }
.kc-sc--green .kc-sc__num    { color: var(--g); }
.kc-sc--green .kc-sc__icon   { background: var(--g-lt); color: var(--g); }
.kc-sc--green .kc-sc__tag    { color: var(--g); }
.kc-sc--green .kc-sc__link   { color: var(--g); }

/* Teal */
.kc-sc--teal { border-color: rgba(6,148,162,.15); }
.kc-sc--teal:hover { border-color: rgba(6,148,162,.30); }
.kc-sc--teal .kc-sc__accent { background: linear-gradient(90deg, #0694a2, #38bec9); }
.kc-sc--teal .kc-sc__num    { color: #0694a2; }
.kc-sc--teal .kc-sc__icon   { background: rgba(6,148,162,.09); color: #0694a2; }
.kc-sc--teal .kc-sc__tag    { color: #0694a2; }
.kc-sc--teal .kc-sc__link   { color: #0694a2; }

/* =============================================
   USP SECTION
   ============================================= */
.kc-usp-section {
  background: linear-gradient(140deg, var(--p) 0%, #1e2f6e 100%);
  position: relative;
  overflow: hidden;
}
.kc-usp-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(255,255,255,.07) 0%, transparent 50%),
    radial-gradient(circle at 8% 92%, rgba(50,134,72,.1) 0%, transparent 50%);
  pointer-events: none;
}

/* USP section header row */
.kc-usp-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}
.kc-usp-head__sub {
  font-size: 1rem;
  color: rgba(255,255,255,.6);
  margin: 0;
  max-width: 260px;
  text-align: right;
  line-height: 1.6;
}
@media (max-width: 575px) {
  .kc-usp-head { flex-direction: column; align-items: flex-start; }
  .kc-usp-head__sub { text-align: left; max-width: 100%; }
}

/* New USP cards */
.kc-usp2 {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: var(--r-lg);
  padding: 1.5rem;
  height: 100%;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.kc-usp2:hover {
  background: rgba(255,255,255,.13);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,0,0,.2);
}
.kc-usp2__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.kc-usp2__icon {
  width: 46px; height: 46px;
  border-radius: 12px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  color: #fff;
}
.kc-usp2__num {
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .06em;
  color: rgba(255,255,255,.22);
}
.kc-usp2__title {
  font-size: .9375rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: .375rem;
}
.kc-usp2__text {
  font-size: .8375rem;
  color: rgba(255,255,255,.58);
  line-height: 1.65;
  margin: 0;
}

/* =============================================
   TESTIMONIALS – Slick Slider
   ============================================= */
.kc-testimonial-section { overflow: hidden; }

/* Slider wrapper — extra side padding for arrow buttons */
.kc-tslider { padding: .5rem 3rem 1rem; }

/* Equal-height cards: make slick track a flex row */
.kc-tslider .slick-track {
  display: flex !important;
}
.kc-tslider .slick-slide {
  height: inherit !important;
  display: flex !important;
  flex-direction: column;
}
.kc-tslider .slick-slide > div {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.kc-tslider__item {
  padding: 0 .75rem;
  outline: none;
  display: flex !important;
  flex-direction: column;
  height: 100%;
}
.kc-tcard { height: 100%; }

/* Card */
.kc-tcard {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 1.75rem 1.625rem 1.5rem;
  display: flex !important;
  flex-direction: column;
  gap: .875rem;
  box-shadow: 0 2px 12px rgba(59,91,166,.07);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
  position: relative;
  overflow: hidden;
}
.kc-tcard::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--p), var(--g));
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.kc-tcard:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); }

/* Quote icon */
.kc-tcard__quote {
  color: var(--p);
  font-size: 1.25rem;
  opacity: .35;
  line-height: 1;
  margin-bottom: -.25rem;
}

/* Stars */
.kc-tcard__stars { color: #f59e0b; font-size: .8125rem; letter-spacing: .06em; }

/* Review text */
.kc-tcard__text {
  font-size: .9375rem;
  line-height: 1.75;
  color: var(--body);
  font-style: italic;
  flex: 1;
  margin: 0;
}

/* Author row */
.kc-tcard__author {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  margin-top: auto;
}
.kc-tcard__avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  color: #fff;
  font-size: .9375rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.kc-tcard__name  { font-size: .9375rem; font-weight: 700; color: var(--dark); margin: 0; line-height: 1.2; }
.kc-tcard__role  { font-size: .8125rem; color: var(--muted); margin: .1rem 0 0; }

/* Slick dots override */
.kc-tslider .slick-dots { bottom: 0; }
.kc-tslider .slick-dots li button:before {
  color: var(--p);
  font-size: 8px;
  opacity: .3;
}
.kc-tslider .slick-dots li.slick-active button:before { opacity: 1; }

/* Prev / Next arrows */
.kc-slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--white);
  border: 1.5px solid var(--border);
  color: var(--p);
  font-size: .9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(59,91,166,.12);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.kc-slick-arrow:hover {
  background: var(--p);
  color: #fff;
  border-color: var(--p);
  box-shadow: 0 4px 16px rgba(59,91,166,.28);
}
.kc-slick-prev { left: 0; }
.kc-slick-next { right: 0; }

/* =============================================
   ABOUT PAGE
   ============================================= */

/* ── Hero ── */
.kc-about-hero {
  background: linear-gradient(135deg, var(--p) 0%, #253e88 100%);
  padding: 50px 0 50px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.kc-about-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 110%, rgba(255,255,255,.06) 0%, transparent 70%);
  pointer-events: none;
}
.kc-about-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 2rem;
  padding: .35rem .9rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
  margin-bottom: 1.25rem;
}
.kc-about-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
  margin-bottom: .875rem;
  line-height: 1.2;
}
.kc-about-hero__sub {
  font-size: 1.0625rem;
  color: rgba(255,255,255,.72);
  max-width: 560px;
  margin: 0 auto 2rem;
  line-height: 1.7;
}
.kc-about-hero__stats {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--r-lg);
  padding: .75rem 1.5rem;
}
.kc-about-hero__stat {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 600;
  color: rgba(255,255,255,.9);
  padding: .25rem .875rem;
}
.kc-about-hero__stat i { font-size: .9rem; }
.kc-about-hero__sep {
  width: 1px; height: 20px;
  background: rgba(255,255,255,.25);
  flex-shrink: 0;
}

/* ── Highlight box (right col) ── */
.kc-about-highlight-box {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: 0 4px 28px rgba(59,91,166,.09);
}
.kc-about-highlight-box__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem 1.75rem;
  background: var(--p-lt);
  border-bottom: 1px solid var(--border);
}
.kc-about-highlight-box__header > div:first-child {
  width: 50px; height: 50px;
  border-radius: 50%;
  background: var(--p);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}
.kc-about-highlight-box__name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  margin: 0 0 .2rem;
}
.kc-about-highlight-box__loc {
  font-size: .8125rem;
  color: var(--muted);
  margin: 0;
  display: flex; align-items: center; gap: .3rem;
}
.kc-about-highlight-box__loc i { color: var(--cta); font-size: .75rem; }
.kc-about-highlight-box__divider { height: 1px; background: var(--border); }
.kc-about-highlight-box__list {
  list-style: none;
  margin: 0;
  padding: 1.25rem 1.75rem;
  display: grid;
  gap: .75rem;
}
.kc-about-highlight-box__list li {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  font-size: .9rem;
  color: var(--body);
  line-height: 1.5;
}
.kc-about-highlight-box__list li i {
  color: var(--g);
  font-size: .8rem;
  margin-top: .175rem;
  flex-shrink: 0;
}
.kc-about-highlight-box__footer {
  padding: .875rem 1.75rem;
  background: var(--light);
  border-top: 1px solid var(--border);
  font-size: .8125rem;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: .5rem;
}
.kc-about-highlight-box__footer i { color: var(--p); }

/* ── CTA row buttons ── */
.kc-about-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
@media (max-width: 991.98px) {
  .kc-about-cta-row {
    justify-content: center;
  }
}

/* ── Mission / Vision / Values cards — horizontal accent style ── */
.kc-mvv-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-left: 4px solid var(--p);
  border-radius: var(--r-lg);
  padding: 1.75rem 1.625rem;
  height: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1.125rem;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-mvv-card:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.kc-mvv-card__icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.125rem;
  flex-shrink: 0;
}
.kc-mvv-card__body { flex: 1; }
.kc-mvv-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: .5rem;
}
.kc-mvv-card__text {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.75;
  margin: 0;
}

/* ── Service cards (about page) — top banner style ── */
.kc-about-svc-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-about-svc-card:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); }
.kc-about-svc-card__head {
  padding: 1.625rem 1.625rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid var(--border);
  background: var(--light);
}
.kc-about-svc-card__icon {
  width: 52px; height: 52px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.kc-about-svc-card__title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--dark);
  margin: 0;
}
.kc-about-svc-card__body {
  padding: 1.25rem 1.625rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.kc-about-svc-card__text {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.75;
  flex: 1;
  margin-bottom: 1rem;
}
.kc-about-svc-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: 1.125rem;
}
.kc-about-svc-card__tags span {
  font-size: .72rem;
  font-weight: 600;
  background: var(--p-lt);
  border: 1px solid rgba(59,91,166,.15);
  border-radius: 2rem;
  padding: .2rem .65rem;
  color: var(--p);
}
.kc-about-svc-card__link {
  font-size: .875rem;
  font-weight: 700;
  color: var(--p);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  margin-top: auto;
  padding-top: .75rem;
  border-top: 1px solid var(--border);
}
.kc-about-svc-card__link:hover { gap: .6rem; }
.kc-about-svc-card__link i { font-size: .75rem; transition: transform .2s; }
.kc-about-svc-card__link:hover i { transform: translateX(3px); }

/* ── About page trust cards (why choose us grid) ── */
.kc-about-trust-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 1.625rem 1.5rem;
  height: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-about-trust-card:hover { box-shadow: var(--sh-md); transform: translateY(-3px); }
.kc-about-trust-card__icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--p-lt);
  color: var(--p);
  font-size: 1rem;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.kc-about-trust-card__body { flex: 1; }
.kc-about-trust-card__title {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--dark);
  margin: 0 0 .3rem;
  line-height: 1.3;
}
.kc-about-trust-card__text {
  font-size: .8125rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

/* ── Contact page stat cards ── */
.kc-section-contact-page { padding-top: 48px; }
.kc-contact-stat {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 1.5rem 1.25rem;
  text-align: center;
  height: 100%;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-contact-stat:hover { box-shadow: var(--sh-md); transform: translateY(-3px); }
.kc-contact-stat__icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--p-lt);
  color: var(--p);
  font-size: 1rem;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto .875rem;
}
.kc-contact-stat__val {
  font-size: 1.625rem;
  font-weight: 800;
  color: var(--p);
  line-height: 1.1;
  margin: 0 0 .3rem;
}
.kc-contact-stat__label {
  font-size: .8rem;
  color: var(--muted);
  margin: 0;
  line-height: 1.4;
}

/* ── Bottom CTA strip ── */
.kc-about-cta-section { padding: 40px 0 80px; background: var(--white); }
.kc-about-cta-strip {
  background: linear-gradient(135deg, var(--p) 0%, #253e88 100%);
  border-radius: var(--r-xl);
  padding: 2.25rem 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem;
  overflow: hidden;
}
.kc-about-cta-strip__title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 .375rem;
}
.kc-about-cta-strip__sub {
  font-size: .875rem;
  color: rgba(255,255,255,.65);
  margin: 0;
}
.kc-about-cta-strip__btns { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (max-width: 575.98px) {
  .kc-about-cta-strip { padding: 1.5rem; flex-direction: column; align-items: flex-start; }
  .kc-about-cta-strip__btns { flex-wrap: nowrap; width: 100%; }
  .kc-about-cta-strip__btns .kc-btn { flex: 1; justify-content: center; font-size: .875rem; padding: .65rem .5rem; }
  .kc-about-who-text p { text-align: justify; }
  .kc-about-hero { padding: 40px 0 36px; }
  .kc-about-hero__sub { font-size: .9375rem; margin-bottom: 1.5rem; }
  .kc-about-hero__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    padding: .875rem 1rem;
    width: 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  .kc-about-hero__stat {
    justify-content: center;
    text-align: center;
    flex-direction: column;
    gap: .3rem;
    padding: .6rem .5rem;
    background: rgba(255,255,255,.08);
    border-radius: var(--r-md);
    font-size: .8rem;
  }
  .kc-about-hero__stat i { font-size: 1.1rem; }
  .kc-about-hero__sep { display: none; }
  /* 3-stat grid (contact page): make the lone third box span full width */
  .kc-about-hero__stats .kc-about-hero__stat:nth-child(5):last-child {
    grid-column: 1 / -1;
  }
}

/* =============================================
   TRUST PILLS
   ============================================= */
.kc-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem;
}
.kc-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem 1rem;
  background: rgba(50,134,72,.08);
  border: 1px solid rgba(50,134,72,.22);
  border-radius: 2rem;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--g);
  white-space: nowrap;
}
.kc-trust-pill i { font-size: .8125rem; }

/* =============================================
   CONTACT PANEL v2 (Home page)
   ============================================= */
.kc-contact-section { background: #fff; }

.kc-cp2 {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  box-shadow: 0 4px 24px rgba(59,91,166,.07);
  position: relative;
  overflow: hidden;
}
.kc-cp2::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--p), var(--g));
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}

/* Phone highlight row */
.kc-cp2__phone-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--p-lt);
  border-radius: var(--r-lg);
  padding: 1rem 1.25rem;
}
.kc-cp2__phone-icon {
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--p);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.kc-cp2__phone-label {
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  margin: 0 0 .2rem;
}
.kc-cp2__phone-num {
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--p);
  text-decoration: none;
  letter-spacing: -.01em;
}
.kc-cp2__phone-num:hover { color: var(--p-dk); }

/* CTA buttons */
.kc-cp2__buttons {
  display: flex;
  gap: .625rem;
}
.kc-btn-full { flex: 1; justify-content: center; }

/* Info items */
.kc-cp2__info {
  display: grid;
  gap: .75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.kc-cp2__info-item {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .875rem;
  color: var(--body);
  line-height: 1.5;
}
.kc-cp2__info-icon {
  width: 28px; height: 28px;
  border-radius: 6px;
  background: var(--p-lt);
  color: var(--p);
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem;
  flex-shrink: 0;
  margin-top: .05rem;
}

/* ── Old contact-panel kept for Contact page ── */
.kc-contact-panel {
  background: linear-gradient(145deg, var(--p) 0%, #253e88 100%);
  border-radius: var(--r-xl);
  padding: 2.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.kc-contact-panel::after {
  content: '';
  position: absolute;
  bottom: -60px; right: -60px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  pointer-events: none;
}
.kc-contact-panel__eyebrow {
  font-size: .8rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: .5rem;
}
.kc-contact-panel__title {
  font-size: 1.625rem; font-weight: 800; color: var(--white);
  letter-spacing: -.02em; margin-bottom: .75rem; line-height: 1.2;
}
.kc-contact-panel__sub { font-size: .9rem; color: rgba(255,255,255,.6); margin-bottom: 1.5rem; }
.kc-contact-panel__phone {
  font-size: 1.625rem; font-weight: 800; color: var(--white);
  letter-spacing: -.01em; margin-bottom: 1.25rem;
  display: flex; align-items: center; gap: .625rem;
}
.kc-contact-panel__phone i { font-size: 1.25rem; color: rgba(255,255,255,.6); }
.kc-contact-panel__buttons { display: flex; flex-wrap: wrap; gap: .625rem; margin-bottom: 1.75rem; }
.kc-contact-panel__meta {
  margin-top: auto; border-top: 1px solid rgba(255,255,255,.15);
  padding-top: 1.375rem; display: grid; gap: .75rem;
}
.kc-contact-panel__meta-row {
  display: flex; align-items: flex-start; gap: .625rem;
  font-size: .875rem; color: rgba(255,255,255,.65);
}
.kc-contact-panel__meta-row i { width: 16px; flex-shrink: 0; margin-top: .125rem; }

/* Map */
.kc-map-wrap {
  height: 100%;
  min-height: 400px;
  position: relative;
}
.kc-map-wrap2 {
  height: 100%;
  min-height: 420px;
  max-height: 480px;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(59,91,166,.10);
  position: relative;
  border: 1px solid var(--border);
  display: block;
}
.kc-map-label {
  position: absolute;
  top: 1rem; left: 50%; transform: translateX(-50%);
  z-index: 2;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 2rem;
  padding: .45rem 1rem;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--p);
  white-space: nowrap;
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
  display: flex; align-items: center; gap: .4rem;
}
.kc-map-label i { color: var(--cta); }
.kc-map {
  width: 100%;
  height: 420px;
  min-height: unset;
  border: 0;
  border-radius: var(--r-lg);
  display: block;
  display: block;
}

/* =============================================
   FOOTER
   ============================================= */
/* ── Footer ── */
.kc-footer {
  background-color: #0a1f14;
  background-image:
    /* subtle dot grid */
    radial-gradient(circle, rgba(50,134,72,.18) 1px, transparent 1px),
    /* top-right glow */
    radial-gradient(ellipse 55% 45% at 95% 0%, rgba(50,134,72,.12) 0%, transparent 70%),
    /* bottom-left glow */
    radial-gradient(ellipse 45% 40% at 5% 100%, rgba(59,91,166,.1) 0%, transparent 65%);
  background-size: 28px 28px, 100% 100%, 100% 100%;
  padding: 0;
}

/* Top CTA strip */
.kc-footer__cta-strip {
  background: linear-gradient(135deg, var(--p) 0%, #1e2f6e 100%);
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}
.kc-footer__cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.kc-footer__cta-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 .2rem;
}
.kc-footer__cta-sub {
  font-size: .8125rem;
  color: rgba(255,255,255,.65);
  margin: 0;
}
.kc-footer__cta-btns {
  display: flex;
  gap: .625rem;
  flex-shrink: 0;
}

/* Main columns */
.kc-footer__main { padding:0; }

.kc-footer__brand {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}
.kc-footer__brand img {
  width: 42px; height: 42px;
  border-radius: var(--r-sm);
  object-fit: cover;
}
.kc-footer__brand-name {
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.015em;
}
.kc-footer__desc {
  font-size: .875rem;
  color: rgb(255 255 255 / 68%);
  line-height: 1.75;
  margin-bottom: 1.5rem;
}

/* Info list */
.kc-footer__info-list { display: flex; flex-direction: column; gap: .625rem; }
.kc-footer__info-row {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  font-size: .85rem;
  color: rgb(255 255 255 / 68%);
}
.kc-footer__info-icon {
  width: 28px; height: 28px;
  border-radius: 7px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem;
  color: var(--p);
  flex-shrink: 0;
}
.kc-footer__info-link { color: rgba(255,255,255,.6); transition: color var(--dur) var(--ease); }
.kc-footer__info-link:hover { color: #fff; }

/* Column headings */
.kc-footer__heading {
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 1.25rem;
  padding-bottom: .625rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

/* Nav links */
.kc-footer__nav { display: flex; flex-direction: column; gap: .125rem; }
.kc-footer__link {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  color: rgb(255 255 255 / 68%);
  padding: .375rem 0;
  transition: color var(--dur) var(--ease), gap var(--dur) var(--ease);
}
.kc-footer__link i { font-size: .6rem; opacity: .5; flex-shrink: 0; }
.kc-footer__link:hover { color: var(--white); gap: .75rem; }
.kc-footer__link:hover i { opacity: 1; color: var(--p); }

/* Social icons */
.kc-footer__socials {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem;
  margin-top: .25rem;
}
.kc-footer__social {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem;
  color: rgba(255,255,255,.5);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-footer__social:hover {
  background: var(--sc, #fff);
  border-color: var(--sc, #fff);
  color: #fff;
  transform: translateY(-3px);
}

/* Address card */
.kc-footer__address-card {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.kc-footer__address-map iframe {
  border-radius: 0;
  filter: grayscale(30%) brightness(0.9);
}
.kc-footer__address-body {
  padding: .875rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  background: rgba(255,255,255,.03);
}
.kc-footer__directions {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: .8rem;
  font-weight: 600;
  color: #fff;
  margin-top: .25rem;
  transition: color var(--dur) var(--ease);
}
.kc-footer__directions:hover { color: #fff; }

/* Bottom bar */
.kc-footer__bottom {
  margin-top: 3rem;
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 1.25rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.kc-footer__copy { font-size: .8rem; color:rgb(255 255 255 / 62%); }

/* =============================================
   FLOATING CTA (mobile sticky bar)
   ============================================= */
.kc-sticky-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 1050;
  padding: .5rem 1rem;
  padding-bottom: calc(.5rem + env(safe-area-inset-bottom, 0px));
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 -2px 24px rgba(0,0,0,.08);
}

@media (max-width: 991.98px) {
  .kc-sticky-bar {
    display: flex;
    gap: .5rem;
    transform: translateY(110%);
    opacity: 0;
    transition: transform .42s cubic-bezier(.34,1.15,.64,1), opacity .3s ease;
  }
  .kc-sticky-bar.kc-sticky-bar--visible {
    transform: translateY(0);
    opacity: 1;
  }
}

.kc-sticky-bar__btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: .55rem .5rem;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.kc-sticky-bar__btn i { font-size: .95rem; line-height: 1; }
.kc-sticky-bar__btn:active { transform: scale(.96); }

.kc-sticky-bar__btn--call {
  background: var(--cta);
  color: #fff;
  box-shadow: 0 3px 14px rgba(220,38,38,.25);
}
.kc-sticky-bar__btn--call:hover { color: #fff; filter: brightness(1.06); box-shadow: 0 5px 18px rgba(220,38,38,.35); }

.kc-sticky-bar__btn--wa {
  background: var(--g);
  color: #fff;
  box-shadow: 0 3px 14px rgba(37,211,102,.25);
}
.kc-sticky-bar__btn--wa:hover { color: #fff; filter: brightness(1.06); box-shadow: 0 5px 18px rgba(37,211,102,.35); }

/* Desktop floating WhatsApp FAB */
.kc-fab {
  position: fixed;
  bottom: 28px; right: 28px;
  z-index: 1050;
  width: 58px; height: 58px;
  border-radius: 50%;
  background: var(--g);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.625rem;
  text-decoration: none;
  box-shadow: 0 6px 24px rgba(50,134,72,.40);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.kc-fab:hover { transform: scale(1.12); box-shadow: 0 10px 32px rgba(50,134,72,.5); color: var(--white); }
@media (max-width: 991.98px) { .kc-fab { display: none; } }

/* =============================================
   INNER PAGE — INFO CARDS
   ============================================= */
/* ── Final CTA block ── */
.kc-final-cta {
  position: relative;
  background: linear-gradient(135deg, var(--p) 0%, #1e2f6e 100%);
  border-radius: 24px;
  padding: 3rem 2.5rem;
  overflow: hidden;
  margin-bottom: 2rem;
}
.kc-final-cta__blob {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.kc-final-cta__blob--1 {
  width: 280px; height: 280px;
  background: rgba(255,255,255,.05);
  top: -80px; right: -60px;
}
.kc-final-cta__blob--2 {
  width: 160px; height: 160px;
  background: rgba(255,255,255,.04);
  bottom: -50px; left: 60px;
}
.kc-final-cta__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
}
.kc-final-cta__icon {
  width: 64px; height: 64px;
  border-radius: 18px;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  color: #fff;
  flex-shrink: 0;
}
.kc-final-cta__content { flex: 1; min-width: 220px; }
.kc-final-cta__eyebrow {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: .4rem;
}
.kc-final-cta__title {
  font-size: clamp(1.375rem, 3vw, 2rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.025em;
  margin-bottom: .5rem;
  line-height: 1.2;
}
.kc-final-cta__sub {
  font-size: .9rem;
  color: rgba(255,255,255,.7);
  line-height: 1.7;
  margin-bottom: 1rem;
}
.kc-final-cta__pills {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.kc-final-cta__pills span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  padding: .28rem .75rem;
  border-radius: 999px;
}
.kc-final-cta__btns {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .75rem;
  flex-shrink: 0;
}
.kc-final-cta__btns .kc-btn { width: 100%; justify-content: center; }

@media (max-width: 575.98px) {
  .kc-final-cta {
    padding: 1.75rem 1.25rem;
    border-radius: 16px;
  }
  .kc-final-cta__blob { display: none; }
  .kc-final-cta__inner {
    flex-direction: column;
    gap: 1.25rem;
  }
  .kc-final-cta__btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: .625rem;
  }
  .kc-final-cta__btns .kc-btn {
    width: auto;
    font-size: .8rem;
    padding: .65rem .5rem;
  }
  .kc-final-cta__timing {
    grid-column: 1 / -1;
    font-size: .72rem;
    margin: 0;
  }
}
.kc-final-cta__timing {
  font-size: .75rem;
  color: rgba(255,255,255,.5);
  margin: 0;
  display: flex;
  align-items: center;
  gap: .35rem;
}

/* ── How-to step cards ── */
.kc-how-card {
  position: relative;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 2rem 1.75rem 1.75rem;
  height: 100%;
  text-align: center;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-how-card:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); }

.kc-how-card__num {
  position: absolute;
  top: -14px; left: 50%;
  transform: translateX(-50%);
  background: var(--p);
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .06em;
  padding: .25rem .7rem;
  border-radius: 999px;
  line-height: 1.6;
}
.kc-how-card__icon-wrap {
  width: 64px; height: 64px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  margin: 0 auto 1.1rem;
}
.kc-how-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: .5rem;
}
.kc-how-card__text {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}
/* Arrow connector between cards */
.kc-how-card__arrow {
  position: absolute;
  top: 50%; right: -22px;
  transform: translateY(-50%);
  z-index: 2;
  width: 36px; height: 36px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--p);
  font-size: .75rem;
  box-shadow: var(--sh-sm);
}

/* ── Delivery banner ── */
.kc-delivery-banner {
  background: linear-gradient(135deg, var(--p) 0%, #253e88 100%);
  padding: 3rem 0;
  position: relative;
  overflow: hidden;
}
.kc-delivery-banner::after {
  content: '';
  position: absolute;
  right: -60px; top: -60px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  pointer-events: none;
}
.kc-delivery-banner__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
.kc-delivery-banner__icon-wrap {
  width: 52px; height: 52px;
  border-radius: var(--r-md);
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  color: #fff;
  flex-shrink: 0;
}
.kc-delivery-banner__eyebrow {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin: 0 0 .2rem;
}
.kc-delivery-banner__title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  margin: 0;
  letter-spacing: -.02em;
}
.kc-delivery-banner__stats {
  display: flex;
  align-items: center;
  gap: 0;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r-lg);
  padding: 1.5rem 2rem;
  flex-wrap: wrap;
}
.kc-delivery-stat {
  flex: 1;
  min-width: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .35rem;
  padding: .5rem 1rem;
}
.kc-delivery-stat__val {
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1;
}
.kc-delivery-stat__icon {
  font-size: .8rem;
  color: rgba(255,255,255,.5);
}
.kc-delivery-stat__label {
  font-size: .8rem;
  color: rgba(255,255,255,.65);
  font-weight: 500;
}
.kc-delivery-banner__divider {
  width: 1px;
  height: 60px;
  background: rgba(255,255,255,.15);
  flex-shrink: 0;
}
@media (max-width: 575px) {
  .kc-delivery-banner__divider { display: none; }
  .kc-delivery-banner__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .kc-delivery-stat { min-width: unset; }
}

@media (max-width: 575.98px) {
  .kc-ms-intro-text p,
  .kc-cc-intro-text p,
  .kc-sc-intro-text p { text-align: justify; }
}

/* ── Provide cards (medical store "What we provide") ── */
.kc-provide-card {
  position: relative;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 1.75rem 1.5rem 1.5rem;
  height: 100%;
  overflow: hidden;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-provide-card:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); }
.kc-provide-card__accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  border-radius: var(--r-lg) var(--r-lg) 0 0;
}
.kc-provide-card__icon {
  width: 52px; height: 52px;
  border-radius: var(--r-md);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 1.1rem;
}
.kc-provide-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: .45rem;
}
.kc-provide-card__text {
  font-size: .875rem;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

.kc-info-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 1.625rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  height: 100%;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.kc-info-card:hover { box-shadow: var(--sh-md); transform: translateY(-2px); }

.kc-info-card__icon {
  width: 52px; height: 52px;
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
  background: var(--p-lt);
  color: var(--p);
}
.kc-info-card__icon--green { background: var(--g-lt); color: var(--g); }
.kc-info-card__icon--red { background: var(--cta-lt); color: var(--cta); }

.kc-info-card__title { font-size: 1rem; font-weight: 700; color: var(--dark); margin-bottom: .3rem; }
.kc-info-card__text { font-size: .9rem; color: var(--muted); line-height: 1.65; margin: 0; }

/* Sidebar CTA */
.kc-sidebar {
  background: var(--light);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 2rem;
  position: sticky;
  top: 90px;
}
.kc-sidebar__title { font-size: 1.25rem; font-weight: 700; color: var(--dark); margin-bottom: .375rem; }
.kc-sidebar__sub { font-size: .9rem; color: var(--muted); margin-bottom: 1.375rem; }

/* =============================================
   UTILITIES
   ============================================= */
.text-p     { color: var(--p) !important; }
.text-g     { color: var(--g) !important; }
.text-cta   { color: var(--cta) !important; }
.text-muted-kc { color: var(--muted) !important; }
.text-dark-kc  { color: var(--dark) !important; }
.bg-light-kc   { background: var(--light) !important; }
.fs-sm      { font-size: .875rem !important; }
.fs-xs      { font-size: .8125rem !important; }
.fw-800     { font-weight: 800 !important; }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 991.98px) {
  .kc-section { padding: 64px 0; }
  .kc-hero { padding: 60px 0 56px; }
  /* Centre hero text when columns stack */
  .kc-hero .col-lg-6,
  .kc-hero .col-xl-7 { text-align: center; }
  .kc-hero__tag { margin-left: auto; margin-right: auto; }
  .kc-hero__buttons { justify-content: center; }
  .kc-hero__features { justify-content: center; }
  .kc-hero__lead { color: var(--dark); text-align: justify; }
  .kc-footer__main { padding: 1.5rem 0 0; }
  .kc-footer__cta-inner { flex-direction: column; text-align: center; }
  .kc-footer__cta-btns { justify-content: center; }
  .kc-contact-panel { border-radius: var(--r-lg); }
  .kc-map-wrap2 { min-height: unset; max-height: unset; border-radius: var(--r-lg); }
  .kc-map { height: 360px; border-radius: var(--r-lg); }
}
@media (max-width: 575.98px) {
  .kc-section { padding: 48px 0; }
  .kc-hero { padding: 44px 0; }
  .kc-hero__buttons .kc-btn { width: 100%; }
  .kc-contact-panel { padding: 1.75rem; }
  .kc-cp2 { padding: 1.5rem; }
  .kc-cp2__buttons { flex-direction: row; gap: .5rem; }
  .kc-cp2__buttons .kc-btn { font-size: .8rem; padding: .6rem .75rem; }
  .kc-map-wrap2 { min-height: unset; }
  .kc-map { height: 280px; }
  .kc-footer__bottom { flex-direction: column; align-items: flex-start; gap: .25rem; }
}
