/* KDC Global UI 2.0.8 — one coherent design system; no accumulated compatibility patches.
   The Elementor header/footer are the only site chrome this plugin renders.
   Shortcodes remain compatible with earlier KDC Elementor templates. */
:root {
  --kdc-navy:#002E42; --kdc-gold:#FFB31A; --kdc-paper:#F7F8FA;
  --kdc-ink:#152D39; --kdc-muted:#607480; --kdc-line:#DCE5EA;
  --kdc-content-width:1180px;
  --kdc-heading-font:'Sora',system-ui,sans-serif;
  --kdc-body-font:'AloneKaium',system-ui,sans-serif;
  --e-global-color-accent:var(--kdc-gold);
}
body.kdcui-active {font-family:var(--kdc-body-font);color:var(--kdc-ink)}
body.kdcui-active :where(h1,h2,h3,h4,h5,h6,.elementor-heading-title){font-family:var(--kdc-heading-font)}
body.kdcui-active .elementor .elementor-button:not(.kdcui-drawer-close){background:var(--kdc-gold);color:var(--kdc-navy);border-color:var(--kdc-gold)}
body.kdcui-active .elementor .elementor-button:hover{background:#EBA200;color:var(--kdc-navy)}
.kdcui,.kdcui *, .kdcui *::before,.kdcui *::after{box-sizing:border-box}
.kdcui{font:400 16px/1.65 var(--kdc-body-font);color:var(--kdc-ink)}
.kdcui :is(h1,h2,h3,h4,h5,h6){font-family:var(--kdc-heading-font);margin:0;line-height:1.2}
.kdcui p,.kdcui ul{margin:0}
.kdcui a{text-decoration:none}
.kdcui :is(button,a,input,textarea,select):focus-visible{outline:3px solid var(--kdc-gold);outline-offset:3px}
.kdcui-container{max-width:var(--kdc-content-width);width:calc(100% - 44px);margin-inline:auto}
.kdcui-eyebrow{display:block;font:700 11px/1.5 var(--kdc-heading-font);letter-spacing:1.8px;text-transform:uppercase;color:#966500;margin-bottom:12px}
.kdcui-btn,.kdcui a.kdcui-btn,.kdcui button.kdcui-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;padding:13px 23px;border-radius:9px;border:1px solid transparent;cursor:pointer;text-align:center;text-decoration:none!important;font:600 13px/1.3 var(--kdc-heading-font);transition:background-color .2s}
.kdcui .kdcui-btn-primary{color:var(--kdc-navy)!important;background:var(--kdc-gold)!important;border-color:var(--kdc-gold)!important}
.kdcui .kdcui-btn-primary:hover{background:#EBA200!important;border-color:#EBA200!important}
.kdcui-btn svg{width:17px;height:17px}
.kdcui .kdcui-btn-light{background:#fff;color:var(--kdc-navy);border-color:#fff}

/* HEADER AND FOOTER SLOTS — one Elementor template each, no native fallback. */
body.kdcui-hide-native-header :is(#masthead,header#site-header,header.site-header,.site-header:not(.kdcui-header),.ast-primary-header-bar,.elementor-location-header){display:none!important}
body.kdcui-hide-native-footer :is(#colophon,footer#site-footer,footer.site-footer,.site-footer,.elementor-location-footer){display:none!important}
.kdcui-elementor-shell{width:100%;position:relative}
.kdcui-elementor-footer{background:var(--kdc-navy);color:#fff}

.kdcui-header-structured,.kdcui-header-structured *{box-sizing:border-box}
/* HEADER: shortcode content from the selected Elementor template is placed into
   one stable plugin-owned row. Elementor container flex settings cannot wrap it. */
.kdcui-elementor-header{position:relative;z-index:100;color:#fff;background:var(--kdc-navy)}
.kdcui-header-structured .kdcui-header-frame{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;gap:clamp(20px,2.5vw,38px);
  width:min(calc(100% - 44px),var(--kdc-content-width));
  min-height:90px;margin:0 auto;padding:18px 0;
}
.kdcui-header-structured .kdcui-header-brand{display:flex;align-items:center;min-width:0}
.kdcui-header-structured .kdcui-header-navigation{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.kdcui-header-structured .kdcui-header-action{display:flex;align-items:center;justify-content:flex-end}
.kdcui-header-structured .kdcui-logo{display:inline-flex;align-items:center;width:auto;max-width:245px;text-decoration:none}
.kdcui-header-structured .kdcui-logo-img{display:block;width:auto;height:auto;max-width:235px;max-height:49px;object-fit:contain}
.kdcui-logo-img.kdcui-mobile-logo{display:none}
.kdcui-header-structured .kdcui-text-logo{display:flex;flex-direction:column;align-items:flex-start;white-space:nowrap;line-height:1.05}
/* Do not recolor a custom image logo or user-customized Elementor brand. */
.kdcui-header-structured .kdcui-logo-line{font:800 23px/1.12 var(--kdc-heading-font);letter-spacing:-1.2px;color:#fff}
.kdcui-header-structured .kdcui-logo-line em{color:var(--kdc-gold);font:italic 400 .85em Georgia,serif}
.kdcui-header-structured .kdcui-text-logo small{margin-top:6px;color:#fff;font:500 9px/1.5 var(--kdc-heading-font);letter-spacing:1.6px;text-transform:uppercase}
.kdcui-header-structured .kdcui-el-nav-wrap{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.kdcui-header-structured .kdcui-nav{min-width:0;margin:0}
.kdcui-header-structured .kdcui-menu{display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(15px,1.65vw,27px);padding:0;margin:0;list-style:none}
.kdcui-header-structured .kdcui-menu li{margin:0;padding:0;list-style:none;white-space:nowrap}
.kdcui-header-structured .kdcui-menu>li>a{display:inline-flex;align-items:center;padding:10px 0;text-decoration:none!important;color:#fff!important;font:500 15px/1.45 var(--kdc-body-font)!important;transition:color .2s}
.kdcui-header-structured .kdcui-menu>li>a:hover,.kdcui-header-structured .kdcui-menu .current-menu-item>a{color:var(--kdc-gold)!important}
.kdcui-header-structured .kdcui-menu li.menu-item-has-children{position:relative}
.kdcui-header-structured .kdcui-menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:190px;z-index:20;list-style:none;padding:8px!important;margin:0!important;background:#fff;border:1px solid var(--kdc-line);border-radius:8px}
.kdcui-header-structured .kdcui-menu .sub-menu a{display:block;padding:9px 8px;text-decoration:none;color:var(--kdc-navy)!important;font:500 14px/1.5 var(--kdc-body-font)!important}
.kdcui-header-structured .kdcui-menu li:hover>.sub-menu,.kdcui-header-structured .kdcui-menu li:focus-within>.sub-menu{display:block}
.kdcui-header-structured .kdcui-header-cta{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 23px;border:0!important;border-radius:9px;background:var(--kdc-gold)!important;color:var(--kdc-navy)!important;font:600 14px/1.35 var(--kdc-body-font)!important;text-decoration:none!important;white-space:nowrap;box-shadow:none!important}
.kdcui-header-structured .kdcui-header-cta svg{width:17px;height:17px}
.kdcui-header-structured .kdcui-header-cta:hover{background:#EBA200!important;color:var(--kdc-navy)!important}
.kdcui-header-structured .kdcui-menu-toggle{display:none!important}
.kdcui-drawer-cta{display:none!important}

/* Homepage overlay sits over the image. Top breathing room belongs to .kdcui-header-frame. */
body.kdcui-hero-overlay-enabled .kdcui-elementor-shell.kdcui-elementor-header{
  position:absolute;inset:0 0 auto;z-index:1000;width:100%;
  background:linear-gradient(180deg,rgba(0,26,39,.56),rgba(0,26,39,.12) 72%,transparent);
}

/* WP's fixed admin toolbar must not cover the first line of the header. */
body.admin-bar.kdcui-hero-overlay-enabled .kdcui-header-structured .kdcui-header-frame{
  padding-top:55px;padding-bottom:17px;
}
@media(max-width:782px){
  body.admin-bar.kdcui-hero-overlay-enabled .kdcui-header-structured .kdcui-header-frame{
    padding-top:61px;padding-bottom:14px;
  }
}

/* Accessible offcanvas drawer on tablet and phone. */
.kdcui-drawer-backdrop[hidden],.kdcui-nav[hidden]{display:none!important}
html.kdcui-drawer-lock,body.kdcui-drawer-lock{overflow:hidden!important}
.kdcui-drawer-backdrop{position:fixed;inset:0;background:rgba(0,23,36,.72);z-index:2147480000;opacity:0;pointer-events:none;transition:opacity .24s}
.kdcui-drawer-backdrop.is-open{opacity:1;pointer-events:auto}
.kdcui-drawer-top{display:none}
body.kdcui-drawer-is-open .kdcui-elementor-shell.kdcui-elementor-header{z-index:2147480200!important}
@media(max-width:1050px){
 .kdcui-header-structured .kdcui-header-frame{
   grid-template-columns:minmax(0,1fr) auto;gap:15px;
   min-height:74px;width:calc(100% - 36px);padding:13px 0;
 }
 .kdcui-header-structured .kdcui-header-navigation{grid-column:2}
 .kdcui-header-structured .kdcui-header-action{display:none!important}
 .kdcui-header-structured .kdcui-logo-img{max-width:190px;max-height:44px}
 .kdcui-header-structured .kdcui-logo-line{font-size:20px}
 .kdcui-header-structured .kdcui-text-logo small{font-size:8px}
 .kdcui-header-structured .kdcui-menu-toggle{
   display:inline-flex!important;align-items:center;justify-content:center;
   width:44px;height:44px;min-width:44px;padding:8px;
   border:1px solid rgba(255,255,255,.52)!important;border-radius:8px;
   background:transparent!important;color:#fff!important;box-shadow:none!important;cursor:pointer
 }
 .kdcui-header-structured .kdcui-menu-toggle svg{width:24px;height:24px}
 .kdcui-header-structured .kdcui-nav{
   position:fixed;z-index:2147480400;top:0;right:0;bottom:0;
   width:min(380px,90vw)!important;max-width:100vw;height:100dvh;
   overflow-y:auto;overscroll-behavior:contain;
   margin:0!important;padding:28px 25px!important;
   background:#fff!important;color:var(--kdc-navy)!important;border-radius:0!important;border:0!important;
   transform:translateX(103%);visibility:hidden;pointer-events:none;transition:transform .24s,visibility .24s
 }
 .kdcui-header-structured .kdcui-nav.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}
 .kdcui-header-structured .kdcui-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:18px;margin-bottom:12px;border-bottom:1px solid #e2e9ed}
 .kdcui-header-structured .kdcui-drawer-title{font:700 20px/1.4 var(--kdc-body-font);color:var(--kdc-navy)}
 .kdcui-header-structured .kdcui-drawer-close{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;background:#f4f7f8!important;color:var(--kdc-navy)!important;border:1px solid #dbe5eb!important;border-radius:8px;cursor:pointer}
 .kdcui-header-structured .kdcui-drawer-close svg{width:23px;height:23px}
 .kdcui-header-structured .kdcui-nav .kdcui-menu{display:flex!important;flex-direction:column;align-items:stretch;gap:0;margin:0!important;padding:0!important}
 .kdcui-header-structured .kdcui-nav .kdcui-menu>li>a{display:block;padding:13px 5px;border-bottom:1px solid #edf1f3;color:var(--kdc-navy)!important;font:600 16px/1.5 var(--kdc-body-font)!important}
 .kdcui-header-structured .kdcui-nav .kdcui-menu a:hover{color:#976400!important}
 .kdcui-header-structured .kdcui-nav .sub-menu{display:block;position:static;min-width:0;border:0;padding:0 0 0 16px!important}
 .kdcui-header-structured .kdcui-nav .sub-menu a{padding:10px 4px}
 .kdcui-header-structured .kdcui-nav a.kdcui-drawer-cta{display:flex!important;justify-content:center;align-items:center;margin-top:22px;padding:14px;border-radius:8px;background:var(--kdc-gold)!important;color:var(--kdc-navy)!important;font:700 15px/1.45 var(--kdc-body-font)!important}
}
@media(max-width:360px){.kdcui-header-structured .kdcui-nav{width:92vw!important;padding:22px 17px!important}}

/* FOOTER — the Elementor template owns layout and content. */
.kdcui-elementor-footer .kdcui-el-footer{color:#fff}
.kdcui-elementor-footer .kdcui-el-footer :is(p,h1,h2,h3,h4){color:#fff}
.kdcui-elementor-footer .kdcui-el-footer-links,.kdcui-elementor-footer .kdcui-el-footer-contacts{display:flex;flex-direction:column;gap:10px}
.kdcui-elementor-footer .kdcui-el-footer-links a,.kdcui-elementor-footer .kdcui-el-footer-contacts a{color:#d4e4ea;text-decoration:none}
.kdcui-elementor-footer .kdcui-el-footer-links a:hover,.kdcui-elementor-footer .kdcui-el-footer-contacts a:hover{color:var(--kdc-gold)}
.kdcui-elementor-footer .kdcui-el-footer-text{color:#d4e4ea;font-size:14px;line-height:1.8}
.kdcui-elementor-footer .kdcui-el-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.17);margin-top:30px;padding-top:20px;font-size:12px}
.kdcui-elementor-footer .kdcui-el-footer-bottom .kdcui-el-footer-links{flex-direction:row;flex-wrap:wrap;gap:20px}
.kdcui-elementor-footer .kdcui-el-footer-cta{display:none}

/* REUSABLE HERO */
.kdcui.kdcui-home-hero{position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);min-height:690px;padding:165px 25px 90px;background:var(--kdc-navy);color:#fff}
.kdcui-home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.kdcui-home-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,33,49,.97),rgba(0,33,49,.85) 33%,rgba(0,33,49,.42) 68%,rgba(0,33,49,.10))}
.kdcui-home-hero-inner{width:100%;max-width:var(--kdc-content-width);margin:0 auto}
.kdcui-home-hero-copy{max-width:690px}
.kdcui-home-hero .kdcui-hero-eyebrow{color:#ffca55;letter-spacing:1.4px;text-transform:uppercase;font:600 12px/1.5 var(--kdc-heading-font);margin:0 0 26px}
.kdcui-hero-eyebrow::before{content:'';display:inline-block;vertical-align:middle;width:29px;height:2px;margin-right:13px;background:var(--kdc-gold)}
.kdcui-home-hero h1{color:#fff;font:700 clamp(39px,5vw,70px)/1.15 var(--kdc-heading-font);letter-spacing:-2px;margin:0 0 24px}
.kdcui-home-hero h1 span{display:block;color:var(--kdc-gold)}
.kdcui-home-hero .kdcui-hero-description{max-width:570px;margin:0 0 32px;color:#e0e9ee;font:400 17px/1.75 var(--kdc-body-font)}
.kdcui-home-hero .kdcui-hero-action-primary{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:54px;padding:14px 24px;background:var(--kdc-gold);border:1px solid var(--kdc-gold);border-radius:8px;color:var(--kdc-navy)!important;font:600 14px/1.35 var(--kdc-body-font);text-decoration:none}
.kdcui-home-hero .kdcui-hero-action-primary:hover{background:#EBA200}

/* REUSABLE SERVICE CARDS AND CONTACT STRIP */
.kdcui-services{background:var(--kdc-paper);padding:80px 0}
.kdcui-section-heading{max-width:740px;margin:0 0 25px}
.kdcui-section-heading h2{font:700 clamp(28px,4vw,46px)/1.2 var(--kdc-heading-font);color:var(--kdc-navy)}
.kdcui-section-heading p{margin-top:10px;color:var(--kdc-muted)}
.kdcui-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kdcui-service-card{background:#fff;border:1px solid var(--kdc-line);border-radius:14px;padding:25px;min-width:0}
.kdcui-service-icon{display:block;width:43px;height:43px;color:var(--kdc-navy);margin-bottom:20px}
.kdcui-service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4}
.kdcui-service-card h3{font:600 18px/1.4 var(--kdc-heading-font);color:var(--kdc-navy);margin-bottom:11px}
.kdcui-service-card p{color:var(--kdc-muted);font-size:14px}
.kdcui-contact-strip{background:var(--kdc-navy);padding:40px 0;color:#fff}
.kdcui-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.kdcui-contact-strip h2,.kdcui-contact-strip .kdcui-eyebrow{color:#fff}
.kdcui-contact-strip p{color:#cad9df;margin-top:5px}
.kdcui-standalone-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--kdc-navy)}
.kdcui-standalone-icon svg{width:100%;height:100%}

/* APPOINTMENT — one layout used inline and in the modal */
.kdcui-appointment{padding:75px 0;background:#fff}
.kdcui-form-container{max-width:920px}
.kdcui-form{display:flex;flex-direction:column;gap:20px;padding:28px 30px;border:1px solid var(--kdc-line);border-radius:16px;background:#fff}
.kdcui-form fieldset{min-width:0;border:0;padding:0;margin:0}
.kdcui-form legend,.kdcui-form .kdcui-compact-group legend{font:700 14px/1.5 var(--kdc-heading-font);color:var(--kdc-navy);margin:0 0 10px;padding:0}
.kdcui-form .kdcui-info-grid,.kdcui-form .kdcui-fields-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.kdcui-form label:not(.kdcui-check,.kdcui-consent){display:flex;flex-direction:column;gap:5px;color:var(--kdc-navy);font:600 12.5px/1.4 var(--kdc-body-font);min-width:0}
.kdcui-form .kdcui-input-caption{color:var(--kdc-navy);font:600 12.5px/1.4 var(--kdc-body-font)}
.kdcui-form .kdcui-input-caption strong,.kdcui-form .kdcui-field-label span[aria-hidden]{color:#A36C00}
.kdcui-form .kdcui-optional{font-size:11px;color:#788996;font-weight:400}
.kdcui-form :is(input:not([type=checkbox]),select,textarea){display:block;width:100%;max-width:100%;min-height:44px;height:auto;padding:10px 12px;border:1px solid #d7e2e8;border-radius:8px;background:#fff;color:var(--kdc-ink);font:400 14px/1.45 var(--kdc-body-font);box-shadow:none}
.kdcui-form :is(input,textarea)::placeholder{color:#8796a0}
.kdcui-form :is(input:not([type=checkbox]),textarea,select):focus{outline:2px solid rgba(255,179,26,.5);outline-offset:0;border-color:#BA860B}
.kdcui-form textarea{min-height:82px;resize:vertical}
.kdcui-form .kdcui-cleaning-group{display:flex;flex-direction:column;gap:12px}
.kdcui-form .kdcui-field-label{margin:0 0 8px;font:600 12.5px/1.5 var(--kdc-body-font);color:var(--kdc-navy)}
.kdcui-form .kdcui-compact-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kdcui-form .kdcui-check{display:flex;align-items:center;gap:9px;min-height:40px;padding:8px 12px;border:1px solid #dbe4e8;border-radius:8px;background:#fff;color:var(--kdc-navy);font:500 13px/1.4 var(--kdc-body-font);cursor:pointer}
.kdcui-form .kdcui-check:has(input:checked){border-color:#D2A43B;background:#fff8e9}
.kdcui-form .kdcui-check input,.kdcui-form .kdcui-consent input{width:16px;height:16px;flex-shrink:0;accent-color:#9B6900;margin:0}
.kdcui-form .kdcui-home-details{display:flex;flex-direction:column;gap:5px}
.kdcui-form .kdcui-helper{color:var(--kdc-muted);font-size:12px;line-height:1.5;margin:0 0 9px}
.kdcui-form .kdcui-slots{display:grid;gap:9px}
.kdcui-form .kdcui-slot{padding:0;margin:0}
.kdcui-form .kdcui-slot[data-kdc-slot="2"],.kdcui-form .kdcui-slot[data-kdc-slot="3"]{padding:12px;border:1px solid var(--kdc-line);border-radius:8px;background:#f8fafb}
.kdcui-form .kdcui-slot[hidden],.kdcui-form .kdcui-slot-remove[hidden],.kdcui-form .kdcui-add-slot[hidden],.kdcui-form .kdcui-extras-panel[hidden]{display:none!important}
.kdcui-form .kdcui-slot-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 7px}
.kdcui-form .kdcui-slot[data-kdc-slot="1"] .kdcui-slot-top{display:none}
.kdcui-form .kdcui-slot-top strong{font:600 12px/1.4 var(--kdc-heading-font);color:var(--kdc-navy)}
.kdcui-form .kdcui-add-slot,.kdcui-form .kdcui-slot-remove,.kdcui-form .kdcui-extras-toggle{display:inline-flex;align-items:center;gap:5px;background:transparent!important;border:0!important;color:var(--kdc-navy)!important;cursor:pointer;font:600 12px/1.4 var(--kdc-body-font);padding:8px 0;box-shadow:none}
.kdcui-form .kdcui-add-slot{align-self:flex-start;border-bottom:1px solid var(--kdc-gold)!important}
.kdcui-form .kdcui-extras-panel{padding-top:8px}
.kdcui-form .kdcui-consent{display:flex;align-items:flex-start;gap:10px;color:var(--kdc-muted);font:400 12px/1.55 var(--kdc-body-font)}
.kdcui-form .kdcui-form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}
.kdcui-form .kdcui-form-actions p{flex:1;color:var(--kdc-muted);font-size:11.5px;line-height:1.5}
.kdcui-form .kdcui-form-actions .kdcui-btn{min-height:46px}
.kdcui-notice{padding:12px 15px;border-radius:8px;margin-bottom:14px;font-size:14px}
.kdcui-notice-success{color:#156a45;border:1px solid #bce7d1;background:#e8f7f0}
.kdcui-notice-error{color:#a31c32;border:1px solid #f5c9d1;background:#fff2f3}
.kdcui-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}

/* APPOINTMENT MODAL */
.kdcui-modal[hidden]{display:none!important}
.kdcui-modal{position:fixed;inset:0;z-index:2147481000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--kdc-body-font);color:var(--kdc-navy)}
.kdcui-modal-backdrop{position:absolute;inset:0;background:rgba(0,22,33,.8)}
.kdcui-modal-dialog{position:relative;z-index:1;display:flex;flex-direction:column;min-height:0;width:min(880px,100%);max-height:calc(100dvh - 40px);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 25px 90px rgba(0,0,0,.25);outline:0}
.kdcui-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 23px;border-bottom:1px solid var(--kdc-line);flex:none}
.kdcui-modal-kicker{font:700 10px/1.3 var(--kdc-heading-font);color:#986600;letter-spacing:1.5px;margin:0 0 5px}
.kdcui-modal-toolbar h2{font:700 22px/1.2 var(--kdc-heading-font);color:var(--kdc-navy);margin:0}
/* Modal controls deliberately own their colors. Hello Elementor's generic button rule
   includes a pink accent; it must never become the active color within this component. */
.kdcui-modal button.kdcui-modal-close{
 display:inline-flex;align-items:center;justify-content:center;
 width:43px;height:43px;min-width:43px;padding:0;
 border:1px solid var(--kdc-line)!important;border-radius:9px;
 background:#f7f9fa!important;color:var(--kdc-navy)!important;
 box-shadow:none!important;cursor:pointer;
 -webkit-appearance:none;appearance:none;
}
.kdcui-modal button.kdcui-modal-close:hover{
 background:#fff5e1!important;color:var(--kdc-navy)!important;
 border-color:#D2A43B!important;
}
.kdcui-modal button.kdcui-modal-close:focus-visible{
 outline:3px solid var(--kdc-gold)!important;outline-offset:3px;
}
.kdcui-modal-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.kdcui-modal .kdcui-appointment{padding:15px 23px 25px;background:#fff}
.kdcui-modal .kdcui-container{width:100%;max-width:100%}
.kdcui-modal .kdcui-section-heading{margin-bottom:2px}
.kdcui-modal .kdcui-section-heading .kdcui-eyebrow,.kdcui-modal .kdcui-section-heading h2{display:none}
.kdcui-modal .kdcui-section-heading p{font:400 13px/1.55 var(--kdc-body-font);color:var(--kdc-muted);margin:0}
.kdcui-modal .kdcui-form{padding:8px 0 0;border:0;border-radius:0;gap:18px}
html.kdcui-appointment-lock,body.kdcui-appointment-lock{overflow:hidden!important}

@media(max-width:1024px){.kdcui-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .kdcui-container{width:calc(100% - 36px)}
 /* Mobile hero: retain the photo showcase above the copy, and fade the photo
    naturally into the navy background rather than ending in a hard seam. */
 .kdcui.kdcui-home-hero{
   min-height:100vh;
   min-height:100svh;
   min-height:100dvh;
   height:auto;
   align-items:flex-end;
   padding:135px 20px max(28px,env(safe-area-inset-bottom));
   background-color:#002E42;
 }
 .kdcui.kdcui-home-hero > img.kdcui-home-hero-image{
   top:0;right:0;bottom:auto;left:0;
   width:100%;height:clamp(460px,70svh,590px);
   object-fit:cover;object-position:85% 35%;
   filter:brightness(1.14) saturate(1.02);
   -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 53%,rgba(0,0,0,.95) 62%,rgba(0,0,0,.52) 82%,transparent 100%);
   mask-image:linear-gradient(to bottom,#000 0%,#000 53%,rgba(0,0,0,.95) 62%,rgba(0,0,0,.52) 82%,transparent 100%);
 }
 .kdcui.kdcui-home-hero::before{
   background:linear-gradient(180deg,
     rgba(0,30,45,.22) 0%,rgba(0,30,45,.26) 33%,
     rgba(0,37,54,.43) 54%,rgba(0,40,58,.80) 75%,
     #002E42 92%,#002E42 100%);
 }
 .kdcui-home-hero h1{font-size:clamp(36px,9vw,48px);letter-spacing:-1.2px}
 .kdcui-home-hero .kdcui-hero-description{font-size:15px}
 .kdcui-hero-action-primary{width:100%}
 .kdcui-services,.kdcui-appointment{padding:60px 0}
 .kdcui-service-grid{grid-template-columns:1fr}
 .kdcui-form{padding:18px 16px;gap:17px}
 .kdcui-form .kdcui-info-grid,.kdcui-form .kdcui-fields-2,.kdcui-form .kdcui-compact-services{grid-template-columns:1fr;gap:10px}
 .kdcui-form .kdcui-check{min-height:43px}
 .kdcui-form :is(input:not([type=checkbox]),textarea,select){font-size:16px;min-height:44px}
 .kdcui-form .kdcui-form-actions{flex-direction:column;align-items:stretch}
 .kdcui-form .kdcui-form-actions p{text-align:center}
 .kdcui-modal{padding:0;align-items:stretch}
 .kdcui-modal-dialog{width:100%;height:100%;max-height:100dvh;border-radius:0}
 .kdcui-modal-toolbar{padding:12px 17px}
 .kdcui-modal-toolbar h2{font-size:19px}
 .kdcui-modal .kdcui-appointment{padding:14px 17px 24px}
 .kdcui-modal .kdcui-form{padding:7px 0 0}
 .kdcui-strip-inner{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.kdcui *, .kdcui-drawer-backdrop{transition:none!important}}
