/*
Theme Name: Kleen Up Child
Theme URI: https://kleenup.co.za/
Description: Child theme of Hello Elementor for Kleen Up Johannesburg. Holds the Gravity Forms skin, component utilities, fonts and reduced-motion rules. Page content lives in Elementor.
Author: Storyteller
Author URI: https://storyteller.co.za/
Template: hello-elementor
Version: 1.0.0
Text Domain: kleenup-child
*/

/* ==========================================================================
   Fonts (self-hosted, latin subset, OFL)
   ========================================================================== */
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/noto-sans-600.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/noto-sans-700.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/open-sans-400.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/open-sans-600.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/open-sans-700.woff2) format("woff2")}

/* ==========================================================================
   Tokens
   ========================================================================== */
:root{
  --ku-navy:#040e41; --ku-navy-hover:#151f52; --ku-navy-line:#262f63;
  --ku-gold:#c3a877; --ku-white:#ffffff; --ku-soft:#f2f3f7;
  --ku-ink-soft:#5b6178; --ku-line:#e1e1e1; --ku-field:#c9ccd8; --ku-rule:#d6d8e0;
  --ku-error:#b42318; --ku-star:#ff6900; --ku-whatsapp:#25d366;
  --ku-heading:"Noto Sans",Helvetica,Arial,sans-serif;
  --ku-body:"Open Sans",Helvetica,Arial,sans-serif;
  --ku-gutter:24px; --ku-section:96px; --ku-max:1200px;
}
@media (max-width:760px){ :root{ --ku-gutter:16px; --ku-section:48px; } }

/* ==========================================================================
   Base
   ========================================================================== */
html{scroll-behavior:smooth}
body{background:#fff;color:var(--ku-navy);font-family:var(--ku-body);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}
a{color:var(--ku-navy)}
a:hover,a:active{color:var(--ku-navy-hover)}
.elementor p:last-child{margin-bottom:0}
.elementor p{margin:0 0 1em}
.elementor ul,.elementor ol{margin:0}
.elementor .elementor-heading-title{color:inherit}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ku-gold)!important;outline-offset:2px}
input:focus,select:focus,textarea:focus{outline:3px solid var(--ku-gold);outline-offset:2px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}
img{max-width:100%;height:auto}
@media (max-width:760px){ .ku-hide-m{display:none!important} }
@media (min-width:761px){ .ku-hide-d{display:none!important} }

/* ==========================================================================
   Sections and layout (Elementor containers)
   ========================================================================== */
body .e-con.ku-section{--padding-top:var(--ku-section);--padding-bottom:var(--ku-section);--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);--content-width:1152px}
body .e-con.ku-section--form{--padding-top:40px;--padding-bottom:80px}
body .e-con.ku-soft{background-color:var(--ku-soft)}
body .e-con.ku-navy{background-color:var(--ku-navy);color:#fff}
body .e-con.ku-lined{border-top:1px solid var(--ku-line)}
body .e-con.ku-lined-b{border-bottom:1px solid var(--ku-line)}
body .e-con.ku-narrow{--content-width:832px}
body .e-con.ku-stack{--gap:40px;--row-gap:40px;--column-gap:40px}
@media (max-width:760px){
  body .e-con.ku-stack{--gap:20px;--row-gap:20px;--column-gap:20px}
  body .e-con.ku-m-soft{background-color:var(--ku-soft)}
  body .e-con.ku-m-white{background-color:#fff}
}
/* cards take the opposite surface of their section (set on sections only, inherited by cards) */
.e-con.ku-section{--ku-card:var(--ku-soft)}
.e-con.ku-section.ku-soft{--ku-card:#fff}
@media (max-width:760px){ .e-con.ku-section.ku-m-soft{--ku-card:#fff} .e-con.ku-section.ku-m-white{--ku-card:var(--ku-soft)} }

/* Section heading rows (H2 + link or arrows) */
body .e-con.ku-headrow{--gap:16px 40px;--row-gap:12px;--column-gap:40px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}
body .e-con.ku-headrow--end{align-items:flex-end}
.ku-center{text-align:center}
.ku-center.e-con{align-items:center}

/* Lead and secondary text */
.ku-lead{font-size:19px;line-height:31px;max-width:520px}
.ku-muted,.ku-muted p{color:var(--ku-ink-soft)}
@media (max-width:760px){ .ku-lead{font-size:17px;line-height:27px} }

/* ==========================================================================
   Buttons (Elementor button widget)
   ========================================================================== */
.elementor-widget-button .elementor-button,.elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:0 46px;border-radius:50px;background:var(--ku-navy);color:#fff;font-family:var(--ku-body);font-weight:600;font-size:16px;line-height:20px;text-decoration:none;border:0;transition:background-color .15s ease}
.elementor-widget-button .elementor-button:hover,.elementor-widget-button .elementor-button:focus{background:var(--ku-navy-hover);color:#fff}
.elementor-button .elementor-button-content-wrapper{gap:10px;align-items:center}
.elementor-button svg{width:20px;height:20px;fill:currentColor}
.ku-btn-outline .elementor-button{background:transparent;color:var(--ku-navy);box-shadow:inset 0 0 0 2px var(--ku-navy)}
.ku-btn-outline .elementor-button:hover{background:var(--ku-soft);color:var(--ku-navy)}
.ku-btn-white .elementor-button{background:#fff;color:var(--ku-navy);padding:0 40px}
.ku-btn-white .elementor-button:hover{background:var(--ku-soft);color:var(--ku-navy)}
.ku-btn-outline-white .elementor-button{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px #fff;padding:0 32px}
.ku-btn-outline-white .elementor-button:hover{background:var(--ku-navy-hover);color:#fff}
.ku-btn-whatsapp .elementor-button{background:var(--ku-whatsapp);color:var(--ku-navy);font-weight:700}
.ku-btn-whatsapp .elementor-button:hover{background:#1fbf5b;color:var(--ku-navy)}
.ku-btn-sm .elementor-button{min-height:48px;padding:0 26px;font-size:15px}
@media (max-width:760px){
  .elementor-widget-button .elementor-button{min-height:56px;font-size:17px;padding:0 24px}
  .ku-btn-full,.ku-btn-full .elementor-button{width:100%}
  .ku-btn-sm .elementor-button{min-height:48px;font-size:15px}
  .ku-btn-half .elementor-button{min-height:52px;font-size:15px;width:100%}
}

/* Text link: 2px gold underline, hover thickens via box-shadow (no layout shift) */
.ku-link,.ku-links a,a.ku-link,.ku-link a{font-weight:600;color:var(--ku-navy);text-decoration:none;border-bottom:2px solid var(--ku-gold);transition:box-shadow .15s ease}
.ku-link:hover,.ku-links a:hover,.ku-link a:hover{box-shadow:0 2px 0 var(--ku-gold);color:var(--ku-navy)}
.elementor-widget.ku-link{border:0}
.elementor-widget.ku-link:hover{box-shadow:none}
@media (max-width:760px){ .ku-link a{font-size:15px} }

/* ==========================================================================
   Header (Theme Builder)
   ========================================================================== */
.ku-topbar{background:var(--ku-navy);color:#fff;font-size:15px;line-height:22px}
.ku-topbar__in{max-width:var(--ku-max);margin:0 auto;padding:10px var(--ku-gutter);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center}
.ku-topbar a{color:#fff;text-decoration:none}
.ku-topbar a:hover{color:#fff;text-decoration:underline}
.ku-topbar__links{display:flex;gap:20px;flex-wrap:wrap}
.ku-topbar__links a:first-child{font-weight:600}
@media (max-width:760px){ .ku-topbar{display:none} }

body .e-con.ku-header{background:#fff;border-bottom:1px solid var(--ku-line);--padding-top:16px;--padding-bottom:16px;--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);--content-width:1152px}
body .e-con.ku-header>.e-con-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;flex-wrap:nowrap}
.ku-logo,.ku-logo a{line-height:0;display:block}
.ku-logo img{height:84px;width:auto;display:block}
.ku-header .ku-nav-wrap{display:flex;align-items:center;gap:28px}
@media (max-width:760px){
  body .e-con.ku-header{--padding-top:12px;--padding-bottom:12px;--padding-left:16px;--padding-right:16px}
  .ku-logo img{height:56px}
  .ku-header .ku-btn-sm{display:none}
}

.ku-nav{display:flex;align-items:center;gap:28px;font-size:17px;font-weight:600;list-style:none;margin:0;padding:0}
.ku-nav>li{position:relative}
.ku-nav a{text-decoration:none;color:var(--ku-navy);display:flex;align-items:center;gap:6px;padding:6px 0}
.ku-nav>li>a:hover{box-shadow:0 2px 0 var(--ku-gold)}
.ku-nav .ku-caret{width:12px;height:12px}
.ku-nav .sub-menu{position:absolute;top:100%;left:-24px;z-index:50;min-width:280px;list-style:none;margin:0;padding:16px 24px;background:#fff;border:1px solid var(--ku-line);border-radius:28px;display:none;flex-direction:column;gap:2px;font-size:16px;font-weight:400}
.ku-nav .sub-menu a{padding:6px 0}
.ku-nav .sub-menu a:hover{box-shadow:none;text-decoration:underline;text-decoration-color:var(--ku-gold);text-decoration-thickness:2px;text-underline-offset:4px}
.ku-nav .sub-menu .menu-item-has-children>a{font-weight:700;font-family:var(--ku-heading);pointer-events:auto}
.ku-nav .sub-menu .sub-menu{position:static;display:flex;border:0;padding:0 0 8px;min-width:0}
.ku-nav>li:hover>.sub-menu,.ku-nav>li:focus-within>.sub-menu{display:flex}
.ku-nav>li.menu-item-has-children>.sub-menu{flex-direction:row;gap:40px;min-width:560px}
.ku-nav>li.menu-item-has-children>.sub-menu>li{flex:1}
@media (max-width:760px){ .ku-nav{display:none} }

/* Mobile menu button and full-screen navy menu */
.ku-burger{display:none;width:48px;height:48px;border-radius:50%;border:0;background:transparent;box-shadow:inset 0 0 0 2px var(--ku-navy);place-items:center;cursor:pointer;padding:0;color:var(--ku-navy)}
.ku-burger svg{width:22px;height:22px}
@media (max-width:760px){ .ku-burger{display:grid} }
.ku-mmenu{position:fixed;inset:0;z-index:9999;background:var(--ku-navy);color:#fff;display:none;flex-direction:column;overflow-y:auto;font-family:var(--ku-body)}
.ku-mmenu.is-open{display:flex}
body.ku-menu-open{overflow:hidden}
.ku-mmenu a{color:#fff;text-decoration:none}
.ku-mmenu__top{padding:16px;display:flex;align-items:center;justify-content:space-between}
.ku-mmenu__logo{background:#fff;border-radius:50px;padding:6px 16px;display:block}
.ku-mmenu__logo img{height:44px;width:auto;display:block}
.ku-mmenu__close{width:48px;height:48px;border-radius:50%;border:0;background:transparent;box-shadow:inset 0 0 0 2px #fff;display:grid;place-items:center;cursor:pointer;color:#fff;padding:0}
.ku-mmenu__nav{flex:1;padding:12px 24px;display:flex;flex-direction:column;gap:4px}
.ku-mmenu__big{font-family:var(--ku-heading);font-weight:600;font-size:28px;line-height:52px}
.ku-mmenu__big+.ku-mmenu__big,.ku-mmenu__services+.ku-mmenu__big{border-top:1px solid var(--ku-navy-line)}
.ku-mmenu__services{display:flex;flex-direction:column;gap:14px;padding:8px 0 16px}
.ku-mmenu__services>button{all:unset;cursor:pointer;font-family:var(--ku-heading);font-weight:600;font-size:28px;line-height:36px;display:flex;align-items:center;justify-content:space-between}
.ku-mmenu__services>button svg{transition:transform .2s ease}
.ku-mmenu__services>button[aria-expanded="false"] svg{transform:rotate(180deg)}
.ku-mmenu__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;font-size:15px;line-height:21px}
.ku-mmenu__cols[hidden]{display:none}
.ku-mmenu__cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ku-mmenu__label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ku-gold)}
.ku-mmenu__foot{padding:16px 16px 28px;display:flex;flex-direction:column;gap:12px}
.ku-mmenu__quote{height:56px;border-radius:50px;background:#fff;color:var(--ku-navy)!important;display:grid;place-items:center;font-weight:600;font-size:17px}
.ku-mmenu__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ku-mmenu__row a{height:52px;border-radius:50px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px}
.ku-mmenu__call{box-shadow:inset 0 0 0 2px #fff}
.ku-mmenu__wa{background:var(--ku-whatsapp);color:var(--ku-navy)!important;font-weight:700!important}
.ku-mmenu__small{font-size:13px;line-height:18px;color:#c9ccd8;text-align:center}

/* ==========================================================================
   Footer (Theme Builder)
   ========================================================================== */
.ku-footer{background:var(--ku-soft);color:var(--ku-navy)}
.ku-footer__in{max-width:var(--ku-max);margin:0 auto;padding:72px var(--ku-gutter) 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;font-size:16px;line-height:24px}
.ku-footer a{text-decoration:none}
.ku-footer a:hover{text-decoration:underline;text-decoration-color:var(--ku-gold);text-decoration-thickness:2px;text-underline-offset:4px}
.ku-footer__logo img{width:180px;height:auto;display:block}
.ku-footer__col{display:flex;flex-direction:column;gap:10px}
.ku-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ku-footer__col strong{font-family:var(--ku-heading);font-weight:600;margin-bottom:4px}
.ku-footer__col .current-menu-item>a{font-weight:600}
.ku-footer__phone{font-weight:600}
.ku-footer__muted{color:var(--ku-ink-soft)}
.ku-footer__hours{display:flex;flex-direction:column;gap:10px}
.ku-footer__social{display:flex;gap:12px;margin-top:8px}
.ku-footer__social a{width:44px;height:44px;border-radius:50%;background:var(--ku-navy);color:#fff;display:grid;place-items:center}
.ku-footer__social a:hover{background:var(--ku-navy-hover);text-decoration:none}
.ku-footer__social svg{width:20px;height:20px;fill:currentColor}
.ku-socket{background:var(--ku-navy);color:#fff;font-size:15px;line-height:22px}
.ku-socket__in{max-width:var(--ku-max);margin:0 auto;padding:18px var(--ku-gutter);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px}
.ku-socket a{color:#fff;text-decoration:none}
.ku-socket ul{list-style:none;margin:0;padding:0;display:flex;gap:20px}
@media (max-width:760px){
  .ku-footer__in{padding:40px 16px 48px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;font-size:15px;line-height:22px}
  .ku-footer__brand,.ku-footer__contact{grid-column:1/-1}
  .ku-footer__logo img{width:170px}
  .ku-footer__contact{gap:6px}
  .ku-footer__phone{font-weight:700}
  .ku-footer__hours{display:block}
  .ku-footer__hours span{display:inline}
  .ku-footer__hours span+span::before{content:" · "}
  .ku-socket{background:var(--ku-soft);color:var(--ku-ink-soft)}
  .ku-socket__in{padding:0 16px 48px;margin-top:-20px}
  .ku-socket a{color:var(--ku-ink-soft);text-decoration:underline}
  .ku-socket .ku-socket__about{display:none}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.ku-crumbs{font-size:14px;line-height:20px;color:var(--ku-ink-soft);display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.ku-crumbs a{color:var(--ku-ink-soft)}
.ku-crumbs [aria-current]{color:var(--ku-navy);font-weight:600}
.ku-crumbs li+li::before{content:"/";margin-right:8px;color:var(--ku-ink-soft)}
.ku-trust{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:16px;line-height:24px;color:var(--ku-ink-soft);margin:0;padding:0;list-style:none}
.ku-trust li{display:flex;align-items:center;gap:8px}
.ku-trust strong{color:var(--ku-navy);font-size:18px}
.ku-trust img{width:22px;height:22px}
.ku-trust .ku-star{width:16px;height:16px}
.ku-circle img,.ku-circle{border-radius:50%}
.ku-circle img{aspect-ratio:1;object-fit:cover;display:block}
.ku-hero-photo img{width:320px;margin-top:8px}
@media (max-width:760px){
  .ku-crumbs{font-size:13px;line-height:18px;gap:6px}
  .ku-crumbs li+li::before{margin-right:6px}
  .ku-trust{gap:10px 20px;font-size:15px;line-height:22px}
  .ku-trust strong{font-size:16px}
  .ku-trust img{width:18px;height:18px}
  .ku-trust .ku-g-reviews{display:none}
  .ku-hero-photo{align-self:center}
  .ku-hero-photo img{width:280px}
}
@media (min-width:761px){ .ku-trust .ku-g-on{display:none} }

/* Service hero: text column + quote card */
body .e-con.ku-hero{--padding-top:40px;--padding-bottom:80px;--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);--content-width:1152px}
body .e-con.ku-hero>.e-con-inner{flex-direction:row;flex-wrap:wrap;gap:48px 64px;align-items:flex-start}
body .e-con.ku-hero__text{--gap:24px;--row-gap:24px;flex:1 1 460px;min-width:0}
body .e-con.ku-quote{flex:1 1 440px;min-width:0;background:var(--ku-soft);border-radius:64px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;--gap:16px;--row-gap:16px;scroll-margin-top:24px}
.ku-quote__title .elementor-heading-title{font-size:26px;line-height:30px;padding:8px 8px 4px}
@media (max-width:760px){
  body .e-con.ku-hero{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
  body .e-con.ku-hero>.e-con-inner{gap:0}
  body .e-con.ku-hero__text{--padding-top:16px;--padding-bottom:32px;--padding-left:16px;--padding-right:16px;--gap:18px;--row-gap:18px}
  body .e-con.ku-quote{border-radius:0;--padding-top:40px;--padding-bottom:40px;--padding-left:16px;--padding-right:16px}
  .ku-quote__title .elementor-heading-title{font-size:30px;line-height:34px;padding:0}
  .ku-quote .gform_wrapper{background:#fff;border-radius:56px;padding:32px 28px 28px}
}

/* ==========================================================================
   Logo marquee
   ========================================================================== */
body .e-con.ku-logos{--padding-top:32px;--padding-bottom:32px;--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);--gap:16px;--row-gap:16px;border-top:1px solid var(--ku-line);border-bottom:1px solid var(--ku-line);--content-width:1152px}
body .e-con.ku-logos>.e-con-inner{align-items:center}
.ku-marquee{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.ku-marquee__track{display:flex;width:max-content;animation:ku-scroll 45s linear infinite;list-style:none;margin:0;padding:0}
.ku-marquee:hover .ku-marquee__track,.ku-marquee:focus-within .ku-marquee__track{animation-play-state:paused}
.ku-marquee__track li{flex:0 0 280px;height:132px;padding:0 16px;display:grid;place-items:center}
.ku-marquee__track img{max-width:100%;max-height:108px;width:auto;object-fit:contain}
@keyframes ku-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:760px){
  body .e-con.ku-logos{--padding-top:48px;--padding-bottom:36px;--padding-left:0;--padding-right:0;--gap:20px;--row-gap:20px;border-top:0}
  body .e-con.ku-logos .elementor-widget-heading{padding:0 16px}
  .ku-marquee{-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
  .ku-marquee__track{animation-duration:40s}
  .ku-marquee__track li{flex-basis:160px;height:84px;padding:0 12px}
  .ku-marquee__track img{max-height:68px}
}

/* ==========================================================================
   Feature cards ("What's included", "Why Kleen Up")
   ========================================================================== */
body .e-con.ku-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
body .e-con.ku-feature{--r:48px;--p:24px;background:var(--ku-card,#fff);border-radius:var(--r);--padding-top:var(--p);--padding-left:var(--p);--padding-right:26px;--padding-bottom:32px;--gap:14px;--row-gap:14px;min-width:0}
.ku-feature__icon{width:48px;height:48px;border-radius:50%;background:var(--ku-navy);display:grid;place-items:center}
.ku-feature__icon img{width:26px;height:26px}
.ku-feature__icon svg{width:22px;height:22px}
.ku-feature .ku-feature__title .elementor-heading-title{font-family:var(--ku-heading);font-weight:600;font-size:18px;line-height:22px;color:var(--ku-navy)}
.ku-feature .ku-feature__text{font-size:16px;line-height:24px;color:var(--ku-ink-soft)}
body .e-con.ku-feature--navy{background:var(--ku-navy);color:#fff}
.ku-feature--navy .ku-feature__icon{background:var(--ku-gold)}
.ku-feature.ku-feature--navy .ku-feature__title .elementor-heading-title{color:var(--ku-gold)}
.ku-feature.ku-feature--navy .ku-feature__text{color:#fff}
@media (max-width:760px){
  body .e-con.ku-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body .e-con.ku-feature{--r:40px;--p:20px;--padding-right:18px;--padding-bottom:24px;--gap:12px;--row-gap:12px}
  .ku-feature__icon{width:40px;height:40px}
  .ku-feature__icon img{width:22px;height:22px}
  .ku-feature .ku-feature__title .elementor-heading-title{font-size:16px;line-height:20px}
  .ku-feature .ku-feature__text{font-size:15px;line-height:22px}
  body .e-con.ku-feature--wide-m{grid-column:1/-1}
}

/* ==========================================================================
   Split section (video + How We Work)
   ========================================================================== */
body .e-con.ku-split>.e-con-inner{flex-direction:row;flex-wrap:wrap;gap:48px 64px;align-items:center}
body .e-con.ku-split__a{flex:1 1 520px;min-width:0;--gap:20px;--row-gap:20px}
body .e-con.ku-split__b{flex:1 1 400px;min-width:0;--gap:28px;--row-gap:28px}
@media (max-width:760px){
  body .e-con.ku-split{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
  body .e-con.ku-split>.e-con-inner{gap:0}
  body .e-con.ku-split__a,body .e-con.ku-split__b{flex-basis:100%;--padding-top:48px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;--gap:16px;--row-gap:16px}
  body .e-con.ku-split__b{background:var(--ku-soft);--gap:24px;--row-gap:24px}
}

/* YouTube facade */
.ku-video{position:relative;display:block;width:100%;border-radius:48px;overflow:hidden;aspect-ratio:16/10;border:0;padding:0;cursor:pointer;background:var(--ku-navy)}
.ku-video img{width:100%;height:100%;object-fit:cover;display:block}
.ku-video::after{content:"";position:absolute;inset:0;background:rgba(4,14,65,.45)}
.ku-video__ui{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;z-index:1}
.ku-video__play{width:120px;height:120px;border-radius:50%;background:#fff;display:grid;place-items:center}
.ku-video__play svg{width:44px;height:44px}
.ku-video__label{background:var(--ku-navy);color:#fff;border-radius:50px;padding:10px 22px;font-weight:600;font-size:15px;line-height:20px;white-space:nowrap}
.ku-video:hover .ku-video__label{background:var(--ku-navy-hover)}
.ku-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
.ku-video.is-playing::after,.ku-video.is-playing .ku-video__ui{display:none}
@media (max-width:760px){
  .ku-video__ui{gap:12px}
  .ku-video__play{width:88px;height:88px}
  .ku-video__play svg{width:32px;height:32px}
  .ku-video__label{padding:8px 18px;font-size:14px;line-height:18px}
}

/* How We Work timeline */
.ku-steps{list-style:none;margin:0;padding:0;display:grid;grid-auto-rows:1fr;gap:28px;--m:72px;--b:5px;--ring:#fff}
.ku-steps li{position:relative;display:flex;gap:20px;align-items:flex-start}
.ku-steps li:not(:last-child)::before{content:"";position:absolute;left:calc(var(--m)/2 - 1px);top:calc(var(--m)/2);width:2px;height:calc(100% + 28px);background:var(--ku-line)}
.ku-steps__n{position:relative;flex:none;width:var(--m);height:var(--m);border-radius:50%;background:var(--ku-navy);color:var(--ku-gold);border:var(--b) solid var(--ring);display:grid;place-items:center;font-family:var(--ku-heading);font-weight:700;font-size:24px;box-sizing:border-box}
.ku-steps li:last-child .ku-steps__n{background:var(--ku-gold);color:var(--ku-navy)}
.ku-steps__n svg{width:28px;height:28px}
.ku-steps__t{display:flex;flex-direction:column;gap:4px;padding-top:10px}
.ku-steps__t strong{font-family:var(--ku-heading);font-weight:600;font-size:20px;line-height:24px}
.ku-steps__t span{color:var(--ku-ink-soft)}
.ku-soft .ku-steps{--ring:var(--ku-soft)}
@media (max-width:760px){
  .ku-steps{gap:24px;--m:64px;--b:4px;--ring:var(--ku-soft)}
  .ku-steps li{gap:16px}
  .ku-steps li:not(:last-child)::before{height:calc(100% + 24px);background:var(--ku-rule)}
  .ku-steps__n{font-size:22px}
  .ku-steps__n svg{width:26px;height:26px}
  .ku-steps__t{padding-top:6px}
  .ku-steps__t strong{font-size:18px;line-height:22px}
  .ku-steps__t span{font-size:15px;line-height:22px}
}

/* ==========================================================================
   Reviews
   ========================================================================== */
body .e-con.ku-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
body .e-con.ku-review{background:var(--ku-card,#fff);border-radius:48px;--padding-top:24px;--padding-left:24px;--padding-right:28px;--padding-bottom:32px;--gap:12px;--row-gap:12px;min-width:0}
.ku-review__head{display:flex;align-items:center;gap:12px;min-width:0}
.ku-review__avatar{width:48px;height:48px;flex:none;border-radius:50%;background:var(--ku-navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px}
.ku-review__who{display:flex;flex-direction:column;min-width:0}
.ku-review__who strong{font-size:16px;line-height:20px}
.ku-review__who span{font-size:13px;line-height:18px;color:var(--ku-ink-soft)}
.ku-stars{display:flex;gap:2px}
.ku-stars svg{width:18px;height:18px}
.ku-review .ku-review__text{font-size:16px;line-height:24px}

/* ==========================================================================
   Gallery (Elementor Basic Gallery turned into a scroll-snap row)
   ========================================================================== */
.ku-gallery .gallery{display:flex!important;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px;margin:0!important}
.ku-gallery .gallery::-webkit-scrollbar{display:none}
.ku-gallery .gallery br{display:none}
.ku-gallery .gallery-item{flex:0 0 calc((100% - 72px)/4)!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;scroll-snap-align:start}
.ku-gallery .gallery-item img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;display:block;border:0!important}
.ku-gallery .gallery-caption{display:none}
.ku-gallery--rounded .gallery-item img{border-radius:48px;aspect-ratio:495/400}
.ku-arrows{display:flex;gap:12px}
.ku-arrow{width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;background:#fff;box-shadow:inset 0 0 0 2px var(--ku-navy);display:grid;place-items:center;padding:0;color:var(--ku-navy)}
.ku-arrow--next{background:var(--ku-navy);color:#fff;box-shadow:none}
.ku-arrow--next:hover{background:var(--ku-navy-hover)}
.ku-arrow--prev:hover{background:var(--ku-soft)}
.ku-arrow svg{width:22px;height:22px}
body .e-con.ku-section--gallery{--padding-bottom:0}
@media (max-width:760px){
  .ku-arrows{display:none}
  body .e-con.ku-section--gallery{--padding-top:0;--padding-bottom:48px;--padding-left:0;--padding-right:0}
  body .e-con.ku-section--gallery .ku-headrow{padding:0 16px}
  .ku-gallery .gallery{gap:12px;padding:4px 16px 8px;scroll-padding:0 16px}
  .ku-gallery .gallery-item{flex:0 0 240px!important}
  .ku-gallery--rounded .gallery-item{flex-basis:280px!important}
  .ku-gallery--rounded .gallery-item img{border-radius:40px}
}

/* Mobile swipe rows (reviews, other services) */
@media (max-width:760px){
  body .e-con.ku-swipe-m{display:flex!important;flex-wrap:nowrap!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;--padding-top:4px;--padding-bottom:8px;--padding-left:16px;--padding-right:16px;scroll-padding:0 16px;margin:0 -16px;width:calc(100% + 32px)!important;max-width:none}
  body .e-con.ku-swipe-m::-webkit-scrollbar{display:none}
  body .e-con.ku-swipe-m>.e-con{flex:none!important;scroll-snap-align:start}
  body .e-con.ku-swipe-m>.ku-review{width:300px;--padding-right:26px;--padding-bottom:30px}
  body .e-con.ku-swipe-m>.ku-arch{width:236px}
  .ku-review .ku-review__text{font-size:15px}
}

/* ==========================================================================
   FAQ (Elementor accordion widget)
   ========================================================================== */
.ku-faq .elementor-accordion{display:flex;flex-direction:column;gap:12px}
.ku-faq .elementor-accordion-item{background:var(--ku-card);border:0!important;border-radius:36px;overflow:hidden}
.ku-faq .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:12px 12px 12px 28px!important;border:0!important;cursor:pointer;font-family:var(--ku-body);font-weight:600;font-size:17px;line-height:24px;color:var(--ku-navy)}
.ku-faq .elementor-tab-title a{color:var(--ku-navy);text-decoration:none;order:1;flex:1}
.ku-faq .elementor-tab-title a:focus-visible{outline:none}
.ku-faq .elementor-tab-title:focus-within{outline:3px solid var(--ku-gold);outline-offset:-3px;border-radius:36px}
.ku-faq .elementor-accordion .elementor-tab-title .elementor-accordion-icon{order:2;width:48px;height:48px;flex:none;border-radius:50%;background:#fff;display:grid!important;place-items:center;float:none!important;margin:0!important;color:var(--ku-navy)}
.ku-faq .elementor-accordion .elementor-accordion-icon svg{width:18px;height:18px;fill:var(--ku-navy)}
.ku-faq .elementor-tab-content{padding:0 28px 24px!important;border:0!important;font-size:16px;line-height:25px;color:var(--ku-ink-soft)}
.ku-faq .elementor-tab-content p{max-width:640px}
.ku-m-soft .ku-faq .elementor-accordion .elementor-accordion-icon{background:var(--ku-soft)}
@media (max-width:760px){
  .ku-faq .elementor-accordion{gap:10px}
  .ku-faq .elementor-accordion-item{border-radius:32px}
  .ku-faq .elementor-tab-title{min-height:64px;padding:12px 12px 12px 24px!important;font-size:16px;line-height:22px;gap:12px}
  .ku-faq .elementor-accordion-icon{width:40px;height:40px;background:var(--ku-soft)}
  .ku-faq .elementor-accordion .elementor-accordion-icon svg{width:16px;height:16px}
  .ku-faq .elementor-tab-content{padding:0 24px 22px!important;font-size:15px;line-height:23px}
}
body .e-con.ku-faq-head{--gap:12px;--row-gap:12px;align-items:center;text-align:center}
@media (max-width:760px){
  body .e-con.ku-faq-head{align-items:flex-start;text-align:left}
  body .e-con.ku-faq-head .ku-hide-m{display:none}
  body .e-con.ku-section--faq{--padding-left:16px;--padding-right:16px}
  body .e-con.ku-section--faq>.e-con-inner{--gap:16px;gap:16px}
}

/* ==========================================================================
   Service cards (arch)
   ========================================================================== */
body .e-con.ku-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
body .e-con.ku-arch{background:var(--ku-soft);border-radius:999px 999px 40px 40px;--padding-top:16px;--padding-left:16px;--padding-right:16px;--padding-bottom:32px;--gap:14px;--row-gap:14px;align-items:center;text-align:center;text-decoration:none;color:var(--ku-navy);min-width:0}
.ku-arch .elementor-widget-image{width:100%}
.ku-arch img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;display:block}
.ku-arch .ku-arch__title .elementor-heading-title{font-family:var(--ku-heading);font-weight:600;font-size:21px;line-height:25px;color:var(--ku-navy);padding-top:6px}
.ku-arch .ku-arch__text{font-size:16px;line-height:24px;color:var(--ku-ink-soft)}
.ku-arch .ku-arch__cta{font-size:15px;line-height:22px;font-weight:600;color:var(--ku-navy)}
.ku-arch .ku-arch__cta span{border-bottom:2px solid var(--ku-gold);transition:box-shadow .15s ease}
.ku-arch:hover .ku-arch__cta span,.ku-arch:focus-visible .ku-arch__cta span{box-shadow:0 2px 0 var(--ku-gold)}
body .e-con.ku-section--other{--padding-top:80px}
@media (max-width:760px){
  body .e-con.ku-arch{--padding-bottom:28px;--gap:12px;--row-gap:12px}
  .ku-arch .ku-arch__title .elementor-heading-title{font-size:19px;line-height:23px;padding-top:0}
  body .e-con.ku-section--other{--padding-top:48px}
  body .e-con.ku-section--other>.e-con-inner{gap:16px}
  body .e-con.ku-section--other .ku-headrow .ku-link{display:none}
}

/* ==========================================================================
   Final CTA band
   ========================================================================== */
body .e-con.ku-cta{--padding-top:72px;--padding-bottom:72px;--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);background:var(--ku-navy);color:#fff;--content-width:1152px}
body .e-con.ku-cta>.e-con-inner{flex-direction:row;flex-wrap:wrap;align-items:center;gap:32px 48px}
.ku-cta__tick img{width:96px;height:96px;display:block}
.ku-cta .ku-cta__title{flex:1 1 420px;min-width:0}
.ku-cta .ku-cta__title .elementor-heading-title{color:#fff;text-wrap:balance}
body .e-con.ku-cta__btns{flex-direction:row;flex-wrap:wrap;gap:12px;--gap:12px;--row-gap:12px;width:auto}
@media (max-width:760px){
  body .e-con.ku-cta{--padding-top:48px;--padding-bottom:48px;--padding-left:32px;--padding-right:32px}
  body .e-con.ku-cta>.e-con-inner{flex-direction:column;align-items:stretch;gap:18px}
  .ku-cta .ku-cta__title{flex:none}
  .ku-cta__tick img{width:64px;height:64px}
  body .e-con.ku-cta__btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  body .e-con.ku-cta__btns>.ku-btn-white{grid-column:1/-1}
  .ku-cta__btns .elementor-button{width:100%}
  .ku-cta__btns .ku-btn-white .elementor-button{min-height:56px;font-size:17px}
  .ku-cta__btns .ku-btn-outline-white .elementor-button{min-height:52px;font-size:15px;padding:0 12px}
}

/* ==========================================================================
   Gravity Forms skin (Orbital theme, restyled through its CSS variables)
   ========================================================================== */
.gform-theme--framework.gform-theme--orbital,.gform_wrapper.gform-theme--orbital{
  --gf-color-primary:var(--ku-navy);--gf-color-primary-rgb:4,14,65;--gf-color-primary-darker:var(--ku-navy-hover);--gf-color-primary-contrast:#fff;
  --gf-color-in-ctrl:#fff;--gf-color-in-ctrl-contrast:var(--ku-navy);--gf-color-in-ctrl-dark:var(--ku-field);--gf-color-in-ctrl-darker:var(--ku-navy);
  --gf-color-out-ctrl-dark:var(--ku-ink-soft);--gf-color-out-ctrl-dark-darker:var(--ku-navy);--gf-color-danger:var(--ku-error);
  --gf-ctrl-border-color:var(--ku-field);--gf-ctrl-border-width:1px;--gf-ctrl-radius:50px;--gf-ctrl-size:56px;
  --gf-ctrl-padding-x:22px;--gf-ctrl-font-size:16px;--gf-ctrl-font-family:var(--ku-body);--gf-ctrl-color:var(--ku-navy);
  --gf-ctrl-label-font-size-primary:14px;--gf-ctrl-label-font-weight-primary:600;--gf-ctrl-label-color-primary:var(--ku-navy);--gf-ctrl-label-font-family-primary:var(--ku-body);
  --gf-ctrl-label-font-size-secondary:14px;--gf-ctrl-label-font-weight-secondary:600;--gf-ctrl-label-color-secondary:var(--ku-navy);
  --gf-ctrl-textarea-height:136px;--gf-ctrl-btn-radius:50px;--gf-ctrl-btn-size:64px;--gf-ctrl-btn-font-size:16px;--gf-ctrl-btn-font-weight:600;--gf-ctrl-btn-padding-x:46px;
  --gf-ctrl-focus-ring:none;--gf-form-gap-y:16px;--gf-form-gap-x:18px;--gf-field-gap-x:18px;
  font-family:var(--ku-body);
}
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label,.gform_wrapper .gform-field-label{font-size:14px!important;font-weight:600!important;color:var(--ku-navy)!important;padding-left:8px;margin-bottom:6px!important}
.gform_wrapper .gform-field-label--type-sub{padding-left:8px;font-size:14px!important;font-weight:600!important;color:var(--ku-navy)!important}
.gform_wrapper .gfield_required{display:none!important} /* fields keep aria-required; the design shows no markers */
.gform_wrapper input[type=text],.gform_wrapper input[type=email],.gform_wrapper input[type=tel],.gform_wrapper input[type=number],.gform_wrapper input[type=url],.gform_wrapper input[type=date],.gform_wrapper select{height:56px!important;border-radius:50px!important;border:1px solid var(--ku-field)!important;padding:0 22px!important;font-size:16px!important;color:var(--ku-navy)!important;background-color:#fff!important;box-shadow:none!important;font-family:var(--ku-body)!important;width:100%}
.gform_wrapper select{padding-right:44px!important}
.gform_wrapper textarea{border-radius:28px!important;border:1px solid var(--ku-field)!important;padding:16px 22px!important;font-size:16px!important;color:var(--ku-navy)!important;background:#fff!important;box-shadow:none!important;min-height:136px!important;height:136px;resize:vertical;font-family:var(--ku-body)!important}
.gform_wrapper ::placeholder{color:#6b7085;opacity:1}
.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{outline:3px solid var(--ku-gold)!important;outline-offset:2px!important;box-shadow:none!important;border-color:var(--ku-field)!important}
.gform_wrapper .gform_footer,.gform_wrapper .gform_page_footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:16px!important;padding:0!important}
.gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_footer button,.gform_wrapper .gform_button{height:64px!important;min-height:64px!important;padding:0 46px!important;border:0!important;border-radius:50px!important;background:var(--ku-navy)!important;color:#fff!important;font-family:var(--ku-body)!important;font-weight:600!important;font-size:16px!important;cursor:pointer;box-shadow:none!important;width:auto}
.gform_wrapper .gform_footer input[type=submit]:hover,.gform_wrapper .gform_button:hover{background:var(--ku-navy-hover)!important}
.ku-form-aside{font-size:16px;color:var(--ku-ink-soft)}
.ku-form-aside a{font-weight:600;color:var(--ku-navy);text-decoration:none;border-bottom:2px solid var(--ku-gold)}
.ku-form-aside a:hover{box-shadow:0 2px 0 var(--ku-gold)}
/* radios and checkboxes as pill chips */
.gform_wrapper .gfield--type-radio .gfield_radio,.gform_wrapper .gfield--type-checkbox .gfield_checkbox{display:flex!important;flex-wrap:wrap;gap:10px!important}
.gform_wrapper .gchoice{position:relative;margin:0!important}
.gform_wrapper .gchoice input[type=radio],.gform_wrapper .gchoice input[type=checkbox]{position:absolute!important;opacity:0;width:1px!important;height:1px!important;margin:0!important}
.gform_wrapper .gchoice label{display:flex!important;align-items:center;min-height:48px;padding:0 22px!important;margin:0!important;border-radius:50px;box-shadow:inset 0 0 0 1px var(--ku-field);background:#fff;font-size:16px!important;font-weight:400!important;color:var(--ku-navy)!important;cursor:pointer;max-width:none!important;transition:box-shadow .15s ease}
.gform_wrapper .gchoice label::before,.gform_wrapper .gchoice label::after{display:none!important}
.gform_wrapper .gchoice label:hover{box-shadow:inset 0 0 0 2px var(--ku-navy)}
.gform_wrapper .gchoice input:checked+label{background:var(--ku-navy);color:#fff!important;box-shadow:none}
.gform_wrapper .gchoice input:focus-visible+label{outline:3px solid var(--ku-gold);outline-offset:2px}
/* Part 2 section headings */
.gform_wrapper .gsection{border:0!important;padding:0!important;margin:0}
.gform_wrapper .gsection .gsection_title{font-family:var(--ku-heading)!important;font-weight:600!important;font-size:21px!important;line-height:26px!important;color:var(--ku-navy)!important;margin:0!important}
.gform_wrapper .gsection:not(:first-child){border-top:1px solid var(--ku-rule)!important;padding-top:24px!important;margin-top:8px}
/* validation: readable text plus a field border, never a red fill */
.gform_wrapper .gform_validation_errors{background:#fff!important;border:2px solid var(--ku-error)!important;border-radius:28px!important;box-shadow:none!important;padding:16px 22px!important}
.gform_wrapper .gform_validation_errors>h2{color:var(--ku-error)!important;font-size:15px!important;font-weight:600!important}
.gform_wrapper .gform_validation_errors>h2 .gform-icon{display:none}
.gform_wrapper .gfield_error .gfield_label,.gform_wrapper .gfield_error legend{color:var(--ku-navy)!important}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error select,.gform_wrapper .gfield_error textarea{border:2px solid var(--ku-error)!important;background:#fff!important}
.gform_wrapper .gfield_validation_message,.gform_wrapper .validation_message{background:transparent!important;border:0!important;padding:4px 0 0 8px!important;margin:0!important;color:var(--ku-error)!important;font-size:14px!important;line-height:20px}
.gform_wrapper .gfield_error{background:transparent!important;border:0!important}
.gform_wrapper .gform_ajax_spinner{margin-left:8px}
.gform_confirmation_message{font-size:17px;color:var(--ku-navy)}
@media (max-width:760px){
  .gform_wrapper .gform_fields{grid-template-columns:repeat(12,1fr)!important}
  .gform_wrapper .gfield--width-half:not(.gfield--type-name){grid-column:span 12!important}
  .gform_wrapper .gform_footer{flex-direction:column;align-items:stretch}
  .gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_button{height:56px!important;min-height:56px!important;width:100%!important;font-size:17px!important;margin-top:4px!important}
  .gform_wrapper .ku-form-aside{display:none}
  .gform_wrapper input[type=text],.gform_wrapper input[type=email],.gform_wrapper input[type=tel]{padding:0 20px!important}
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ku-marquee__track{animation:none}
  .ku-gallery .gallery{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:0s!important}
}

/* Logo marquee source (Basic Gallery) before ku.js turns it into a track */
.ku-marquee-src .gallery{display:flex!important;flex-wrap:nowrap;overflow:hidden;justify-content:center;margin:0!important}
.ku-marquee-src .gallery-item{flex:0 0 280px!important;height:132px;display:grid;place-items:center;margin:0!important;padding:0 16px!important}
.ku-marquee-src .gallery-item img{max-height:108px;width:auto;border:0!important}
.ku-marquee-src .gallery br,.ku-marquee-src .gallery-caption{display:none}
.ku-marquee-src{width:100%}
@media (max-width:760px){ .ku-marquee-src .gallery-item{flex-basis:160px!important;height:84px;padding:0 12px!important} .ku-marquee-src .gallery-item img{max-height:68px} }

/* ==========================================================================
   Header wrapper and extra components
   ========================================================================== */
body .e-con.ku-header-wrap{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;--row-gap:0}
body .e-con.ku-header__right{flex-direction:row;align-items:center;gap:28px;--gap:28px;width:auto;flex:0 0 auto}
.ku-header .elementor-widget-shortcode .elementor-shortcode{display:flex;align-items:center;gap:28px}
body .e-con.ku-hero__btns{--gap:12px;--row-gap:12px}
body .e-con.ku-footer-wrap{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}

/* Pill chips (Icon List widget) */
.ku-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.ku-chips .elementor-icon-list-item{display:flex;align-items:center;gap:10px;background:var(--ku-soft);border-radius:50px;padding:10px 20px 10px 14px!important;margin:0!important;font-size:16px;line-height:22px;font-weight:600;color:var(--ku-navy)}
.ku-chips .elementor-icon-list-item::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ku-gold);flex:none}
.ku-chips .elementor-icon-list-item::after{display:none!important}
.ku-chips .elementor-icon-list-icon{display:none}
.ku-feature-img img{width:100%;aspect-ratio:16/10;border-radius:48px;object-fit:cover;display:block}
@media (max-width:760px){
  .ku-chips .elementor-icon-list-item{font-size:15px;padding:8px 16px 8px 12px!important}
  .ku-feature-img img{border-radius:40px}
}

/* Projects (Post Construction) */
body .e-con.ku-section--projects{--padding-bottom:0}
body .e-con.ku-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
body .e-con.ku-project{background:var(--ku-soft);border-radius:48px;overflow:hidden;--gap:0;--row-gap:0}
.ku-project img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:48px 48px 0 0}
body .e-con.ku-project__body{--padding-top:18px;--padding-bottom:26px;--padding-left:24px;--padding-right:24px;--gap:2px;--row-gap:2px}
.ku-project .ku-project__title .elementor-heading-title{font-family:var(--ku-heading);font-weight:600;font-size:19px;line-height:24px}
@media (max-width:760px){
  body .e-con.ku-section--projects{--padding-bottom:0}
  body .e-con.ku-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  body .e-con.ku-project{border-radius:32px}
  .ku-project img{border-radius:32px 32px 0 0}
  body .e-con.ku-project__body{--padding-top:12px;--padding-bottom:18px;--padding-left:16px;--padding-right:16px}
  .ku-project .ku-project__title .elementor-heading-title{font-size:16px;line-height:20px}
  .ku-project .ku-muted{font-size:15px}
}

/* Balanced H1s and breadcrumb links, as designed */
.elementor-widget-heading h1.elementor-heading-title{text-wrap:balance;max-width:620px}
.ku-crumbs a{text-decoration:underline;text-underline-offset:2px}
.ku-crumbs a:hover{color:var(--ku-navy)}

/* Neutralise Hello's reset on our own buttons (it paints every button #c36 on hover/focus) */
.ku-burger:hover,.ku-burger:focus{background:var(--ku-soft);color:var(--ku-navy)}
.ku-mmenu__close:hover,.ku-mmenu__close:focus{background:var(--ku-navy-hover);color:#fff}
.ku-arrow--prev:hover,.ku-arrow--prev:focus{background:var(--ku-soft);color:var(--ku-navy)}
.ku-arrow--next:hover,.ku-arrow--next:focus{background:var(--ku-navy-hover);color:#fff}
.ku-video:hover,.ku-video:focus{background:var(--ku-navy)}
.ku-arrow,.ku-burger,.ku-mmenu__close,.ku-video{border:0;white-space:normal;transition:background-color .15s ease}

/* Mobile swipe rows run horizontally; name fields stay side by side */
@media (max-width:760px){
  body .e-con.ku-swipe-m{flex-direction:row!important;--flex-direction:row}
  .gform_wrapper .ginput_container--name{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}
  .gform_wrapper .ginput_container--name>span{width:auto!important;flex:none!important;padding:0!important;margin:0!important}
}
.ku-review .ku-stars{margin-top:12px}
/* Navy "All our services" arch card */
body .e-con.ku-arch--navy{background:var(--ku-navy)}
.ku-arch--navy .elementor-widget-html{width:100%}
.ku-arch__disc{width:100%;aspect-ratio:1;border-radius:50%;background:var(--ku-gold);display:grid;place-items:center}
.ku-arch__disc svg{width:34px;height:34px}
.ku-arch.ku-arch--navy .ku-arch__title .elementor-heading-title,.ku-arch.ku-arch--navy .ku-arch__cta{color:#fff}
.ku-eyebrow{font-size:14px;line-height:20px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ku-ink-soft)}
@media (min-width:1025px){ body .e-con.ku-features--4{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:760px){ .ku-eyebrow{font-size:13px;line-height:18px} }
@media (max-width:760px){
  body .e-con.ku-cta__btns>.ku-btn-wide-m{grid-column:1/-1}
  .ku-cta__btns .ku-btn-wide-m .elementor-button{min-height:52px;font-size:15px}
  body .e-con.ku-swipe-m>.ku-project{width:260px}
}
@media (max-width:760px){ .ku-chips .elementor-icon-list-items{flex-direction:column;align-items:flex-start} }

/* ==========================================================================
   Homepage
   ========================================================================== */
/* Hero */
body .e-con.ku-home-hero{--padding-top:72px;--padding-bottom:88px}
body .e-con.ku-home-hero>.e-con-inner{flex-direction:row;flex-wrap:wrap;align-items:center;gap:56px}
body .e-con.ku-home-hero__text{flex:1 1 480px;min-width:0;--gap:28px;--row-gap:28px}
body .e-con.ku-home-hero__photo{flex:1 1 420px;min-width:0;align-items:center;justify-content:center}
.ku-home-hero__photo img{width:min(480px,100%)}
.ku-home-hero .ku-lead{max-width:540px}
.ku-badge{display:inline-flex;align-items:center;gap:10px;background:var(--ku-soft);border-radius:50px;padding:8px 16px 8px 8px;font-size:14px;font-weight:600;line-height:20px}
.ku-badge__tick{width:28px;height:28px;border-radius:50%;background:var(--ku-navy);display:grid;place-items:center}
.ku-badge__tick svg{width:16px;height:16px}
body .e-con.ku-btnrow{flex-direction:row;flex-wrap:wrap;gap:16px;--gap:16px;align-items:center}
.ku-btn-wa .elementor-button{padding:0 32px}
.ku-trust-rule{border-top:1px solid var(--ku-line);padding-top:8px}
.ku-trust-rule .ku-trust li{padding-top:16px}
.ku-trust__stars{display:flex;gap:2px}
@media (max-width:760px){
  body .e-con.ku-home-hero{--padding-top:28px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px}
  body .e-con.ku-home-hero>.e-con-inner{gap:32px}
  body .e-con.ku-home-hero__text{--gap:20px;--row-gap:20px}
  .ku-home-hero .elementor-widget-html:first-child{display:none}
  body .e-con.ku-btnrow{flex-direction:column;align-items:stretch;gap:12px}
  .ku-trust-rule{border-top:0;padding-top:0}
  .ku-trust-rule .ku-trust li{padding-top:0}
  .ku-trust-rule .ku-trust__stars{display:none}
  .ku-trust-rule .ku-trust li:first-child::after{content:"";display:none}
  .ku-home-hero__photo img{width:300px}
}
@media (max-width:760px){ .ku-trust-rule .ku-trust li:first-child .ku-g-on{display:inline} .ku-trust-rule .ku-trust li:first-child .ku-trust__stars+*{} }

/* Services groups */
body .e-con.ku-home-services>.e-con-inner{gap:56px}
body .e-con.ku-group{--gap:24px;--row-gap:24px;scroll-margin-top:24px}
.ku-group__title .elementor-heading-title{font-family:var(--ku-heading);font-weight:600;font-size:26px;line-height:30px;display:flex;align-items:center;gap:12px}
.ku-group__title .elementor-heading-title::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--ku-navy);flex:none}
.ku-group__title--residential .elementor-heading-title::before{background:var(--ku-gold)}
@media (max-width:760px){
  body .e-con.ku-home-services>.e-con-inner{gap:24px;align-items:stretch}
  body .e-con.ku-home-services .ku-center{text-align:left}
  .ku-group__title .elementor-heading-title{font-size:22px;line-height:26px}
  body .e-con.ku-group{--gap:16px;--row-gap:16px}
  body .e-con.ku-swipe-m>.ku-arch{width:236px}
}

/* Statement band */
body .e-con.ku-statement{background:var(--ku-navy);color:#fff;--padding-top:80px;--padding-bottom:80px;--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);--content-width:1152px}
body .e-con.ku-statement>.e-con-inner{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:32px 40px}
.ku-statement__tick img{width:120px;height:120px;display:block}
.ku-statement__text{flex:1 1 400px;min-width:0;max-width:760px}
.ku-statement__text p{font-family:var(--ku-body);font-weight:700;font-size:50px;line-height:56px;text-wrap:balance;color:#fff}
@media (max-width:760px){
  body .e-con.ku-statement{--padding-top:48px;--padding-bottom:48px;--padding-left:32px;--padding-right:32px}
  body .e-con.ku-statement>.e-con-inner{flex-direction:column;align-items:flex-start;gap:24px}
  .ku-statement__tick img{width:64px;height:64px}
  .ku-statement__text{flex:none}
  .ku-statement__text p{font-size:30px;line-height:34px}
}

/* Horizontal How We Work */
body .e-con.ku-home-how{--padding-top:104px;--padding-bottom:104px}
body .e-con.ku-home-how>.e-con-inner{gap:56px;align-items:center}
.ku-hsteps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:40px 24px;width:100%}
.ku-hsteps::before{content:"";position:absolute;top:71px;left:12.5%;right:12.5%;height:2px;background:var(--ku-line)}
.ku-hsteps li{position:relative;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}
.ku-hsteps__c{position:relative;width:144px;height:144px;border-radius:50%;background:var(--ku-soft);border:8px solid #fff;box-shadow:0 0 0 1px var(--ku-line);display:grid;place-items:center;box-sizing:border-box}
.ku-hsteps__c svg{width:52px;height:52px}
.ku-hsteps__c img{width:64px;height:64px}
.ku-hsteps li:last-child .ku-hsteps__c{background:var(--ku-navy)}
.ku-hsteps__n{position:absolute;top:-4px;right:-4px;width:44px;height:44px;border-radius:50%;background:var(--ku-navy);color:var(--ku-gold);display:grid;place-items:center;font-family:var(--ku-heading);font-weight:700;font-size:18px}
.ku-hsteps li:last-child .ku-hsteps__n{background:var(--ku-gold);color:var(--ku-navy)}
.ku-hsteps h3{font-family:var(--ku-heading);font-weight:600;font-size:22px;line-height:26px;margin:0;color:var(--ku-navy)}
.ku-hsteps p{color:var(--ku-ink-soft);max-width:250px;margin:0}
@media (max-width:1024px){ .ku-hsteps::before{display:none} }
@media (max-width:760px){
  body .e-con.ku-home-how{--padding-top:48px;--padding-bottom:48px}
  body .e-con.ku-home-how>.e-con-inner{gap:24px;align-items:stretch}
  body .e-con.ku-home-how .ku-center{text-align:left}
  .ku-hsteps{grid-template-columns:1fr;grid-auto-rows:1fr;gap:20px}
  .ku-hsteps li{flex-direction:row;align-items:flex-start;text-align:left;gap:4px 16px;display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto 1fr}
  .ku-hsteps li:not(:last-child)::before{content:"";position:absolute;left:37px;top:38px;width:2px;height:calc(100% + 20px);background:var(--ku-line)}
  .ku-hsteps__c{grid-row:1/3;width:76px;height:76px;border-width:4px}
  .ku-hsteps__c svg{width:28px;height:28px}
  .ku-hsteps__c img{width:34px;height:34px}
  .ku-hsteps__n{width:28px;height:28px;font-size:14px;top:-4px;right:-6px}
  .ku-hsteps h3{font-size:18px;line-height:22px;padding-top:14px}
  .ku-hsteps p{font-size:15px;line-height:22px}
}
.ku-center-btn{align-self:center}
@media (max-width:760px){ .ku-center-btn,.ku-center-btn .elementor-button{width:100%} }

/* Why Kleen Up */
body .e-con.ku-why>.e-con-inner{flex-direction:row;flex-wrap:wrap;gap:48px 64px;align-items:center}
body .e-con.ku-why__intro{flex:1 1 340px;min-width:0;--gap:20px;--row-gap:20px}
.ku-why__lead{font-size:18px;line-height:30px}
.ku-why__photo img{width:220px;margin-top:8px}
body .e-con.ku-why__grid{flex:1 1 560px;min-width:0;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
body .e-con.ku-feature--why{--padding-right:28px;--gap:16px;--row-gap:16px}
.ku-feature--why .ku-feature__title+.ku-feature__text{margin-top:-10px}
body .e-con.ku-feature--wide{grid-column:1/-1}
@media (max-width:760px){
  body .e-con.ku-why>.e-con-inner{gap:24px}
  .ku-why__photo{display:none}
  .ku-why__lead{font-size:17px;line-height:27px}
  body .e-con.ku-why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ku-feature--why .ku-feature__title+.ku-feature__text{margin-top:-4px}
}

/* Reviews (homepage centres the heading) */
.ku-home-reviews>.e-con-inner>.elementor-widget-heading{text-align:center}
@media (max-width:760px){ .ku-home-reviews>.e-con-inner>.elementor-widget-heading{text-align:left} }

/* Quote band */
body .e-con.ku-home-quote>.e-con-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);grid-template-rows:auto auto 1fr;gap:24px 64px;align-items:start}
.ku-home-quote__h{grid-column:1;grid-row:1}
.ku-home-quote .ku-on-navy .elementor-heading-title{color:#fff}
.ku-checks{grid-column:1;grid-row:2}
body .e-con.ku-home-quote__form{grid-column:2;grid-row:1/4;background:#fff;color:var(--ku-navy);border-radius:64px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px}
.ku-home-quote__lines{grid-column:1;grid-row:3}
.ku-checks .elementor-icon-list-items{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}
.ku-checks .elementor-icon-list-item{display:flex;gap:12px;align-items:center;color:#fff;font-size:16px;line-height:24px;padding:0!important;margin:0!important}
.ku-checks .elementor-icon-list-icon svg{width:20px;height:20px;fill:var(--ku-gold)}
.ku-checks .elementor-icon-list-text{color:#fff}
.ku-contact-lines{display:flex;flex-direction:column;gap:8px;padding-top:24px;border-top:1px solid var(--ku-navy-line);font-size:16px;line-height:24px;color:#fff}
.ku-contact-lines a{color:var(--ku-gold);font-weight:700;text-decoration:none}
.ku-contact-lines a:hover{color:var(--ku-gold);text-decoration:underline}
.ku-contact-lines__muted{color:#c9ccd8}
@media (max-width:760px){
  body .e-con.ku-home-quote{--padding-left:16px;--padding-right:16px}
  body .e-con.ku-home-quote>.e-con-inner{grid-template-columns:1fr;grid-template-rows:none;gap:20px}
  .ku-home-quote__h,.ku-home-quote__lines,body .e-con.ku-home-quote__form{grid-column:1;grid-row:auto}
  .ku-checks{display:none}
  body .e-con.ku-home-quote__form{order:2;border-radius:56px;--padding-top:32px;--padding-left:24px;--padding-right:24px;--padding-bottom:24px}
  .ku-home-quote__lines{order:3}
  .ku-contact-lines{border-top:0;padding-top:4px;gap:4px;font-size:15px;line-height:22px}
}

.ku-home-how .elementor-widget-html{width:100%}
.ku-statement__text{flex:0 1 760px}
body .e-con.ku-home-gallery{--padding-bottom:96px}
body .e-con.ku-logos--home{--padding-top:72px;--padding-bottom:56px;--gap:32px;--row-gap:32px}
@media (max-width:760px){
  body .e-con.ku-home-gallery{--padding-top:48px;--padding-bottom:48px}
  body .e-con.ku-logos--home{--padding-top:48px;--padding-bottom:36px;--gap:20px;--row-gap:20px}
}
@media (max-width:760px){
  .ku-statement__text{flex:none}
  .ku-trust-rule .ku-trust__stars{display:flex}
  .ku-trust-rule .ku-trust__stars svg:not(:first-child){display:none}
  .ku-footer__social{display:none}
}

/* ==========================================================================
   Simple page hero (Services, Privacy)
   ========================================================================== */
body .e-con.ku-page-hero{--padding-top:40px;--padding-bottom:56px;--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);--content-width:1152px;--gap:20px;--row-gap:20px}
body .e-con.ku-page-hero>.e-con-inner{gap:20px}
.ku-lead--wide{max-width:640px}
.ku-page-hero .ku-btnrow{padding-top:4px}
.ku-btn-56 .elementor-button{min-height:56px;padding:0 28px}
.ku-btn-dot .elementor-button-text{display:inline-flex;align-items:center;gap:10px}
.ku-btn-dot .elementor-button-text::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ku-navy);flex:none}
.ku-btn-dot--gold .elementor-button-text::before{background:var(--ku-gold)}
@media (max-width:760px){
  body .e-con.ku-page-hero{--padding-top:16px;--padding-bottom:32px}
  body .e-con.ku-page-hero>.e-con-inner{gap:16px}
}

/* Services hub grids */
body .e-con.ku-section--hub-a{--padding-top:80px;--padding-bottom:48px}
body .e-con.ku-section--hub-b{--padding-top:48px}
body .e-con.ku-section--hub>.e-con-inner{gap:28px}
@media (min-width:1025px){ body .e-con.ku-cards--5{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px} }
.ku-cards--5 .e-con.ku-arch{--padding-top:14px;--padding-left:14px;--padding-right:14px;--padding-bottom:28px;--gap:10px;--row-gap:10px}
.ku-cards--5 .ku-arch .ku-arch__title .elementor-heading-title{font-size:20px;line-height:24px}
.ku-arch .ku-arch__text{padding:0 6px}
.ku-arch .ku-arch__cta{margin-top:auto}
.ku-arch--navy .ku-arch__text{color:#fff}
@media (max-width:760px){
  body .e-con.ku-section--hub-a,body .e-con.ku-section--hub-b{--padding-top:40px;--padding-bottom:40px}
  body .e-con.ku-section--hub>.e-con-inner{gap:16px}
}

/* About */
body .e-con.ku-about-hero{--padding-top:40px}
body .e-con.ku-about-hero>.e-con-inner{flex-direction:row;flex-wrap:wrap;gap:48px 64px;align-items:center}
body .e-con.ku-about-hero__text{flex:1 1 520px;min-width:0;--gap:22px;--row-gap:22px}
.ku-about-hero__body p{max-width:560px}
.ku-about-hero .ku-lead{max-width:560px}
.ku-about-hero__photo{flex:0 1 460px;min-width:0}
.ku-about-hero__photo img{width:460px}
body .e-con.ku-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
body .e-con.ku-person{align-items:center;text-align:center;--gap:12px;--row-gap:12px}
.ku-person__img img{width:100%;max-width:220px;box-shadow:0 0 0 6px #fff,0 0 0 8px var(--ku-gold)}
.ku-person .ku-person__name .elementor-heading-title{font-family:var(--ku-heading);font-weight:600;font-size:20px;line-height:24px;padding-top:8px}
.ku-person__role{margin-top:-10px}
body .e-con.ku-team>.e-con-inner{gap:48px}
body .e-con.ku-hours{--padding-top:80px;--padding-bottom:80px}
body .e-con.ku-hours>.e-con-inner{flex-direction:row;flex-wrap:wrap;gap:24px 64px;align-items:center}
body .e-con.ku-hours__intro{flex:1 1 360px;--gap:12px;--row-gap:12px}
.ku-hours__intro p{max-width:440px}
body .e-con.ku-hours__grid{flex:1 1 560px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1024px){ body .e-con.ku-features--4,body .e-con.ku-people{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px){
  body .e-con.ku-about-hero{--padding-top:16px}
  body .e-con.ku-about-hero>.e-con-inner{gap:32px}
  body .e-con.ku-about-hero__text{--gap:18px;--row-gap:18px}
  .ku-about-hero__photo{align-self:center}
  .ku-about-hero__photo img{width:280px}
  body .e-con.ku-team>.e-con-inner{gap:24px}
  body .e-con.ku-swipe-m>.ku-person{width:200px}
  .ku-person__img img{max-width:180px}
  body .e-con.ku-hours{--padding-top:48px;--padding-bottom:48px}
  body .e-con.ku-hours__grid{grid-template-columns:1fr}
}

/* Contact */
.ku-clist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:18px}
.ku-clist li{display:flex;align-items:center;gap:16px}
.ku-clist__icon{width:56px;height:56px;flex:none;border-radius:50%;background:var(--ku-navy);display:grid;place-items:center}
.ku-clist__icon svg{width:22px;height:22px}
.ku-clist__t{display:flex;flex-direction:column}
.ku-clist__label{font-size:14px;line-height:20px;color:var(--ku-ink-soft);font-weight:600}
.ku-clist a{font-weight:600;font-size:18px;line-height:26px;text-decoration:none;color:var(--ku-navy)}
.ku-clist a:hover{box-shadow:0 2px 0 var(--ku-gold)}
.ku-clist__t>span:not(.ku-clist__label){font-size:16px;line-height:24px}
body .e-con.ku-contact{--padding-bottom:96px}
@media (max-width:760px){
  body .e-con.ku-contact{--padding-bottom:0}
  .ku-clist{gap:14px}
  .ku-clist__icon{width:48px;height:48px}
  .ku-clist a{font-size:17px}
  .ku-clist__t>span:not(.ku-clist__label){font-size:15px;line-height:22px}
}

/* Privacy */
body .e-con.ku-legal{--padding-top:56px;--content-width:712px}
.ku-legal__body{font-size:16px;line-height:26px}
.ku-legal__body h2{font-family:var(--ku-heading);font-weight:600;font-size:26px;line-height:32px;padding-top:16px;margin:0 0 16px}
.ku-legal__body p{margin:0 0 16px}
.ku-legal__body ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}
.ku-legal__body li{display:flex;gap:12px}
.ku-legal__body li::before{content:"";width:8px;height:8px;margin-top:9px;border-radius:50%;background:var(--ku-gold);flex:none}
.ku-legal__body a{font-weight:600;text-decoration:none;border-bottom:2px solid var(--ku-gold)}
@media (max-width:760px){
  body .e-con.ku-legal{--padding-top:32px}
  .ku-legal__body{font-size:15px;line-height:24px}
  .ku-legal__body h2{font-size:22px;line-height:28px}
}
@media (max-width:760px){
  body .e-con.ku-cards--5{display:flex;flex-direction:column;gap:10px}
  body .e-con.ku-cards--5>.ku-arch{display:grid!important;grid-template-columns:64px 1fr;grid-template-rows:auto 1fr;column-gap:14px;row-gap:2px;align-items:start;text-align:left;border-radius:40px;--padding-top:8px;--padding-bottom:12px;--padding-left:8px;--padding-right:16px}
  .ku-cards--5 .ku-arch .elementor-widget-image{grid-row:1/3;width:64px}
  .ku-cards--5 .ku-arch .ku-arch__title .elementor-heading-title{font-size:17px;line-height:22px;padding-top:6px}
  .ku-cards--5 .ku-arch .ku-arch__text{font-size:15px;line-height:21px;padding:0}
  .ku-cards--5 .ku-arch .ku-arch__cta,.ku-cards--5 .ku-arch--navy{display:none!important}
  .ku-page-hero .ku-btnrow{flex-direction:row!important;flex-wrap:nowrap}
  .ku-page-hero .ku-btn-56 .elementor-button{min-height:48px;padding:0 18px;font-size:15px}
  .ku-page-hero .ku-btn-dot .elementor-button-text::before{display:none}
}
@media (max-width:760px){
  body .e-con.ku-cards--5>.ku-arch{grid-template-columns:68px 1fr;border-radius:999px 8px 8px 999px;--padding-top:6px;--padding-bottom:10px;--padding-left:6px;--padding-right:14px;min-height:80px;column-gap:12px}
  .ku-cards--5 .ku-arch .elementor-widget-image{width:68px}
  .ku-cards--5 .ku-arch .ku-arch__title .elementor-heading-title{padding-top:8px}
  body .e-con.ku-cards--5>.ku-arch.ku-arch--navy{display:none!important}
}

/* ==========================================================================
   Part 2 (quote step 2)
   ========================================================================== */
body .e-con.ku-part2{--padding-top:40px;--padding-bottom:96px;--padding-left:var(--ku-gutter);--padding-right:var(--ku-gutter);--content-width:912px}
body .e-con.ku-part2>.e-con-inner{gap:24px}
.ku-progress{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:12px;font-size:15px;line-height:20px;font-weight:600}
.ku-progress li{display:flex;align-items:center;gap:10px}
.ku-progress li.is-done{color:var(--ku-ink-soft)}
.ku-progress__n{width:36px;height:36px;border-radius:50%;background:var(--ku-navy);color:var(--ku-gold);display:grid;place-items:center;font-size:15px}
.is-done .ku-progress__n{background:var(--ku-gold)}
.ku-progress__n svg{width:16px;height:16px}
.ku-progress__line{width:40px;height:2px;background:var(--ku-gold)}
.ku-part2__intro{max-width:720px}
body .e-con.ku-part2__card{background:var(--ku-soft);border-radius:64px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;margin-top:8px}
.ku-part2 .gform_wrapper{--gf-form-gap-y:18px}
/* chips show a radio circle / checkbox square, as designed */
.gform_wrapper .gchoice label{gap:10px;padding:0 20px 0 14px!important}
.gform_wrapper .gchoice label>.ku-ind,.gform_wrapper .gfield--type-radio .gchoice label::before,.gform_wrapper .gfield--type-checkbox .gchoice label::before{content:"";display:block!important;position:static!important;width:20px;height:20px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ku-field);background:#fff;transform:none!important;opacity:1!important;border:0!important;margin:0!important;inset:auto!important}
.gform_wrapper .gfield--type-checkbox .gchoice label::before{border-radius:8px}
.gform_wrapper .gchoice input:checked+label::before{box-shadow:inset 0 0 0 6px var(--ku-gold);background:#fff}
.gform_wrapper .gfield--type-checkbox .gchoice input:checked+label::before{box-shadow:none;background:var(--ku-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23040e41' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat}
.gform_wrapper legend.gfield_label{padding:0 0 8px 8px!important;margin:0!important}
@media (max-width:760px){
  body .e-con.ku-part2{--padding-top:16px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px}
  body .e-con.ku-part2>.e-con-inner{gap:18px}
  .ku-progress{font-size:14px;gap:8px}
  .ku-progress__n{width:32px;height:32px}
  .ku-progress__line{width:24px}
  body .e-con.ku-part2__card{border-radius:40px;--padding-top:28px;--padding-bottom:28px;--padding-left:20px;--padding-right:20px;margin-top:0}
}

/* ==========================================================================
   Thank you
   ========================================================================== */
body .e-con.ku-thanks{--padding-top:80px;--content-width:832px}
body .e-con.ku-thanks>.e-con-inner{align-items:center;text-align:center;gap:24px}
.ku-thanks__disc{width:120px;height:120px;border-radius:50%;background:var(--ku-navy);display:grid;place-items:center;margin:0 auto}
.ku-thanks__disc img{width:60px;height:60px}
.ku-thanks .ku-lead{max-width:620px}
body .e-con.ku-btnrow--center{justify-content:center;padding-top:8px;width:auto}
.ku-thanks .ku-muted p{margin:0}
@media (max-width:760px){
  body .e-con.ku-thanks{--padding-top:40px;--padding-left:16px;--padding-right:16px}
  .ku-thanks__disc{width:96px;height:96px}
  .ku-thanks__disc img{width:48px;height:48px}
  body .e-con.ku-btnrow--center{width:100%}
}
.gform_wrapper .gfield_radio,.gform_wrapper .gfield_checkbox{flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important}
.gform_wrapper .gchoice{display:block!important;width:auto!important}
.gform_wrapper .gsection.ku-first{border-top:0!important;padding-top:0!important;margin-top:0!important}
.gform_wrapper .gfield--type-date input{background-image:none!important;padding-right:22px!important}
.gform_wrapper .gfield--type-date .ginput_container_date::after,.gform_wrapper .gfield--type-date .ui-datepicker-trigger{display:none!important}
.ku-thanks .elementor-widget-heading h1.elementor-heading-title{max-width:none}
/* Elementor caps widgets at max-width:100%, so measure caps go on the paragraph */
.ku-lead p{max-width:520px}
.ku-home-hero .ku-lead p{max-width:540px}
.ku-lead--wide p{max-width:640px}
.ku-part2__intro p{max-width:720px}
.ku-thanks .ku-lead p{max-width:620px;margin-left:auto;margin-right:auto}
.ku-about-hero .ku-lead p{max-width:560px}
.ku-hours__intro p{max-width:440px}
.gform_wrapper select{line-height:54px!important;padding-top:0!important;padding-bottom:0!important}
.skip-link:focus{clip:auto!important;width:auto!important;height:auto!important;position:fixed!important;top:12px;left:12px;z-index:100000;background:#fff;color:var(--ku-navy);padding:12px 20px;border-radius:50px;font-weight:600;box-shadow:0 0 0 3px var(--ku-gold)}
.ku-skip-target{display:block;height:0;outline:0}
/* Tablet: 4-up rows become 2x2 instead of 3+1 */
@media (min-width:761px) and (max-width:1024px){
  body .e-con.ku-cards:not(.ku-cards--5),body .e-con.ku-reviews,body .e-con.ku-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ku-hsteps{grid-template-columns:repeat(2,minmax(0,1fr))}
  body .e-con.ku-cards--5{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------- Google reviews (Business Reviews Bundle, [ku_google_reviews]) ----------
   Reskins the plugin's slider to the design's review squares. The plugin's own summary
   header is hidden: the section H2 and the hero trust line already carry the rating. */
.ku-brb{width:100%}
.ku-brb .rpi{
  --font-family:var(--ku-body);--card-bg:var(--ku-card,#fff);--card-bg-color:var(--ku-card,#fff);--card-radius:48px;--card-padding:24px 28px 32px 24px;
  --card-color:var(--ku-navy);--name-color:var(--ku-navy);--name-fs:16px;--time-color:var(--ku-ink-soft);--rev-time-fs:13px;--rev-text-lh:20px;
  --text-fs:16px;--text-line-height:24px;--text-lines:7;--img-size:48px;--star-color:var(--ku-star);--star-size:18px;--stars-gap:2px;
  --slider-card-margin:10px;--slider-card-gap:0px;--slider-btn-size:14px;--slider-btn-padding:13px;--slider-btn-bw:2px;--slider-btn-bc:var(--ku-navy);
  --slider-btn-bg:#fff;--slider-btn-color:var(--ku-navy);--slider-btn-shadow:none;--readmore-color:var(--ku-navy)
}
.ku-brb .rpi-header{display:none!important}
.ku-brb .rpi-card-inner.rpi-logo::before,.ku-brb .rpi-card-inner>.rpi-logos{display:none!important}
.ku-brb .rpi-slider{margin-inline:-10px}
.ku-brb .rpi-slides-bite{margin:0!important;-webkit-mask:none!important;mask:none!important}
.ku-brb .rpi-slider .rpi-cards{align-items:stretch!important}
.ku-brb .rpi-slider .rpi-card{display:flex!important;align-items:stretch!important}
.ku-brb .rpi-content .rpi-card-inner{flex:1;height:auto}
.ku-brb .rpi .rpi-ltgt.rpi-lt{margin-left:-56px!important}
.ku-brb .rpi .rpi-ltgt.rpi-gt{margin-right:-56px!important}
@media (max-width:1300px){ .ku-brb .rpi-ltgt{display:none!important} }
.ku-brb .rpi-sh .rpi-text{height:auto}
.ku-brb .rpi-card-inner>.rpi-flex{gap:12px}
.ku-brb .rpi-time{margin-top:2px}
.ku-brb .rpi-body{margin-top:14px}
.ku-brb .rpi-text{margin-top:6px;scrollbar-width:thin}
.ku-brb .rpi-ltgt:hover{background-color:var(--ku-soft)!important}
.ku-brb .rpi-dots{--slider-dot-size:8px}
.ku-brb .rpi-dot.active,.ku-brb .rpi-dot[aria-current]{background-color:var(--ku-navy)!important}
@media (max-width:760px){
  .ku-brb .rpi{--card-radius:40px;--text-fs:15px;--text-lines:5;--card-padding:22px 26px 30px 22px}
}
