/* ── Global Section Spacing ── */
.kc-about-intro,
.kc-mission-sec,
.kc-values-sec,
.kc-certs-sec,
.kc-why-about,
.kc-team-intro,
.kc-team-grid-sec,
.kc-join-sec,
.kc-srv-intro,
.kc-services-list,
.kc-srv-areas,
.kc-srv-testimonials,
.kc-areas-intro,
.kc-ct-section,
.kc-ma-section,
.kc-areas-tests,
.kc-state-intro,
.kc-state-cities,
.kc-gallery-intro,
.kc-gallery-grid-sec,
.kc-contact-cards,
.kc-contact-main,
.kc-contact-services,
.kc-cfr-intro,
.kc-cfr-eligibility,
.kc-cfr-stories,
.kc-cfr-partners {
  padding-top:60px;
  padding-bottom:60px;
}
@media(max-width:991px){
  .kc-about-intro,.kc-mission-sec,.kc-values-sec,.kc-certs-sec,
  .kc-why-about,.kc-team-intro,.kc-team-grid-sec,.kc-join-sec,
  .kc-srv-intro,.kc-services-list,.kc-srv-areas,.kc-srv-testimonials,
  .kc-areas-intro,.kc-ct-section,.kc-ma-section,.kc-areas-tests,
  .kc-state-intro,.kc-state-cities,.kc-gallery-intro,.kc-gallery-grid-sec,
  .kc-contact-cards,.kc-contact-main,.kc-contact-services,
  .kc-cfr-intro,.kc-cfr-eligibility,.kc-cfr-stories,.kc-cfr-partners {
    padding-top:40px;
    padding-bottom:40px;
  }
}
@media(max-width:767px){
  .kc-about-intro,.kc-mission-sec,.kc-values-sec,.kc-certs-sec,
  .kc-why-about,.kc-team-intro,.kc-team-grid-sec,.kc-join-sec,
  .kc-srv-intro,.kc-services-list,.kc-srv-areas,.kc-srv-testimonials,
  .kc-areas-intro,.kc-ct-section,.kc-ma-section,.kc-areas-tests,
  .kc-state-intro,.kc-state-cities,.kc-gallery-intro,.kc-gallery-grid-sec,
  .kc-contact-cards,.kc-contact-main,.kc-contact-services,
  .kc-cfr-intro,.kc-cfr-eligibility,.kc-cfr-stories,.kc-cfr-partners {
    padding-top:32px;
    padding-bottom:32px;
  }
  /* Mobile: no horizontal scroll */
  html,body{overflow-x:hidden !important;max-width:100vw !important}
  .container{padding-left:16px !important;padding-right:16px !important}
  .row{margin-left:0 !important;margin-right:0 !important}
  [class*="col-"]{padding-left:10px !important;padding-right:10px !important}
}

/* ============================================
   KINGDOM CLEANING — INNER PAGES CSS
   ============================================ */

/* ── Page Hero ── */
.page-hero{
  position:relative;width:100%;
  height:55vh;min-height:380px;max-height:580px;
  display:flex;align-items:flex-end;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-color:var(--navy);overflow:hidden;
}
.page-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(4,8,16,.92) 0%,rgba(4,8,16,.68) 45%,rgba(4,8,16,.35) 100%);
}
.page-hero__content{position:relative;z-index:2;width:100%;padding-bottom:44px}
.page-hero__title{
  font-family:var(--fd);font-weight:900;color:#fff;
  font-size:clamp(1.8rem,4vw,3rem);line-height:1.2;
  margin-bottom:12px;
  text-shadow:0 2px 12px rgba(0,0,0,.6);
}
.page-hero__sub{
  font-family:var(--fb);font-size:.95rem;
  color:rgba(255,255,255,.75);max-width:600px;line-height:1.7;
}
/* Breadcrumb */
.page-breadcrumb{margin-bottom:14px}
.breadcrumb-list{
  display:flex;align-items:center;gap:6px;
  list-style:none;padding:0;margin:0;flex-wrap:wrap;
}
.breadcrumb-list li{font-size:.76rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px}
.breadcrumb-list li:not(:last-child)::after{content:'›';color:rgba(255,255,255,.35)}
.breadcrumb-list li a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
.breadcrumb-list li a:hover{color:var(--red-light)}
.breadcrumb-list li[aria-current]{color:var(--red-light)}
@media(max-width:767px){
  .page-hero{height:48vh;min-height:300px;max-height:440px}
  .page-hero__title{font-size:clamp(1.35rem,5.5vw,1.9rem)}
  .page-hero__content{padding-bottom:24px}
}

/* ── CTA Banner ── */
.kc-cta-banner{
  position:relative;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);
  background-size:cover;background-position:center;
  padding:80px 0;overflow:hidden;
}
.kc-cta-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(4,8,16,.88) 0%,rgba(220,20,60,.4) 100%)}
.kc-cta-banner__overlay{display:none}
.kc-cta-banner__content{position:relative;z-index:1}
.cta-eyebrow{font-family:var(--fd);font-size:.72rem;color:#ffb3c1;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px}
.btn-lg-cta{font-size:1rem!important;padding:14px 32px!important}
@media(max-width:767px){.kc-cta-banner{padding:52px 0}}

/* ── FAQ Accordion ── */
.kc-faq{background:var(--g100);padding:64px 0}
.kc-accordion{max-width:820px;margin:0 auto}
.kc-acc-item{background:#fff;border-radius:var(--r);margin-bottom:10px;border:1px solid var(--g200);overflow:hidden;transition:box-shadow .25s}
.kc-acc-item:has(.kc-acc-btn[aria-expanded="true"]){box-shadow:0 6px 24px rgba(220,20,60,.1);border-color:rgba(220,20,60,.2)}
.kc-acc-btn{
  width:100%;background:none;border:none;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;cursor:pointer;
  font-family:var(--fd);font-weight:700;font-size:.95rem;
  color:var(--dark);text-align:left;gap:12px;
  transition:color .2s;
}
.kc-acc-btn:hover,.kc-acc-btn[aria-expanded="true"]{color:var(--red)}
.kc-acc-icon{font-size:.8rem;flex-shrink:0;transition:transform .28s ease;color:var(--red)}
.kc-acc-btn[aria-expanded="true"] .kc-acc-icon{transform:rotate(180deg)}
.kc-acc-body{
  max-height:0;overflow:hidden;
  transition:max-height .32s ease,padding .28s;
  padding:0 22px;
}
.kc-acc-body.open{max-height:300px;padding:0 22px 18px}
.kc-acc-body p{font-family:var(--fb);font-size:.9rem;color:var(--g700);line-height:1.75}
@media(max-width:767px){.kc-faq{padding:44px 0}.kc-acc-btn{padding:14px 16px;font-size:.9rem}.kc-acc-body.open{padding:0 16px 14px}}

/* ── Prose (rich text) ── */
.kc-prose{font-family:var(--fb);font-size:.93rem;color:var(--g700);line-height:1.8}
.kc-prose p{margin-bottom:14px}
.kc-prose strong{color:var(--dark);font-weight:700}
.kc-prose ul{padding-left:20px;margin-bottom:14px}
.kc-prose ul li{margin-bottom:6px}

/* ── About Page ── */
.kc-about-img-wrap{position:relative;border-radius:var(--r);overflow:hidden}
.kc-about-img-wrap img{width:100%;height:440px;object-fit:cover;display:block;border-radius:var(--r)}
.kc-img-badge{position:absolute;bottom:20px;left:20px;background:#fff;border-radius:var(--rs);padding:12px 18px;box-shadow:0 8px 28px rgba(0,0,0,.15);display:flex;align-items:center;gap:10px}
.kib-num{font-family:var(--fd);font-weight:900;font-size:1.8rem;color:var(--red);line-height:1}
.kib-lbl{font-size:.72rem;color:var(--g500);line-height:1.3}
.kc-about-intro{padding:64px 0}
/* Mission / Vision */
.kc-mission-sec{background:var(--g100);padding:64px 0}
.kc-mv-card{border-radius:var(--r);padding:36px;height:100%;border-left:4px solid transparent}
.kc-mv-mission{background:#fff;border-color:var(--red)}
.kc-mv-vision{background:#fff;border-color:var(--navy)}
.kc-mv-icon{font-size:2.4rem;margin-bottom:14px}
.kc-mv-title{font-family:var(--fd);font-weight:800;font-size:1.15rem;color:var(--dark);margin-bottom:10px}
.kc-mv-text{font-family:var(--fb);font-size:.9rem;color:var(--g700);line-height:1.75}
/* Values */
.kc-values-sec{padding:64px 0}
.kc-value-card{background:#fff;border-radius:var(--r);padding:28px 22px;text-align:center;border:1px solid var(--g200);transition:var(--tr);height:100%}
.kc-value-card:hover{transform:translateY(-5px);box-shadow:var(--shm);border-color:rgba(220,20,60,.2)}
.kc-value-icon{font-size:2.4rem;margin-bottom:12px;display:block}
.kc-value-title{font-family:var(--fd);font-weight:700;font-size:1rem;color:var(--dark);margin-bottom:7px}
.kc-value-text{font-family:var(--fb);font-size:.85rem;color:var(--g500);line-height:1.7}
/* Certs */
.kc-certs-sec{background:var(--off);padding:56px 0}
.kc-cert-card{text-align:center;padding:20px 10px}
.kc-why-about,.kc-why-about+section{padding:60px 0}
@media(max-width:767px){
  .kc-about-img-wrap img{height:260px}
  .kc-about-intro,.kc-mission-sec,.kc-values-sec,.kc-certs-sec{padding:44px 0}
}

/* ── Team Page ── */
.kc-team-intro{padding:60px 0}
.kc-team-badge{background:#fff;border-radius:var(--r);border:1px solid var(--g200);padding:18px;text-align:center;transition:var(--tr)}
.kc-team-badge:hover{border-color:rgba(220,20,60,.3);transform:translateY(-3px)}
.kc-team-badge span{font-size:2rem;display:block;margin-bottom:6px}
.kc-team-badge p{font-family:var(--fd);font-weight:700;font-size:.82rem;color:var(--dark);margin:0}
/* Team Grid: 4 cols */
.kc-team-grid-sec{background:var(--g100);padding:64px 0}
.kc-team-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  justify-items:center;
}
.kc-team-card{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--g200);transition:var(--tr)}
.kc-team-card:hover{transform:translateY(-5px);box-shadow:var(--shm)}
.kc-team-card__img{position:relative;aspect-ratio:1;overflow:hidden}
.kc-team-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.kc-team-card:hover .kc-team-card__img img{transform:scale(1.06)}
.kc-team-placeholder{width:100%;aspect-ratio:1;background:linear-gradient(135deg,var(--g100),var(--g200));display:flex;align-items:center;justify-content:center}
.kc-team-placeholder i{font-size:4rem;color:var(--g500)}
.kc-team-card__overlay{
  position:absolute;inset:0;
  background:rgba(4,8,16,.82);
  display:flex;align-items:center;padding:16px;
  opacity:0;transition:opacity .3s ease;
}
.kc-team-card:hover .kc-team-card__overlay{opacity:1}
.kc-team-bio{font-family:var(--fb);font-size:.8rem;color:rgba(255,255,255,.9);line-height:1.6;margin:0}
.kc-team-card__info{padding:16px}
.kc-team-name{font-family:var(--fd);font-weight:700;font-size:.95rem;color:var(--dark);margin-bottom:3px}
.kc-team-role{font-family:var(--fb);font-size:.8rem;color:var(--red);margin-bottom:5px}
.kc-team-years{font-size:.72rem;color:var(--g500);display:flex;align-items:center;gap:4px}
@media(max-width:991px){.kc-team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.kc-team-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:420px){.kc-team-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
/* Join section */
.kc-join-sec{padding:64px 0}
.kc-join-visual{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kc-join-card{background:#fff;border-radius:var(--r);padding:22px;border:1px solid var(--g200);transition:var(--tr)}
.kc-join-card:hover{border-color:rgba(220,20,60,.25);transform:translateY(-3px)}
.kjc-icon{font-size:2rem;margin-bottom:10px}
.kc-join-card h3{font-family:var(--fd);font-weight:700;font-size:.95rem;color:var(--dark);margin-bottom:6px}
.kc-join-card p{font-family:var(--fb);font-size:.82rem;color:var(--g500);line-height:1.65}
@media(max-width:767px){.kc-join-visual{grid-template-columns:1fr 1fr;gap:10px}.kc-join-sec{padding:44px 0}}

/* ── Services Page ── */
.kc-srv-intro{padding:64px 0}
.kc-srv-intro-visual{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.ksv-chip{background:#fff;border:1.5px solid var(--g200);border-radius:50px;padding:10px 18px;font-family:var(--fd);font-weight:600;font-size:.85rem;color:var(--dark);display:flex;align-items:center;gap:8px;transition:var(--tr)}
.ksv-chip:hover{border-color:var(--red);color:var(--red)}
.ksv-chip span{font-size:1.2rem}
/* Service blocks */
.kc-services-list{padding:64px 0}
.kc-srv-block{padding:52px 0;border-bottom:1px solid var(--g200)}
.kc-srv-block:last-child{border-bottom:none}
.kc-srv-img{width:100%;height:340px;object-fit:cover;border-radius:var(--r);display:block}
.kc-srv-placeholder{width:100%;height:340px;background:linear-gradient(135deg,var(--red-pale),rgba(220,20,60,.12));border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.ksp-icon{font-size:5rem}
.kc-srv-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-family:var(--fd);font-size:.72rem;font-weight:700;color:var(--red);letter-spacing:1.5px;text-transform:uppercase}
.kse-icon{font-size:1.2rem}
.kc-srv-title{font-family:var(--fd);font-weight:800;font-size:1.6rem;color:var(--dark);margin-bottom:8px}
.kc-srv-short{font-family:var(--fb);font-size:.95rem;color:var(--g500);margin-bottom:14px}
.kc-srv-pts{list-style:none;padding:0;margin:14px 0 0}
.kc-srv-pts li{display:flex;align-items:flex-start;gap:8px;font-family:var(--fb);font-size:.88rem;color:var(--g700);margin-bottom:8px;line-height:1.5}
.kc-srv-pts li i{color:var(--red);font-size:.95rem;margin-top:1px;flex-shrink:0}
/* Process Timeline */
.kc-srv-process{background:var(--g100)}
.kc-process-timeline{position:relative;max-width:900px;margin:0 auto}
.kc-proc-step{display:flex;align-items:flex-start;gap:20px;margin-bottom:32px;position:relative}
.kc-proc-step:not(:last-child)::after{content:'';position:absolute;left:27px;top:60px;bottom:-32px;width:2px;background:linear-gradient(to bottom,var(--red),rgba(220,20,60,.1))}
.kc-proc-num{width:56px;height:56px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:900;font-size:1rem;flex-shrink:0;box-shadow:0 5px 18px rgba(220,20,60,.32)}
.kc-proc-content{flex:1;padding-top:8px}
.kc-proc-title{font-family:var(--fd);font-weight:700;font-size:1rem;color:var(--dark);margin-bottom:5px}
.kc-proc-desc{font-family:var(--fb);font-size:.88rem;color:var(--g500);line-height:1.65}
/* Areas teaser */
.kc-srv-areas{padding:56px 0}
.kc-areas-quick{display:flex;flex-wrap:wrap;gap:8px}
/* Testimonials */
.kc-srv-testimonials{background:var(--g100);padding:64px 0}
@media(max-width:767px){.kc-srv-intro,.kc-services-list,.kc-srv-areas,.kc-srv-testimonials{padding:44px 0}.kc-srv-block{padding:36px 0}.kc-srv-img,.kc-srv-placeholder{height:240px}}

/* ── Areas Page ── */
.kc-areas-intro{padding:64px 0}
.kc-areas-overview-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kaoc-card{border-radius:var(--r);padding:32px 24px;text-align:center;color:#fff}
.kaoc-ct{background:linear-gradient(135deg,var(--red),var(--red-dark))}
.kaoc-ma{background:linear-gradient(135deg,var(--navy),var(--navy-mid))}
.kaoc-icon{font-size:2.5rem;margin-bottom:12px}
.kaoc-card h3{font-family:var(--fd);font-weight:800;font-size:1.2rem;color:#fff;margin-bottom:5px}
.kaoc-card p{font-size:.85rem;color:rgba(255,255,255,.72);margin-bottom:16px}
.kaoc-link{background:rgba(255,255,255,.15);color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:50px;padding:8px 18px;font-family:var(--fd);font-weight:700;font-size:.8rem;display:inline-flex;align-items:center;gap:5px;transition:var(--tr);text-decoration:none}
.kaoc-link:hover{background:rgba(255,255,255,.28);color:#fff}
/* Cities Grid */
.kc-ct-section,.kc-ma-section{padding:64px 0}
.kc-state-header .kc-state-flag{font-size:2.8rem;margin-bottom:6px}
.kc-cities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kc-city-card{background:#fff;border:1px solid var(--g200);border-radius:var(--rs);padding:12px 14px;display:flex;align-items:flex-start;gap:10px;transition:var(--tr)}
.kc-city-card:hover{border-color:rgba(220,20,60,.3);background:var(--red-pale);transform:translateX(2px)}
.kcc-pin{color:var(--red);font-size:.9rem;margin-top:2px;flex-shrink:0}
.kcc-name{font-family:var(--fd);font-weight:700;font-size:.85rem;color:var(--dark)}
.kcc-desc{font-size:.72rem;color:var(--g500)}
/* Cities list (state pages) */
.kc-cities-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.kc-city-tag{background:#fff;border:1.5px solid var(--g200);border-radius:50px;padding:9px 18px;display:flex;align-items:center;gap:7px;font-family:var(--fd);font-weight:600;font-size:.85rem;color:var(--dark);transition:var(--tr)}
.kc-city-tag:hover{border-color:var(--red);color:var(--red);background:var(--red-pale)}
.kc-city-tag i{color:var(--red);font-size:.8rem}
/* State stats grid */
.kc-state-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kss-item{background:#fff;border-radius:var(--r);padding:28px;text-align:center;border:1px solid var(--g200)}
.kss-num{display:block;font-family:var(--fd);font-weight:900;font-size:2rem;color:var(--red);margin-bottom:5px}
.kss-lbl{font-family:var(--fb);font-size:.82rem;color:var(--g500)}
@media(max-width:767px){
  .kc-areas-intro,.kc-ct-section,.kc-ma-section{padding:44px 0}
  .kc-areas-overview-cards,.kc-state-stats-grid{grid-template-columns:1fr 1fr}
  .kc-cities-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){.kc-cities-grid{grid-template-columns:1fr}}

/* ── Gallery Page ── */
.kc-gallery-intro{padding:64px 0;background:var(--g100)}
.kc-gallery-stat{text-align:center;background:#fff;border-radius:var(--r);padding:20px;border:1px solid var(--g200)}
.kgs-icon{font-size:2rem;display:block;margin-bottom:8px}
.kgs-num{display:block;font-family:var(--fd);font-weight:900;font-size:1.6rem;color:var(--red)}
.kgs-lbl{font-size:.72rem;color:var(--g500);text-transform:uppercase;letter-spacing:1px}
/* Filter tabs */
.kc-gallery-filters{background:#fff;border-bottom:1px solid var(--g200);padding:14px 0;position:sticky;top:120px;z-index:50}
.kc-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.kc-filter-btn{background:none;border:1.5px solid var(--g200);border-radius:50px;padding:7px 18px;font-family:var(--fd);font-weight:600;font-size:.82rem;color:var(--dark);cursor:pointer;transition:var(--tr)}
.kc-filter-btn:hover,.kc-filter-btn.active{background:var(--red);border-color:var(--red);color:#fff}
/* Gallery grid */
.kc-gallery-grid-sec{padding:48px 0}
.kc-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px;
}
.kc-gallery-item{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;cursor:pointer}
.kc-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}
.kc-gallery-item:hover img{transform:scale(1.06)}
.kc-gallery-overlay{position:absolute;inset:0;background:rgba(4,8,16,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .3s ease;color:#fff}
.kc-gallery-item:hover .kc-gallery-overlay{opacity:1}
.kc-gallery-overlay i{font-size:2rem}
.kc-gallery-overlay span{font-family:var(--fd);font-size:.82rem;font-weight:600;text-align:center;padding:0 16px}
.kc-gallery-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(4,8,16,.8),transparent);color:#fff;font-family:var(--fd);font-size:.78rem;font-weight:600;padding:20px 12px 10px;transform:translateY(100%);transition:transform .3s}
.kc-gallery-item:hover .kc-gallery-label{transform:translateY(0)}
/* Empty state */
.kc-gallery-empty{padding:80px 0}
.kge-icon{font-size:5rem;margin-bottom:20px}
@media(max-width:767px){.kc-gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kc-gallery-intro{padding:44px 0}}
@media(max-width:420px){.kc-gallery-grid{grid-template-columns:1fr}}

/* ── Contact Page ── */
.kc-contact-cards{padding:0;margin-top:-40px;position:relative;z-index:10}
.kc-contact-card{
  background:#fff;border-radius:var(--r);padding:28px 20px;
  text-align:center;border:1px solid var(--g200);
  display:block;text-decoration:none;transition:var(--tr);height:100%;
}
.kc-contact-card:hover{transform:translateY(-5px);box-shadow:var(--shm);border-color:rgba(220,20,60,.2)}
.kcc-icon-wrap{width:56px;height:56px;border-radius:14px;background:rgba(220,20,60,.1);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto 14px}
.kc-contact-card h3{font-family:var(--fd);font-weight:700;font-size:.9rem;color:var(--dark);margin-bottom:4px}
.kc-contact-card p{font-family:var(--fb);font-size:.83rem;color:var(--g500);margin-bottom:10px}
.kcc-action{font-family:var(--fd);font-weight:700;font-size:.78rem;color:var(--red);display:inline-flex;align-items:center;gap:4px}
.kc-contact-main{padding-top:60px;padding-bottom:60px}
.kc-map-wrap{margin-top:0}
.kc-form-trust{display:flex;flex-direction:column;gap:8px}
.kft-item{font-family:var(--fb);font-size:.82rem;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:7px}
.kft-item i{color:rgba(255,255,255,.9)}
/* Service link cards */
.kc-contact-services{background:var(--g100);padding:56px 0}
.kc-srv-link-card{background:#fff;border:1px solid var(--g200);border-radius:var(--r);padding:16px 18px;display:flex;align-items:center;gap:14px;text-decoration:none;transition:var(--tr)}
.kc-srv-link-card:hover{border-color:var(--red);background:var(--red-pale);transform:translateX(3px)}
.kslc-icon{font-size:1.8rem;flex-shrink:0;width:44px;height:44px;background:var(--red-pale);border-radius:10px;display:flex;align-items:center;justify-content:center}
.kslc-name{font-family:var(--fd);font-weight:700;font-size:.9rem;color:var(--dark);display:block}
.kslc-desc{font-size:.78rem;color:var(--g500)}
.kslc-arrow{margin-left:auto;color:var(--red);flex-shrink:0}
@media(max-width:767px){.kc-contact-cards{margin-top:-20px}.kc-contact-main,.kc-contact-services{padding:44px 0}}

/* ── CFR Page ── */
.kc-cfr-intro{padding:64px 0}
.kc-cfr-hero-box{background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:var(--r);padding:40px;color:#fff}
.kcfb-icon{font-size:3rem;margin-bottom:20px}
.kcfb-text h3{font-family:var(--fd);font-weight:800;font-size:1.3rem;color:#fff;line-height:1.4;margin-bottom:6px}
.kcfb-text p{font-size:.83rem;color:rgba(255,255,255,.55);margin-bottom:24px}
.kcfb-stats{display:flex;gap:24px}
.kc-cfr-mission{padding:0!important}
/* Apply card */
.kc-cfr-eligibility{padding:64px 0}
.kc-cfr-apply-card{background:#fff;border-radius:var(--r);border:2px solid rgba(220,20,60,.2);padding:32px;box-shadow:var(--shm)}
.kca-icon{font-size:2.5rem;margin-bottom:10px}
.kc-cfr-apply-card h3{font-family:var(--fd);font-weight:800;font-size:1.1rem;color:var(--dark);margin-bottom:20px}
.kca-steps{list-style:none;padding:0}
.kca-steps li{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}
.kca-num{width:28px;height:28px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:.82rem;flex-shrink:0;margin-top:2px}
.kca-steps li strong{display:block;font-family:var(--fd);font-size:.88rem;color:var(--dark);margin-bottom:2px}
.kca-steps li p{font-family:var(--fb);font-size:.82rem;color:var(--g500);margin:0}
/* Stories */
.kc-cfr-stories{background:var(--g100);padding:64px 0}
.kc-story-card{background:#fff;border-radius:var(--r);padding:28px;border:1px solid var(--g200);height:100%;position:relative}
.kc-story-quote{font-size:4rem;font-family:Georgia,serif;color:var(--red-pale);line-height:.8;margin-bottom:10px}
.kc-story-text{font-family:var(--fb);font-size:.88rem;color:var(--g700);line-height:1.7;margin-bottom:18px;font-style:italic}
.kc-story-author{display:flex;align-items:center;gap:10px}
/* Partners */
.kc-cfr-partners{padding:56px 0}
.kc-cfr-process{background:var(--red-pale)!important}
@media(max-width:767px){.kc-cfr-intro,.kc-cfr-eligibility,.kc-cfr-stories,.kc-cfr-partners{padding:44px 0}.kc-join-visual{grid-template-columns:1fr 1fr}}

/* Team grid last row center */
.kc-team-grid-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:0px;
  justify-content:center;
}
.kc-team-grid-wrap .kc-team-card{
  flex:0 0 calc(25% - 18px);
  max-width:calc(25% - 18px);
}
@media(max-width:991px){
  .kc-team-grid-wrap .kc-team-card{flex:0 0 calc(33.33% - 16px);max-width:calc(33.33% - 16px)}
}
@media(max-width:767px){
  .kc-team-grid-wrap .kc-team-card{flex:0 0 calc(50% - 12px);max-width:calc(50% - 12px)}
}
@media(max-width:380px){
  .kc-team-grid-wrap .kc-team-card{flex:0 0 100%;max-width:100%}
}

/* ── Individual Service Pages ── */
.kc-srv-page-intro,.kc-sp-includes,.kc-sp-benefits,
.kc-sp-process,.kc-sp-reviews,.kc-sp-areas,.kc-sp-related{
  padding-top:64px; padding-bottom:64px;
}
@media(max-width:767px){
  .kc-srv-page-intro,.kc-sp-includes,.kc-sp-benefits,
  .kc-sp-process,.kc-sp-reviews,.kc-sp-areas,.kc-sp-related{
    padding-top:40px; padding-bottom:40px;
  }
}
/* Visual placeholder when no image */
.kc-sp-visual{
  position:relative;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);
  border-radius:var(--r);height:380px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.kspv-icon{font-size:7rem;opacity:.25}
.kspv-badge,.kspv-badge2,.kspv-badge3{
  position:absolute;background:#fff;border-radius:50px;
  padding:10px 18px;font-family:var(--fd);font-weight:700;
  font-size:.82rem;color:var(--dark);display:flex;
  align-items:center;gap:6px;box-shadow:0 4px 16px rgba(0,0,0,.15);
}
.kspv-badge  i{color:#fbbc04}.kspv-badge {top:24px;right:24px}
.kspv-badge2 i{color:var(--red)}.kspv-badge2{bottom:60px;left:24px}
.kspv-badge3 i{color:#2f855a}.kspv-badge3{bottom:24px;right:24px}

/* Included cards */
.kc-inc-card{
  background:#fff;border-radius:var(--r);padding:28px 22px;
  border:1px solid var(--g200);transition:var(--tr);height:100%;
  text-align:center;
}
.kc-inc-card:hover{transform:translateY(-5px);box-shadow:var(--shm);border-color:rgba(220,20,60,.2)}
.kc-inc-icon{font-size:2.5rem;display:block;margin-bottom:14px}
.kc-inc-title{font-family:var(--fd);font-weight:700;font-size:1rem;color:var(--dark);margin-bottom:7px}
.kc-inc-desc{font-family:var(--fb);font-size:.85rem;color:var(--g500);line-height:1.7}

/* Related services */
.kc-rel-srv-card{
  background:#fff;border:1px solid var(--g200);border-radius:var(--r);
  padding:20px;display:flex;align-items:center;gap:14px;
  text-decoration:none;transition:var(--tr);
}
.kc-rel-srv-card:hover{border-color:var(--red);background:var(--red-pale);transform:translateX(3px)}
.krs-icon{font-size:2rem;flex-shrink:0;width:50px;height:50px;background:var(--red-pale);
  border-radius:12px;display:flex;align-items:center;justify-content:center}
.krs-name{font-family:var(--fd);font-weight:700;font-size:.9rem;color:var(--dark);display:block}
.krs-desc{font-size:.78rem;color:var(--g500)}
.krs-arrow{margin-left:auto;color:var(--red);flex-shrink:0}

/* ── Service Page Specific ── */
.kc-sp-intro{ padding:64px 0; }
.kc-sp-trust-row{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:20px;
}
.kc-sp-trust-row span{
  font-family:var(--fd); font-weight:600; font-size:.8rem;
  color:var(--dark); display:flex; align-items:center; gap:5px;
  background:#fff; border:1px solid var(--g200);
  padding:6px 12px; border-radius:50px;
}
/* Image wrap */
.kc-sp-img-wrap{
  position:relative; border-radius:var(--r); overflow:hidden;
}
.kc-sp-img-wrap img{
  width:100%; height:420px; object-fit:cover; display:block;
}
.kc-sp-img-badge{
  position:absolute; bottom:20px; left:20px;
  background:#fff; border-radius:50px; padding:10px 18px;
  display:flex; align-items:center; gap:8px;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
  font-family:var(--fd); font-weight:700; font-size:.85rem;
  color:var(--dark);
}
.kspib-icon{ font-size:1.4rem; }
/* Visual box when no image */
.kc-sp-visual-box{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);
  border-radius:var(--r); padding:48px 40px; text-align:center;
}
.kspvb-icon{ font-size:5rem; margin-bottom:16px; display:block; }
.kspvb-name{ font-family:var(--fd); font-weight:800; font-size:1.5rem; color:#fff; margin-bottom:24px; }
.kspvb-badges{ display:flex; flex-direction:column; gap:10px; margin-bottom:20px; }
.kspvb-b{
  background:rgba(255,255,255,.1); border-radius:10px;
  padding:10px 16px; color:rgba(255,255,255,.9);
  font-family:var(--fd); font-weight:600; font-size:.85rem;
  display:flex; align-items:center; gap:8px; text-align:left;
}
.kspvb-b i{ color:var(--red-light); }

/* Highlight box */
.kc-sp-highlight{ padding:64px 0; }
.kc-sp-highlight-box{
  background:#fff; border-radius:var(--r);
  border:2px solid var(--g200); overflow:hidden;
}
.kchb-header{
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  padding:20px 24px; display:flex; align-items:center; gap:14px;
}
.kchb-header .kchb-icon{ font-size:2rem; }
.kchb-header h3{ font-family:var(--fd); font-weight:800; font-size:1.1rem; color:#fff; margin:0; }
.kchb-header p{ font-size:.78rem; color:rgba(255,255,255,.7); margin:2px 0 0; }
.kchb-list{
  list-style:none; padding:20px 24px; margin:0;
  display:flex; flex-direction:column; gap:10px;
}
.kchb-list li{
  display:flex; align-items:center; gap:10px;
  font-family:var(--fb); font-size:.9rem; color:var(--g700);
}
.kchb-list li i{ color:var(--red); font-size:1rem; flex-shrink:0; }
.kchb-footer{
  background:var(--g100); padding:16px 24px;
  display:flex; justify-content:space-around; gap:16px;
}
.kchf-stat{ text-align:center; }
.kchf-stat strong{ display:block; font-family:var(--fd); font-weight:800; font-size:1.3rem; color:var(--red); }
.kchf-stat span{ font-size:.72rem; color:var(--g500); text-transform:uppercase; letter-spacing:1px; }

/* Promise box */
.kc-sp-promise{
  background:var(--navy); border-radius:var(--r); padding:32px;
}
.kcsp-header{
  display:flex; align-items:center; gap:12px;
  margin-bottom:24px; padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.kcsp-header i{ font-size:1.8rem; color:var(--red-light); }
.kcsp-header h3{ font-family:var(--fd); font-weight:800; font-size:1.1rem; color:#fff; margin:0; }
.kcsp-item{
  display:flex; align-items:flex-start; gap:12px;
  margin-bottom:14px; padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.kcsp-item:last-of-type{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.kcsp-icon{ font-size:1.3rem; flex-shrink:0; margin-top:1px; }
.kcsp-item p{ font-family:var(--fb); font-size:.88rem; color:rgba(255,255,255,.75); line-height:1.6; margin:0; }

.kc-sp-areas{ padding:64px 0; }
.kc-sp-reviews{ padding:64px 0; background:var(--g100); }
.kc-sp-related{ padding:64px 0; }

@media(max-width:767px){
  .kc-sp-img-wrap img{ height:260px; }
  .kc-sp-intro,.kc-sp-highlight,.kc-sp-areas,.kc-sp-reviews,.kc-sp-related{ padding:40px 0; }
  .kc-sp-visual-box{ padding:32px 24px; }
  .kspvb-icon{ font-size:3.5rem; }
  .kc-sp-trust-row span{ font-size:.75rem; padding:5px 10px; }
}

/* Service page image+content section */
.kc-sp-img-content{ padding:64px 0; background:var(--g100); }
.kc-sp-img-content .kc-sp-img-wrap img{ height:420px; }
@media(max-width:767px){
  .kc-sp-img-content{ padding:40px 0; }
  .kc-sp-img-content .kc-sp-img-wrap img{ height:260px; }
}

/* ═══════════════════════════════════════
   STATE AREA PAGES (CT / MA)
   ═══════════════════════════════════════ */

/* ── Hero ── */
.kc-state-hero {
  position:relative;
  min-height:90vh;
  background-size:cover;
  background-position:center top;
  display:flex; align-items:center;
  padding:120px 0 60px;
  overflow:hidden;
}
.kc-state-hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg,rgba(4,8,16,.92) 0%,rgba(4,8,16,.75) 55%,rgba(4,8,16,.45) 100%);
}
.kc-state-hero__inner { position:relative; z-index:2; width:100%; }
.kc-state-eyebrow {
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.kse-badge {
  background:rgba(220,20,60,.25);
  border:1px solid rgba(220,20,60,.4);
  color:#fff; font-family:var(--fd);
  font-weight:700; font-size:.8rem;
  padding:5px 14px; border-radius:50px;
  letter-spacing:.5px;
}
.kse-count {
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.7);
  font-family:var(--fd); font-weight:600;
  font-size:.78rem; padding:5px 12px;
  border-radius:50px; border:1px solid rgba(255,255,255,.15);
}
.kc-state-title {
  font-family:var(--fd); font-weight:900;
  font-size:clamp(2rem,4.5vw,3.2rem);
  color:#fff; line-height:1.15;
  margin-bottom:16px;
  text-shadow:0 2px 16px rgba(0,0,0,.5);
}
.kc-state-sub {
  font-family:var(--fb); font-size:1rem;
  color:rgba(255,255,255,.75); line-height:1.75;
  max-width:580px; margin-bottom:20px;
}
.kc-state-trust-row {
  display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;
}
.kc-state-trust-row span {
  font-family:var(--fd); font-weight:600; font-size:.78rem;
  color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  padding:5px 12px; border-radius:50px;
  display:flex; align-items:center; gap:5px;
}
.kc-state-trust-row i { color:var(--red-light); }

/* ── Mini Quote Form ── */
.kc-state-form-card {
  background:#fff; border-radius:20px;
  padding:0; overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.ksfc-header {
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  padding:24px; text-align:center; color:#fff;
}
.ksfc-header i { font-size:1.8rem; margin-bottom:6px; display:block; }
.ksfc-header h3 { font-family:var(--fd); font-weight:800; font-size:1.15rem; color:#fff; margin:0 0 4px; }
.ksfc-header p  { font-size:.78rem; color:rgba(255,255,255,.8); margin:0; }
.ksfc-form { padding:22px; }
.ksfc-field { margin-bottom:14px; }
.ksfc-field label {
  display:block; font-family:var(--fd); font-weight:600;
  font-size:.8rem; color:var(--dark); margin-bottom:5px;
}
.ksfc-field label span { color:var(--red); }
.ksfc-field input,
.ksfc-field select {
  width:100%; padding:11px 14px;
  border:1.5px solid var(--g200);
  border-radius:10px;
  font-family:var(--fb); font-size:.88rem;
  color:var(--dark); outline:none;
  transition:border .2s;
  background:#fff;
}
.ksfc-field input:focus,
.ksfc-field select:focus { border-color:var(--red); }
.ksfc-btn {
  width:100%; padding:14px;
  background:linear-gradient(135deg,var(--red),var(--red-dark));
  color:#fff; border:none; border-radius:12px;
  font-family:var(--fd); font-weight:700; font-size:.95rem;
  cursor:pointer; display:flex; align-items:center;
  justify-content:center; gap:8px;
  transition:transform .2s, box-shadow .2s;
  margin-top:4px;
}
.ksfc-btn:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(220,20,60,.4); }
.ksfc-secure {
  text-align:center; font-size:.72rem; color:var(--g500);
  margin-top:8px; display:flex; align-items:center;
  justify-content:center; gap:5px;
}
.ksfc-success { padding:20px; }

/* ── Sections spacing ── */
.kc-state-intro,
.kc-state-img-content { padding:64px 0; }
.kc-state-cities-sec,
.kc-state-services,
.kc-state-city-srv,
.kc-state-reviews,
.kc-state-internal { padding:64px 0; }

/* ── Intro visual ── */
.kc-state-intro-visual {
  position:relative; border-radius:var(--r); overflow:hidden;
}
.kc-state-intro-visual img {
  width:100%; height:420px; object-fit:cover; display:block;
}
.kc-state-intro-badge {
  position:absolute; bottom:20px; left:20px;
  background:#fff; border-radius:var(--rs); padding:12px 18px;
  display:flex; align-items:center; gap:10px;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
}
.ksib-icon { font-size:1.8rem; }
.kc-state-intro-badge strong { display:block; font-family:var(--fd); font-weight:700; font-size:.88rem; color:var(--dark); }
.kc-state-intro-badge span  { font-size:.72rem; color:var(--g500); }

/* ── Cities tag cloud ── */
.kc-cities-tag-cloud {
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center;
}
.kc-city-item {
  background:#fff; border:1.5px solid var(--g200);
  border-radius:50px; padding:8px 16px;
  display:flex; align-items:center; gap:6px;
  font-family:var(--fd); font-weight:600; font-size:.83rem;
  color:var(--dark); transition:var(--tr);
}
.kc-city-item:hover { border-color:var(--red); color:var(--red); background:var(--red-pale); }
.kc-city-item i  { color:var(--red); font-size:.75rem; }
.kcci-state { color:var(--g500); font-weight:400; }

/* ── Services in state ── */
.kc-state-srv-card {
  background:#fff; border:1px solid var(--g200);
  border-radius:var(--r); padding:24px;
  display:flex; flex-direction:column; gap:12px;
  text-decoration:none; transition:var(--tr); height:100%;
}
.kc-state-srv-card:hover {
  border-color:var(--red); background:var(--red-pale);
  transform:translateY(-4px); box-shadow:var(--shm);
}
.kssrc-icon {
  font-size:2.2rem; width:52px; height:52px;
  background:var(--red-pale); border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  transition:background .18s;
}
.kc-state-srv-card:hover .kssrc-icon { background:var(--red); }
.kssrc-name {
  font-family:var(--fd); font-weight:700; font-size:.95rem;
  color:var(--dark); margin:0;
}
.kssrc-desc {
  font-family:var(--fb); font-size:.83rem;
  color:var(--g500); line-height:1.6; flex:1;
}
.kssrc-link {
  font-family:var(--fd); font-weight:700; font-size:.8rem;
  color:var(--red); display:inline-flex; align-items:center; gap:5px;
  transition:gap .2s;
}
.kc-state-srv-card:hover .kssrc-link { gap:9px; }

/* ── City service cards ── */
.kc-city-srv-card {
  background:#fff; border-radius:var(--r); padding:24px;
  border:1px solid var(--g200); height:100%;
  transition:var(--tr);
}
.kc-city-srv-card:hover { transform:translateY(-4px); box-shadow:var(--shm); border-color:rgba(220,20,60,.2); }
.kcsc-city {
  font-family:var(--fd); font-weight:700; font-size:.75rem;
  color:var(--red); text-transform:uppercase; letter-spacing:1.5px;
  display:flex; align-items:center; gap:5px; margin-bottom:8px;
}
.kcsc-service {
  font-family:var(--fd); font-weight:800; font-size:1rem;
  color:var(--dark); margin:0 0 8px;
}
.kcsc-desc {
  font-family:var(--fb); font-size:.83rem; color:var(--g500);
  line-height:1.65; margin-bottom:14px;
}
.kcsc-link {
  font-family:var(--fd); font-weight:700; font-size:.8rem;
  color:var(--red); text-decoration:none;
  display:inline-flex; align-items:center; gap:5px; transition:gap .2s;
}
.kcsc-link:hover { gap:9px; }

/* ── Internal link cards ── */
.kc-internal-link-card {
  background:#fff; border:1px solid var(--g200);
  border-radius:var(--r); padding:18px 14px;
  display:flex; flex-direction:column; align-items:center;
  text-align:center; text-decoration:none; gap:6px;
  transition:var(--tr); height:100%;
}
.kc-internal-link-card:hover { border-color:var(--red); background:var(--red-pale); transform:translateY(-3px); }
.kilc-icon  { font-size:1.8rem; }
.kilc-label { font-family:var(--fd); font-weight:700; font-size:.83rem; color:var(--dark); }
.kilc-desc  { font-size:.72rem; color:var(--g500); line-height:1.4; }

/* ── Reviews section ── */
.kc-state-reviews { background:var(--g100); }

/* Mobile */
@media(max-width:991px){
  .kc-state-hero { min-height:auto; padding:160px 0 60px; }
  .kc-state-form-card { margin-top:32px; }
}
@media(max-width:767px){
  .kc-state-hero { padding:140px 0 40px; }
  .kc-state-title { font-size:clamp(1.5rem,6vw,2.2rem); }
  .kc-state-intro,.kc-state-cities-sec,.kc-state-services,
  .kc-state-city-srv,.kc-state-reviews,.kc-state-internal,
  .kc-state-img-content { padding:40px 0; }
  .kc-state-intro-visual img { height:260px; }
}

/* ── Legal Pages (Privacy / Terms) ── */
.kc-legal-content {
  font-family:var(--fb); font-size:.95rem;
  color:var(--g700); line-height:1.85;
}
.kc-legal-updated {
  background:var(--red-pale); border-left:4px solid var(--red);
  padding:12px 18px; border-radius:0 8px 8px 0;
  margin-bottom:32px; font-size:.88rem;
}
.kc-legal-content h2 {
  font-family:var(--fd); font-weight:800;
  font-size:1.25rem; color:var(--dark);
  margin:36px 0 12px; padding-bottom:8px;
  border-bottom:2px solid var(--g200);
}
.kc-legal-content h3 {
  font-family:var(--fd); font-weight:700;
  font-size:1rem; color:var(--dark); margin:20px 0 8px;
}
.kc-legal-content ul {
  padding-left:20px; margin-bottom:16px;
}
.kc-legal-content ul li { margin-bottom:8px; }
.kc-legal-content strong { color:var(--dark); }
.kc-legal-contact {
  background:var(--g100); border-radius:var(--r);
  padding:24px; margin-top:16px; border:1px solid var(--g200);
}
.kc-legal-contact a { color:var(--red); font-weight:600; }

/* ── Services Page — Image sections ── */
.kc-srv-img-wrap {
    position:relative; border-radius:var(--r);
    overflow:hidden; box-shadow:var(--shm);
}
.kc-srv-img-wrap .kc-srv-img {
    width:100%; height:400px;
    object-fit:cover; display:block;
    transition:transform .4s ease;
}
.kc-srv-img-wrap:hover .kc-srv-img { transform:scale(1.04); }
.kc-srv-img-overlay {
    position:absolute; bottom:0; left:0; right:0;
    background:linear-gradient(0deg,rgba(4,8,16,.75) 0%,transparent 100%);
    padding:20px 22px;
    display:flex; align-items:center; gap:10px;
}
.ksio-icon { font-size:1.8rem; }
.ksio-name {
    font-family:var(--fd); font-weight:700;
    font-size:1rem; color:#fff;
    text-shadow:0 1px 4px rgba(0,0,0,.5);
}
@media(max-width:767px){
    .kc-srv-img-wrap .kc-srv-img { height:240px; }
}

/* ── Home Service Cards with Images ── */
.srv-card { overflow:hidden; display:flex; flex-direction:column; }
.srv-card-img {
    position:relative; height:200px; overflow:hidden;
    border-radius:var(--r) var(--r) 0 0; margin:-1px -1px 0;
    flex-shrink:0;
}
.srv-card-img img {
    width:100%; height:100%; object-fit:cover; object-position:center;
    transition:transform .4s ease; display:block;
}
.srv-card-img img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .4s ease;
}
.srv-card:hover .srv-card-img img { transform:scale(1.06); }
.srv-card-badge {
    position:absolute; top:12px; left:12px;
    background:#fff; border-radius:10px;
    padding:6px 10px; font-size:1.3rem;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
    line-height:1;
}
.srv-card-body { padding:16px; flex:1; display:flex; flex-direction:column; }
.srv-card-body .srv-title { margin-top:0; }
@media(max-width:575px){
    .srv-card-img { height:150px; }
}

.srv-card-img img{width:100% !important;height:200px !important;object-fit:cover !important;object-position:center;display:block}

.srv-card-body{padding:16px;flex:1;display:flex;flex-direction:column}

/* === Service Cards Equal Height Fix === */
.srv-card-img {
    position: relative;
    height: 200px;
    overflow: hidden;
    flex-shrink: 0;
}
.srv-card-img img {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.srv-card-badge {
    position: absolute;
    bottom: 10px; left: 10px;
    background: rgba(255,255,255,0.95);
    border-radius: 8px;
    padding: 5px 9px;
    font-size: 1.2rem;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.srv-card-body {
    padding: 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.srv-card-body .srv-title {
    margin: 0 0 8px;
    font-size: 1rem;
}
.srv-card-body .srv-desc {
    flex: 1;
    margin: 0 0 12px;
    font-size: .85rem;
    color: var(--g600);
    line-height: 1.6;
}


/* Image area - FIXED height so all equal */
.kcsmc-img {
    position: relative;
    height: 210px;
    flex-shrink: 0;
    overflow: hidden;
}
.kcsmc-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .4s ease;
}
.kc-srv-modern-card:hover .kcsmc-img img {
    transform: scale(1.06);
}
.kcsmc-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(4,8,16,.45) 100%);
    z-index: 1;
}
.kcsmc-icon {
    position: absolute;
    bottom: 12px;
    left: 14px;
    z-index: 2;
    font-size: 1.6rem;
    background: rgba(255,255,255,.92);
    border-radius: 10px;
    padding: 5px 9px;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

/* Body area - flex-grow so equal height */
.kcsmc-body {
    padding: 20px 20px 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 8px;
}
.kcsmc-title {
    font-family: var(--fd);
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--dark);
    margin: 0;
    line-height: 1.3;
}
.kcsmc-desc {
    font-family: var(--fb);
    font-size: .85rem;
    color: var(--g600);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}
.kcsmc-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--fd);
    font-weight: 700;
    font-size: .83rem;
    color: var(--red);
    margin-top: 4px;
    transition: gap .2s;
}
.kc-srv-modern-card:hover .kcsmc-btn {
    gap: 10px;
}
.kcsmc-btn i { font-size: 1rem; }

/* Column must be flex for equal height cards */
.kc-services-grid > [class*="col"] {
    display: flex;
}

@media (max-width: 575px) {
    .kcsmc-img { height: 180px; }
    .kcsmc-body { padding: 16px; }
}


/* ══════════════════════════════════════
   HOME SERVICE CARDS - FINAL
══════════════════════════════════════ */
.kc-services-grid .kc-srv-modern-card {
    display:flex;flex-direction:column;height:100%;
    background:#fff;border-radius:14px;overflow:hidden;
    text-decoration:none;border:1px solid #e5e7eb;
    box-shadow:0 2px 12px rgba(0,0,0,.06);
    transition:transform .25s,box-shadow .25s;
}
.kc-services-grid .kc-srv-modern-card:hover {
    transform:translateY(-5px);
    box-shadow:0 10px 32px rgba(0,0,0,.12);
}
.kc-services-grid > [class*="col"] {
    display:flex;flex-direction:column;
}
.kcsmc-img {
    width:100%;height:200px;
    position:relative;overflow:hidden;flex-shrink:0;
}
.kcsmc-img img {
    position:absolute;inset:0;
    width:100%;height:100%;object-fit:cover;
    transition:transform .4s;
}
.kc-srv-modern-card:hover .kcsmc-img img { transform:scale(1.05); }
.kcsmc-overlay {
    position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.35));
    z-index:1;
}
.kcsmc-icon {
    position:absolute;bottom:10px;left:12px;z-index:2;
    background:rgba(255,255,255,.9);border-radius:8px;
    padding:4px 8px;font-size:1.3rem;line-height:1;
}
.kcsmc-body {
    padding:16px 18px 18px;flex:1;
    display:flex;flex-direction:column;gap:6px;
}
.kcsmc-title {
    font-family:var(--fd);font-weight:800;
    font-size:1rem;color:var(--dark);margin:0;
}
.kcsmc-desc {
    font-size:.84rem;color:#6b7280;
    line-height:1.6;flex:1;margin:0;
}
.kcsmc-btn {
    display:inline-flex;align-items:center;gap:5px;
    font-family:var(--fd);font-weight:700;font-size:.82rem;
    color:var(--red);margin-top:4px;
    transition:gap .2s;
}
.kc-srv-modern-card:hover .kcsmc-btn { gap:9px; }
@media(max-width:575px){.kcsmc-img{height:170px;}}

/* ═══════════════════════════════════
   Modern Service Cards v2
═══════════════════════════════════ */
.kc-scard:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.22) !important;
}
.kc-scard:hover .kc-scard-bg {
    transform: scale(1.06);
}
@media(max-width:767px){
    .kc-scard { height:260px !important; }
}
@media(max-width:575px){
    .kc-scard { height:240px !important; }
}

/* ══ Team Grid - 4 per row ══════════════════════════ */
.kc-team-grid-wrap {
    justify-content: center;
}
.kc-team-grid-wrap .kc-team-card {
    width: 100%;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,.08);
    border: 1px solid #f0f0f0;
    transition: transform .25s, box-shadow .25s;
    text-align: center;
}
.kc-team-grid-wrap .kc-team-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 32px rgba(0,0,0,.13);
}
.kc-team-card__img {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #f5f5f5;
}
.kc-team-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    transition: transform .4s;
}
.kc-team-card:hover .kc-team-card__img img {
    transform: scale(1.05);
}
.kc-team-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,#f8f8f8,#efefef);
}
.kc-team-card__overlay {
    position: absolute;
    inset: 0;
    background: rgba(4,8,16,.78);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    transition: opacity .3s;
}
.kc-team-card:hover .kc-team-card__overlay { opacity: 1; }
.kc-team-bio {
    color: #fff;
    font-size: .82rem;
    line-height: 1.6;
    text-align: center;
    margin: 0;
}
.kc-team-card__info {
    padding: 14px 12px 16px;
}
.kc-team-name {
    font-family: var(--fd);
    font-weight: 800;
    font-size: .95rem;
    color: var(--dark);
    margin: 0 0 4px;
}
.kc-team-role {
    font-size: .78rem;
    color: var(--red);
    font-weight: 600;
    margin: 0 0 4px;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.kc-team-years {
    font-size: .73rem;
    color: #888;
    display: block;
}
@media(max-width:575px) {
    .kc-team-grid-wrap .col-6 { width: 50%; }
}

/* Team card mobile */
@media(max-width:767px){
    .kc-team-grid-wrap .col-6 { width:50% !important; }
    .kc-team-grid-wrap img { height:auto !important; max-height:250px; }
    .kc-team-grid-wrap div[style*="height:350px"] { height:auto !important; min-height:200px; }
}
@media(max-width:480px){
    .kc-team-grid-wrap .col-6 { width:100% !important; }
}
