/* Original Elementor layout, spacing, typography and responsive breakpoints remain authoritative. */
/* The captured phone header uses z-index: 100000; photo controls must sit above it. */
html.eeg-responsive .elementor-lightbox {
  z-index: 100001 !important;
}
.elementor-location-footer a[href^="mailto:"] .elementor-icon-list-text {
  overflow-wrap: anywhere;
  min-width: 0;
}
html.eeg-responsive .eeg-phone-label {
  display: block;
  font-size: 0.75em;
  font-weight: 500;
  line-height: 1.4;
}
html.eeg-responsive .eeg-phone-number { display: block; }
html.eeg-responsive .eeg-phone-contact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 44px;
  color: inherit;
}
html.eeg-responsive .eeg-phone-contact + .eeg-phone-contact { margin-top: 8px; }
html.eeg-responsive .eeg-contact-options {
  display: grid;
  gap: 14px;
  padding: clamp(18px, 4vw, 28px);
  color: #20364b;
  background: #fff;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
}
html.eeg-responsive .eeg-contact-options p { margin: 0 0 4px; }
html.eeg-responsive .eeg-contact-options .eeg-contact-call {
  display: grid;
  gap: 3px;
  padding: 14px 10px;
  border: 1px solid #102f53;
  border-radius: 8px;
  background: #102f53;
  color: #fff;
  text-decoration: none;
}
html.eeg-responsive .eeg-contact-call span { font-size: 14px; }
html.eeg-responsive .eeg-contact-call strong { font-size: clamp(20px, 4vw, 24px); line-height: 1.3; }
html.eeg-responsive .eeg-contact-options .eeg-contact-secondary { color: #102f53; background: #f1f6fb; }
html.eeg-responsive .eeg-contact-options .eeg-contact-email {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  color: #102f53;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html.eeg-responsive .eeg-contact-options a:focus-visible {
  outline: 3px solid #2698ec;
  outline-offset: 3px;
}

/* Keyboard focus and reduced motion do not alter page geometry. */
html.eeg-responsive :is(a, button, [role="button"], input, select, textarea):focus-visible {
  outline: 3px solid #2594f2;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  html.eeg-responsive *, html.eeg-responsive *::before, html.eeg-responsive *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  html.eeg-responsive .elementor-invisible { visibility: visible; }
}

/* Background repairs only: never change section geometry or text placement. */
.elementor-2894 .elementor-element.elementor-element-d1cf791, .elementor-2894 .elementor-element.elementor-element-d1cf791 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/assets/performance/images/72db8bdb0a7404a53008.webp") !important; }
.elementor-2894 .elementor-element.elementor-element-a971cfe, .elementor-2894 .elementor-element.elementor-element-a971cfe > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/assets/performance/images/9d73570cc8f7c21fb187.webp") !important; }
.elementor-2943 .elementor-element.elementor-element-a971cfe, .elementor-2943 .elementor-element.elementor-element-a971cfe > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/assets/performance/images/427544ed0b1347c662f3.webp") !important; }
.elementor-2950 .elementor-element.elementor-element-d1cf791, .elementor-2950 .elementor-element.elementor-element-d1cf791 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/assets/performance/images/46f3014828ffe011fae2.webp") !important; }
.elementor-2950 .elementor-element.elementor-element-a971cfe, .elementor-2950 .elementor-element.elementor-element-a971cfe > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/assets/performance/images/0d53e520100b98dc4c15.webp") !important; }
.elementor-2950 .elementor-element.elementor-element-5ab2e4f, .elementor-2950 .elementor-element.elementor-element-5ab2e4f > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/assets/performance/images/9a08526c8e7aa8bf2d3c.webp") !important; }
.elementor-3807 .elementor-element.elementor-element-e185945, .elementor-3807 .elementor-element.elementor-element-e185945 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/assets/photos/b0e0f094bc842125.webp") !important; }
@media (max-width: 1024px) {
.elementor-2880 .elementor-element.elementor-element-d1cf791,
.elementor-2894 .elementor-element.elementor-element-d1cf791,
.elementor-2943 .elementor-element.elementor-element-d1cf791,
.elementor-2950 .elementor-element.elementor-element-d1cf791,
.elementor-2959 .elementor-element.elementor-element-d1cf791,
.elementor-2987 .elementor-element.elementor-element-f9bd542,
.elementor-3015 .elementor-element.elementor-element-b4db2b4,
.elementor-3091 .elementor-element.elementor-element-242f814,
.elementor-3148 .elementor-element.elementor-element-1d1d73a,
.elementor-3165 .elementor-element.elementor-element-4e48a90,
.elementor-3426 .elementor-element.elementor-element-d1cf791,
.elementor-3431 .elementor-element.elementor-element-d1cf791,
.elementor-3433 .elementor-element.elementor-element-d1cf791,
.elementor-3434 .elementor-element.elementor-element-d1cf791,
.elementor-3437 .elementor-element.elementor-element-d1cf791,
.elementor-3807 .elementor-element.elementor-element-02ee519,
.elementor-3933 .elementor-element.elementor-element-242f814,
.elementor-3934 .elementor-element.elementor-element-242f814,
.elementor-3935 .elementor-element.elementor-element-242f814,
.elementor-3950 .elementor-element.elementor-element-242f814,
.elementor-3951 .elementor-element.elementor-element-242f814,
.elementor-3952 .elementor-element.elementor-element-242f814,
.elementor-3953 .elementor-element.elementor-element-242f814,
.elementor-3954 .elementor-element.elementor-element-242f814,
.elementor-3975 .elementor-element.elementor-element-242f814,
.elementor-3976 .elementor-element.elementor-element-242f814,
.elementor-3986 .elementor-element.elementor-element-242f814,
.elementor-3991 .elementor-element.elementor-element-242f814,
.elementor-3996 .elementor-element.elementor-element-242f814 {
  background-attachment: scroll !important;
  background-position: center center !important;
  background-size: cover !important;
}
}

/* Consistent, readable page layouts while preserving Elite's imagery and identity. */
body.eeg-polished { color: #24394e; }
.eeg-polished .elementor-column, .eeg-polished .elementor-widget-wrap { min-width: 0; box-sizing: border-box; }
.eeg-polished [data-elementor-type="wp-page"] h2.elementor-heading-title {
  font-size: clamp(28px, 3.2vw, 44px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}
.eeg-polished [data-elementor-type="wp-page"] h2.eeg-eyebrow {
  font-size: 15px !important;
  line-height: 1.5 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.eeg-polished [data-elementor-type="wp-page"] .elementor-widget-text-editor { font-size: 18px; line-height: 1.65; }
.eeg-polished [data-elementor-type="wp-page"] .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.eeg-polished .elementor-location-header > .elementor-section > .elementor-container {
  max-width: 1240px;
  width: calc(100% - 48px);
  margin-inline: auto;
}
.eeg-polished .elementor-menu-toggle { min-height: 44px; min-width: 44px; align-items: center; justify-content: center; }
.eeg-polished .elementor-location-header .elementor-nav-menu--dropdown { background: #112f50; }
.eeg-polished .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item { color: #fff !important; background: #112f50 !important; }
.eeg-polished .elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item { color: #112f50 !important; background: #eef5fb !important; }
.eeg-polished .elementor-location-header .elementor-nav-menu--dropdown a:is(:hover,:focus-visible) { color: #fff !important; background: #216599 !important; }
.eeg-polished .elementor .eeg-hero { min-height: 0; padding: 120px 24px 86px; }
.eeg-polished .elementor .eeg-hero > .elementor-container { min-height: 300px; max-width: 1200px; }
.eeg-polished .elementor .eeg-hero :is(h1,h2).elementor-heading-title {
  font-size: clamp(32px, 5vw, 64px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em;
  text-wrap: balance;
  max-width: 1080px;
  margin-inline: auto;
}
.eeg-polished .elementor .eeg-hero .elementor-widget-text-editor { font-size: clamp(17px, 1.8vw, 23px); line-height: 1.5; }
.eeg-polished .elementor .eeg-hero .elementor-widget-text-editor p { max-width: 70ch; margin-inline: auto; }
.eeg-polished .elementor-2553 .eeg-hero { padding-bottom: 140px; }

/* Residential hero: retain the original photo as a full, uncropped background. */
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero {
  box-sizing: border-box;
  min-height: 75.11vw !important;
  margin-top: -100px !important;
  padding: clamp(160px, 13vw, 240px) 24px 92px !important;
  background-color: #0e2e53 !important;
  background-image: url("/wp-content/uploads/2020/03/Sunsetview-07.jpg") !important;
  background-position: center top !important;
  background-size: 100% auto !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero > .elementor-container {
  min-height: 0 !important;
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero::before {
  display: none !important;
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero > .elementor-background-overlay {
  background: linear-gradient(180deg, rgba(5, 19, 35, .66) 0%, rgba(5, 19, 35, .38) 58%, rgba(5, 19, 35, .14) 100%) !important;
  opacity: 1 !important;
}
@media (max-width: 767px) {
  .page-id-2880.eeg-polished .elementor-location-header,
  .page-id-2880.eeg-polished .elementor-location-header > .elementor-section {
    background: transparent !important;
  }
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero {
    min-height: 75.11vw !important;
    margin-top: -100px !important;
    padding: 105px 20px 0 !important;
    background-position: center top !important;
    background-size: contain !important;
  }
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero > .elementor-background-overlay {
    background: rgba(5, 19, 35, .66) !important;
  }
}
@media (max-width: 430px) {
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero .elementor-widget-wrap {
    padding: 0 !important;
  }
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero .elementor-widget-heading,
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero .elementor-widget-text-editor {
    margin-bottom: 10px !important;
  }
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero h1.elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.05 !important;
  }
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero .elementor-widget-text-editor {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
}
@media (max-width: 360px) {
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero {
    background-size: 100% 100% !important;
  }
}
.eeg-polished .elementor .eeg-split-section { padding: 72px 28px !important; min-height: 0 !important; }
.eeg-polished .elementor .eeg-split-section > .elementor-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  width: 100%;
  max-width: 1200px;
  min-height: 0;
  align-items: center;
}
.eeg-polished .elementor .eeg-split-section > .elementor-container > .elementor-column { width: 100% !important; }
.eeg-polished .elementor .eeg-split-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0;
  align-content: center;
}
.eeg-polished .eeg-split-section .elementor-widget-image img { width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 22px; }
.eeg-polished .elementor .eeg-equal-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.eeg-polished .elementor .eeg-equal-columns > .elementor-column { width: 100% !important; margin: 0 !important; }
.eeg-polished .elementor .eeg-equal-columns > .elementor-column > .elementor-widget-wrap { width: 100%; margin: 0 !important; }
.eeg-polished .elementor-accordion .elementor-tab-title { padding: 20px !important; font-size: 18px; line-height: 1.45; }
.eeg-polished .elementor-accordion .elementor-tab-content { padding: 4px 20px 22px !important; font-size: 17px; line-height: 1.65; }
.eeg-polished .elementor-accordion .elementor-accordion-item { border-color: #dfe7ef; }
.eeg-polished .elementor-button, .eeg-polished .premium-button { min-height: 46px; }
.eeg-polished .elementor-location-footer .elementor-icon-list-text { overflow-wrap: anywhere; }
.eeg-polished .elementor-location-footer .elementor-icon-list-item a { min-width: 0; }
.eeg-polished .elementor-location-footer .elementor-widget-text-editor { font-size: 16px; line-height: 1.7; }
.eeg-polished .elementor-form input:not([type="checkbox"]):not([type="radio"]), .eeg-polished .elementor-form select { min-height: 48px; font-size: 16px; }
.eeg-polished [id="form"] { scroll-margin-top: 110px; }
/* The legacy confirmation page had white copy on white and negative margins. */
.page-id-3747.eeg-polished .elementor-location-header { background: #112f50; }
.eeg-polished .elementor-3747 .eeg-hero { background: #112f50; padding: 72px 24px !important; }
.eeg-polished .elementor-3747 .eeg-hero > .elementor-container { min-height: 260px !important; }
.eeg-polished .elementor-3747 .eeg-hero .elementor-widget-wrap { padding: 0; gap: 20px; }
.eeg-polished .elementor-3747 .eeg-hero .elementor-widget-container { margin: 0 !important; }
.eeg-polished .elementor-3747 .eeg-hero .elementor-widget { margin-bottom: 0; }
.eeg-polished .elementor-3747 .eeg-hero h1 { color: #fff; font-family: "Figtree", Arial, sans-serif; font-weight: 700; font-size: clamp(32px, 4.5vw, 56px) !important; line-height: 1.12 !important; margin: 0 auto; max-width: 900px; }
.eeg-polished .elementor-3747 .eeg-hero p { color: #e2edf6; font-family: "Figtree", Arial, sans-serif; font-size: 19px; line-height: 1.6; margin: 0 auto; }
.eeg-polished .elementor-3747 .eeg-hero .elementor-invisible { visibility: visible; }
@media (max-width: 1100px) {
  .eeg-polished .elementor .eeg-equal-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eeg-polished .elementor .eeg-split-section > .elementor-container { gap: 32px; }
  .eeg-polished .elementor .eeg-hero > .elementor-container { min-height: 260px; }
}
@media (max-width: 900px) {
  .eeg-polished .elementor .eeg-split-section > .elementor-container { grid-template-columns: minmax(0,1fr); }
  .eeg-polished .elementor .eeg-split-section { padding: 48px 24px !important; }
  .eeg-polished .eeg-split-section .elementor-widget-image img { max-height: 460px; object-fit: cover; }
}
@media (max-width: 767px) {
  .eeg-polished .elementor-location-header > .elementor-section > .elementor-container { width: calc(100% - 32px); }
  .eeg-polished .elementor .eeg-hero { padding: 100px 20px 64px; }
  .eeg-polished .elementor .eeg-hero > .elementor-container { min-height: 240px; }
  .eeg-polished .elementor-2553 .eeg-hero { padding-bottom: 72px; }
  .eeg-polished .elementor .eeg-equal-columns { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .eeg-polished .elementor .eeg-split-section { padding: 40px 20px !important; }
  .eeg-polished [data-elementor-type="wp-page"] .elementor-widget-text-editor { font-size: 17px; }
  .eeg-polished .elementor-accordion .elementor-tab-title { font-size: 16px; padding: 18px 14px !important; }
  .eeg-polished .elementor-accordion .elementor-tab-content { padding: 0 14px 18px !important; font-size: 16px; }
}

/* Service directory photos: complete cover images and labels visible on touch. */
.elementor .elementor-widget-premium-addon-banner.eeg-service-photo-widget { height:100%; margin-bottom:0; }
.elementor .eeg-service-photo-widget > .elementor-widget-container { height:100%; }
.elementor .eeg-service-photo-widget .premium-banner-ib.eeg-service-photo-card {
  display:grid; position:relative; isolation:isolate; width:100%; height:100%; min-height:380px;
  margin:0; overflow:hidden; border-radius:20px; background:#112f50; text-align:left;
}
.elementor .eeg-service-photo-widget .eeg-service-photo-card::before {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(9,28,48,.08) 0%,rgba(9,28,48,.18) 25%,rgba(9,28,48,.78) 61%,rgba(9,28,48,.96) 100%);
}
.elementor .eeg-service-photo-widget .premium-banner-ib.eeg-service-photo-card .premium-banner-img {
  position:absolute; inset:0; display:block; width:100% !important; min-width:100%; max-width:100% !important;
  height:100% !important; max-height:none; object-fit:cover; object-position:center; border-radius:0;
  opacity:1 !important; transform:none !important; filter:none !important; transition:none;
}
.elementor .eeg-service-photo-widget .premium-banner-ib.eeg-service-photo-card .premium-banner-ib-desc {
  position:relative; align-self:end; top:auto; bottom:auto; inset-inline-start:auto; z-index:2;
  width:100%; height:auto; min-height:0; max-height:none; padding:140px 26px 28px;
  text-align:left; transform:none; pointer-events:none;
}
.elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-desc .premium-banner-ib-title {
  position:static; margin:0 0 12px; padding:0; color:#fff; background:none;
  font:700 28px/1.18 "Figtree",Arial,sans-serif; letter-spacing:-.4px; text-align:left;
  transform:none !important; opacity:1 !important; transition:none; overflow-wrap:break-word;
}
.elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-desc .premium-banner-ib-content {
  position:static; margin:0; padding:0; height:auto; max-height:none; color:#eef5fb;
  font:400 16px/1.5 "Figtree",Arial,sans-serif; text-align:left;
  transform:none !important; opacity:1 !important; transition:none;
}
.elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-content p { margin:0; font:inherit; color:inherit; }
.elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-link {
  position:absolute; inset:0; display:block; width:100%; height:100%; z-index:3;
  opacity:1; text-indent:0; border:0; border-radius:inherit; background:transparent;
}
.elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-link::after {
  content:"↗"; position:absolute; top:22px; right:22px; display:grid; place-items:center;
  width:42px; height:42px; border:1px solid #ffffffa6; border-radius:50%;
  background:#102f534d; color:#fff; font:400 23px/1 "Figtree",Arial,sans-serif; text-indent:0;
}
.elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-link:hover::after { background:#176bb4; border-color:#fff; }
.elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-link:focus-visible { outline:3px solid #fff; outline-offset:-7px; box-shadow:inset 0 0 0 4px #176bb4; }
.elementor .elementor-element.eeg-services-intro-with-card > .elementor-container {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:36px;
}
.elementor .elementor-element.eeg-services-intro-with-card > .elementor-container > .elementor-column { width:100% !important; min-width:0; }
.elementor .elementor-element.eeg-services-intro-with-card > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 !important; margin:0; }
@media(max-width:1100px) {
  .elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-desc .premium-banner-ib-title { font-size:25px; }
  .elementor .eeg-service-photo-widget .premium-banner-ib.eeg-service-photo-card .premium-banner-ib-desc { padding:130px 23px 25px; }
}
@media(max-width:1024px) {
  .elementor .elementor-element.eeg-services-intro-with-card > .elementor-container { grid-template-columns:minmax(0,1fr); gap:28px; }
  .elementor .eeg-services-intro-with-card .premium-banner-ib.eeg-service-photo-card { min-height:340px; }
}
@media(max-width:767px) {
  .elementor .eeg-service-photo-widget .premium-banner-ib.eeg-service-photo-card { min-height:350px; border-radius:18px; }
  .elementor .eeg-service-photo-widget .premium-banner-ib.eeg-service-photo-card .premium-banner-ib-desc { padding:130px 22px 24px; }
  .elementor .eeg-service-photo-widget .eeg-service-photo-card .premium-banner-ib-desc .premium-banner-ib-title { font-size:24px; }
}

/* Content restored to formerly empty service and project sections. */
.elementor .elementor-element.eeg-offerings-section > .elementor-container { min-height:0; }
.eeg-offerings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; width:100%; margin-top:30px; }
.eeg-offerings-grid,.eeg-offerings-grid * { box-sizing:border-box; }
.eeg-offerings-grid .eeg-offering-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:28px; border:1px solid #dce7f0; border-radius:18px; background:#fff; box-shadow:0 8px 24px #102f5305; text-align:left; }
.eeg-offerings-grid .eeg-offering-card::before { content:""; width:36px; height:4px; margin-bottom:22px; border-radius:4px; background:#238dcc; }
.eeg-offerings-grid .eeg-offering-card h3 { margin:0 0 12px; color:#102f53; font:700 23px/1.25 "Figtree",Arial,sans-serif; letter-spacing:-.35px; overflow-wrap:break-word; }
.eeg-offerings-grid .eeg-offering-card p { margin:0 0 20px; color:#4d6172; font:400 16px/1.6 "Figtree",Arial,sans-serif; }
.eeg-offerings-grid .eeg-offering-card p:last-child { margin-bottom:0; }
.eeg-offerings-grid .eeg-offering-link { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; margin-top:auto; min-height:44px; color:#125e97; font:700 15px/1.4 "Figtree",Arial,sans-serif; text-decoration:none; }
.eeg-offerings-grid .eeg-offering-link:hover { color:#0e2e53; text-decoration:underline; text-underline-offset:4px; }
.eeg-offering-link:focus-visible,.eeg-project-feature a:focus-visible { outline:3px solid #238dcc; outline-offset:5px; }
.elementor .eeg-content-photo-column { min-width:0; }
.elementor .eeg-content-photo-column > .eeg-content-photo-wrap { align-content:center; }
.elementor .eeg-project-feature { position:relative; width:100%; margin:0; border-radius:22px; background:#173d61; overflow:hidden; }
.elementor .eeg-project-feature a { display:block; color:#fff; }
.elementor .eeg-project-feature img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:0; }
.elementor .eeg-project-feature figcaption { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin:0; padding:64px 26px 25px; color:#fff; text-align:left; background:linear-gradient(transparent,rgba(9,28,48,.87)); pointer-events:none; }
.elementor .eeg-project-feature figcaption small { display:block; margin-bottom:7px; font:600 11px/1.4 "Figtree",Arial,sans-serif; letter-spacing:1.6px; }
.elementor .eeg-project-feature figcaption strong { display:block; font:700 27px/1.2 "Figtree",Arial,sans-serif; }
.elementor .eeg-project-feature-arrow { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:1px solid #ffffff80; border-radius:50%; font:400 24px/1 "Figtree",Arial,sans-serif; }
.elementor .eeg-project-feature a:focus-visible { outline-offset:-5px; }
@media(max-width:1024px) {
  .eeg-offerings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .eeg-offerings-grid .eeg-offering-card { padding:24px; }
  .elementor .eeg-project-feature figcaption { padding:56px 20px 20px; }
}
@media(max-width:767px) {
  .eeg-offerings-grid { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:22px; }
  .eeg-offerings-grid .eeg-offering-card { padding:24px; }
  .eeg-offerings-grid .eeg-offering-card::before { margin-bottom:18px; }
  .elementor .eeg-content-photo-column > .eeg-content-photo-wrap { padding:0; margin:0; }
  .elementor .eeg-project-feature { border-radius:18px; }
  .elementor .eeg-project-feature img { aspect-ratio:4/3; }
  .elementor .eeg-project-feature figcaption strong { font-size:24px; }
}

/* Shared inquiry and review presentation. Only transformer-tagged sections match. */
html.eeg-responsive .elementor .eeg-contact-shell {
  padding: 80px 28px !important;
  margin: 0 !important;
  min-height: 0 !important;
  background: #f4f7fa !important;
  border-radius: 0 !important;
}
html.eeg-responsive .elementor .eeg-contact-shell > .elementor-container {
  width: 100% !important;
  max-width: 1200px !important;
  min-height: 0 !important;
  margin-inline: auto !important;
}
html.eeg-responsive .elementor .eeg-contact-shell-wrapper {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html.eeg-responsive .elementor .eeg-contact-layout:not(.eeg-contact-shell) {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html.eeg-responsive .elementor .eeg-contact-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: start !important;
  gap: 40px;
  width: 100% !important;
  max-width: 1200px !important;
  min-height: 0 !important;
  margin-inline: auto !important;
}
html.eeg-responsive .elementor .eeg-contact-layout--form-last > .eeg-contact-columns {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}
html.eeg-responsive .elementor .eeg-contact-layout--single > .eeg-contact-columns {
  grid-template-columns: minmax(0, 1fr);
  max-width: 760px !important;
}
html.eeg-responsive .elementor .eeg-contact-columns > .elementor-column {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html.eeg-responsive .elementor .eeg-contact-columns > .elementor-column > .elementor-widget-wrap {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-content: start !important;
}
html.eeg-responsive .elementor .eeg-contact-form-column {
  background: transparent !important;
}
html.eeg-responsive .elementor .eeg-contact-form-column > .elementor-widget-wrap > .elementor-widget {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 20px !important;
}
html.eeg-responsive .elementor .eeg-contact-form-column > .elementor-widget-wrap > .elementor-widget > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
html.eeg-responsive .elementor .eeg-contact-form-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title {
  color: #123257 !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  line-height: 1.15 !important;
  text-align: left !important;
  letter-spacing: -.02em;
}
html.eeg-responsive .elementor .eeg-contact-form-column > .elementor-widget-wrap > .elementor-widget-text-editor {
  color: #4d6175 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  text-align: left !important;
}
html.eeg-responsive .elementor .eeg-contact-form-widget,
html.eeg-responsive .elementor .eeg-contact-form-widget > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html.eeg-responsive .elementor .eeg-contact-companion {
  overflow: hidden;
  border-radius: 24px !important;
  background: #0e2e53 !important;
  color: #fff;
}
html.eeg-responsive .elementor .eeg-contact-columns > .eeg-contact-companion > .elementor-widget-wrap {
  padding: 30px !important;
}
html.eeg-responsive .elementor .eeg-contact-reviews > .elementor-widget-wrap > .elementor-widget-heading {
  margin: 0 0 24px !important;
}
html.eeg-responsive .elementor .eeg-contact-reviews > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title {
  color: #fff !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
/* Give the review panel the same calm spacing and scale on every service page. */
html.eeg-responsive .elementor .eeg-contact-reviews {
  border-radius: 20px !important;
  background: #102f52 !important;
}
html.eeg-responsive .elementor .eeg-contact-columns > .eeg-contact-reviews > .elementor-widget-wrap {
  padding: clamp(22px, 3vw, 34px) !important;
}
html.eeg-responsive .elementor .eeg-contact-reviews > .elementor-widget-wrap > .elementor-widget-heading {
  margin: 0 0 20px !important;
}
html.eeg-responsive .elementor .eeg-contact-reviews > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title {
  font-size: clamp(23px, 2vw, 27px) !important;
  font-weight: 700 !important;
  letter-spacing: -.025em;
}
html.eeg-responsive .elementor .eeg-contact-information .elementor-section,
html.eeg-responsive .elementor .eeg-contact-information .elementor-container,
html.eeg-responsive .elementor .eeg-contact-information .elementor-column,
html.eeg-responsive .elementor .eeg-contact-information .elementor-widget-wrap {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
html.eeg-responsive .elementor .eeg-contact-information .elementor-section,
html.eeg-responsive .elementor .eeg-contact-information .elementor-container,
html.eeg-responsive .elementor .eeg-contact-information .elementor-column,
html.eeg-responsive .elementor .eeg-contact-information .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
  background: transparent !important;
}
html.eeg-responsive .elementor .eeg-contact-information .elementor-background-overlay { display: none; }
html.eeg-responsive .elementor .eeg-contact-information .elementor-widget-spacer { display: none; }
html.eeg-responsive .elementor .eeg-contact-information .elementor-widget-heading .elementor-heading-title {
  color: #fff !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
}
html.eeg-responsive .elementor .eeg-contact-information .elementor-widget-text-editor,
html.eeg-responsive .elementor .eeg-contact-information .elementor-icon-list-text {
  color: #e2eaf3 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere;
}
html.eeg-responsive .elementor .eeg-contact-information .elementor-widget-button { margin-bottom: 28px; }
html.eeg-responsive .elementor .eeg-contact-information .elementor-icon-list-icon { align-self: flex-start; padding-top: 5px; }
html.eeg-responsive .elementor .eeg-contact-information .elementor-icon-list-icon i { color: #69c0ff !important; }

/* Retain the Elementor carousel and pagination; make each quote a compact card. */
html.eeg-responsive .elementor .eeg-readable-reviews,
html.eeg-responsive .elementor .eeg-readable-reviews > .elementor-widget-container,
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-swiper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-main-swiper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 44px !important;
  overflow: hidden;
}
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-wrapper { align-items: flex-start !important; }
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-slide { height: auto !important; }
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: clamp(22px, 2.5vw, 30px) !important;
  margin: 0 !important;
  border: 1px solid #e1e8ef !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #24394e !important;
  box-shadow: 0 10px 28px rgba(3, 25, 49, .1) !important;
  text-align: left !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__header {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 12px;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__image {
  display: grid !important;
  place-items: center;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 50%;
  background: #e6eff5;
  color: #234966;
  font: 700 16px/1 "Figtree", Arial, sans-serif;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__image[data-eeg-review-initial]::before {
  content: attr(data-eeg-review-initial);
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__image[data-eeg-review-initial] img {
  display: none !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__cite {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  font-style: normal;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__name {
  display: block;
  margin: 0 0 5px !important;
  color: #173754 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  overflow-wrap: normal;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-star-rating {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 2px;
  width: max-content !important;
  margin: 0 !important;
  color: #bd7a16 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-star-rating i {
  flex: 0 0 auto !important;
  margin: 0 !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__icon {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__icon svg {
  width: 20px !important;
  height: 20px !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__content,
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__text {
  padding: 0 !important;
  margin: 0 !important;
  color: #344b60 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  text-align: left !important;
  overflow-wrap: anywhere;
}
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-excerpt { margin: 0 0 14px; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure { margin: 0; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure summary {
  width: fit-content;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  cursor: pointer;
  color: #155686;
  background: #edf5fa;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
  list-style: none;
}
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure summary::-webkit-details-marker { display: none; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure summary::after { content: '+'; font-size: 18px; line-height: 1; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure[open] summary::after { content: '−'; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure summary:hover { background: #e0eff8; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure summary:focus-visible { outline: 3px solid #2594f2; outline-offset: 4px; border-radius: 4px; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-close-label,
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure[open] .eeg-review-open-label { display: none; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-disclosure[open] .eeg-review-close-label { display: inline; }
html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__text:has(.eeg-review-disclosure[open]) > .eeg-review-excerpt { display: none; }
html.eeg-responsive .elementor .eeg-readable-reviews .eeg-review-full { margin-top: 12px; }
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-pagination {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 2px;
  bottom: 0 !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-pagination-bullet {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  border: 0;
  border-radius: 8px;
  background: transparent !important;
  opacity: 1 !important;
}
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-pagination-bullet::before {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: #a9bed1;
  transition: width .2s ease, background-color .2s ease;
}
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-pagination-bullet-active::before {
  width: 20px;
  background: #fff;
}
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-pagination-bullet:hover::before { background: #fff; }
html.eeg-responsive .elementor .eeg-readable-reviews .swiper-pagination-bullet:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }

/* One complete preserved client review fills the previously empty homepage slot. */
html.eeg-responsive .elementor .eeg-featured-review-column { min-width: 0; }
html.eeg-responsive .elementor .eeg-featured-review-column > .elementor-widget-wrap { padding: 0 0 0 32px !important; align-content: start !important; }
html.eeg-responsive .elementor .eeg-featured-review {
  width: 100%;
  margin: 0;
  padding: 34px;
  border: 1px solid #dbe6f0;
  border-radius: 24px;
  background: #fff;
  color: #233e57;
  text-align: left;
}
html.eeg-responsive .elementor .eeg-featured-review-stars { color: #b97713; font-size: 23px; letter-spacing: 3px; white-space: nowrap; margin-bottom: 20px; }
html.eeg-responsive .elementor .eeg-featured-review blockquote { padding: 0; margin: 0 0 24px; border: 0; color: #304c63; font-size: 18px; line-height: 1.7; font-style: normal; }
html.eeg-responsive .elementor .eeg-featured-review blockquote p:last-child { margin-bottom: 0; }
html.eeg-responsive .elementor .eeg-featured-review figcaption { display: flex; flex-direction: column; gap: 4px; padding-top: 20px; border-top: 1px solid #dde7f0; font-size: 16px; line-height: 1.5; }
html.eeg-responsive .elementor .eeg-featured-review figcaption span { color: #61778b; font-size: 14px; }
html.eeg-responsive .elementor .eeg-featured-review-source { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; margin-top: 8px; color: #145d99; font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
html.eeg-responsive .elementor .eeg-featured-review-source:focus-visible { outline: 3px solid #2594f2; outline-offset: 4px; }

@media (max-width: 1100px) {
  html.eeg-responsive .elementor .eeg-contact-columns,
  html.eeg-responsive .elementor .eeg-contact-layout--form-last > .eeg-contact-columns {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px !important;
    gap: 32px;
  }
  html.eeg-responsive .elementor .eeg-contact-shell > .elementor-container { max-width: 760px !important; }
  html.eeg-responsive .elementor .eeg-contact-columns > .eeg-contact-companion > .elementor-widget-wrap { padding: 30px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial { padding: 26px !important; }
}
@media (max-width: 767px) {
  html.eeg-responsive .elementor .eeg-contact-shell { padding: 48px 20px !important; }
  html.eeg-responsive .elementor .eeg-contact-columns { gap: 28px; }
  html.eeg-responsive .elementor .eeg-contact-companion { border-radius: 20px !important; }
  html.eeg-responsive .elementor .eeg-contact-columns > .eeg-contact-companion > .elementor-widget-wrap { padding: 22px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial { padding: 22px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__header { gap: 10px; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__name { font-size: 16px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__text { font-size: 15px !important; }
  html.eeg-responsive .elementor .eeg-featured-review-column > .elementor-widget-wrap { padding: 24px 0 0 !important; }
  html.eeg-responsive .elementor .eeg-featured-review { padding: 24px; border-radius: 20px; }
  html.eeg-responsive .elementor .eeg-featured-review blockquote { font-size: 17px; }
}
@media (max-width: 380px) {
  html.eeg-responsive .elementor .eeg-contact-columns > .eeg-contact-companion > .elementor-widget-wrap { padding: 18px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial { padding: 16px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__header { gap: 8px; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__image,
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__image img { width: 36px !important; height: 36px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__image { flex-basis: 36px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__icon,
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__icon svg { width: 18px !important; height: 18px !important; }
  html.eeg-responsive .elementor .eeg-readable-reviews .elementor-testimonial__icon { flex-basis: 18px !important; }
}

/* A self-contained footer: no nested Elementor column widths or clipped email. */
footer.eeg-site-footer {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: #0b2542;
  color: #d5e2ee;
  font: 400 16px/1.6 "Figtree", Arial, sans-serif;
  text-align: left;
}
.eeg-site-footer *, .eeg-site-footer *::before, .eeg-site-footer *::after { box-sizing: border-box; }
.eeg-site-footer .eeg-footer-inner { width: min(100% - 48px, 1200px); margin-inline: auto; }
.eeg-site-footer .eeg-footer-main {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr);
  align-items: start;
  gap: clamp(40px, 6vw, 96px);
  padding-block: 64px 48px;
}
.eeg-site-footer :is(.eeg-footer-company, .eeg-footer-services, nav, ul, li, a) { min-width: 0; }
.eeg-site-footer a { color: inherit; text-decoration: none; text-underline-offset: 5px; }
.eeg-site-footer a:hover { color: #fff; text-decoration: underline; }
.eeg-site-footer a:focus-visible { outline: 3px solid #70c3ff; outline-offset: 5px; border-radius: 3px; }
.eeg-site-footer .eeg-footer-brand { display: inline-flex; max-width: 100%; margin-bottom: 24px; }
.eeg-site-footer .eeg-footer-brand img { display: block; width: 300px; max-width: 100%; height: auto; }
.eeg-site-footer p { margin: 0; }
.eeg-site-footer .eeg-footer-intro { max-width: 40ch; margin-bottom: 14px; font-size: 16px; line-height: 1.65; }
.eeg-site-footer .eeg-footer-region { color: #91cfff; font-size: 14px; line-height: 1.6; }
.eeg-site-footer .eeg-footer-contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #38506a;
  font-style: normal;
}
.eeg-site-footer .eeg-footer-contact a { display: block; padding-block: 2px; }
.eeg-site-footer .eeg-footer-contact a > span { display: block; color: #afc3d6; font-size: 12px; font-weight: 500; line-height: 1.5; }
.eeg-site-footer .eeg-footer-contact strong { display: block; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.6; white-space: nowrap; }
.eeg-site-footer .eeg-footer-contact .eeg-footer-email {
  grid-column: 1 / -1;
  max-width: 100%;
  color: #fff;
  font-size: 16px;
  line-height: 1.7;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  overflow: visible;
  text-overflow: clip;
}
.eeg-site-footer .eeg-footer-contact p { grid-column: 1 / -1; font-size: 15px; line-height: 1.65; }
.eeg-site-footer .eeg-footer-service-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid #38506a;
}
.eeg-site-footer .eeg-footer-service-heading h2 { margin: 0; color: #fff; font-size: clamp(24px, 2.3vw, 30px); font-weight: 650; line-height: 1.2; letter-spacing: -.025em; }
.eeg-site-footer .eeg-footer-project-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; color: #91cfff; font-weight: 600; }
.eeg-site-footer .eeg-footer-project-link span { font-size: 24px; line-height: 1; }
.eeg-site-footer .eeg-footer-service-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.eeg-site-footer nav { display: block; margin: 0; padding: 0; }
.eeg-site-footer h3 { margin: 0 0 12px; color: #fff; font-size: 15px; font-weight: 650; line-height: 1.5; letter-spacing: 0; }
.eeg-site-footer ul { list-style: none; display: block; margin: 0; padding: 0; }
.eeg-site-footer li { margin: 0; padding: 0; }
.eeg-site-footer .eeg-footer-service-groups a { display: flex; align-items: center; min-height: 44px; padding: 9px 0; font-size: 15px; font-weight: 400; line-height: 1.5; overflow-wrap: break-word; }
.eeg-site-footer .eeg-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 32px;
  padding-block: 20px 24px;
  border-top: 1px solid #38506a;
}
.eeg-site-footer .eeg-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.eeg-site-footer .eeg-footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; font-size: 14px; font-weight: 500; }
.eeg-site-footer .eeg-footer-bottom p { color: #afc3d6; font-size: 13px; line-height: 1.6; }
@media (max-width: 1000px) {
  .eeg-site-footer .eeg-footer-main { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-block: 48px 40px; }
  .eeg-site-footer .eeg-footer-company { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; align-items: start; }
  .eeg-site-footer .eeg-footer-brand, .eeg-site-footer .eeg-footer-intro, .eeg-site-footer .eeg-footer-region { grid-column: 1; }
  .eeg-site-footer .eeg-footer-contact { grid-column: 2; grid-row: 1 / 4; margin-top: 0; padding-top: 0; border: 0; }
}
@media (max-width: 620px) {
  .eeg-site-footer .eeg-footer-inner { width: calc(100% - 40px); }
  .eeg-site-footer .eeg-footer-main { padding-top: 40px; gap: 36px; }
  .eeg-site-footer .eeg-footer-company { display: block; }
  .eeg-site-footer .eeg-footer-contact { margin-top: 24px; padding-top: 22px; border-top: 1px solid #38506a; }
  .eeg-site-footer .eeg-footer-service-heading { margin-bottom: 24px; padding-bottom: 20px; }
  .eeg-site-footer .eeg-footer-service-groups { gap: 24px; }
  .eeg-site-footer .eeg-footer-bottom { align-items: flex-start; padding-block: 16px 24px; gap: 12px; }
  .eeg-site-footer .eeg-footer-bottom ul { gap: 0 24px; }
}
@media (max-width: 479px) {
  .eeg-site-footer .eeg-footer-service-groups { grid-template-columns: minmax(0, 1fr); }
  .eeg-site-footer .eeg-footer-service-groups nav + nav { border-top: 1px solid #38506a; padding-top: 24px; }
}
@media (max-width: 359px) {
  .eeg-site-footer .eeg-footer-contact { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .eeg-site-footer .eeg-footer-brand img { width: 270px; }
}

/* Scoped exclusively to the custom service inquiry form. */
.eeg-inquiry { --eeg-navy:#102f53; --eeg-blue:#1389d4; --eeg-ink:#183049; --eeg-muted:#586b7c; box-sizing:border-box; container:inquiry / inline-size; width:100%; min-width:0; max-width:720px; scroll-margin-top:100px; margin-inline:auto; padding:clamp(18px,5%,32px); border:1px solid #dce6ed; border-radius:20px; background:#fff; color:var(--eeg-ink); text-align:left; box-shadow:0 12px 40px #102f530a; font:400 16px/1.5 "Poppins",Arial,sans-serif; }
.eeg-inquiry *, .eeg-inquiry *::before, .eeg-inquiry *::after { box-sizing:border-box; }
.eeg-inquiry [hidden] { display:none !important; }
.eeg-inquiry p { margin:0; font:inherit; }
.eeg-inquiry .eeg-inquiry-eyebrow { display:block; color:#17699e; font-size:11px; line-height:1.5; letter-spacing:1.3px; font-weight:700; }
.eeg-inquiry-intro > p { margin-top:8px; font-size:16px; font-weight:500; }
.eeg-inquiry-form { margin-top:24px; }
.eeg-inquiry :is(.eeg-inquiry-form,.eeg-inquiry-panel,.eeg-inquiry-review,.eeg-inquiry-success) { min-width:0; }
.eeg-inquiry .eeg-inquiry-honeypot { display:none; }
.eeg-inquiry .eeg-inquiry-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; list-style:none; margin:0 0 28px; padding:0; }
.eeg-inquiry-progress li { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:0 0 12px; border-bottom:3px solid #e6edf2; font-size:12px; line-height:1.4; font-weight:500; text-align:center; color:#5d7181; }
.eeg-inquiry-progress li > span { display:grid; place-items:center; border-radius:50%; width:28px; height:28px; flex-shrink:0; background:#edf2f6; font-size:12px; }
.eeg-inquiry-progress li[aria-current="step"], .eeg-inquiry-progress li.eeg-complete { border-color:var(--eeg-blue); color:var(--eeg-navy); }
.eeg-inquiry-progress li[aria-current="step"] > span { background:var(--eeg-navy); color:#fff; }
.eeg-inquiry-progress li.eeg-complete > span { background:#e3f3fc; color:#126394; }
.eeg-inquiry h3 { font:700 28px/1.25 "Poppins",Arial,sans-serif; font-size:clamp(24px,6cqi,30px); letter-spacing:-.6px; color:var(--eeg-navy); margin:0 0 10px; scroll-margin-top:110px; }
.eeg-inquiry h3:focus { outline:none; }
.eeg-inquiry .eeg-inquiry-hint { color:var(--eeg-muted); font-size:14px; line-height:1.6; margin-bottom:20px; }
.eeg-inquiry fieldset { border:0; margin:0; padding:0; min-width:0; }
.eeg-inquiry .eeg-inquiry-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.eeg-inquiry-choice { display:block; cursor:pointer; position:relative; margin:0; min-width:0; }
.eeg-inquiry-choice > input { position:absolute; top:50%; left:15px; transform:translateY(-50%); z-index:1; margin:0; width:18px; height:18px; accent-color:var(--eeg-navy); cursor:pointer; }
.eeg-inquiry-choice > span { display:flex; height:100%; min-height:72px; align-items:center; padding:14px 14px 14px 44px; border:1px solid #dce5ed; border-radius:10px; background:#fff; transition:background .15s,border-color .15s; }
.eeg-inquiry-choice strong { min-width:0; font-size:14px; font-weight:500; line-height:1.4; color:var(--eeg-ink); overflow-wrap:break-word; }
.eeg-inquiry svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; color:#247fb4; }
.eeg-inquiry-choice:hover > span { border-color:#9bc4df; background:#f6fbff; }
.eeg-inquiry-choice input:checked + span { border-color:var(--eeg-blue); background:#edf7fd; box-shadow:inset 0 0 0 1px var(--eeg-blue); }
.eeg-inquiry-choice input:focus-visible + span { outline:3px solid #1389d4; outline-offset:3px; }
.eeg-inquiry-field { display:block; min-width:0; margin:0 0 20px; font-size:14px; font-weight:600; line-height:1.5; }
.eeg-inquiry .eeg-inquiry-field :is(input,select,textarea) { display:block; width:100%; min-width:0; max-width:100%; min-height:48px; margin-top:7px; padding:12px; border:1px solid #cad7e1; border-radius:8px; background:#fff; color:var(--eeg-ink); box-shadow:none; font:400 16px/1.45 "Poppins",Arial,sans-serif; letter-spacing:normal; }
.eeg-inquiry .eeg-inquiry-field select { padding-right:30px; }
.eeg-inquiry .eeg-inquiry-field textarea { resize:vertical; min-height:125px; }
.eeg-inquiry .eeg-inquiry-field input::placeholder, .eeg-inquiry .eeg-inquiry-field textarea::placeholder { color:#7a8996; opacity:1; font-size:14px; }
.eeg-inquiry :is(input,select,textarea)[aria-invalid="true"] { border-color:#b53333; }
.eeg-inquiry .eeg-inquiry-optional { font-size:11px; font-weight:400; color:var(--eeg-muted); margin-left:4px; }
.eeg-inquiry .eeg-inquiry-context { margin-top:-10px; font-size:12px; }
.eeg-inquiry .eeg-inquiry-preference { margin-bottom:18px; }
.eeg-inquiry-preference legend { margin-bottom:10px; font-size:13px; font-weight:600; }
.eeg-inquiry-preference label { display:inline-flex; gap:8px; align-items:center; min-height:44px; padding-right:24px; cursor:pointer; font-size:14px; }
.eeg-inquiry-preference input { width:17px; height:17px; accent-color:var(--eeg-blue); margin:0; }
.eeg-inquiry .eeg-inquiry-error { background:#fff1f0; color:#962d2d; padding:12px; border-radius:8px; margin:16px 0; font-size:13px; }
.eeg-inquiry-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.eeg-inquiry :is(.eeg-inquiry-next,.eeg-inquiry-call,.eeg-inquiry-send) { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:1 1 150px; min-width:0; min-height:50px; padding:14px 18px; margin:0; border:1px solid var(--eeg-navy); border-radius:9px; background:var(--eeg-navy); color:#fff; font:600 14px/1.4 "Poppins",Arial,sans-serif; text-transform:none; text-decoration:none; letter-spacing:0; white-space:normal; cursor:pointer; }
.eeg-inquiry :is(.eeg-inquiry-next,.eeg-inquiry-call,.eeg-inquiry-send):hover { background:#164575; color:#fff; }
.eeg-inquiry .eeg-inquiry-send { width:100%; margin-top:22px; }
.eeg-inquiry button:disabled { cursor:wait; opacity:.65; }
.eeg-inquiry :is(.eeg-inquiry-back,.eeg-inquiry-edit) { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:10px 15px; border:1px solid #cad7e1; border-radius:9px; background:#fff; color:var(--eeg-navy); font:500 13px/1.4 "Poppins",Arial,sans-serif; text-transform:none; letter-spacing:0; cursor:pointer; }
.eeg-inquiry :is(.eeg-inquiry-back,.eeg-inquiry-edit):hover { background:#f0f6fa; }
.eeg-inquiry .eeg-inquiry-step-label { text-align:center; margin-top:12px; color:#697c8b; font-size:11px; }
.eeg-inquiry-footer { margin-top:24px; padding-top:18px; border-top:1px solid #e6edf2; text-align:center; font-size:12px; color:var(--eeg-muted); }
.eeg-inquiry-footer a,.eeg-inquiry-fallback a { color:var(--eeg-navy); font-weight:600; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.eeg-inquiry-footer > span { display:block; margin-top:5px; font-size:11px; }
.eeg-inquiry-review-icon { width:50px; height:50px; margin-bottom:20px; display:grid; place-items:center; border-radius:13px; background:#eaf5fc; }
.eeg-inquiry-review > p { font-size:13px; line-height:1.6; color:var(--eeg-muted); }
.eeg-inquiry-success > p { margin:0 0 24px; font-size:13px; line-height:1.6; color:var(--eeg-muted); }
.eeg-inquiry-summary { margin:22px 0; padding:18px; background:#f5f8fb; border-radius:12px; }
.eeg-inquiry-summary > div + div { margin-top:14px; }
.eeg-inquiry-summary dt { color:#667b8c; font-size:11px; }
.eeg-inquiry-summary dd { margin:3px 0 0; color:var(--eeg-ink); font-size:14px; overflow-wrap:anywhere; white-space:pre-wrap; }
.eeg-inquiry .eeg-inquiry-review-note { margin-bottom:20px; }
.eeg-inquiry .eeg-inquiry-edit { width:100%; margin-top:10px; }
.eeg-inquiry :is(button,a,input,select,textarea):focus-visible { outline:3px solid #1389d4; outline-offset:3px; }
.eeg-inquiry :is(.eeg-inquiry-error,.eeg-inquiry-fallback,.eeg-inquiry-footer) { overflow-wrap:break-word; }
.eeg-inquiry-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Respond to the space actually available inside the form, including narrow
   desktop columns and browser zoom. The progress labels remain visible. */
@container inquiry (min-width:360px) {
  .eeg-inquiry-progress li { flex-direction:row; justify-content:flex-start; font-size:13px; }
}
@container inquiry (max-width:299px) {
  .eeg-inquiry .eeg-inquiry-services { grid-template-columns:minmax(0,1fr); gap:10px; }
  .eeg-inquiry-choice > span { min-height:60px; }
  .eeg-inquiry-progress li { gap:5px; font-size:11px; }
  .eeg-inquiry h3 { font-size:24px; }
  .eeg-inquiry-actions { gap:10px; }
  .eeg-inquiry .eeg-inquiry-back { flex:1 1 100%; }
}
@media(max-width:420px) { .eeg-inquiry { border-radius:16px; } }
@media(prefers-reduced-motion:reduce) { .eeg-inquiry * { transition:none !important; } }
