/* Expert Tech Solutions â€” locked palette + light/dark overlay
   Tokens from brand/PALETTE.md. Do not introduce new hues. */

:root,
html[data-ets-theme="light"] {
  color-scheme: light;
  --ets-primary: #00A0C6;
  --ets-primary-600: #0388A9;
  --ets-primary-700: #056B85;
  --ets-primary-800: #074756;
  --ets-primary-900: #092C34;
  --ets-ink: #0B0B0B;
  --ets-paper: #F6F1EA;
  --ets-surface: #FFFFFF;
  --ets-tan: #E0D3C4;
  --ets-muted: #848585;
  --ets-yellow: #FED700;
  --ets-header-bg: transparent;
  --ets-header-fg: #FFFFFF;
  --ets-footer-bg: #FFFFFF;
  --ets-footer-fg: #0B0B0B;
  --ets-page-bg: #FFFFFF;
  --ets-card: #FFFFFF;
  --ets-text: #0B0B0B;
  --ets-text-muted: #074756;
  --ets-border: #E0D3C4;
  --ets-shadow: 0 18px 40px rgba(11, 11, 11, 0.08);
  --ets-panel: #074756;

  /* Soft textures for solid bands (grain + wash). Keep hues locked to palette. */
  --ets-texture-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E");
  --ets-texture-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='2' cy='2' r='1.15' fill='%23074756' fill-opacity='0.11'/%3E%3C/svg%3E");
  --ets-texture-dots-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='2' cy='2' r='1.15' fill='%2300A0C6' fill-opacity='0.1'/%3E%3C/svg%3E");
  --ets-texture-wash-a:
    radial-gradient(120% 80% at 0% 0%, rgba(0, 160, 198, 0.1) 0%, transparent 55%),
    radial-gradient(90% 70% at 100% 100%, rgba(224, 211, 196, 0.45) 0%, transparent 50%);
  --ets-texture-wash-b:
    radial-gradient(110% 85% at 100% 0%, rgba(0, 160, 198, 0.09) 0%, transparent 52%),
    radial-gradient(95% 75% at 0% 100%, rgba(255, 255, 255, 0.65) 0%, transparent 48%);

  --ast-global-color-0: #00A0C6 !important;
  --ast-global-color-1: #00A0C6 !important;
  --ast-global-color-2: #0B0B0B !important;
  --ast-global-color-3: #074756 !important;
  --e-global-color-astglobalcolor0: #00A0C6 !important;
  --e-global-color-astglobalcolor1: #00A0C6 !important;
  --e-global-color-astglobalcolor2: #0B0B0B !important;
  --e-global-color-astglobalcolor3: #074756 !important;
}

html[data-ets-theme="dark"] {
  color-scheme: dark;
  --ets-header-bg: transparent;
  --ets-header-fg: #FFFFFF;
  --ets-footer-bg: #092C34;
  --ets-footer-fg: #F6F1EA;
  --ets-page-bg: #092C34;
  --ets-card: #074756;
  --ets-text: #F6F1EA;
  --ets-text-muted: #EDE4D8;
  --ets-border: #074756;
  --ets-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
  --ets-panel: #074756;
  --ets-surface: #074756;
  --ets-texture-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='2' cy='2' r='1.15' fill='%23F6F1EA' fill-opacity='0.08'/%3E%3C/svg%3E");
  --ets-texture-dots-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='2' cy='2' r='1.15' fill='%2300A0C6' fill-opacity='0.14'/%3E%3C/svg%3E");
  --ets-texture-wash-a:
    radial-gradient(120% 80% at 0% 0%, rgba(0, 160, 198, 0.16) 0%, transparent 55%),
    radial-gradient(90% 70% at 100% 100%, rgba(7, 71, 86, 0.7) 0%, transparent 52%);
  --ets-texture-wash-b:
    radial-gradient(110% 85% at 100% 0%, rgba(0, 160, 198, 0.14) 0%, transparent 52%),
    radial-gradient(95% 75% at 0% 100%, rgba(9, 44, 52, 0.6) 0%, transparent 48%);
  --ast-global-color-2: #F6F1EA !important;
  --ast-global-color-3: #EDE4D8 !important;
  --e-global-color-astglobalcolor2: #F6F1EA !important;
  --e-global-color-astglobalcolor3: #EDE4D8 !important;
}

.skip-link.screen-reader-text,
a.skip-link {
  position: absolute !important;
  left: -9999px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  z-index: 100001;
}
.skip-link:focus,
a.skip-link:focus {
  left: 12px !important;
  top: 12px !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  padding: 0.6rem 0.9rem !important;
  background: var(--ets-primary) !important;
  color: var(--ets-ink) !important;
}

html,
body.home,
body.page,
body .hfeed.site,
body #page,
body .site-content {
  background-color: var(--ets-page-bg) !important;
  background-image:
    var(--ets-texture-wash-a),
    var(--ets-texture-dots),
    var(--ets-texture-noise) !important;
  background-size: auto, auto, 24px 24px, 180px 180px !important;
  background-repeat: no-repeat, no-repeat, repeat, repeat !important;
  background-blend-mode: normal, normal, normal, soft-light !important;
  color: var(--ets-text);
}

/* Header overlays the hero: see-through in both themes */
.site,
#page,
.hfeed.site {
  position: relative;
}
header.elementor-location-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999;
  visibility: visible !important;
  opacity: 1 !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
header.elementor-location-header .e-con,
header.elementor-location-header .e-con-inner {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

footer.elementor-location-footer,
footer.elementor-location-footer .e-con.e-parent,
footer.elementor-location-footer .e-con.e-parent > .e-con-inner {
  background-color: var(--ets-footer-bg) !important;
  background-image:
    var(--ets-texture-wash-b),
    var(--ets-texture-dots-alt),
    var(--ets-texture-noise) !important;
  background-size: auto, auto, 24px 24px, 180px 180px !important;
  background-repeat: no-repeat, no-repeat, repeat, repeat !important;
  background-blend-mode: normal, normal, normal, soft-light !important;
  color: var(--ets-footer-fg) !important;
}

header.elementor-location-header .elementor-nav-menu .elementor-item,
header.elementor-location-header .elementor-nav-menu .menu-link,
header.elementor-location-header .elementor-icon-box-title,
header.elementor-location-header .elementor-icon-box-title span,
header.elementor-location-header .elementor-icon-box-description,
header.elementor-location-header .elementor-icon-box-description a,
header.elementor-location-header .elementor-menu-toggle {
  color: var(--ets-header-fg) !important;
}

header.elementor-location-header a[href^="tel"] {
  color: var(--ets-header-fg) !important;
}

header.elementor-location-header .elementor-nav-menu .elementor-item:hover,
header.elementor-location-header .elementor-nav-menu .elementor-item-active {
  color: var(--ets-primary) !important;
}

header.elementor-location-header .elementor-nav-menu--dropdown,
header.elementor-location-header .sub-menu {
  background-color: var(--ets-card) !important;
  border-color: var(--ets-border) !important;
}

header.elementor-location-header .elementor-nav-menu--dropdown a {
  color: var(--ets-text) !important;
}

/* Desktop hover dropdowns â€” Elementor SmartMenus often never binds on the static clone */
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children {
  position: relative !important;
}
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > .sub-menu,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > ul.elementor-nav-menu--dropdown {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 16.5rem !important;
  margin: 0 !important;
  padding: 0.45rem 0 !important;
  z-index: 100000 !important;
  list-style: none !important;
  border: 1px solid var(--ets-border) !important;
  border-radius: 8px !important;
  box-shadow: var(--ets-shadow) !important;
  background-color: var(--ets-card) !important;
}
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children.highlighted > .sub-menu,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:hover > ul.elementor-nav-menu--dropdown,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:focus-within > ul.elementor-nav-menu--dropdown,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children.highlighted > ul.elementor-nav-menu--dropdown {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  clip: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > .sub-menu a,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > ul.elementor-nav-menu--dropdown a {
  display: block !important;
  padding: 0.55rem 1rem !important;
  white-space: nowrap !important;
  color: var(--ets-text) !important;
  background: transparent !important;
}
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > .sub-menu a:hover,
header.elementor-location-header .elementor-nav-menu--main .menu-item-has-children > ul.elementor-nav-menu--dropdown a:hover {
  color: var(--ets-primary) !important;
  background-color: rgba(0, 160, 198, 0.1) !important;
}
header.elementor-location-header .dropdown-menu-toggle.ast-header-navigation-arrow {
  display: inline-block !important;
  margin-left: 0.35em;
  vertical-align: middle;
}
header.elementor-location-header .dropdown-menu-toggle.ast-header-navigation-arrow::after {
  content: "";
  display: inline-block;
  width: 0.4em;
  height: 0.4em;
  margin-top: -0.15em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.ets-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.ets-logo img {
  height: 56px !important;
  width: auto !important;
  max-width: 300px !important;
  object-fit: contain !important;
}
.elementor-widget-theme-site-logo,
.elementor-widget-theme-site-logo .elementor-widget-container,
.elementor-widget-theme-site-logo a,
.elementor-widget-image .ets-logo {
  width: auto !important;
  max-width: 320px !important;
  overflow: visible !important;
}
header.elementor-location-header .elementor-widget-theme-site-logo .elementor-widget-container {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  max-width: none !important;
}
header.elementor-location-header .elementor-widget-theme-site-logo a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
}
.ets-logo-on-light,
.ets-logo-on-dark {
  display: none !important;
}
html[data-ets-theme="light"] .ets-logo-on-light,
html:not([data-ets-theme="dark"]) .ets-logo-on-light {
  display: inline-block !important;
}
html[data-ets-theme="dark"] .ets-logo-on-dark {
  display: inline-block !important;
}
header.elementor-location-header .ets-logo-on-light {
  display: none !important;
}
header.elementor-location-header .ets-logo-on-dark {
  display: inline-block !important;
}

.elementor-view-stacked .elementor-icon {
  background-color: var(--ets-primary) !important;
}
.elementor-view-stacked .elementor-icon i,
.elementor-view-stacked .elementor-icon svg {
  color: #fff !important;
  fill: #fff !important;
}
/* Keep Elementor button chrome (filled vs outline). Remap live CTA blue â†’ primary. */
body .elementor-button {
  background-color: var(--ets-primary) !important;
  border-color: var(--ets-primary) !important;
  color: var(--ets-ink) !important;
  font-weight: 700 !important;
  padding: 10px 18px !important;
  min-height: 40px !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
}
body .elementor-button .elementor-button-text,
body .elementor-button .elementor-button-content-wrapper,
body .elementor-button .elementor-button-icon {
  color: var(--ets-ink) !important;
}
body .elementor-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body .elementor-button .elementor-button-icon svg,
body .elementor-button .elementor-button-icon svg path {
  fill: var(--ets-ink) !important;
  color: var(--ets-ink) !important;
}
body .elementor-button:hover,
body .elementor-button:focus {
  background-color: var(--ets-primary-700) !important;
  border-color: var(--ets-primary-700) !important;
  color: #FFFFFF !important;
}
body .elementor-button:hover .elementor-button-text,
body .elementor-button:hover .elementor-button-content-wrapper,
body .elementor-button:hover .elementor-button-icon,
body .elementor-button:focus .elementor-button-text,
body .elementor-button:focus .elementor-button-content-wrapper,
body .elementor-button:focus .elementor-button-icon {
  color: #FFFFFF !important;
}
body .elementor-button:hover .elementor-button-icon svg,
body .elementor-button:hover .elementor-button-icon svg path,
body .elementor-button:focus .elementor-button-icon svg,
body .elementor-button:focus .elementor-button-icon svg path {
  fill: #FFFFFF !important;
  color: #FFFFFF !important;
}

/* Icon-only buttons (newsletter send, etc.) must be circles, not padded pills */
body .elementor-button:has(.elementor-button-icon):not(:has(.elementor-button-text)),
body .elementor-button:has(.elementor-button-icon):has(.elementor-button-text:empty),
footer .elementor-element-603b5b2 .elementor-button,
footer .newletter .elementor-button {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 999px !important;
  flex: 0 0 48px !important;
}
body .elementor-button:has(.elementor-button-icon):not(:has(.elementor-button-text)) .elementor-button-content-wrapper,
body .elementor-button:has(.elementor-button-icon):has(.elementor-button-text:empty) .elementor-button-content-wrapper,
footer .elementor-element-603b5b2 .elementor-button .elementor-button-content-wrapper,
footer .newletter .elementor-button .elementor-button-content-wrapper {
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
  justify-content: center !important;
}
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button:hover,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button:focus {
  background-color: transparent !important;
  background-image: none !important;
  border: 0.8px solid #fff !important;
  color: #fff !important;
  font-family: inherit;
  font-weight: 500 !important;
  letter-spacing: normal;
  white-space: nowrap;
  padding: 10px 20px !important;
  min-height: 0 !important;
  border-radius: 999px !important;
  width: auto !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button .elementor-button-text,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button .elementor-button-content-wrapper,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button .elementor-button-icon,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button:hover .elementor-button-text,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button:hover .elementor-button-content-wrapper,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button:hover .elementor-button-icon {
  color: #fff !important;
}
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button .elementor-button-icon svg,
header.elementor-location-header .elementor-element-b8ccb27 .elementor-button .elementor-button-icon svg path {
  fill: #fff !important;
  color: #fff !important;
}

html[data-ets-theme="dark"] footer.elementor-location-footer a,
html[data-ets-theme="dark"] footer.elementor-location-footer p,
html[data-ets-theme="dark"] footer.elementor-location-footer h2,
html[data-ets-theme="dark"] footer.elementor-location-footer h3,
html[data-ets-theme="dark"] footer.elementor-location-footer li,
html[data-ets-theme="dark"] footer.elementor-location-footer .elementor-heading-title,
html[data-ets-theme="dark"] footer.elementor-location-footer .elementor-icon-list-text,
html[data-ets-theme="dark"] footer.elementor-location-footer .elementor-widget-text-editor {
  color: var(--ets-footer-fg) !important;
}
footer.elementor-location-footer a,
footer.elementor-location-footer p,
footer.elementor-location-footer h2,
footer.elementor-location-footer h3,
footer.elementor-location-footer li,
footer.elementor-location-footer .elementor-heading-title,
footer.elementor-location-footer .elementor-icon-list-text,
footer.elementor-location-footer .elementor-widget-text-editor {
  color: var(--ets-footer-fg) !important;
}
html[data-ets-theme="dark"] footer.elementor-location-footer a:hover,
footer.elementor-location-footer a:hover {
  color: var(--ets-primary) !important;
}

/* Alternate adjacent blocks so they don't share one fill.
   Soft brand texture via ::before so Elementor bg rules can't wipe it.
   Photo bands (.ets-photo-*) stay untouched. */
.ets-stripe-a,
.ets-stripe-b,
.ets-invert-band,
.ets-invert-card {
  position: relative !important;
  isolation: isolate;
}
.ets-stripe-a::before,
.ets-stripe-b::before,
.ets-invert-band::before,
.ets-invert-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  border-radius: inherit;
}
.ets-stripe-a > .e-con-inner,
.ets-stripe-b > .e-con-inner,
.ets-invert-band > .e-con-inner,
.ets-invert-card > .e-con-inner {
  position: relative;
  z-index: 1;
}

html[data-ets-theme="light"] .ets-stripe-a,
html:not([data-ets-theme="dark"]) .ets-stripe-a {
  background-color: #FFFFFF !important;
}
html[data-ets-theme="light"] .ets-stripe-a::before,
html:not([data-ets-theme="dark"]) .ets-stripe-a::before {
  background-color: transparent;
  background-image:
    var(--ets-texture-wash-a),
    var(--ets-texture-dots),
    var(--ets-texture-noise);
  background-size: auto, auto, 24px 24px, 180px 180px;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  background-blend-mode: normal, normal, normal, soft-light;
  opacity: 1;
}
html[data-ets-theme="light"] .ets-stripe-b,
html:not([data-ets-theme="dark"]) .ets-stripe-b {
  background-color: #F6F1EA !important;
}
html[data-ets-theme="light"] .ets-stripe-b::before,
html:not([data-ets-theme="dark"]) .ets-stripe-b::before {
  background-image:
    var(--ets-texture-wash-b),
    var(--ets-texture-dots-alt),
    var(--ets-texture-noise);
  background-size: auto, auto, 24px 24px, 180px 180px;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  background-blend-mode: normal, normal, normal, soft-light;
}
html[data-ets-theme="dark"] .ets-stripe-a {
  background-color: #092C34 !important;
}
html[data-ets-theme="dark"] .ets-stripe-a::before {
  background-image:
    var(--ets-texture-wash-a),
    var(--ets-texture-dots),
    var(--ets-texture-noise);
  background-size: auto, auto, 24px 24px, 180px 180px;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  background-blend-mode: normal, normal, normal, soft-light;
}
html[data-ets-theme="dark"] .ets-stripe-b {
  background-color: #074756 !important;
}
html[data-ets-theme="dark"] .ets-stripe-b::before {
  background-image:
    var(--ets-texture-wash-b),
    var(--ets-texture-dots-alt),
    var(--ets-texture-noise);
  background-size: auto, auto, 24px 24px, 180px 180px;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  background-blend-mode: normal, normal, normal, soft-light;
}

html[data-ets-theme="light"] .ets-stripe-a .ets-invert-card,
html:not([data-ets-theme="dark"]) .ets-stripe-a .ets-invert-card {
  background-color: #F6F1EA !important;
}
html[data-ets-theme="light"] .ets-stripe-a .ets-invert-card::before,
html:not([data-ets-theme="dark"]) .ets-stripe-a .ets-invert-card::before {
  background-image: var(--ets-texture-dots-alt), var(--ets-texture-noise);
  background-size: 24px 24px, 180px 180px;
  background-repeat: repeat, repeat;
  background-blend-mode: normal, soft-light;
}
html[data-ets-theme="light"] .ets-stripe-b .ets-invert-card,
html:not([data-ets-theme="dark"]) .ets-stripe-b .ets-invert-card {
  background-color: #FFFFFF !important;
}
html[data-ets-theme="light"] .ets-stripe-b .ets-invert-card::before,
html:not([data-ets-theme="dark"]) .ets-stripe-b .ets-invert-card::before {
  background-image: var(--ets-texture-dots), var(--ets-texture-noise);
  background-size: 24px 24px, 180px 180px;
  background-repeat: repeat, repeat;
  background-blend-mode: normal, soft-light;
}
html[data-ets-theme="dark"] .ets-stripe-a .ets-invert-card {
  background-color: #074756 !important;
}
html[data-ets-theme="dark"] .ets-stripe-a .ets-invert-card::before {
  background-image: var(--ets-texture-dots-alt), var(--ets-texture-noise);
  background-size: 24px 24px, 180px 180px;
  background-repeat: repeat, repeat;
  background-blend-mode: normal, soft-light;
}
html[data-ets-theme="dark"] .ets-stripe-b .ets-invert-card {
  background-color: #092C34 !important;
}
html[data-ets-theme="dark"] .ets-stripe-b .ets-invert-card::before {
  background-image: var(--ets-texture-dots), var(--ets-texture-noise);
  background-size: 24px 24px, 180px 180px;
  background-repeat: repeat, repeat;
  background-blend-mode: normal, soft-light;
}

html[data-ets-theme="dark"] .ets-invert-band {
  background-color: var(--ets-page-bg) !important;
}
html[data-ets-theme="dark"] .ets-invert-band::before {
  background-image:
    var(--ets-texture-wash-a),
    var(--ets-texture-dots),
    var(--ets-texture-noise);
  background-size: auto, auto, 24px 24px, 180px 180px;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
  background-blend-mode: normal, normal, normal, soft-light;
}
html[data-ets-theme="dark"] .ets-invert-card {
  background-color: var(--ets-card) !important;
}
html[data-ets-theme="dark"] .ets-invert-card::before {
  background-image: var(--ets-texture-dots-alt), var(--ets-texture-noise);
  background-size: 24px 24px, 180px 180px;
  background-repeat: repeat, repeat;
  background-blend-mode: normal, soft-light;
}

html[data-ets-theme="dark"] .elementor-heading-title,
html[data-ets-theme="dark"] .elementor-widget-heading .elementor-heading-title,
html[data-ets-theme="dark"] .elementor-icon-box-title,
html[data-ets-theme="dark"] .elementor-icon-box-title span {
  color: var(--ets-text) !important;
}
html[data-ets-theme="dark"] .elementor-widget-text-editor,
html[data-ets-theme="dark"] .elementor-widget-text-editor p,
html[data-ets-theme="dark"] .elementor-icon-box-description,
html[data-ets-theme="dark"] .elementor-icon-list-text {
  color: var(--ets-text-muted) !important;
}
html[data-ets-theme="dark"] .ets-fix-contrast {
  color: var(--ets-text) !important;
}
html[data-ets-theme="dark"] p.ets-fix-contrast,
html[data-ets-theme="dark"] .elementor-widget-text-editor.ets-fix-contrast,
html[data-ets-theme="dark"] .ets-fix-contrast.elementor-icon-box-description {
  color: var(--ets-text-muted) !important;
}

/* Extra IT Protection: keep photo bg; type scale + readable ink on the light photo */
html[data-ets-theme="light"] .elementor-element-dcc0a01 .elementor-heading-title,
html[data-ets-theme="light"] .elementor-element-dcc0a01 .elementor-heading-title b,
html[data-ets-theme="light"] .elementor-element-8e530ea .elementor-heading-title,
html[data-ets-theme="light"] .elementor-element-8e530ea .elementor-heading-title b,
html:not([data-ets-theme="dark"]) .elementor-element-dcc0a01 .elementor-heading-title,
html:not([data-ets-theme="dark"]) .elementor-element-dcc0a01 .elementor-heading-title b,
html:not([data-ets-theme="dark"]) .elementor-element-8e530ea .elementor-heading-title,
html:not([data-ets-theme="dark"]) .elementor-element-8e530ea .elementor-heading-title b {
  color: #0B0B0B !important;
}
.elementor-element-dcc0a01 .elementor-heading-title,
.elementor-element-dcc0a01 .elementor-heading-title b,
.elementor-element-8e530ea .elementor-heading-title,
.elementor-element-8e530ea .elementor-heading-title b {
  font-weight: 600 !important;
  font-size: clamp(1.6rem, 3vw, 2.35rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em;
}
html[data-ets-theme="light"] .elementor-element-dcc0a01 .elementor-widget-text-editor,
html[data-ets-theme="light"] .elementor-element-dcc0a01 .elementor-widget-text-editor p,
html[data-ets-theme="light"] .elementor-element-dcc0a01 .elementor-widget-text-editor span,
html[data-ets-theme="light"] .elementor-element-8e530ea .elementor-widget-text-editor,
html[data-ets-theme="light"] .elementor-element-8e530ea .elementor-widget-text-editor p,
html[data-ets-theme="light"] .elementor-element-8e530ea .elementor-widget-text-editor span,
html:not([data-ets-theme="dark"]) .elementor-element-dcc0a01 .elementor-widget-text-editor,
html:not([data-ets-theme="dark"]) .elementor-element-dcc0a01 .elementor-widget-text-editor p,
html:not([data-ets-theme="dark"]) .elementor-element-dcc0a01 .elementor-widget-text-editor span,
html:not([data-ets-theme="dark"]) .elementor-element-8e530ea .elementor-widget-text-editor,
html:not([data-ets-theme="dark"]) .elementor-element-8e530ea .elementor-widget-text-editor p,
html:not([data-ets-theme="dark"]) .elementor-element-8e530ea .elementor-widget-text-editor span {
  color: #4A4A4A !important;
}
.elementor-element-dcc0a01 .elementor-widget-text-editor,
.elementor-element-dcc0a01 .elementor-widget-text-editor p,
.elementor-element-dcc0a01 .elementor-widget-text-editor span,
.elementor-element-8e530ea .elementor-widget-text-editor,
.elementor-element-8e530ea .elementor-widget-text-editor p,
.elementor-element-8e530ea .elementor-widget-text-editor span {
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
}

/* Photo bands: keep Elementor image. Light photos get a dark translucent overlay in dark mode. */
.ets-photo-light,
.ets-photo-dark {
  position: relative;
}
.ets-photo-light {
  isolation: isolate;
}
.ets-photo-light > .e-con-inner,
.ets-photo-dark > .e-con-inner {
  position: relative;
  z-index: 1;
}
/* Hero scroll arrow (Component-1) hangs into the next band â€” keep full circle above it */
.elementor-element-79f8b70 {
  z-index: 8 !important;
  overflow: visible !important;
  isolation: auto !important;
}
.elementor-element-79f8b70 > .e-con-inner {
  overflow: visible !important;
  z-index: auto !important;
  isolation: auto !important;
}
.elementor-element-cabd228,
.elementor-element-3cececa {
  z-index: 30 !important;
  bottom: -52px !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
.elementor-element-cabd228 .elementor-widget-container,
.elementor-element-cabd228 img,
.elementor-element-3cececa .elementor-widget-container,
.elementor-element-3cececa img {
  position: relative;
  z-index: 30 !important;
  cursor: pointer !important;
}
.elementor-element-1d5cf41 {
  scroll-margin-top: 100px;
}
.elementor-element-0cdaf78 {
  z-index: 0 !important;
  isolation: auto !important;
}
html[data-ets-theme="dark"] .elementor-element-0cdaf78.ets-photo-light {
  isolation: isolate !important;
}
html[data-ets-theme="dark"] .ets-photo-light::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(9, 44, 52, 0.84);
}
html[data-ets-theme="dark"] .ets-photo-light .ets-invert-card {
  background-color: #074756 !important;
  background-image: none !important;
}
/* Light photo bands in dark mode: force readable type + links (beat Elementor post CSS) */
html[data-ets-theme="dark"] .ets-photo-light .elementor-heading-title,
html[data-ets-theme="dark"] .ets-photo-light .elementor-heading-title b,
html[data-ets-theme="dark"] .ets-photo-light .elementor-icon-box-title,
html[data-ets-theme="dark"] .ets-photo-light .elementor-icon-box-title span,
html[data-ets-theme="dark"] .ets-photo-light .elementor-widget-text-editor,
html[data-ets-theme="dark"] .ets-photo-light .elementor-widget-text-editor p,
html[data-ets-theme="dark"] .elementor .ets-photo-light .elementor-icon-box-description,
html[data-ets-theme="dark"] .elementor .ets-photo-light .elementor-icon-box-description a,
html[data-ets-theme="dark"] .elementor .ets-photo-light .elementor-icon-list-text,
html[data-ets-theme="dark"] .elementor .ets-photo-light .elementor-icon-list-text a,
html[data-ets-theme="dark"] .elementor .ets-photo-light a {
  color: #F6F1EA !important;
}
/* Dark photo CTAs / hero: keep white type in both themes */
html[data-ets-theme="dark"] .ets-photo-dark .elementor-heading-title,
html[data-ets-theme="dark"] .ets-photo-dark .elementor-heading-title b,
html[data-ets-theme="dark"] .ets-photo-dark .elementor-widget-text-editor,
html[data-ets-theme="dark"] .ets-photo-dark .elementor-widget-text-editor p,
html[data-ets-theme="dark"] .ets-photo-dark .elementor-icon-box-title,
html[data-ets-theme="dark"] .ets-photo-dark .elementor-icon-box-title span,
html[data-ets-theme="dark"] .ets-photo-dark .elementor-icon-box-description,
.ets-photo-dark .elementor-heading-title,
.ets-photo-dark .elementor-heading-title b,
.ets-photo-dark .elementor-widget-text-editor,
.ets-photo-dark .elementor-widget-text-editor p,
.ets-photo-dark .elementor-icon-box-title,
.ets-photo-dark .elementor-icon-box-title span,
.ets-photo-dark .elementor-icon-box-description {
  color: #FFFFFF !important;
}
.elementor-element-d9f167b,
.elementor-element-6875de9 {
  width: 100% !important;
  max-width: 42rem !important;
  margin-inline: auto !important;
}

header.elementor-location-header .elementor-icon-box-title,
header.elementor-location-header .elementor-icon-box-description,
header.elementor-location-header .elementor-icon-box-description a {
  white-space: nowrap;
}
header.elementor-location-header .ets-logo img {
  height: 52px !important;
  max-width: 225px !important;
}
@media (max-width: 1280px) {
  header.elementor-location-header .elementor-nav-menu .elementor-item {
    padding-inline: 0.45em !important;
    font-size: 14px !important;
  }
  header.elementor-location-header .ets-logo img {
    height: 44px !important;
  }
}

/* Revive the local newsletter form; Customerly iframe is stripped in PHP */
footer .elementor-element-603b5b2 {
  display: block !important;
}
footer .elementor-element-4b676e5 {
  display: none !important;
}

/* Newsletter: pill email field + matching circular send button */
footer .elementor-element-603b5b2 .elementor-form-fields-wrapper,
footer .newletter .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.55rem !important;
}
footer .elementor-element-603b5b2 .elementor-field-group-email,
footer .newletter .elementor-field-group-email {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}
footer .elementor-element-603b5b2 .elementor-field-type-submit,
footer .elementor-element-603b5b2 .e-form__buttons,
footer .newletter .elementor-field-type-submit,
footer .newletter .e-form__buttons {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
footer .elementor-element-603b5b2 .elementor-field-textual,
footer .newletter .elementor-field-textual {
  border-radius: 999px !important;
  height: 48px !important;
  min-height: 48px !important;
  line-height: 48px !important;
  padding: 0 1.25rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
footer .elementor-element-603b5b2 .elementor-button,
footer .newletter .elementor-button {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(0, 160, 198, 0.28) !important;
}
footer .elementor-element-603b5b2 .elementor-button .elementor-button-icon svg,
footer .newletter .elementor-button .elementor-button-icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
}

/* Contact form fields: consistent soft rounding with CTAs */
.elementor-field-textual,
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select {
  background: var(--ets-surface) !important;
  color: var(--ets-ink) !important;
  border-color: var(--ets-tan) !important;
  border-radius: 12px !important;
}
html[data-ets-theme="dark"] .elementor-field-textual,
html[data-ets-theme="dark"] .elementor-field-group input,
html[data-ets-theme="dark"] .elementor-field-group textarea {
  background: #092C34 !important;
  color: #F6F1EA !important;
  border-color: #074756 !important;
}

.ets-theme-toggle {
  appearance: none;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--ets-header-fg);
  background: transparent;
  color: var(--ets-header-fg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 32px;
  margin-left: 6px;
  box-shadow: none;
  transition: background 160ms ease, transform 160ms ease;
}
.ets-theme-toggle:hover {
  background: var(--ets-primary);
  color: var(--ets-ink);
  border-color: var(--ets-primary);
  transform: translateY(-1px);
}
.ets-theme-toggle:focus-visible {
  outline: 2px solid var(--ets-yellow);
  outline-offset: 3px;
}
.ets-theme-toggle svg {
  width: 18px;
  height: 18px;
  display: none;
  fill: currentColor;
  stroke: none;
  overflow: visible;
}
html[data-ets-theme="light"] .ets-theme-toggle .ets-icon-moon,
html:not([data-ets-theme="dark"]) .ets-theme-toggle .ets-icon-moon {
  display: block;
}
html[data-ets-theme="dark"] .ets-theme-toggle .ets-icon-sun {
  display: block;
}

.ets-theme-toggle--logo {
  margin-left: 10px;
}
.ets-theme-toggle--float {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 100000;
  margin: 0;
}

@media (max-width: 920px) {
  .ets-logo img {
    height: 40px;
  }
}

/* Light mode: stripe bands are light â€” force readable ink (Elementor often leaves white type from dark originals) */
html[data-ets-theme="light"] .ets-stripe-a .elementor-heading-title,
html[data-ets-theme="light"] .ets-stripe-b .elementor-heading-title,
html[data-ets-theme="light"] .ets-stripe-a .elementor-heading-title b,
html[data-ets-theme="light"] .ets-stripe-b .elementor-heading-title b {
  color: #0B0B0B !important;
}
html[data-ets-theme="light"] .ets-stripe-a .elementor-widget-text-editor,
html[data-ets-theme="light"] .ets-stripe-a .elementor-widget-text-editor p,
html[data-ets-theme="light"] .ets-stripe-a .elementor-widget-text-editor span,
html[data-ets-theme="light"] .ets-stripe-b .elementor-widget-text-editor,
html[data-ets-theme="light"] .ets-stripe-b .elementor-widget-text-editor p,
html[data-ets-theme="light"] .ets-stripe-b .elementor-widget-text-editor span {
  color: #4A4A4A !important;
}

/* CTA photo bands keep white type via .ets-photo-band rules above */

a {
  text-underline-offset: 0.15em;
}

/* Client reviews â€” Font Awesome fonts fail cross-origin from live CDN, so draw stars/arrows locally */
.sp-testimonial-item {
  background-color: #FFFFFF !important;
  border: 1px solid #E0D3C4 !important;
  border-radius: 16px !important;
  padding: 28px 22px 24px !important;
  box-shadow: 0 12px 28px rgba(11, 11, 11, 0.07) !important;
  height: auto !important;
}
html[data-ets-theme="dark"] .sp-testimonial-item {
  background-color: #074756 !important;
  border-color: #056B85 !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28) !important;
  color: #F6F1EA !important;
}

h3.sp-testimonial-post-title {
  color: var(--ets-primary) !important;
  font-weight: 600 !important;
  font-size: 1.125rem !important;
  margin: 0 0 0.65rem !important;
}

.sp-testimonial-item .testimonial-text,
.sp-testimonial-item .sp-testimonial-client-testimonial,
.sp-testimonial-item p {
  color: #4A4A4A !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
html[data-ets-theme="dark"] .sp-testimonial-item .testimonial-text,
html[data-ets-theme="dark"] .sp-testimonial-item .sp-testimonial-client-testimonial,
html[data-ets-theme="dark"] .sp-testimonial-item p {
  color: #EDE4D8 !important;
}

/* Read More must not inherit muted body gray â€” make it a clear brand action */
.sp-testimonial-item .read-more-btn,
.read-more-btn {
  display: inline-block !important;
  margin-top: 8px !important;
  color: var(--ets-primary) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em !important;
  cursor: pointer !important;
}
.sp-testimonial-item .read-more-btn:hover,
.read-more-btn:hover {
  color: var(--ets-primary-600) !important;
}
html[data-ets-theme="dark"] .sp-testimonial-item .read-more-btn,
html[data-ets-theme="dark"] .read-more-btn {
  color: #5ED4F0 !important;
}
html[data-ets-theme="dark"] .sp-testimonial-item .read-more-btn:hover,
html[data-ets-theme="dark"] .read-more-btn:hover {
  color: #FED700 !important;
}

.sp-testimonial-client-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin-top: 12px !important;
  line-height: 1 !important;
}
.sp-testimonial-client-rating i.fa {
  font-family: FontAwesome !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 17px !important;
  line-height: 1 !important;
  color: #FED700 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-font-smoothing: antialiased;
}

#sp-testimonial-free-wrapper-5686 .sp-testimonial-free-section .testimonial-nav-arrow,
.sp-testimonial-free-section .testimonial-nav-arrow {
  background: #FFFFFF !important;
  border: 1px solid #E0D3C4 !important;
  color: #0B0B0B !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 16px rgba(11, 11, 11, 0.08) !important;
}
#sp-testimonial-free-wrapper-5686 .sp-testimonial-free-section .testimonial-nav-arrow:hover,
.sp-testimonial-free-section .testimonial-nav-arrow:hover {
  background: var(--ets-primary) !important;
  border-color: var(--ets-primary) !important;
  color: #0B0B0B !important;
}
html[data-ets-theme="dark"] .sp-testimonial-free-section .testimonial-nav-arrow {
  background: #074756 !important;
  border-color: #056B85 !important;
  color: #F6F1EA !important;
}
.sp-testimonial-free-section .testimonial-nav-arrow i.fa {
  font-family: FontAwesome !important;
  font-style: normal !important;
  color: inherit !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.sp-testimonial-free-wrapper .elementor-heading-title,
.elementor-element-316bff7 .elementor-heading-title {
  margin-bottom: 0.35em;
}


/* Footer social icons: widget was fixed-width for a single icon; size to content so all icons sit on one row */
.elementor-widget-social-icons.elementor-widget__width-initial { width: auto !important; --container-widget-width: auto !important; max-width: 100% !important; }


/* Nav arrows: Elementor's menu script (SmartMenus) initialises now, adding its own caret beside the chevron this clone forces on.
   One arrow per menu: the desktop bar keeps the designed thin chevron; the mobile panel keeps SmartMenus' caret (it is the tap target). */
header.elementor-location-header .elementor-nav-menu--main .sub-arrow{display:none !important}
header.elementor-location-header nav.elementor-nav-menu--dropdown .dropdown-menu-toggle.ast-header-navigation-arrow{display:none !important}

/* Mobile menu panel: items were white text on a white panel (header link colour + card background). Dark panel to match the header. */
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{background-color:#0d1117 !important;border:0 !important;box-shadow:0 12px 24px rgba(0,0,0,.35)}
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu{background-color:#161b22 !important;border:0 !important}
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a{color:#ffffff !important;background-color:transparent !important;border-color:rgba(255,255,255,.08) !important}
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a:hover,
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a:focus,
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.highlighted,
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item-active{color:var(--ets-primary) !important;background-color:rgba(255,255,255,.06) !important}
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-arrow,
header.elementor-location-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-arrow i{color:#ffffff !important;fill:#ffffff !important}


/* ---- Desktop header (4f412a9 / row 76b7913) ----
   Needed ~1,494px: logo box locked at 320px (image is 216px) and every menu item carried 20px margin + 13px padding.
   Result was "Contact us" wrapping / text colliding, and the Schedule button hanging past the screen edge. */
@media (min-width:1280px){
  .elementor-element.elementor-element-76b7913{flex-wrap:nowrap !important;justify-content:space-between !important;column-gap:18px !important;--gap:18px}
  .elementor-element.elementor-element-07820da,
  .elementor-element.elementor-element-07820da>.elementor-widget-container{flex:0 0 auto !important;width:270px !important;max-width:270px !important;--container-widget-width:270px !important}
  .elementor-element.elementor-element-ac21402{flex:0 1 auto !important;min-width:0 !important;width:auto !important;--container-widget-width:auto !important;--e-nav-menu-horizontal-menu-item-margin:4px}
  .elementor-element.elementor-element-ac21402 .elementor-nav-menu--main>ul.elementor-nav-menu{flex-wrap:nowrap !important}
  .elementor-element.elementor-element-ac21402 .elementor-nav-menu--main>ul>li>a.elementor-item{white-space:nowrap !important;margin-inline-end:4px !important;padding-left:11px !important;padding-right:11px !important}
  .elementor-element.elementor-element-756cf9f,
  .elementor-element.elementor-element-b8ccb27{flex:0 0 auto !important;width:auto !important;--container-widget-width:auto !important}
  .elementor-element.elementor-element-756cf9f .elementor-icon-box-title,
  .elementor-element.elementor-element-756cf9f .elementor-icon-box-description,
  .elementor-element.elementor-element-b8ccb27 a.elementor-button{white-space:nowrap !important}
  .elementor-element.elementor-element-b8ccb27 a.elementor-button{width:auto !important}
}
/* Laptops 1280-1399: drop the decorative divider and the small "CALL US NOW!" label (number stays), tighten menu */
@media (min-width:1280px) and (max-width:1399px){
  .elementor-element.elementor-element-69350c3{display:none !important}
  .elementor-element.elementor-element-756cf9f .elementor-icon-box-title{display:none !important}
  .elementor-element.elementor-element-76b7913{column-gap:10px !important;--gap:10px}
  .elementor-element.elementor-element-07820da,.elementor-element.elementor-element-07820da>.elementor-widget-container{width:256px !important;max-width:256px !important;--container-widget-width:256px !important}
  .elementor-element.elementor-element-ac21402 .elementor-nav-menu--main>ul>li>a.elementor-item{font-size:14px !important;padding-left:8px !important;padding-right:8px !important;margin-inline-end:2px !important}
}
/* 1025-1279: keep the full desktop bar (like the original site) - drop the phone block + divider, tighten logo, menu and button so it fits on one row */
@media (min-width:1025px) and (max-width:1279px){
  .elementor-element.elementor-element-76b7913{flex-wrap:nowrap !important;justify-content:space-between !important;column-gap:10px !important;--gap:10px;padding-left:20px !important;padding-right:20px !important}
  .elementor-element.elementor-element-69350c3,
  .elementor-element.elementor-element-756cf9f{display:none !important}
  .elementor-element.elementor-element-07820da,
  .elementor-element.elementor-element-07820da>.elementor-widget-container{flex:0 0 auto !important;width:190px !important;max-width:190px !important;--container-widget-width:190px !important}
  header.elementor-location-header .ets-logo img{height:42px !important;max-width:190px !important}
  .elementor-element.elementor-element-ac21402{flex:0 1 auto !important;min-width:0 !important;width:auto !important;--container-widget-width:auto !important;--e-nav-menu-horizontal-menu-item-margin:2px}
  .elementor-element.elementor-element-ac21402 .elementor-nav-menu--main>ul.elementor-nav-menu{flex-wrap:nowrap !important}
  .elementor-element.elementor-element-ac21402 .elementor-nav-menu--main>ul>li>a.elementor-item{white-space:nowrap !important;font-size:14px !important;padding-left:8px !important;padding-right:8px !important;margin-inline-end:2px !important}
  .elementor-element.elementor-element-b8ccb27{flex:0 0 auto !important;width:auto !important;--container-widget-width:auto !important}
  .elementor-element.elementor-element-b8ccb27 a.elementor-button{white-space:nowrap !important;width:auto !important;padding:10px 16px !important;font-size:13px !important}
}

/* Residential flyout (3rd level): opens to the right of the Services dropdown, with a right-pointing chevron */
header.elementor-location-header .elementor-nav-menu--main .sub-menu .menu-item-has-children>.sub-menu{top:-0.45rem !important;left:calc(100% - 4px) !important;margin-left:0 !important}
/* invisible hover bridge under the Residential row: a diagonal mouse path toward the lower flyout items keeps the flyout open */
header.elementor-location-header .elementor-nav-menu--main .sub-menu li.menu-item-has-children:hover::after{content:"";position:absolute;top:100%;left:0;width:calc(100% + 4px);height:120px;background:transparent;z-index:2}
/* current page inside any header dropdown gets the brand colour */
html body header.elementor-location-header nav.elementor-nav-menu--main ul.sub-menu li.current-menu-item>a.elementor-sub-item,
html body header.elementor-location-header nav.elementor-nav-menu--main ul.sub-menu li>a.elementor-sub-item.elementor-item-active{color:var(--ets-primary) !important;font-weight:600}
header.elementor-location-header .elementor-nav-menu--main .sub-menu .menu-item-has-children>a{display:flex !important;align-items:center;justify-content:space-between;gap:12px}
header.elementor-location-header .elementor-nav-menu--main .sub-menu .menu-item-has-children>a .dropdown-menu-toggle::after{transform:rotate(-45deg) !important;margin-top:0 !important}
header.elementor-location-header .elementor-nav-menu--main .sub-menu .current-menu-ancestor>a{color:var(--ets-primary) !important}
/* Mobile/tablet panel: indent the Residential children one more step */
header.elementor-location-header nav.elementor-nav-menu--dropdown .sub-menu .sub-menu a{padding-left:56px !important;font-size:0.95em}

/* ---- Phone homepage: the mobile hero (c23f51a) is pulled up under the floating header with no top padding,
   so "One Partner for All Your IT Needs" sat underneath the logo. Give it the header's height plus breathing room. ---- */
@media (max-width:767px){
  .elementor-15 .elementor-element.elementor-element-c23f51a{--padding-top:110px !important;padding-top:110px !important}
}

/* Decorative absolutely-positioned art (e.g. 7c29f57) can hang past the right edge on narrow laptops -> sideways scroll. Clip at page level (clip, not hidden: keeps sticky/dropdowns working). */
html,body{overflow-x:clip}


/* Homepage desktop hero (79f8b70) used a 1440px content box while every other section uses 1200px -> headline sat on the left screen edge. Align it to the site column with a minimum gutter. */
.elementor-15 .elementor-element.elementor-element-79f8b70{--content-width:1200px}
.elementor-15 .elementor-element.elementor-element-79f8b70>.e-con-inner{max-width:min(1200px, calc(100% - 48px)) !important;margin-left:auto !important;margin-right:auto !important}


/* Protection plan Buy Now buttons (inside the plan cards) - site's teal pill style */
.ets-plan-btn{margin-top:18px;text-align:center}
.ets-plan-btn a.elementor-button{display:inline-flex;align-items:center;justify-content:center;background-color:var(--ets-primary,#00A0C6) !important;color:#fff !important;border-radius:999px !important;padding:11px 26px !important;font-size:14px !important;font-weight:600 !important;line-height:1.2 !important;border:0 !important;transition:filter .15s ease, transform .15s ease}
.ets-plan-btn a.elementor-button:hover,.ets-plan-btn a.elementor-button:focus-visible{filter:brightness(1.08);transform:translateY(-1px)}

/* keep the 4 plan buttons aligned on one line: push each to the bottom of its (equal-height) card */
.e-con:has(> .elementor-widget-icon-box .ets-plan-btn){align-items:stretch}
.elementor-widget-icon-box:has(.ets-plan-btn){flex-grow:1;display:flex;flex-direction:column}
.elementor-widget-icon-box:has(.ets-plan-btn)>.elementor-widget-container,.elementor-widget-icon-box:has(.ets-plan-btn) .elementor-icon-box-wrapper,.elementor-widget-icon-box:has(.ets-plan-btn) .elementor-icon-box-content{display:flex;flex-direction:column;flex-grow:1;height:100%}
.elementor-widget-icon-box .ets-plan-btn{margin-top:auto;padding-top:18px}


/* ==========================================================================
   ExpertGuard pricing grid + /order/ page
   ========================================================================== */
.ets-pricing { padding: 80px 16px; background: var(--ets-page-bg); color: var(--ets-text); }
.ets-pricing__inner { max-width: 1240px; margin: 0 auto; text-align: center; }
.ets-pricing__title { font-size: clamp(30px, 4vw, 44px); line-height: 1.15; margin: 0 0 12px; color: var(--ets-text); font-weight: 500; }
.ets-pricing__title b { color: var(--ets-primary); font-weight: 700; }
.ets-pricing__sub { max-width: 720px; margin: 0 auto 28px; color: var(--ets-text-muted); font-size: 17px; }
.ets-pricing .ets-term { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--ets-card); border: 1px solid var(--ets-border); margin-bottom: 36px; }
.ets-pricing .ets-term button { border: 0; border-radius: 999px; padding: 10px 22px; font: inherit; font-weight: 600; cursor: pointer; background: transparent; color: var(--ets-text); }
.ets-pricing .ets-term button[aria-pressed="true"] { background: var(--ets-primary); color: #fff; }
.ets-pricing .ets-term button span, .ets-order-form .ets-term span { font-size: 12px; font-weight: 700; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--ets-yellow); color: #0B0B0B; }
.ets-pricing__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; text-align: left; }
.ets-plan-card { position: relative; display: flex; flex-direction: column; padding: 28px 24px; border-radius: 18px; background: var(--ets-card); border: 1px solid var(--ets-border); box-shadow: var(--ets-shadow); }
.ets-plan-card.is-featured { border: 2px solid var(--ets-primary); }
.ets-plan-card__badge { position: absolute; top: -13px; left: 24px; padding: 4px 12px; border-radius: 999px; background: var(--ets-primary); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ets-plan-card__name { font-size: 21px; line-height: 1.25; margin: 0 0 4px; color: var(--ets-text); }
.ets-plan-card__tag { margin: 0 0 16px; color: var(--ets-text-muted); font-size: 15px; }
.ets-plan-card__price { margin: 0 0 18px; }
.ets-plan-card__price .ets-amt { font-size: 40px; font-weight: 700; color: var(--ets-text); }
.ets-plan-card__price small { display: block; color: var(--ets-text-muted); font-size: 14px; }
.ets-plan-card__list { list-style: none; margin: 0 0 24px; padding: 0; flex: 1; }
.ets-plan-card__list li { position: relative; padding: 5px 0 5px 26px; font-size: 15px; line-height: 1.4; color: var(--ets-text); }
.ets-plan-card__list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 16px; height: 16px; border-radius: 50%; background: var(--ets-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.ets-plan-card__btn, .ets-order-submit { display: block; text-align: center; padding: 14px 20px; border-radius: 999px; background: var(--ets-primary); color: #fff !important; font-weight: 700; text-decoration: none; border: 0; cursor: pointer; font: inherit; font-weight: 700; transition: background .15s; }
.ets-plan-card__btn:hover, .ets-order-submit:hover { background: var(--ets-primary-700); }
.ets-pricing__fine { margin: 28px auto 0; max-width: 720px; color: var(--ets-text-muted); font-size: 14px; }
@media (max-width: 1100px) { .ets-pricing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; } }
@media (max-width: 640px) { .ets-pricing { padding: 56px 16px; } .ets-pricing__grid { grid-template-columns: 1fr; } }

.ets-order-page { background: var(--ets-page-bg); color: var(--ets-text); }
.ets-order-hero { background: var(--ets-panel); color: #fff; padding: 170px 16px 56px; }
.ets-order-wrap { max-width: 920px; margin: 0 auto; }
.ets-order-hero h1 { color: #fff; font-size: clamp(32px, 5vw, 52px); line-height: 1.1; margin: 0 0 14px; }
.ets-order-hero p { color: rgba(255, 255, 255, .88); font-size: 18px; margin: 0; max-width: 680px; }
.ets-order-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: 13px !important; font-weight: 700; color: var(--ets-primary) !important; margin-bottom: 10px !important; }
.ets-order-body { padding: 48px 16px 80px; }
.ets-order-form fieldset { border: 1px solid var(--ets-border); border-radius: 18px; padding: 24px; margin: 0 0 24px; background: var(--ets-card); }
.ets-order-form legend { font-size: 20px; font-weight: 700; padding: 0 8px; color: var(--ets-text); }
.ets-seg, .ets-order-form .ets-term { display: inline-flex; flex-wrap: wrap; gap: 8px; margin: 4px 12px 16px 0; }
.ets-seg label, .ets-order-form .ets-term label { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--ets-border); border-radius: 999px; cursor: pointer; font-weight: 600; }
.ets-seg label:has(input:checked), .ets-order-form .ets-term label:has(input:checked) { border-color: var(--ets-primary); box-shadow: inset 0 0 0 1px var(--ets-primary); }
.ets-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ets-opt[hidden] { display: none; }
.ets-opt { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--ets-border); border-radius: 14px; cursor: pointer; }
.ets-opt:has(input:checked) { border-color: var(--ets-primary); box-shadow: inset 0 0 0 1px var(--ets-primary); }
.ets-opt input { margin-top: 4px; accent-color: var(--ets-primary); }
.ets-opt__body { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.ets-opt__price { font-weight: 700; color: var(--ets-primary-600); }
.ets-opt__feat { font-size: 14px; color: var(--ets-text-muted); line-height: 1.4; }
.ets-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; margin-bottom: 14px; }
.ets-field { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 15px; }
.ets-field[hidden] { display: none; }
.ets-field em { color: #C0392B; font-style: normal; }
.ets-field input, .ets-field textarea { font: inherit; font-weight: 400; padding: 12px 14px; border: 1px solid var(--ets-border); border-radius: 10px; background: var(--ets-surface); color: #0B0B0B; width: 100%; box-sizing: border-box; }
.ets-field input:focus, .ets-field textarea:focus { outline: 2px solid var(--ets-primary); outline-offset: 1px; }
.ets-qty { max-width: 220px; margin-top: 16px; }
.ets-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ets-order-summary { font-size: 18px; margin: 0 0 16px; padding: 16px 20px; border-radius: 14px; background: var(--ets-card); border: 1px dashed var(--ets-primary); }
.ets-order-summary span { color: var(--ets-text-muted); font-size: 14px; }
.ets-agree { display: block; position: relative; padding-left: 28px; margin: 0 0 20px; font-size: 15px; line-height: 1.5; }
.ets-agree input { position: absolute; left: 0; top: 4px; margin: 0; accent-color: var(--ets-primary); }
@media (min-width: 900px) { .ets-plan-card__name { min-height: 2.5em; } }
.ets-agree a, .ets-order-done a { color: var(--ets-primary-600); }
.ets-order-submit { width: 100%; max-width: 360px; font-size: 18px; }
.ets-order-submit:disabled { opacity: .6; cursor: wait; }
.ets-order-msg { margin: 14px 0 0; padding: 12px 16px; border-radius: 10px; background: #FDECEA; color: #8A1C12; font-weight: 600; }
.ets-order-fine { margin-top: 16px; font-size: 14px; color: var(--ets-text-muted); }
.ets-order-done { padding: 32px; border-radius: 18px; border: 2px solid var(--ets-primary); background: var(--ets-card); }
.ets-order-done h2 { margin: 0 0 12px; color: var(--ets-text); }
@media (max-width: 767px) {
  .ets-order-hero { padding: 120px 16px 40px; }
  .ets-opts, .ets-grid2 { grid-template-columns: 1fr; }
  .ets-order-form fieldset { padding: 18px 14px; }
}

/* ---- Growth 1.7.0: FAQ + sticky mobile CTA ---- */
.ets-faq {
  max-width: 920px;
  margin: 48px auto 72px;
  padding: 0 20px 24px;
}
.ets-faq__title {
  font-family: Poppins, sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 600;
  color: var(--ets-text, #092C34);
  margin: 0 0 20px;
}
.ets-faq__item {
  border: 1px solid var(--ets-border, #d7e0e4);
  border-radius: 12px;
  background: var(--ets-card, #fff);
  margin: 0 0 10px;
  padding: 0;
}
.ets-faq__item summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  font-size: 1rem;
  padding: 16px 18px;
  color: var(--ets-text, #092C34);
}
.ets-faq__item summary::-webkit-details-marker { display: none; }
.ets-faq__item[open] summary { border-bottom: 1px solid var(--ets-border, #d7e0e4); }
.ets-faq__item p {
  margin: 0;
  padding: 14px 18px 18px;
  color: var(--ets-text-muted, #3a4a50);
  line-height: 1.55;
  font-size: 0.98rem;
}
html[data-ets-theme="dark"] .ets-faq__item {
  background: #074756;
  border-color: #056B85;
}
html[data-ets-theme="dark"] .ets-faq__title,
html[data-ets-theme="dark"] .ets-faq__item summary { color: #F6F1EA; }
html[data-ets-theme="dark"] .ets-faq__item p { color: #D9E4E8; }

.ets-sticky-cta {
  display: none;
}
@media (max-width: 767px) {
  .ets-sticky-cta {
    display: flex;
    position: fixed;
    z-index: 99998;
    left: 0;
    right: 0;
    bottom: 0;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(9, 44, 52, 0.96);
    border-top: 1px solid rgba(0, 160, 198, 0.35);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.25);
  }
  .ets-sticky-cta a {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 999px;
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none !important;
  }
  .ets-sticky-cta__call {
    background: transparent;
    color: #F6F1EA !important;
    border: 1.5px solid #00A0C6;
  }
  .ets-sticky-cta__protect {
    background: #00A0C6;
    color: #0B0B0B !important;
    border: 1.5px solid #00A0C6;
  }
  html.ets-has-sticky-cta body {
    padding-bottom: 72px;
  }
}


/* ---- On-demand remote support panel (Remote Support, Virus Removal, Contact) ---- */
.ets-help-now{padding:40px 20px;background:linear-gradient(135deg,#0d1117 0%,#10293a 100%);color:#fff}
.ets-help-now__inner{max-width:1200px;margin:0 auto;display:flex;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ets-help-now__text{flex:1 1 520px;min-width:0}
.ets-help-now__eyebrow{margin:0 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ets-primary);font-weight:600}
.ets-help-now h2{margin:0 0 10px;color:#fff !important;font-size:clamp(24px,3vw,34px);line-height:1.2}
.ets-help-now p{margin:0;color:rgba(255,255,255,.85);font-size:16px;line-height:1.6}
.ets-help-now__actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;flex:0 0 auto;min-width:240px}
.ets-help-now .ets-btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;font-size:16px;transition:transform .15s ease,background-color .15s ease}
.ets-help-now .ets-btn--primary{background:var(--ets-primary);color:#fff !important}
.ets-help-now .ets-btn--primary:hover{transform:translateY(-1px);background:#008fb2}
.ets-help-now .ets-btn--ghost{border:1.5px solid rgba(255,255,255,.6);color:#fff !important;background:transparent}
.ets-help-now .ets-btn--ghost:hover{background:rgba(255,255,255,.08)}
.ets-help-now__call{text-align:center;color:rgba(255,255,255,.8) !important;font-size:14px;text-decoration:underline}
@media (max-width:767px){
  .ets-help-now{padding:28px 16px}
  .ets-help-now__actions{width:100%;min-width:0}
}
/* Chat bubble sits above the phone sticky Call / Get Protected bar */
@media (max-width:767px){
  .woot-widget-bubble{bottom:88px !important}
  .woot-widget-holder{bottom:150px !important}
}

/* ---- Service page content sections (1.8.1) ---- */
.ets-svc{padding:56px 20px;background:var(--ets-card,#fff)}
.ets-svc__inner{max-width:920px;margin:0 auto;font-family:Poppins,sans-serif;color:#3a4a50;font-weight:400;line-height:1.65;font-size:1rem;text-align:left}
.ets-svc li,.ets-svc p,.ets-svc td{font-weight:400}
.ets-svc h2{font-family:Poppins,sans-serif;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:600;color:var(--ets-text,#092C34);margin:0 0 16px;line-height:1.25}
.ets-svc h3{font-family:Poppins,sans-serif;font-size:1.2rem;font-weight:600;color:var(--ets-text,#092C34);margin:28px 0 10px}
.ets-svc p{margin:0 0 14px}
.ets-svc ul,.ets-svc ol{margin:0 0 14px;padding-left:1.4em}
.ets-svc li{margin:0 0 6px}
.ets-svc a{color:var(--ets-primary,#00A0C6);text-decoration:underline}
.ets-svc__table{overflow-x:auto;margin:6px 0 16px}
.ets-svc table{width:100%;border-collapse:collapse;font-size:.97rem}
.ets-svc th,.ets-svc td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ets-border,#d7e0e4)}
.ets-svc th{color:var(--ets-text,#092C34);font-weight:600}
html[data-ets-theme="dark"] .ets-svc{background:#06323d}
html[data-ets-theme="dark"] .ets-svc__inner,html[data-ets-theme="dark"] .ets-svc td{color:#D9E4E8}
html[data-ets-theme="dark"] .ets-svc h2,html[data-ets-theme="dark"] .ets-svc h3,html[data-ets-theme="dark"] .ets-svc th{color:#F6F1EA}
html[data-ets-theme="dark"] .ets-svc th,html[data-ets-theme="dark"] .ets-svc td{border-color:#056B85}
html[data-ets-theme="dark"] .ets-svc a{color:#5fd3ef}
@media (max-width:767px){.ets-svc{padding:40px 16px}}
