/* Site-wide header/footer for inner pages. GENERATED by wp-deploy/build-chrome.py from home.css; edit home.css, not this file. */
:root {
  --ec-action: #36759A;
  --ec-action-hover: #2B5F7E;
  --ec-steel: #6DA4C3;
  --ec-tint: #EEF4F8;
  --ec-ink: #1E2328;
  --ec-slate: #4A535C;
  --ec-charcoal: #202020;
  --ec-footer: #263540;
  --ec-smoke: #FAFAFA;
  --ec-line: #E4E8EB;
  --ec-line-soft: #EEF1F3;
  --ec-tab-line: #D5DCE1;
  --ec-star: #E39B2E;
  --ec-light-link: #9CC4DA;

  --ec-font-head: 'Titillium Web', sans-serif;
  --ec-font-body: 'Archivo', sans-serif;

  --ec-container: 1200px;
  --ec-gutter: 20px;
  --ec-section-y: 56px;
  --ec-head-h: 64px;
  --ec-head-h-scrolled: 56px;
  --ec-radius-sm: 8px;
  --ec-radius: 10px;
  --ec-radius-lg: 12px;
  --ec-shadow-hover: 0 8px 24px rgba(0, 0, 0, .08);
}
@media (min-width: 1025px) {
  :root { --ec-section-y: 96px; --ec-head-h: 88px; --ec-head-h-scrolled: 68px; }
}


.ec-container { width: 100%; max-width: calc(var(--ec-container) + 2 * var(--ec-gutter)); margin: 0 auto; padding: 0 var(--ec-gutter); }


/* visibility helpers */
.ec-only-desktop, .ec-only-desktop-flex { display: none !important; }
@media (min-width: 1025px) {
  .ec-only-desktop { display: block !important; }
  span.ec-only-desktop { display: inline !important; }
  .ec-only-desktop-flex { display: flex !important; }
  .ec-only-mobile, .ec-only-mobile-flex { display: none !important; }
}
@media (max-width: 1024px) { .ec-only-mobile-flex { display: flex !important; } span.ec-only-mobile { display: inline; } }


/* ---------- Icons ---------- */
.ec-i { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ec-i--check { stroke: var(--ec-action); stroke-width: 2.5; }
.ec-i--line { width: 26px; height: 26px; stroke: var(--ec-action); stroke-width: 1.8; }
@media (min-width: 1025px) { .ec-i--line { width: 30px; height: 30px; } }


/* ---------- Buttons ---------- */
.ec-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 56px; padding: 0 26px; border-radius: var(--ec-radius-sm);
  font: 600 18px/1 var(--ec-font-body); text-decoration: none; white-space: nowrap;
  transition: background-color .2s, color .2s;
}
.ec-site .ec-btn--primary { background: var(--ec-action); color: #fff; }
.ec-site .ec-btn--primary:hover { background: var(--ec-action-hover); color: #fff; }
.ec-site .ec-btn--secondary { height: 48px; border: 2px solid var(--ec-action); color: var(--ec-action); font-size: 16px; background: transparent; }
.ec-site .ec-btn--secondary:hover { background: var(--ec-tint); color: var(--ec-action-hover); }
.ec-btn--block { display: flex; width: 100%; }
.ec-link { display: inline-flex; align-items: center; min-height: 44px; font: 500 15px/1 var(--ec-font-body); }
.ec-site .ec-link { text-decoration: underline; }
@media (min-width: 1025px) {
  .ec-btn { height: 52px; font-size: 17px; }
  .ec-site .ec-btn--secondary { height: 52px; font-size: 17px; padding: 0 24px; }
  .ec-btn--lg, .ec-site .ec-btn--secondary.ec-btn--lg { height: 56px; font-size: 18px; padding: 0 28px; }
  .ec-site .ec-btn--secondary.ec-btn--lg { font-size: 17px; padding: 0 24px; }
  .ec-link { font-size: 16px; }
}


/* ---------- Header ---------- */
.ec-header {
  position: sticky; top: 0; z-index: 40;
  height: var(--ec-head-h); background: #fff; border-bottom: 1px solid var(--ec-line);
  transition: height .2s, box-shadow .2s;
}
.ec-header.is-scrolled { height: var(--ec-head-h-scrolled); box-shadow: 0 4px 16px rgba(0, 0, 0, .08); }
.ec-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 12px 0 16px; }
.ec-header__logo { display: flex; }
.ec-site .ec-header__logo img { height: 42px; width: auto; transition: height .2s; }
.ec-site .ec-header.is-scrolled .ec-header__logo img { height: 36px; }
.ec-header__actions { display: flex; align-items: center; gap: 4px; }
.ec-header__number, .ec-header__btn { display: none !important; }
.ec-site .ec-header__callicon { width: 44px; height: 44px; border-radius: var(--ec-radius-sm); background: var(--ec-action); color: #fff; display: flex; align-items: center; justify-content: center; }
.ec-burger { width: 44px; height: 44px; border: 0; background: transparent; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; cursor: pointer; padding: 0; }
.ec-burger span { width: 22px; height: 2px; background: var(--ec-ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
.ec-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ec-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ec-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* mobile nav drawer */
.ec-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--ec-line); box-shadow: 0 12px 24px rgba(0, 0, 0, .08); max-height: calc(100vh - var(--ec-head-h)); overflow-y: auto; }
.ec-nav.is-open { display: block; }
.ec-nav__list, .ec-nav__sub { list-style: none; margin: 0; padding: 0; }
.ec-nav__list { padding: 8px 0 16px; }
.ec-nav__list > li { position: relative; border-bottom: 1px solid var(--ec-line-soft); }
.ec-site .ec-nav a { display: flex; align-items: center; min-height: 48px; padding: 0 20px; color: var(--ec-ink); text-decoration: none; font: 500 16px/1.3 var(--ec-font-body); }
.ec-nav__toggle { position: absolute; right: 8px; top: 2px; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--ec-ink); }
.ec-nav__toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; transition: transform .2s; }
.ec-nav__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.ec-nav__sub { display: none; background: var(--ec-smoke); padding: 4px 0; }
.ec-nav__sub.is-open { display: block; }
.ec-site .ec-nav__sub a { min-height: 44px; padding-left: 36px; font-size: 15px; color: var(--ec-slate); }

@media (min-width: 1025px) {
  .ec-header__inner { padding: 0 var(--ec-gutter); }
  .ec-site .ec-header__logo img { height: 60px; }
  .ec-site .ec-header.is-scrolled .ec-header__logo img { height: 44px; }
  .ec-header__callicon, .ec-burger { display: none !important; }
  .ec-header__actions { gap: 20px; }
  .ec-header__number { display: flex !important; align-items: center; gap: 10px; text-decoration: none; }
  .ec-site .ec-header__number { color: var(--ec-ink); }
  .ec-header__number .ec-num { font: 700 21px/1 var(--ec-font-head); font-variant-numeric: tabular-nums; }
  .ec-header__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--ec-tint); color: var(--ec-action); display: flex; align-items: center; justify-content: center; }
  .ec-header__icon .ec-i { width: 18px; height: 18px; }
  .ec-header__btn { display: inline-flex !important; height: 48px; padding: 0 22px; font-size: 16px; }

  .ec-nav { display: block; position: static; background: none; border: 0; box-shadow: none; max-height: none; overflow: visible; }
  .ec-nav__list { display: flex; gap: 30px; padding: 0; }
  .ec-nav__list > li { border: 0; display: flex; align-items: center; padding: 8px 0; }
  .ec-site .ec-nav a { min-height: 0; padding: 0; font-size: 15px; line-height: 1; }
  .ec-nav__toggle { position: static; width: 14px; height: 14px; margin-left: 4px; padding: 0; pointer-events: none; }
  .ec-nav__toggle svg { width: 14px; height: 14px; }
  .ec-nav__sub { display: block; position: absolute; top: 100%; left: -16px; min-width: 260px; background: #fff; border: 1px solid var(--ec-line); border-radius: var(--ec-radius); box-shadow: var(--ec-shadow-hover); padding: 8px 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; }
  .ec-nav__has-sub:hover .ec-nav__sub, .ec-nav__has-sub:focus-within .ec-nav__sub { opacity: 1; visibility: visible; transform: none; }
  .ec-site .ec-nav__sub a { padding: 9px 18px; font-size: 15px; color: var(--ec-ink); }
  .ec-site .ec-nav__sub a:hover { background: var(--ec-tint); color: var(--ec-action-hover); }
}


/* ---------- Footer ---------- */
.ec-footer { background: var(--ec-footer); color: #D5DEE4; padding: 40px 0 32px; font: 400 15px/24px var(--ec-font-body); }
/* mobile order per design: brand, hours, contact, links, social */
.ec-footer__grid { display: flex; flex-direction: column; gap: 24px; }
.ec-footer__col--brand { order: 1; } .ec-footer__col--hours { order: 2; } .ec-footer__col--contact { order: 3; }
.ec-footer__links { order: 4; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.ec-footer__col--social { order: 5; }
.ec-footer__brand { font: 700 20px/1.2 var(--ec-font-head); color: #fff; }
.ec-footer__label { font: 600 13px/1 var(--ec-font-head); letter-spacing: .12em; text-transform: uppercase; color: var(--ec-light-link); margin-bottom: 8px; }
.ec-site .ec-footer a { color: #D5DEE4; text-decoration: underline; line-height: 24px; }
.ec-site .ec-footer a:hover { color: #fff; }
.ec-site .ec-footer .ec-footer__strong { color: #fff; }
.ec-footer__social { gap: 18px; }
.ec-footer__bottom { margin-top: 24px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 14px; }
@media (min-width: 1025px) {
  .ec-footer { padding: 64px 0 32px; }
  .ec-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 40px; }
  .ec-footer__col--contact { order: 4; }
  .ec-footer__links { order: 3; flex-direction: column; flex-wrap: nowrap; gap: 0; }
  .ec-footer__brand { font-size: 22px; margin-bottom: 8px; }
  .ec-footer__label { margin-bottom: 12px; }
  .ec-footer__social { margin-top: 14px; }
  .ec-footer__bottom { margin-top: 40px; padding-top: 20px; }
}

/* ---------- Sticky mobile call bar ---------- */
.ec-callbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; background: #fff; border-top: 1px solid var(--ec-line); padding: 10px 16px calc(14px + env(safe-area-inset-bottom)); box-shadow: 0 -6px 16px rgba(0, 0, 0, .06); }
@media (min-width: 1025px) { .ec-callbar { display: none; } }

/* ---------- Inner-page glue (site-chrome only) ---------- */
.ec-site .ec-header, .ec-site .ec-header *, .ec-site .ec-footer, .ec-site .ec-footer *, .ec-site .ec-callbar, .ec-site .ec-callbar * { box-sizing: border-box; }
.ec-site .ec-header ul, .ec-site .ec-header li { margin: 0; }
.ec-site .ec-header__logo img { display: block; max-width: none; }
.ec-site .ec-header a { text-decoration: none; }
.ec-site .ec-header .ec-btn--primary, .ec-site .ec-callbar .ec-btn--primary { text-decoration: none; }
.ec-site .ec-nav__toggle, .ec-site .ec-burger { box-shadow: none; min-width: 0; line-height: 1; }
.ec-site .ec-footer { margin: 0; }
.ec-site .ec-footer__brand, .ec-site .ec-footer__label { margin-top: 0; }
@media (max-width: 1024px) { body.ec-site { padding-bottom: 80px; } }
/* Page-title banner: the theme pads it for its own overlapping header; the site's custom CSS
   undoes that with `.global-header-wrapper + .breadcumb-wrapper`, which no longer matches. */
.ec-site .ec-header + .breadcumb-wrapper { margin-top: 0 !important; height: 270px; padding: 0 0 130px; display: flex; flex-direction: column-reverse; justify-content: center; }
