/* SkyLine Chrome 1.0 - footer, mobile menu, mobile header, desktop dropdowns. Loaded only with body.sl-chrome. */
:root{--sl-navy:#0E3042;--sl-navy-2:#0a2432;--sl-green:#52BB68;--sl-green-ink:#2b7d43;--sl-blue:#358FDD;--sl-line:#e3e8ee;--sl-soft:#f3f6f9;--sl-tint:#edf7f0}

/* ---------- buttons shared by footer + menu ---------- */
.sl-btn-call,.sl-btn-ghost,.sl-btn-dark{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font:700 16px/1.2 Mulish,sans-serif;text-decoration:none!important;transition:transform .15s,box-shadow .15s,background .15s,color .15s}
.sl-btn-call{background:var(--sl-green);color:var(--sl-navy)!important}
.sl-btn-call:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(82,187,104,.35)}
.sl-btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff!important}
.sl-btn-ghost:hover{background:#fff;color:var(--sl-navy)!important}
.sl-btn-dark{background:var(--sl-navy);color:#fff!important}
.sl-btn-dark:hover{background:#16465f}

/* ---------- footer ---------- */
.sl-ft{font-family:Mulish,sans-serif;color:#d7e1e8;background:var(--sl-navy-2);line-height:1.6;font-size:16px}
.sl-ft *{box-sizing:border-box}
.sl-ft a{color:inherit;text-decoration:none}
.sl-ft-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.sl-ft-ctawrap{background:var(--sl-navy-2);padding-top:64px}
.sl-ft-cta{display:flex;overflow:hidden;border-radius:24px;background:#133e55;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.sl-ft-cta-photo{flex:0 0 38%;min-height:320px;background:#16465f center/cover no-repeat}
.sl-ft-cta-text{flex:1;padding:48px 52px;color:#fff}
.sl-ft-eyebrow{display:inline-block;font:700 13px/1 Mulish,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--sl-green);margin-bottom:12px}
.sl-ft-cta h2{font:700 clamp(28px,3.2vw,42px)/1.15 Poppins,sans-serif;color:#fff;margin:0 0 14px}
.sl-ft-cta p{color:rgba(255,255,255,.82);max-width:560px;margin:0 0 26px}
.sl-ft-actions{display:flex;flex-wrap:wrap;gap:12px}
.sl-ft-main{padding:64px 0 40px}
.sl-ft-grid{display:grid;grid-template-columns:1.35fr .8fr 1.05fr 1.25fr 1.2fr;gap:36px}
.sl-ft-logo{display:inline-block;background:#fff;border-radius:14px;padding:10px 14px;margin-bottom:18px}
.sl-ft-logo img{display:block;width:190px;height:auto}
.sl-ft-brand p{font-size:15px;color:#b9c7d1;margin:0 0 18px}
.sl-ft-social{display:flex;gap:10px}
.sl-ft-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .15s}
.sl-ft-social a:hover{background:var(--sl-green);color:var(--sl-navy)}
.sl-ft h3{font:700 13px/1.2 Mulish,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--sl-green);margin:6px 0 16px}
.sl-ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sl-ft-col li a{font-size:15px;color:#d7e1e8;transition:color .15s}
.sl-ft-col li a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.sl-ft-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:15px;color:#d7e1e8}
.sl-ft-row svg{flex:none;color:var(--sl-green);margin-top:2px}
a.sl-ft-row:hover span{color:#fff;text-decoration:underline;text-underline-offset:3px}
.sl-ft-contact a.sl-ft-row:first-of-type span{font:700 18px/1.3 Poppins,sans-serif;color:#fff}
.sl-ft-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;font-size:14px;color:#9fb1bd}
.sl-ft-bottom-in{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.sl-ft-bottom a{color:#d7e1e8}
.sl-ft-bottom a:hover{color:#fff;text-decoration:underline}
.sl-ft-dot{margin:0 6px;opacity:.6}
.sl-ft-top{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sl-green);color:var(--sl-navy)!important}
.sl-ft-top:hover{transform:translateY(-2px)}

@media (max-width:1100px){.sl-ft-grid{grid-template-columns:1fr 1fr 1fr}.sl-ft-brand{grid-column:1/-1;max-width:640px}}
@media (max-width:767px){
  .sl-ft-ctawrap{padding-top:16px}
  .sl-ft-wrap{padding:0 16px}
  .sl-ft-cta{flex-direction:column;border-radius:20px}
  .sl-ft-cta-photo{flex:none;min-height:180px}
  .sl-ft-cta-text{padding:28px 22px}
  .sl-ft-actions a{width:100%}
  .sl-ft-main{padding:44px 0 28px}
  .sl-ft-grid{grid-template-columns:1fr 1fr;gap:30px 20px}
  .sl-ft-contact,.sl-ft-col[aria-label="Service areas"]{grid-column:1/-1}
  .sl-ft-bottom{padding-bottom:84px} /* room for the mobile call/e-mail bar */
  .sl-ft-bottom-in{flex-direction:column;align-items:flex-start}
  .sl-ft-top{position:absolute;right:16px;margin-top:-6px}
  .sl-ft-bottom-in{position:relative}
}

/* ---------- desktop dropdowns ---------- */
@media (min-width:1025px){
  body.sl-chrome .elementor-nav-menu--main .sub-menu{background:#fff!important;border:0!important;border-radius:16px!important;padding:8px!important;min-width:270px!important;box-shadow:0 18px 44px rgba(14,48,66,.16)!important;overflow:hidden}
  body.sl-chrome .elementor-nav-menu--main .sub-menu a.elementor-sub-item{font:600 15px/1.35 Mulish,sans-serif!important;color:var(--sl-navy)!important;background:transparent!important;padding:10px 14px!important;border:0!important;border-radius:10px!important}
  body.sl-chrome .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
  body.sl-chrome .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus,
  body.sl-chrome .elementor-nav-menu--main .sub-menu a.elementor-item-active{background:var(--sl-tint)!important;color:var(--sl-green-ink)!important}
}

/* ---------- mobile header: logo + round menu button in one sticky row ---------- */
@media (max-width:1024px){
  body.sl-chrome .elementor-location-header{position:sticky;top:0;z-index:990;background:#fff;box-shadow:0 2px 16px rgba(14,48,66,.08)}
  body.admin-bar.sl-chrome .elementor-location-header{top:46px}
  body.sl-chrome .elementor-element-0cc577a{display:none!important}
  body.sl-chrome .elementor-element-2395920{padding:8px 16px!important;min-height:0!important}
  body.sl-chrome .elementor-element-2395920>.e-con-inner{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:0!important}
  body.sl-chrome .elementor-element-61f1420{width:auto!important;max-width:180px!important;flex:0 1 180px!important;margin:0!important}
  body.sl-chrome .elementor-element-61f1420 img{width:100%!important;height:auto!important}
  body.sl-chrome .elementor-element-3fdc6cc{position:static!important;top:auto!important;right:auto!important;width:auto!important;flex:0 0 auto!important;padding:0!important;margin:0!important;align-self:center!important}
  body.sl-chrome .elementor-element-64b5338{width:auto!important}
  body.sl-chrome .elementor-element-64b5338 .elementor-nav-menu--dropdown,
  body.sl-chrome .elementor-element-64b5338 nav.elementor-nav-menu--dropdown{display:none!important}
  body.sl-chrome .elementor-element-64b5338 .elementor-menu-toggle{width:48px!important;height:48px!important;padding:0!important;margin:0!important;border-radius:50%!important;background:var(--sl-navy)!important;color:#fff!important;display:grid!important;place-items:center}
  body.sl-chrome .elementor-element-64b5338 .elementor-menu-toggle svg{fill:#fff!important;width:22px!important;height:22px!important}
}
@media (max-width:767px){body.admin-bar.sl-chrome .elementor-location-header{top:0}}

/* ---------- mobile menu panel ---------- */
html.sl-mm-lock,html.sl-mm-lock body{overflow:hidden!important}
.sl-mm{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;background:#fff;font-family:Mulish,sans-serif;opacity:0;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease}
.sl-mm.is-open{opacity:1;transform:none}
.sl-mm[hidden]{display:none}
.sl-mm *{box-sizing:border-box}
.sl-mm-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--sl-line)}
.sl-mm-logo img{display:block;width:170px;height:auto}
.sl-mm-close{width:48px;height:48px;border-radius:50%;border:0;background:var(--sl-navy);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.sl-mm-close:hover,.sl-mm-close:focus-visible{background:#16465f}
.sl-mm-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 16px 20px}
.sl-mm-list,.sl-mm-sub{list-style:none;margin:0;padding:0}
.sl-mm-item{border-bottom:1px solid var(--sl-line)}
.sl-mm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:62px;padding:8px 0;background:none;border:0;cursor:pointer;text-align:left;text-decoration:none!important;font:600 20px/1.25 Poppins,sans-serif;color:var(--sl-navy)!important}
.sl-mm-row svg{color:var(--sl-green-ink);flex:none}
.sl-mm-item.is-current>.sl-mm-row,.sl-mm-item.is-open>.sl-mm-row{color:var(--sl-green-ink)!important}
.sl-mm-chev{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--sl-tint);flex:none;transition:transform .2s}
.sl-mm-chev svg{color:var(--sl-green-ink)}
.sl-mm-item.is-open .sl-mm-chev{transform:rotate(180deg)}
.sl-mm-sub{background:var(--sl-soft);border-radius:16px;padding:6px 18px;margin:0 0 14px}
.sl-mm-sub li+li{border-top:1px solid var(--sl-line)}
.sl-mm-sub a{display:block;padding:13px 0;font:500 16px/1.35 Mulish,sans-serif;color:#33424d!important;text-decoration:none!important}
.sl-mm-sub li:first-child a{font-weight:700;color:var(--sl-navy)!important}
.sl-mm-sub li.is-current a{color:var(--sl-green-ink)!important;font-weight:700}
.sl-mm-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--sl-line);box-shadow:0 -12px 24px rgba(14,48,66,.06);display:grid;gap:10px;background:#fff}
.sl-mm-foot .sl-btn-call,.sl-mm-foot .sl-btn-dark{width:100%}
.sl-mm-note{margin:2px 0 0;text-align:center;font-size:13px;color:#6b7a86}
@media (min-width:1025px){.sl-mm{display:none!important}}
@media (prefers-reduced-motion:reduce){.sl-mm,.sl-mm-chev,.sl-btn-call,.sl-btn-ghost{transition:none}}

/* theme (Hello/Elementor kit) button styles must not leak into the panel */
.sl-mm .sl-mm-tog,.sl-mm .sl-mm-tog:hover,.sl-mm .sl-mm-tog:focus{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--sl-navy)!important;padding:8px 0!important;text-transform:none!important;letter-spacing:0!important;font:600 20px/1.25 Poppins,sans-serif!important}
.sl-mm .sl-mm-item.is-open>.sl-mm-tog{color:var(--sl-green-ink)!important}
.sl-mm .sl-mm-close,.sl-mm .sl-mm-close:hover,.sl-mm .sl-mm-close:focus{border:0!important;padding:0!important;border-radius:50%!important;color:#fff!important}
.sl-mm .sl-mm-close{background:var(--sl-navy)!important}
.sl-mm .sl-mm-close:hover{background:#16465f!important}

/* theme link color must not leak into the footer */
.sl-ft a.sl-ft-row,.sl-ft a.sl-ft-row span,.sl-ft .sl-ft-col li a,.sl-ft-bottom a{color:#d7e1e8!important}
.sl-ft .sl-ft-contact a.sl-ft-row:first-of-type span{color:#fff!important}
.sl-ft .sl-ft-social a{color:#fff!important}
.sl-ft .sl-ft-social a:hover{color:var(--sl-navy)!important}
.sl-ft .sl-ft-col li a:hover,.sl-ft a.sl-ft-row:hover span,.sl-ft-bottom a:hover{color:#fff!important}

/* 1.0.1 narrow phones: grid items may shrink, long labels and the e-mail wrap, nothing overflows */
.sl-ft{overflow-x:clip}
.sl-ft-grid>*{min-width:0}
.sl-ft-col li,.sl-ft-col li a,.sl-ft-row span{white-space:normal!important;overflow-wrap:anywhere;word-break:normal}
.sl-ft-col li a{display:inline-block;line-height:1.4}
@media (max-width:420px){
  .sl-ft-grid{grid-template-columns:1fr;gap:26px}
  .sl-ft-col ul{gap:8px}
}
@media (max-width:340px){.sl-btn-call,.sl-btn-ghost,.sl-btn-dark{font-size:15px;padding:0 14px;white-space:nowrap}}
