.elementor-kit-4{--e-global-color-primary:#1E1136;--e-global-color-secondary:#C9A227;--e-global-color-text:#4A4258;--e-global-color-accent:#7A5F10;--e-global-color-e745d56:#E0BE55;--e-global-color-8f84d63:#150C26;--e-global-color-f33b98b:#2A1A47;--e-global-color-3ede481:#FAF7F2;--e-global-color-ef08fe5:#FFFDF9;--e-global-color-bdd6795:#F2EDE4;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   KINGDOM PAINTING — SITE STYLESHEET
   Paste into: Elementor → Site Settings → Custom CSS
   (or better: child theme style.css)

   Built from the Claude Design token spec, with corrections applied:
   - Phone is 407-394-1020 throughout (NOT 252-5317)
   - Services restructured exterior-first (4 primary + 2 secondary)
   - Gold contrast rule enforced: #C9A227 never used as body text on light
   ========================================================================== */

:root{
  --kp-plum:        #1E1136;
  --kp-plum-deep:   #150C26;
  --kp-plum-mid:    #2A1A47;
  --kp-gold:        #C9A227;
  --kp-gold-light:  #E0BE55;
  --kp-gold-dark:   #7A5F10;
  --kp-paper:       #FAF7F2;
  --kp-card:        #FFFDF9;
  --kp-sand:        #F2EDE4;
  --kp-body:        #4A4258;
  --kp-body-strong: #2E2545;
  --kp-muted:       #6E6680;
  --kp-border:      rgba(30,17,54,.12);
  --kp-border-str:  rgba(30,17,54,.18);
  --kp-shadow-bar:  0 14px 44px rgba(21,12,38,.18);
  --kp-max:         1240px;
}

/* ---------- Reset scoped to our blocks ---------- */
.kp *,.kp *::before,.kp *::after{box-sizing:border-box}
.kp{
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  color:var(--kp-body);
  background:var(--kp-paper);
  -webkit-font-smoothing:antialiased;
}
.kp img{max-width:100%;display:block}
.kp h1,.kp h2,.kp h3{
  margin:0;color:var(--kp-plum);
  font-family:'Archivo',sans-serif;text-wrap:balance;
}
.kp p{margin:0;text-wrap:pretty}
.kp a{text-decoration:none}
.kp__wrap{max-width:var(--kp-max);margin:0 auto;padding:0 24px}

/* ---------- Type scale ---------- */
.kp h1{font-size:clamp(38px,5.4vw,62px);font-weight:700;line-height:1.04;letter-spacing:-.025em}
.kp h2{font-size:clamp(30px,4vw,44px);font-weight:700;line-height:1.08;letter-spacing:-.02em}
.kp h3{font-size:21px;font-weight:700;letter-spacing:-.01em}
.kp__eyebrow{
  font-size:12.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--kp-gold-dark);margin:0 0 14px
}
.kp--dark .kp__eyebrow{color:var(--kp-gold-light)}
.kp__lede{font-size:19px;line-height:1.55}
.kp__body{font-size:16.5px;line-height:1.6}

/* Newsreader is used ONLY for: wordmark, stat numerals, pull quote */
.kp__serif{font-family:'Newsreader',Georgia,serif}

/* ---------- Buttons ---------- */
.kp__btn{
  display:inline-block;border-radius:4px;font-weight:700;
  font-size:16px;padding:17px 30px;transition:background .15s ease;
  cursor:pointer;border:0;
}
.kp__btn--gold{background:var(--kp-gold);color:var(--kp-plum)}
.kp__btn--gold:hover{background:var(--kp-gold-light)}
.kp__btn--plum{background:var(--kp-plum);color:#FDFBF7}
.kp__btn--plum:hover{background:var(--kp-plum-deep)}
.kp__btn--ghost{
  background:transparent;color:#FDFBF7;font-weight:600;
  border:1px solid rgba(253,251,247,.55)
}
.kp__btn--ghost:hover{background:rgba(253,251,247,.14)}

/* ---------- HERO ---------- */
.kp__hero{display:grid;align-items:end;padding-bottom:70px}
.kp__hero > *{grid-area:1/1}
.kp__hero-img{width:100%;height:100%;min-height:660px;object-fit:cover}
.kp__hero-scrim{
  align-self:stretch;justify-self:stretch;
  background:linear-gradient(100deg,rgba(21,12,38,.95) 0%,rgba(21,12,38,.90) 34%,
             rgba(21,12,38,.62) 62%,rgba(21,12,38,.30) 100%)
}
.kp__hero-scrim--btm{
  align-self:stretch;justify-self:stretch;
  background:linear-gradient(to top,rgba(21,12,38,.75) 0%,rgba(21,12,38,0) 50%)
}
.kp__hero-content{
  align-self:end;max-width:var(--kp-max);width:100%;
  margin:0 auto;padding:100px 24px 70px;position:relative
}
.kp__hero-inner{max-width:660px}
.kp__hero h1{color:#FDFBF7}
.kp__hero .kp__lede{
  color:rgba(253,251,247,.88);max-width:540px;margin:18px 0 28px
}
.kp__hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.kp__hero-rating{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:24px}
.kp__pill{
  background:#FDFBF7;border-radius:40px;padding:7px 14px;
  font-size:13px;font-weight:600;color:var(--kp-plum)
}
.kp__pill .kp__stars{color:var(--kp-gold);letter-spacing:1px}
.kp__rating-note{font-size:13.5px;font-weight:600;color:rgba(253,251,247,.85)}

/* ---------- STATS BAR (overlaps hero) ---------- */
.kp__stats{max-width:1160px;margin:-70px auto 0;padding:0 24px;position:relative;z-index:10}
.kp__stats-panel{
  background:var(--kp-card);border:1px solid rgba(30,17,54,.1);
  border-radius:6px;box-shadow:var(--kp-shadow-bar);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))
}
.kp__stat{padding:26px 20px;text-align:center;border-left:1px solid rgba(30,17,54,.1)}
.kp__stat:first-child{border-left:0}
.kp__stat-num{font-size:34px;font-weight:600;color:var(--kp-plum);letter-spacing:-.01em}
.kp__stat-label{
  font-size:12px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--kp-muted);margin-top:6px
}
@media(max-width:700px){.kp__stat{border-left:0;border-top:1px solid rgba(30,17,54,.1)}
  .kp__stat:first-child{border-top:0}}

/* ---------- SECTION SHELLS ---------- */
.kp__section{padding:88px 0 80px}
.kp__section--sand{background:var(--kp-sand);border-bottom:1px solid rgba(30,17,54,.08)}
.kp__section--plum{background:var(--kp-plum);color:#FDFBF7}
.kp__section--plum h2,.kp__section--plum h3{color:#FDFBF7}
.kp__section--card{
  background:var(--kp-card);
  border-top:1px solid rgba(30,17,54,.1);
  border-bottom:1px solid rgba(30,17,54,.1);
  padding:84px 0
}
.kp__head{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  align-items:end;gap:20px 56px;margin-bottom:44px
}
.kp__head-note{font-size:16.5px;max-width:400px}

/* ---------- SERVICE CARDS ---------- */
.kp__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.kp__card{
  display:block;background:var(--kp-card);border:1px solid var(--kp-border);
  border-radius:6px;overflow:hidden;transition:border-color .15s ease
}
.kp__card:hover{border-color:var(--kp-gold)}
.kp__card img{height:220px;width:100%;object-fit:cover}
.kp__card-body{padding:24px 24px 26px}
.kp__card-body p{font-size:15px;line-height:1.6;margin:10px 0 14px}
.kp__card-link{font-size:14px;font-weight:600;color:var(--kp-gold-dark)}

/* Secondary (interior) services — deliberately lighter weight */
.kp__secondary{
  margin-top:40px;padding-top:32px;border-top:1px solid var(--kp-border);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px
}
.kp__secondary h3{font-size:18px}
.kp__secondary p{font-size:14.5px;line-height:1.6;margin:8px 0 10px}
.kp__secondary-label{
  grid-column:1/-1;font-size:12.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--kp-muted);margin-bottom:-12px
}

/* ---------- GOLD BAND ---------- */
.kp__band{
  margin-top:24px;background:var(--kp-gold);border-radius:6px;padding:28px 32px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap
}
.kp__band h3{color:var(--kp-plum)}
.kp__band p{font-size:15.5px;color:rgba(30,17,54,.78);margin-top:6px}
.kp__band .kp__btn{white-space:nowrap;padding:15px 26px}

/* ---------- BEFORE / AFTER SLIDER ---------- */
.kp__ba{
  position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;
  touch-action:none;cursor:ew-resize;user-select:none;background:var(--kp-plum-mid)
}
.kp__ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kp__ba-clip{position:absolute;inset:0;overflow:hidden;width:52%}
.kp__ba-clip img{width:var(--kp-ba-w,100%);max-width:none;height:100%}
.kp__ba-handle{
  position:absolute;top:0;bottom:0;left:52%;width:2px;background:#FDFBF7;
  pointer-events:none
}
.kp__ba-knob{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;background:#FDFBF7;
  box-shadow:0 2px 14px rgba(0,0,0,.4);color:var(--kp-plum);
  font-size:15px;font-weight:700;display:grid;place-items:center
}
.kp__ba-tag{
  position:absolute;top:14px;font-size:11px;font-weight:700;letter-spacing:.16em;
  padding:6px 11px;border-radius:3px
}
.kp__ba-tag--before{left:14px;background:#FDFBF7;color:rgba(21,12,38,.88)}
.kp__ba-tag--after{right:14px;background:var(--kp-gold);color:var(--kp-plum)}

/* ---------- THUMBS ---------- */
.kp__thumbs{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:16px;margin-top:56px
}
.kp__thumbs img{height:180px;width:100%;object-fit:cover;border-radius:5px}
.kp__thumbs figcaption{font-size:13px;color:rgba(253,251,247,.62);margin-top:10px}
.kp__thumbs figure{margin:0}

/* ---------- PROCESS ---------- */
.kp__phase{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:40px;align-items:start;margin-bottom:40px
}
.kp__phase img{aspect-ratio:4/3;width:100%;object-fit:cover;border-radius:6px}
.kp__phase-label{
  font-size:12.5px;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--kp-gold-dark)
}
.kp__phase h3{font-size:24px;margin:8px 0 12px;letter-spacing:-.015em}
.kp__check{list-style:none;margin:16px 0 0;padding:0}
.kp__check li{
  padding:11px 0;border-bottom:1px solid var(--kp-border);
  font-size:15.5px;color:var(--kp-body-strong)
}

/* ---------- SERVICE AREA PILLS ---------- */
.kp__pills{display:flex;flex-wrap:wrap;gap:10px}
.kp__area-pill{
  border:1px solid var(--kp-border-str);border-radius:40px;
  padding:9px 17px;font-size:14.5px;font-weight:500;color:var(--kp-body-strong)
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:600px){
  .kp__section{padding:64px 0 58px}
  .kp__hero-content{padding:80px 24px 56px}
  .kp__band{flex-direction:column;align-items:flex-start}
}
.kp__hero-img{height:78vh;min-height:540px;max-height:760px}/* End custom CSS */