/* 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; }

/* Keep the whole residential photo visible without making the desktop hero a full page. */
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  height: min(620px, 75.11vw) !important;
  min-height: 0 !important;
  margin-top: -100px !important;
  padding: clamp(148px, 11vw, 185px) 24px 50px !important;
  background-color: #0e2e53 !important;
  background-image: none !important;
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero > .elementor-container {
  position: relative;
  z-index: 2;
  min-height: 0 !important;
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero .elementor-widget-text-editor p {
  max-width: 760px;
  color: #f5f8fc !important;
  text-shadow: 0 2px 12px rgba(2, 17, 33, .34);
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero::before,
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero::after {
  content: "";
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none;
  z-index: 0 !important;
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero::before {
  background: url("/wp-content/uploads/2020/03/Sunsetview-07.jpg") center / cover no-repeat;
  filter: blur(22px) brightness(.58) saturate(.85);
  transform: scale(1.04);
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero::after {
  background: url("/wp-content/uploads/2020/03/Sunsetview-07.jpg") center / auto 100% no-repeat;
  -webkit-mask-image: linear-gradient(to right, transparent calc(50% - min(420px, 50vw)), #000 calc(50% - min(350px, 42vw)), #000 calc(50% + min(350px, 42vw)), transparent calc(50% + min(420px, 50vw)));
  mask-image: linear-gradient(to right, transparent calc(50% - min(420px, 50vw)), #000 calc(50% - min(350px, 42vw)), #000 calc(50% + min(350px, 42vw)), transparent calc(50% + min(420px, 50vw)));
}
.page-id-2880.eeg-polished .elementor-2880 .eeg-hero > .elementor-background-overlay {
  z-index: 1 !important;
  background: linear-gradient(180deg, rgba(5, 19, 35, .68), rgba(5, 19, 35, .49) 55%, rgba(5, 19, 35, .29)) !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 {
    height: auto !important;
    min-height: 75.11vw !important;
    margin-top: -100px !important;
    padding: 105px 20px 0 !important;
    background-image: url("/wp-content/uploads/2020/03/Sunsetview-07.jpg") !important;
    background-position: center top !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero::before,
  .page-id-2880.eeg-polished .elementor-2880 .eeg-hero::after {
    display: none !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; } }

/* Service photography in the owner's rounded Prairie-inspired layout. */
.eeg-services { --eeg-navy:#0e2e53; --eeg-action:#176bb4; position:relative; isolation:isolate; padding:64px 28px 48px; background:var(--eeg-navy); font-family:"Figtree",Arial,sans-serif; }
/* An authentic Harbor Sky aerial under navy; the service cards retain their own photos. */
.eeg-services::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgba(14,46,83,.88) 0%,rgba(14,46,83,.74) 30%,rgba(14,46,83,.70) 65%,rgba(14,46,83,.94) 100%),url("/assets/performance/images/0636e07dada3d25d2c94.webp") center center/cover no-repeat; }
.eeg-services * { box-sizing:border-box; }
.eeg-services-inner { max-width:1200px; margin:0 auto; }
.eeg-services-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 28px; }
.eeg-services-grid:focus-visible { outline:2px solid #90ceff; outline-offset:4px; }
.eeg-service-card { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; min-width:0; min-height:430px; padding:150px 36px 52px; border-radius:26px; background:#173c5e; color:#fff; text-align:left; }
.eeg-service-card .eeg-service-image { position:absolute; inset:0; z-index:-2; display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.eeg-service-card::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:linear-gradient(180deg,rgba(4,18,30,.04) 12%,rgba(4,18,30,.35) 36%,rgba(4,18,30,.91) 72%,rgba(4,18,30,.97) 100%); }
.eeg-service-card h3 { margin:0 0 14px; color:#fff; font:750 clamp(28px,3vw,36px)/1.12 "Figtree",Arial,sans-serif; letter-spacing:-.025em; }
.eeg-service-card p { max-width:450px; margin:0; color:#f0f4f7; font:400 18px/1.5 "Figtree",Arial,sans-serif; }
.eeg-service-card .eeg-service-link { position:absolute; bottom:-23px; left:36px; display:inline-flex; justify-content:center; align-items:center; gap:22px; min-height:48px; padding:12px 26px; border:2px solid transparent; border-radius:100px; background:var(--eeg-action); color:#fff; font:700 15px/1.25 "Figtree",Arial,sans-serif; letter-spacing:.03em; text-decoration:none; text-transform:uppercase; transition:background .18s ease; }
.eeg-service-link span { font-size:24px; line-height:1; font-weight:400; }
.eeg-service-card .eeg-service-link:hover { background:#fff; color:#112f50; }
.eeg-service-card .eeg-service-link:focus-visible { outline:3px solid #fff; outline-offset:5px; border-color:#0e2e53; }
.eeg-service-specialties { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 26px; padding-top:54px; color:#d5e3f1; font-size:16px; }
.eeg-service-specialties > span { margin-right:4px; }
.eeg-service-specialties a { display:inline-flex; align-items:center; gap:7px; min-height:44px; color:#fff; font-weight:650; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#7ba4c8; }
.eeg-service-specialties a:hover { color:#fff; text-decoration-color:#fff; }
.eeg-service-specialties a:focus-visible { outline:3px solid #90ceff; outline-offset:4px; }
@media (max-width:1024px) and (min-width:768px) { .eeg-service-card { padding:150px 26px 48px; min-height:430px; } .eeg-service-card p { font-size:17px; } .eeg-service-card .eeg-service-link { left:26px; } }
@media (max-width:767px) {
  .eeg-services { padding:44px 20px 36px; }
  .eeg-services-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:min(84vw,380px); gap:16px; margin-inline:-20px; padding:4px 20px 34px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:20px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#8daac4 #ffffff18; }
  .eeg-service-card { min-height:380px; padding:130px 24px 46px; border-radius:22px; scroll-snap-align:start; }
  .eeg-service-card h3 { font-size:clamp(26px,7.2vw,30px); margin-bottom:12px; }
  .eeg-service-card p { font-size:16px; line-height:1.5; }
  .eeg-service-card .eeg-service-link { left:24px; font-size:14px; padding:12px 24px; }
  .eeg-service-specialties { gap:4px 20px; padding-top:24px; font-size:15px; }
  .eeg-service-specialties > span { width:100%; text-align:center; margin:0 0 5px; }
}
@media (prefers-reduced-motion:reduce) { .eeg-service-card .eeg-service-link { transition:none; } }

/* Cinematic opening: the company’s real projects, with a readable original-style hero. */
body.elementor-page-2553 .elementor-location-header { position:relative; width:100%; z-index:30; background:transparent; }
body.elementor-page-2553 .elementor-location-header .elementor-element-15ea167 { background:transparent !important; border-color:#ffffff40; padding:22px 0; }
body.elementor-page-2553 .elementor-location-header > .elementor-section > .elementor-container { max-width:1280px; }
body.elementor-page-2553 .elementor-location-header .elementor-nav-menu--main .elementor-item { font-size:16px; }
body.elementor-page-2553 .elementor-location-header .elementor-menu-toggle { color:#fff; background:transparent; }
.elementor-2553 .eeg-home-hero, .elementor-2553 .eeg-home-hero * { box-sizing:border-box; }
.eeg-polished .elementor-2553 .eeg-home-hero { position:relative; isolation:isolate; overflow:visible; min-height:0; margin:0; padding:0 !important; background:#112f50; color:#fff; font-family:"Figtree",Arial,sans-serif; }
/* Extend the backdrop behind the transparent header while the header takes up layout space. */
.eeg-home-hero-photo,.eeg-home-hero::before { position:absolute; inset:-112px 0 0; }
.eeg-home-hero-photo { display:block; z-index:-2; }
.eeg-home-hero-photo img,.eeg-hero-film { display:block; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.eeg-hero-film { position:absolute; inset:0; opacity:0; transition:opacity .5s ease; }
.eeg-hero-film.is-playing { opacity:1; }
.eeg-home-hero::before { content:""; z-index:-1; pointer-events:none; background:linear-gradient(180deg,rgba(5,18,31,.74) 0%,rgba(5,18,31,.2) 26%,rgba(5,18,31,.42) 57%,rgba(5,18,31,.77) 100%); }
.eeg-home-hero-inner { width:calc(100% - 64px); max-width:1280px; margin:0 auto; min-height:clamp(550px,72svh,680px); display:flex; align-items:center; justify-content:center; padding:144px 0 96px; }
.eeg-home-hero-copy { width:100%; max-width:1040px; text-align:center; }
.eeg-home-hero-copy .eeg-home-eyebrow { margin:0 0 24px; color:#e5f3ff; font-size:13px; font-weight:650; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; }
.elementor-2553 .eeg-home-hero h1 { margin:0 0 28px; color:#fff; font:800 clamp(46px,5.5vw,82px)/1.04 "Figtree",Arial,sans-serif; letter-spacing:-.035em; text-transform:uppercase; text-wrap:balance; text-shadow:0 2px 20px #0003; }
.eeg-home-hero h1 span { color:#fff; }
.eeg-home-hero-copy .eeg-home-intro { max-width:700px; margin:0 auto 32px; color:#edf3f8; font-size:21px; line-height:1.55; }
.eeg-home-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; }
.eeg-home-actions .eeg-home-action { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:56px; padding:15px 28px; border:1px solid transparent; border-radius:100px; font-size:16px; font-weight:650; line-height:1.35; text-decoration:none; transition:background .18s ease,border-color .18s ease; }
.eeg-home-actions .eeg-home-action-primary { background:#1678bd; color:#fff; border-color:#3296d5; }
.eeg-home-actions .eeg-home-action-primary:hover { background:#105b95; }
.eeg-home-actions .eeg-home-action-secondary { background:#11233738; color:#fff; border-color:#ffffffa0; }
.eeg-home-actions .eeg-home-action-secondary:hover { background:#fff; color:#112f50; border-color:#fff; }
.eeg-home-action span { font-size:22px; font-weight:400; }
.eeg-home-action:focus-visible,.eeg-film-toggle:focus-visible { outline:3px solid #90ceff; outline-offset:5px; }
.eeg-home-film-caption { position:absolute; bottom:30px; left:max(32px,calc((100% - 1280px)/2)); right:max(32px,calc((100% - 1280px)/2)); display:flex; align-items:flex-end; justify-content:space-between; gap:20px; font-size:14px; line-height:1.5; color:#fff; }
.eeg-caption-label { display:block; color:#c8d7e4; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.15em; margin-bottom:3px; }
.eeg-film-toggle { display:inline-flex; gap:9px; align-items:center; min-height:44px; padding:9px 14px; border:1px solid #ffffff66; border-radius:100px; background:#10233566; color:#fff; font:500 12px/1.3 "Figtree",Arial,sans-serif; cursor:pointer; }
.eeg-film-toggle[hidden] { display:none; }
.eeg-film-toggle:hover { background:#102335; }
.eeg-film-toggle-icon { width:12px; text-align:center; }
.eeg-home-proof { background:#fff; color:#112f50; border-bottom:1px solid #e4eaf0; }
.eeg-home-proof, .eeg-home-proof * { box-sizing:border-box; }
.eeg-home-proof-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; max-width:1200px; width:calc(100% - 64px); margin:0 auto; padding:44px 0; }
.eeg-home-proof-inner > div { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:12px; min-width:0; padding:8px 24px; text-align:center; }
.eeg-home-proof-inner > div + div { border-inline-start:1px solid #dce5ec; }
.eeg-home-proof dt { order:2; max-width:14ch; margin:0; color:#52667a; font:500 16px/1.4 "Figtree",Arial,sans-serif; }
.eeg-home-proof dd { order:1; margin:0; color:#112f50; font:600 clamp(48px,5.4vw,72px)/1 "Figtree",Arial,sans-serif; letter-spacing:-.04em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.eeg-home-proof dd > span:not(.eeg-count-value) { color:inherit; }
.elementor-2553 .eeg-services { margin-top:0; padding-top:64px; padding-bottom:42px; background:#0e2e53; }
.eeg-services-heading { margin:0 0 36px; color:#fff; text-align:center; }
.eeg-services-heading p { color:#b8cce0; margin:0 0 10px; font-size:12px; letter-spacing:.13em; font-weight:650; text-transform:uppercase; }
.eeg-services-heading h2 { color:#fff; margin:0; font:700 clamp(28px,3vw,40px)/1.15 "Figtree",Arial,sans-serif; letter-spacing:-.025em; }
@media (max-width:1024px) {
  .eeg-home-hero-inner { min-height:540px; padding-top:138px; }
  .elementor-2553 .eeg-home-hero h1 { font-size:clamp(46px,6.4vw,70px); }
}
@media (max-width:767px) {
  body.elementor-page-2553 .elementor-location-header .elementor-element-15ea167 { padding:14px 0; }
  .eeg-home-hero-inner { width:calc(100% - 40px); min-height:0; padding:118px 0 88px; }
  .eeg-home-hero-copy .eeg-home-eyebrow { max-width:280px; margin:0 auto 12px; font-size:10px; letter-spacing:.12em; }
  .elementor-2553 .eeg-home-hero h1 { font-size:clamp(34px,9.3vw,56px); margin-bottom:12px; line-height:1.05; }
  .eeg-home-hero-copy .eeg-home-intro { font-size:15px; line-height:1.5; margin-bottom:16px; max-width:440px; }
  .eeg-home-actions { gap:12px; }
  .eeg-home-actions .eeg-home-action { flex:0 1 auto; padding:9px 13px; min-height:44px; gap:8px; font-size:13px; }
  .eeg-home-hero-photo img,.eeg-hero-film { object-position:55% center; }
  .eeg-home-hero::before { background:linear-gradient(180deg,#071b30ba 0%,#071b3050 27%,#071b307d 50%,#071b30cb 100%); }
  .eeg-home-film-caption { left:20px; right:20px; bottom:24px; font-size:12px; gap:10px; }
  .eeg-caption-label { font-size:9px; }
  .eeg-film-toggle { font-size:11px; padding:9px 11px; }
  .eeg-home-proof-inner { width:calc(100% - 32px); padding:30px 0; }
  .eeg-home-proof-inner > div { padding:4px 8px; gap:10px; }
  .eeg-home-proof dd { font-size:clamp(32px,9vw,48px); letter-spacing:-.045em; }
  .eeg-home-proof dt { max-width:11ch; font-size:clamp(12px,3.1vw,14px); line-height:1.4; }
  .elementor-2553 .eeg-services { padding-top:44px; }
  .eeg-services-heading { margin-bottom:28px; }
}
@media (max-width:360px) {
  .eeg-home-actions .eeg-home-action { gap:6px; padding-inline:11px; }
  .eeg-film-toggle-text { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
}
@media (prefers-reduced-motion:reduce) { .eeg-home-actions .eeg-home-action,.eeg-hero-film { transition:none; } }

/* Keep the inquiry immediately after the hero, on a quiet background. */
.eeg-home-inquiry {
  padding: clamp(26px, 4.5vw, 60px) 0;
  scroll-margin-top: 16px;
  background: #f3f6f9;
  color: #112f50;
}
.eeg-home-inquiry-inner {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: start;
  gap: clamp(24px, 5vw, 64px);
  width: calc(100% - 64px);
  max-width: 1200px;
  margin: 0 auto;
}
.eeg-home-inquiry-copy {
  padding-top: 8px;
}
.elementor-2553 .eeg-home-inquiry-copy h2 {
  margin: 0 0 12px;
  color: #112f50;
  font: 750 clamp(30px, 4vw, 54px)/1.05 "Figtree", Arial, sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.eeg-home-inquiry-copy p {
  max-width: 36ch;
  margin: 0;
  color: #52667a;
  font: 400 clamp(16px, 1.6vw, 20px)/1.5 "Figtree", Arial, sans-serif;
}
.eeg-home-inquiry-copy a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 4px;
  color: #17699e;
  font: 700 17px/1.3 "Figtree", Arial, sans-serif;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.eeg-home-inquiry .eeg-inquiry {
  max-width: none;
  padding: clamp(14px, 2.5vw, 26px);
}
.eeg-home-inquiry .eeg-inquiry-intro,
.eeg-home-inquiry .eeg-inquiry-footer {
  display: none;
}
.eeg-home-inquiry .eeg-inquiry-form {
  margin-top: 0;
}
.eeg-home-inquiry .eeg-inquiry-progress {
  margin-bottom: 18px;
}
.eeg-home-inquiry .eeg-inquiry-progress li {
  flex-direction: row;
  gap: 6px;
  padding-bottom: 8px;
  font-size: 12px;
}
.eeg-home-inquiry .eeg-inquiry-progress li > span {
  width: 22px;
  height: 22px;
}
.eeg-home-inquiry .eeg-inquiry-hint {
  margin-bottom: 12px;
}
.eeg-home-inquiry .eeg-inquiry .eeg-inquiry-services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 16px;
}
.eeg-home-inquiry .eeg-inquiry-choice > input {
  left: 10px;
  width: 16px;
  height: 16px;
}
.eeg-home-inquiry .eeg-inquiry-choice > span {
  min-height: 48px;
  padding: 8px 8px 8px 34px;
}
.eeg-home-inquiry .eeg-inquiry-choice strong {
  font-size: 13px;
}
.eeg-home-inquiry .eeg-inquiry-actions {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .eeg-home-inquiry-inner {
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - 32px);
    max-width: 560px;
    gap: 12px;
  }
  .eeg-home-inquiry-copy {
    padding-top: 0;
  }
}

/* Restored homepage mosaic: original project photographs and published figures. */
.eeg-feature,.eeg-feature * { box-sizing:border-box; }
.eeg-feature { padding:84px 0; background:#fff; color:#112f50; font-family:"Figtree",Arial,sans-serif; }
.eeg-feature-inner { width:calc(100% - 64px); max-width:1200px; margin:0 auto; }
.eeg-feature-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:36px; }
.eeg-feature .eeg-feature-eyebrow { margin:0 0 14px; color:#176bb4; font:700 12px/1.5 "Figtree",Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.eeg-feature h2 { margin:0; color:#112f50; font:750 clamp(30px,3.5vw,48px)/1.1 "Figtree",Arial,sans-serif; letter-spacing:-.035em; }
.eeg-feature-all { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:50px; padding:12px 24px; border-radius:999px; color:#fff; background:#112f50; font-size:15px; font-weight:650; text-decoration:none; white-space:nowrap; }
.eeg-feature-all > span { font-size:24px; line-height:1; }
.eeg-feature-all:hover { color:#fff; background:#176bb4; }
.eeg-feature-grid { display:grid; grid-template-columns:1.2fr 1fr 1.1fr; grid-template-rows:350px minmax(340px,auto); gap:24px; }
.eeg-feature-tile { position:relative; min-width:0; overflow:hidden; display:block; border-radius:24px; text-decoration:none; isolation:isolate; }
.eeg-feature-tile h3,.eeg-feature-tile p { margin:0; }
.eeg-feature .eeg-feature-photo { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .4s ease; }
.eeg-feature-commercial { grid-column:1/3; grid-row:1; display:flex; align-items:flex-end; color:#fff; background:#213e4c; }
.eeg-feature-commercial::before,.eeg-feature-tenant::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(9,25,40,0) 28%,rgba(9,25,40,.12) 46%,rgba(9,25,40,.87) 100%); }
.eeg-feature-commercial-caption { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:30px; width:100%; }
.eeg-feature-commercial h3 { color:#fff; font:800 clamp(36px,4.4vw,60px)/1 "Figtree",Arial,sans-serif; letter-spacing:-.04em; }
.eeg-feature-commercial p { margin-top:10px; color:#fff; font-size:24px; line-height:1.2; }
.eeg-feature-arrow { display:flex; align-items:center; justify-content:center; flex:0 0 54px; width:54px; height:54px; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:#fff; font-size:33px; line-height:1; }
.eeg-feature-tenant { grid-column:1; grid-row:2; color:#fff; min-height:340px; padding:28px; background:#213e4c; }
.eeg-feature-tenant .eeg-feature-photo { object-position:52% 78%; }
.eeg-feature-tenant::before { background:linear-gradient(180deg,rgba(9,25,40,.94) 0%,rgba(9,25,40,.74) 40%,rgba(9,25,40,.08) 80%,rgba(9,25,40,.22) 100%); }
.eeg-feature-tenant h3 { color:#fff; font:700 25px/1.13 "Figtree",Arial,sans-serif; letter-spacing:-.02em; }
.eeg-feature-tenant-number { font-size:33px; white-space:nowrap; }
.eeg-feature-tenant p { margin-top:16px; max-width:250px; color:#fff; font-size:16px; line-height:1.45; }
.eeg-feature-small-arrow { position:absolute; right:24px; bottom:20px; font:400 26px/1 "Figtree",Arial,sans-serif; }
.eeg-feature-industrial { grid-column:2; grid-row:2; padding:28px 28px 56px; color:#112f50; background:#e9f1ff url("/assets/performance/images/56f9b0191b698f45495e.webp") center/cover no-repeat; }
.eeg-feature .eeg-feature-number { margin-bottom:12px; color:#0e2e53; font:600 76px/.95 "Figtree",Arial,sans-serif; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.eeg-feature-industrial h3 { color:#112f50; font:700 25px/1.05 "Figtree",Arial,sans-serif; letter-spacing:-.02em; }
.eeg-feature .eeg-feature-detail { margin-top:22px; color:#334b64; font-size:16px; line-height:1.45; }
.eeg-feature-ev { grid-column:3; grid-row:1/3; display:flex; flex-direction:column; background:#f1f5f9; color:#112f50; border:1px solid #e1e8ef; }
.eeg-feature-ev-image { position:relative; min-height:260px; flex:1; overflow:hidden; background:#6a7c85; }
.eeg-feature-ev-image img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:46% 52%; transition:transform .4s ease; }
.eeg-feature-ev-copy { padding:30px; }
.eeg-feature-ev h3 { margin:0 0 18px; color:#112f50; font:750 clamp(28px,2.8vw,35px)/1.08 "Figtree",Arial,sans-serif; letter-spacing:-.03em; }
.eeg-feature-ev-copy > p:not(.eeg-feature-eyebrow) { color:#465d73; font-size:17px; line-height:1.5; }
.eeg-feature-text-link { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px; margin-top:20px; padding-top:15px; border-top:1px solid #d2dfe9; color:#165d97; font-size:15px; font-weight:700; }
.eeg-feature-text-link > span { font-size:24px; }
.eeg-feature-tile:hover { color:inherit; }
.eeg-feature-commercial:hover,.eeg-feature-tenant:hover { color:#fff; }
.eeg-feature-tile:hover .eeg-feature-photo,.eeg-feature-ev:hover img { transform:scale(1.025); }
.eeg-feature a:focus-visible { outline:3px solid #176bb4; outline-offset:5px; }
.eeg-feature-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.eeg-feature-browse { display:none; }
.eeg-feature-grid:focus-visible { outline:3px solid #176bb4; outline-offset:4px; }
@media(max-width:1050px) {
 .eeg-feature-grid { grid-template-columns:1.1fr 1fr 1.08fr; gap:18px; grid-template-rows:320px minmax(360px,auto); }
 .eeg-feature-tenant,.eeg-feature-industrial { padding:24px 22px 50px; }
 .eeg-feature-tenant h3,.eeg-feature-industrial h3 { font-size:23px; }
 .eeg-feature-ev-copy { padding:26px 22px; }
 .eeg-feature .eeg-feature-number { font-size:68px; }
}
@media(max-width:850px) {
 .eeg-feature-grid { grid-template-columns:1fr 1fr; grid-template-rows:350px minmax(320px,auto) auto; gap:20px; }
 .eeg-feature-commercial { grid-column:1/3; }
 .eeg-feature-tenant { grid-column:1; }
 .eeg-feature-industrial { grid-column:2; }
 .eeg-feature-ev { grid-column:1/3; grid-row:3; display:grid; grid-template-columns:1fr 1fr; }
 .eeg-feature-ev-image { min-height:300px; }
 .eeg-feature-heading { align-items:flex-start; }
 .eeg-feature-all { padding:12px 20px; gap:16px; }
}
@media(max-width:767px) {
 .eeg-feature { padding:40px 0; }
 .eeg-feature-inner { width:calc(100% - 40px); }
 .eeg-feature-heading { display:block; margin-bottom:20px; }
 .eeg-feature h2 { font-size:clamp(28px,6.8vw,36px); }
 .eeg-feature-heading h2 br { display:none; }
 .eeg-feature-all { margin-top:16px; min-height:44px; padding:10px 18px; font-size:14px; }
 .eeg-feature .eeg-feature-browse { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; margin:0 0 10px; color:#465d73; font-size:12px; line-height:1.5; }
 .eeg-feature-browse > span { color:#176bb4; font-weight:650; }
 /* Keep the next card visible and let touch, trackpad and keyboard browse natively. */
 .eeg-feature-grid { display:grid; grid-template-columns:none; grid-template-rows:none; grid-auto-flow:column; grid-auto-columns:min(84vw,360px); align-items:stretch; gap:16px; margin-inline:-20px; padding:6px 20px 16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:20px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#8daac4 #e9f1f8; }
 .eeg-feature-tile { grid-column:auto; grid-row:auto; min-height:380px; border-radius:22px; scroll-snap-align:start; }
 .eeg-feature-commercial-caption { display:block; padding:22px; }
 .eeg-feature-commercial h3 { font-size:clamp(30px,8vw,38px); }
 .eeg-feature-commercial p { margin-top:10px; font-size:18px; }
 .eeg-feature-arrow { width:44px; height:44px; flex-basis:44px; font-size:28px; }
 .eeg-feature-commercial .eeg-feature-arrow { position:absolute; top:20px; right:20px; }
 .eeg-feature-tenant { padding:24px 22px 52px; }
 .eeg-feature-tenant h3 { font-size:24px; line-height:1.15; }
 .eeg-feature-tenant-number { display:block; margin-bottom:8px; font-size:42px; line-height:1; }
 .eeg-feature-tenant p { margin-top:14px; font-size:16px; }
 .eeg-feature-industrial { padding:24px 22px 52px; }
 .eeg-feature .eeg-feature-number { font-size:68px; }
 .eeg-feature-industrial h3 { font-size:26px; line-height:1.1; }
 .eeg-feature .eeg-feature-detail { margin-top:18px; font-size:16px; }
 .eeg-feature-ev { display:flex; flex-direction:column; }
 .eeg-feature-ev-image { flex:1 0 124px; min-height:124px; }
 .eeg-feature-ev-copy { flex:none; padding:18px 20px; }
 .eeg-feature-ev-copy .eeg-feature-eyebrow { margin-bottom:6px; font-size:10px; }
 .eeg-feature-ev h3 { margin-bottom:10px; font-size:26px; }
 .eeg-feature-ev-copy > p:not(.eeg-feature-eyebrow) { font-size:15px; line-height:1.4; }
 .eeg-feature-text-link { min-height:44px; margin-top:12px; padding-top:10px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .eeg-feature .eeg-feature-photo,.eeg-feature-ev-image img { transition:none; }
 .eeg-feature-tile:hover .eeg-feature-photo,.eeg-feature-ev:hover img { transform:none; }
}

/* Authentic company story and readable reviews; no plugin is needed to reveal content. */
.eeg-trust-section, .eeg-trust-section *, .eeg-about-page, .eeg-about-page * { box-sizing: border-box; }
.eeg-trust-section { padding: 88px 0; color: #142f4b; font-family: "Figtree", Arial, sans-serif; }
.eeg-trust-width { width: calc(100% - 64px); max-width: 1200px; margin-inline: auto; }
.eeg-trust-section h2 { margin: 0 0 24px; font: 750 clamp(32px, 3.5vw, 48px)/1.08 "Figtree", Arial, sans-serif; letter-spacing: -.035em; color: #0e2e53; text-wrap: balance; }
.eeg-trust-section p { margin: 0 0 18px; font-size: 18px; line-height: 1.65; }
.eeg-trust-section .eeg-trust-eyebrow { margin: 0 0 18px; color: #176bb4; font-size: 12px; line-height: 1.5; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.eeg-trust-section a { text-decoration: none; }
.eeg-trust-section a:focus-visible, .eeg-trust-section summary:focus-visible { outline: 3px solid #2693ed; outline-offset: 5px; }
.eeg-trust-about { background: #fff; }
.eeg-trust-about-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(36px, 5.5vw, 76px); }
.eeg-trust-about-grid > * { min-width: 0; }
.eeg-trust-work-photo, .eeg-trust-work-photo figure { margin: 0; }
.eeg-trust-work-photo img { display: block; width: 100%; aspect-ratio: 1.12; height: auto; object-fit: cover; object-position: 48% center; border-radius: 20px; }
.eeg-trust-work-photo figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; padding-top: 14px; color: #173854; font-size: 13px; font-weight: 700; line-height: 1.45; }
.eeg-trust-work-photo figcaption span { font-weight: 400; color: #607284; }
.eeg-trust-about-copy > p:not(.eeg-trust-eyebrow) { color: #4a5b6d; }
.eeg-trust-company-facts { display: flex; flex-direction: column; gap: 8px; margin: 24px 0 30px; padding-left: 18px; border-left: 3px solid #278fe1; color: #173854; font-size: 14px; line-height: 1.45; font-weight: 600; }
.eeg-trust-section .eeg-trust-button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 52px; padding: 14px 24px; border-radius: 999px; color: #fff; background: #176bb4; border: 1px solid #176bb4; font-size: 15px; line-height: 1.4; font-weight: 700; text-align: center; transition: background .18s ease; }
.eeg-trust-section .eeg-trust-button:hover { background: #0e2e53; border-color: #0e2e53; color: #fff; }
.eeg-trust-button > span { font-size: 22px; font-weight: 400; }
.eeg-trust-section .eeg-trust-text-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: #165d97; font-weight: 700; font-size: 15px; line-height: 1.5; }
.eeg-trust-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
/* Client reviews: native swipe/scroll, progressive navigation, full original text. */
.eeg-trust-reviews { background: #f3f6f8; padding-block: 72px; border-block: 1px solid #e4eaf0; }
.eeg-home-reviews-heading { margin-bottom: 28px; }
.eeg-home-reviews-heading .eeg-trust-eyebrow { margin-bottom: 12px; }
.eeg-trust-reviews #eeg-trust-reviews-title { margin: 0; color: #0e2e53; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.12; font-weight: 750; letter-spacing: -.035em; text-align: left; scroll-margin-top: 120px; }
.eeg-home-review-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; align-items: start; min-width: 0; padding: 4px 2px 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scroll-padding-inline: 2px; scrollbar-width: thin; scrollbar-color: #9fb4c5 transparent; }
.eeg-home-review-track:focus-visible { outline: 2px solid #176bb4; outline-offset: 5px; border-radius: 14px; }
.eeg-trust-reviews[data-reviews-ready="true"] .eeg-home-review-track { scrollbar-width: none; }
.eeg-trust-reviews[data-reviews-ready="true"] .eeg-home-review-track::-webkit-scrollbar { display: none; }
.eeg-home-review { display: flex; flex-direction: column; min-width: 0; min-height: 322px; margin: 0; padding: 26px; border: 1px solid #dce5ec; border-radius: 16px; background: #fff; color: #263b4c; scroll-snap-align: start; box-shadow: 0 3px 12px #142f4b04; }
.eeg-home-review-author { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.eeg-home-review-avatar { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; background: var(--review-avatar, #62808d); border-radius: 50%; color: #fff; font-size: 17px; font-weight: 600; line-height: 1; }
.eeg-home-review-person { flex: 1; min-width: 0; }
.eeg-trust-reviews .eeg-home-review-person h3 { margin: 0 0 3px; color: #142f4b; font: 700 15px/1.35 "Figtree", Arial, sans-serif; letter-spacing: 0; overflow-wrap: anywhere; }
.eeg-trust-reviews .eeg-home-review-person p { margin: 0; color: #607284; font-size: 12px; line-height: 1.4; }
.eeg-home-review-google, .eeg-home-review-google svg { display: block; width: 20px; height: 20px; flex: 0 0 20px; }
.eeg-home-review-stars { display: block; margin-bottom: 14px; color: #b77a0b; font-size: 17px; line-height: 1; letter-spacing: 2px; white-space: nowrap; }
.eeg-trust-reviews .eeg-home-review-copy { min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; color: #263b4c; font-style: normal; }
.eeg-trust-reviews .eeg-home-review-copy::before, .eeg-trust-reviews .eeg-home-review-copy::after { content: none; }
.eeg-trust-reviews .eeg-home-review-copy p { margin: 0 0 14px; color: inherit; font-size: 17px; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
.eeg-trust-reviews .eeg-home-review-copy p:last-child { margin-bottom: 0; }
.eeg-home-review-detail { margin-top: auto; padding-top: 12px; }
.eeg-home-review-detail > summary { display: flex; align-items: center; gap: 12px; width: fit-content; min-height: 44px; padding: 7px 0; color: #175d96; font-size: 13px; font-weight: 650; line-height: 1.5; list-style: none; cursor: pointer; }
.eeg-home-review-detail > summary::-webkit-details-marker { display: none; }
.eeg-home-review-detail > summary:hover { color: #0e2e53; text-decoration: underline; text-underline-offset: 4px; }
.eeg-review-detail-symbol::before { content: '+'; font-size: 18px; font-weight: 400; }
.eeg-home-review-detail[open] > summary .eeg-review-detail-symbol::before { content: '−'; }
.eeg-review-collapse-label, .eeg-home-review-detail[open] > summary .eeg-review-expand-label { display: none; }
.eeg-home-review-detail[open] > summary .eeg-review-collapse-label { display: inline; }
.eeg-home-review:has(> .eeg-home-review-detail[open]) > .eeg-home-review-excerpt { display: none; }
.eeg-home-review-detail[open] { margin-top: 0; padding-top: 0; }
.eeg-trust-reviews .eeg-home-review-full { margin-top: 8px; }
.eeg-home-reviews-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.eeg-trust-reviews .eeg-home-review-all { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; padding-block: 8px; color: #0e2e53; font-size: 14px; font-weight: 650; line-height: 1.5; text-underline-offset: 4px; }
.eeg-home-review-all > span { font-size: 22px; font-weight: 400; }
.eeg-home-review-all:hover { color: #176bb4; text-decoration: underline; }
.eeg-home-review-navigation { display: flex; align-items: center; gap: 12px; }
.eeg-home-review-navigation[hidden] { display: none !important; }
.eeg-trust-reviews .eeg-home-review-navigation button { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; min-height: 46px; margin: 0; padding: 0; border: 1px solid #a6b8c8; border-radius: 50%; background: #fff; color: #0e2e53; box-shadow: none; cursor: pointer; }
.eeg-home-review-navigation button svg { display: block; width: 20px; height: 20px; }
.eeg-home-review-prev svg { transform: rotate(180deg); }
.eeg-trust-reviews .eeg-home-review-navigation button:hover:not(:disabled) { background: #0e2e53; border-color: #0e2e53; color: #fff; }
.eeg-trust-reviews .eeg-home-review-navigation button:disabled { color: #8798a8; border-color: #d5dfe8; background: transparent; cursor: default; }
.eeg-trust-reviews .eeg-home-review-navigation button:focus-visible { outline: 3px solid #176bb4; outline-offset: 4px; }
.eeg-home-review-position { min-width: 66px; color: #50677b; font-size: 13px; line-height: 1.4; text-align: center; font-variant-numeric: tabular-nums; }
/* About uses the same measured type, original project imagery and published company facts. */
body.elementor-page-3015 .elementor-location-header { background: #0e2e53; }
.eeg-about-page { font-family: "Figtree", Arial, sans-serif; background: #fff; }
.eeg-about-intro { padding: 78px 0 62px; background: #0e2e53; color: #fff; }
.eeg-about-intro .eeg-trust-eyebrow { color: #8dcbff; }
.eeg-about-intro h1 { color: #fff; font: 750 clamp(40px, 5.8vw, 78px)/1.04 "Figtree", Arial, sans-serif; letter-spacing: -.045em; margin: 0 0 30px; }
.eeg-about-intro-bottom { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.eeg-about-intro-bottom p { max-width: 620px; margin: 0; color: #dce6ef; font-size: 20px; line-height: 1.6; }
.eeg-about-intro-bottom .eeg-trust-button { flex-shrink: 0; background: #fff; border-color: #fff; color: #0e2e53; }
.eeg-about-intro-bottom .eeg-trust-button:hover { background: #dcedfa; border-color: #dcedfa; color: #0e2e53; }
.eeg-about-project-photo { position: relative; margin: 0; background: #0e2e53; }
.eeg-about-project-photo > img { display: block; width: 100%; height: clamp(320px, 42vw, 620px); object-fit: cover; object-position: center 55%; }
.eeg-about-project-photo figcaption { position: absolute; bottom: 0; inset-inline: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 48px max(32px, calc((100% - 1200px) / 2)) 24px; background: linear-gradient(transparent, #081c32e8); color: #fff; font-size: 16px; line-height: 1.5; font-weight: 700; }
.eeg-about-project-photo figcaption a { color: #fff; text-decoration: none; font-size: 14px; font-weight: 500; }
.eeg-about-project-photo figcaption a:hover { text-decoration: underline; }
.eeg-about-project-photo figcaption a:focus-visible { outline: 3px solid #90ceff; outline-offset: 6px; }
.eeg-about-project-photo figcaption a span { margin-left: 12px; }
.eeg-about-story-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 80px; }
.eeg-about-story-copy p { color: #4a5b6d; }
.eeg-about-story-copy p:last-child { margin-bottom: 0; }
.eeg-about-work { padding-top: 0; }
.eeg-about-service-list { margin-top: 30px; border-top: 1px solid #dce5ee; }
.eeg-about-service-list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; border-bottom: 1px solid #dce5ee; color: #0e2e53; font-size: 18px; line-height: 1.4; font-weight: 600; }
.eeg-about-service-list a:hover { color: #176bb4; }
.eeg-about-service-list a > span:last-child { font-size: 24px; font-weight: 400; }
.eeg-about-approach { background: #f1f5f8; }
.eeg-about-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 42px; }
.eeg-about-principles article { border-top: 2px solid #2a8edb; padding-top: 24px; }
.eeg-about-principles h3 { margin: 0 0 14px; color: #0e2e53; font-size: 24px; line-height: 1.2; font-weight: 750; }
.eeg-about-principles p { margin-bottom: 0; color: #4a5b6d; font-size: 17px; }
.eeg-about-partners { padding: 52px 0; background: #0e2e53; }
.eeg-about-partner-row { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 48px; align-items: center; }
.eeg-about-partner-row + .eeg-about-partner-row { border-top: 1px solid #ffffff26; margin-top: 28px; padding-top: 28px; }
.eeg-about-partners h2 { color: #fff; font-size: 19px; line-height: 1.3; letter-spacing: -.01em; font-weight: 650; margin: 0; }
.eeg-about-logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 28px; }
.eeg-about-logos--industry { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 700px; gap: 40px; }
.eeg-about-logos img { display: block; width: 100%; height: 74px; object-fit: contain; }
.eeg-about-closing-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 64px; align-items: center; }
.eeg-about-closing-grid p:not(.eeg-trust-eyebrow) { color: #4a5b6d; max-width: 580px; margin-bottom: 0; }
.eeg-about-closing-actions { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 14px; }
@media (max-width: 1000px) {
  .eeg-trust-section { padding-block: 64px; }
  .eeg-about-story-grid { gap: 40px; }
  .eeg-about-work { padding-top: 0; }
  .eeg-about-intro-bottom { align-items: start; flex-direction: column; gap: 24px; }
  .eeg-about-partner-row { grid-template-columns: 170px minmax(0, 1fr); gap: 28px; }
  .eeg-about-logos { gap: 20px; }
}
@media (max-width: 900px) {
  .eeg-trust-about-grid, .eeg-about-story-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .eeg-trust-work-photo img { aspect-ratio: 1.5; max-height: 520px; }
  .eeg-trust-about-copy { max-width: 660px; }
  .eeg-about-story h2 { margin-bottom: 0; }
  .eeg-about-principles { gap: 24px; }
  .eeg-about-partner-row { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
  .eeg-trust-width { width: calc(100% - 40px); }
  .eeg-trust-section { padding-block: 48px; }
  .eeg-trust-section h2 { font-size: 33px; line-height: 1.1; margin-bottom: 20px; }
  .eeg-trust-section p { font-size: 17px; line-height: 1.6; }
  .eeg-trust-section .eeg-trust-eyebrow { font-size: 11px; margin-bottom: 16px; }
  .eeg-trust-work-photo img { border-radius: 14px; aspect-ratio: 1.2; }
  .eeg-trust-work-photo figcaption { font-size: 12px; }
  .eeg-trust-company-facts { margin-block: 22px 26px; }
  .eeg-about-intro h1 { font-size: clamp(38px, 10vw, 56px); margin-bottom: 24px; }
  .eeg-about-intro-bottom p { font-size: 18px; }
  .eeg-about-project-photo > img { height: 330px; object-position: 56% center; }
  .eeg-about-project-photo figcaption { padding: 40px 20px 20px; font-size: 14px; }
  .eeg-about-project-photo figcaption a { font-size: 12px; }
  .eeg-about-story-grid { gap: 20px; }
  .eeg-about-work { padding-top: 0; }
  .eeg-about-service-list { margin-top: 24px; }
  .eeg-about-service-list a { font-size: 16px; padding: 18px 0; }
  .eeg-about-principles { grid-template-columns: minmax(0, 1fr); margin-top: 30px; gap: 26px; }
  .eeg-about-principles h3 { font-size: 22px; }
  .eeg-about-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .eeg-about-logos--industry { gap: 22px; }
  .eeg-about-logos img { height: 60px; }
  .eeg-about-partners h2 { font-size: 19px; margin: 0; }
  .eeg-about-closing-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .eeg-about-closing-actions { align-items: start; }
}
@media (prefers-reduced-motion: reduce) { .eeg-trust-section .eeg-trust-button { transition: none; } }

@media (max-width: 1000px) {
  .eeg-home-review-track { grid-auto-columns: calc((100% - 20px) / 2); }
}
@media (max-width: 700px) {
  .eeg-trust-reviews { padding-block: 48px; }
  .eeg-home-reviews-heading { margin-bottom: 22px; }
  .eeg-trust-reviews #eeg-trust-reviews-title { max-width: 310px; font-size: 32px; }
  .eeg-home-review-track { grid-auto-columns: calc(100% - 28px); gap: 16px; }
  .eeg-home-review { min-height: 318px; padding: 24px; border-radius: 14px; }
  .eeg-home-review-author { margin-bottom: 20px; gap: 10px; }
  .eeg-trust-reviews .eeg-home-review-copy p { font-size: 16px; line-height: 1.65; }
  .eeg-home-reviews-footer { flex-direction: column-reverse; align-items: stretch; gap: 12px; margin-top: 10px; }
  .eeg-home-review-navigation { justify-content: space-between; padding-inline: 2px; }
  .eeg-trust-reviews .eeg-home-review-all { justify-content: center; text-align: center; }
}
@media (max-width: 360px) {
  .eeg-home-review { padding: 20px; }
  .eeg-home-review-avatar { flex-basis: 36px; width: 36px; height: 36px; font-size: 15px; }
  .eeg-trust-reviews .eeg-home-review-person h3 { font-size: 14px; }
  .eeg-home-review-google, .eeg-home-review-google svg { width: 18px; height: 18px; flex-basis: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .eeg-home-review-track { scroll-behavior: auto; }
}

.eeg-selected-work,.eeg-selected-work * { box-sizing:border-box; }
.eeg-selected-work { padding:84px 0 80px; background:#f3f6f8; color:#112f50; font-family:"Figtree",Arial,sans-serif; }
.eeg-selected-work-inner { max-width:1200px; width:calc(100% - 64px); margin:auto; }
.eeg-selected-work-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:36px; }
.eeg-selected-work .eeg-work-eyebrow { color:#176bb4; font:700 12px/1.5 "Figtree",Arial,sans-serif; text-transform:uppercase; letter-spacing:.13em; margin:0 0 16px; }
.eeg-selected-work h2 { color:#112f50; font:750 clamp(30px,3.5vw,48px)/1.1 "Figtree",Arial,sans-serif; letter-spacing:-.035em; margin:0; max-width:620px; }
.eeg-work-all { display:inline-flex; align-items:center; min-height:44px; color:#165d97; font-size:15px; font-weight:650; text-decoration:none; gap:18px; flex-shrink:0; }
.eeg-work-all:hover { color:#112f50; text-decoration:underline; text-underline-offset:5px; }
.eeg-selected-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.eeg-project-story { display:block; color:#112f50; text-decoration:none; min-width:0; }
.eeg-project-story-image { overflow:hidden; border-radius:12px; background:#dce6ef; aspect-ratio:4/3; }
.eeg-project-story-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.eeg-project-story-caption { display:flex; align-items:center; justify-content:space-between; padding-top:20px; gap:20px; }
.eeg-project-story-caption p { margin:0 0 6px; color:#5a6a7b; font-size:13px; line-height:1.4; }
.eeg-project-story-caption h3 { margin:0; color:#112f50; font:700 26px/1.2 "Figtree",Arial,sans-serif; letter-spacing:-.025em; }
.eeg-project-story-caption > span { color:#176bb4; font-size:26px; line-height:1; }
.eeg-project-story:hover img { transform:scale(1.035); }
.eeg-selected-work a:focus-visible { outline:3px solid #176bb4; outline-offset:6px; }
.eeg-work-browse { display:none; }
.eeg-selected-work-grid:focus-visible { outline:3px solid #176bb4; outline-offset:4px; }
[id^="project-"] { scroll-margin-top:110px; }
@media(max-width:1000px) { .eeg-selected-work-grid { gap:20px; } .eeg-project-story-caption h3 { font-size:23px; } }
@media(max-width:767px) {
 .eeg-selected-work { padding:40px 0; }
 .eeg-selected-work-inner { width:calc(100% - 40px); }
 .eeg-selected-work-heading { display:block; margin-bottom:18px; }
 .eeg-selected-work-heading h2 { margin-bottom:12px; font-size:clamp(28px,6.8vw,36px); }
 .eeg-selected-work .eeg-work-browse { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; margin:0 0 10px; color:#465d73; font-size:12px; line-height:1.5; }
 .eeg-work-browse > span { color:#176bb4; font-weight:650; }
 .eeg-selected-work-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:min(84vw,360px); align-items:start; gap:16px; margin-inline:-20px; padding:8px 20px 16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:20px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#8daac4 #e1e9f0; }
 .eeg-project-story { scroll-snap-align:start; border-radius:16px; }
 .eeg-project-story-image { aspect-ratio:16/10; border-radius:16px; }
 .eeg-project-story-caption { padding-top:14px; }
}
@media(prefers-reduced-motion:reduce) { .eeg-project-story-image img { transition:none; } .eeg-project-story:hover img { transform:none; } }
