:root {
  --eon-color-text: #1f2937;
  --eon-color-text-muted: #5b6472;
  --eon-color-bg: #f5f7fb;
  --eon-color-surface: #ffffff;
  --eon-color-surface-2: #eef3f8;
  --eon-color-border: #d8e0ea;
  --eon-color-border-strong: #bcc8d8;
  --eon-color-accent: #2459f0;
  --eon-color-accent-2: #132347;
  --eon-color-accent-hover: #132347;
  --eon-color-accent-contrast: #ffffff;
  --eon-color-dark: #132347;
  --eon-color-dark-text: #f8fbff;
  --eon-color-overlay: rgba(19, 35, 71, 0.68);
  --eon-font-body: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --eon-font-heading: "Raleway", "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --eon-font-accent: var(--eon-font-body);
  --eon-font-size-body: 16px;
  --eon-line-height-body: 1.5;
  --eon-line-height-heading: 1.15;
  --eon-heading-weight: 700;
  --eon-h1-size: 2.85rem;
  --eon-h2-size: 1.85rem;
  --eon-h3-size: 1.55rem;
  --eon-section-pad-top: 1.1rem;
  --eon-section-pad-bottom: 2.2rem;
  --eon-home-section-pad-top: 2.1rem;
  --eon-home-section-pad-bottom: 2.4rem;
  --eon-container-narrow: 720px;
  --eon-container-content: 1120px;
  --eon-container-wide: 1320px;
  --eon-space-2xs: 0.375rem;
  --eon-space-xs: 0.75rem;
  --eon-space-sm: 1rem;
  --eon-space-md: 1.5rem;
  --eon-space-lg: 2.5rem;
  --eon-space-xl: 4rem;
  --eon-space-2xl: 6rem;
  --eon-radius-sm: 8px;
  --eon-radius-md: 16px;
  --eon-radius-lg: 28px;
  --eon-radius-pill: 999px;
  --eon-shadow-sm: 0 8px 24px rgba(17, 24, 39, 0.08);
  --eon-shadow-md: 0 18px 48px rgba(17, 24, 39, 0.12);
  --eon-shadow-lg: 0 28px 80px rgba(17, 24, 39, 0.16);
  --eon-transition: 180ms ease;
  --eon-header-min-height: 88px;
  --eon-header-offset: 0px;
  --eon-header-backdrop: rgba(255, 255, 255, 0.86);
  --eon-header-bg: #ffffff;
  --eon-header-text: #1f2937;
  --eon-footer-bg: #ffffff;
  --eon-footer-text: #1f2937;
  --eon-form-border-width: 1px;
  --eon-form-pad-y: 0.9rem;
  --eon-form-pad-x: 1rem;
  --eon-divider: 1px solid var(--eon-color-border);
  --mp-blue: #2c97c8;
  --mp-dark-band-bg: #111111;
  --mp-dark-band-text: #f4f7fb;
  --mp-dark-band-text-muted: #d0dae8;
  --mp-home-hero-offset: 89px;
  --mp-home-header-offset: 0px;
  --mp-home-seam-clear-stop: 72.5%;
  --mp-home-seam-mid1-stop: 78.5%;
  --mp-home-seam-mid2-stop: 84.5%;
  --mp-home-seam-white-stop: 89.5%;
  --mp-home-seam-dark1-alpha: 0.13;
  --mp-home-seam-dark2-alpha: 0.23;
}

html {
  font-size: var(--eon-font-size-body);
  scroll-behavior: smooth;
}

body {
  color: var(--eon-color-text);
  background: var(--eon-color-bg);
  font-family: var(--eon-font-body);
  line-height: var(--eon-line-height-body);
}

::selection {
  background: rgba(36, 89, 240, 0.18);
}

body:not(.elementor-editor-active) .site-main,
body:not(.elementor-editor-active) .site-content {
  min-height: 40vh;
}

a {
  color: var(--eon-color-accent);
  transition: color var(--eon-transition);
}

a:hover,
a:focus {
  color: var(--eon-color-accent-hover);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--eon-color-accent-2);
  font-family: var(--eon-font-heading);
  line-height: var(--eon-line-height-heading);
  text-wrap: balance;
}

p,
ul,
ol,
blockquote,
table,
figure {
  margin-bottom: var(--eon-space-md);
}

hr {
  margin: var(--eon-space-lg) 0;
  border: 0;
  border-top: var(--eon-divider);
}

ul,
ol {
  padding-left: 1.2em;
}

img {
  border-radius: var(--eon-radius-sm);
}

iframe,
video {
  max-width: 100%;
  border: 0;
}

input,
select,
textarea,
button {
  font: inherit;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea {
  width: 100%;
  padding: var(--eon-form-pad-y) var(--eon-form-pad-x);
  border: var(--eon-form-border-width) solid var(--eon-color-border);
  border-radius: var(--eon-radius-sm);
  background: var(--eon-color-surface);
  color: var(--eon-color-text);
  box-shadow: none;
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(36, 89, 240, 0.18);
  outline-offset: 1px;
  border-color: var(--eon-color-accent);
}

button,
.button,
input[type="submit"],
.elementor-button,
.wp-block-button__link {
  border-radius: var(--eon-radius-pill);
}

.site-header,
.site-footer {
  position: relative;
  z-index: 10;
}

.site-header {
  min-height: var(--eon-header-min-height);
  padding-block: 0.55rem;
  border-bottom: 1px solid var(--eon-color-border);
  background: var(--eon-header-bg);
  color: var(--eon-header-text);
}

.site-footer {
  color: var(--eon-footer-text);
  border-top: 1px solid var(--eon-color-border);
  background: var(--eon-footer-bg);
}

.site-header a {
  color: inherit;
}

.site-footer a {
  color: inherit;
}

.alignwide {
  width: min(100% - 2rem, var(--eon-container-wide));
  max-width: var(--eon-container-wide);
  margin-inline: auto;
}

.alignfull {
  width: 100%;
  max-width: 100%;
}

.eon-site-header {
  position: relative;
  isolation: isolate;
}

.eon-header--sticky {
  position: sticky;
  top: var(--eon-header-offset);
  z-index: 40;
}

.eon-header--glass {
  backdrop-filter: blur(14px);
  background: var(--eon-header-backdrop);
}

.eon-announcement-bar {
  padding: 0.52rem 1rem;
  background: var(--eon-color-accent-2);
  color: var(--eon-color-dark-text);
  font-size: 0.88rem;
  line-height: 1.35;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.eon-announcement-bar a {
  color: inherit;
  text-decoration: none;
}

.eon-announcement-bar a:hover,
.eon-announcement-bar a:focus {
  text-decoration: underline;
}

.eon-site-footer {
  background: var(--eon-color-dark);
}

.site-header .header-inner,
.site-footer .footer-inner {
  width: min(100% - 1.75rem, 1200px);
  margin-inline: auto;
  align-items: center;
}

.site-header .site-branding .site-logo img,
.site-footer .site-branding .site-logo img {
  max-height: var(--eon-header-logo-max-height, 54px);
  width: auto;
}

.site-navigation ul.menu {
  gap: var(--eon-nav-gap, 0.35rem);
}

.site-navigation ul.menu li a {
  padding: var(--eon-nav-pad-y, 0.58rem) var(--eon-nav-pad-x, 0.75rem);
  border-radius: var(--eon-nav-link-radius, 6px);
  font-weight: 600;
}

.site-footer .site-branding .site-logo img {
  max-height: var(--eon-footer-logo-max-height, 54px);
}

.site-navigation ul.menu li.current-menu-item > a {
  background: #eef3f8;
}

.site-footer .copyright p {
  color: var(--eon-color-text-muted);
  font-size: 0.9rem;
}

body.eon-live-shell .eon-announcement-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: rgba(0, 0, 0, var(--mp-live-utility-bg-alpha, 0.78));
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: #f4f7fb;
  font-size: var(--mp-live-utility-font-size, 0.82rem);
}

body.eon-live-shell .eon-announcement-bar .eon-utility-bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--mp-live-utility-min-height, 40px);
}

body.eon-live-shell .eon-announcement-bar .eon-utility-icons {
  display: flex;
  align-items: center;
  gap: var(--mp-live-utility-gap, 0.9rem);
}

body.eon-live-shell .eon-announcement-bar .eon-utility-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #ffffff;
}

body.eon-live-shell .eon-announcement-bar .eon-utility-icons .dashicons {
  width: var(--mp-live-utility-icon-size, 20px);
  height: var(--mp-live-utility-icon-size, 20px);
  font-size: var(--mp-live-utility-icon-size, 20px);
}

body.eon-live-shell .eon-announcement-bar .eon-utility-home {
  position: absolute;
  right: 1rem;
  display: block;
}

body.eon-live-shell .eon-announcement-bar .eon-utility-home a {
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
}

body.eon-live-shell .eon-announcement-bar .eon-utility-home a:hover,
body.eon-live-shell .eon-announcement-bar .eon-utility-home a:focus {
  text-decoration: underline;
}

body.eon-live-shell .site-header {
  position: absolute;
  top: calc(100vh - var(--mp-live-header-from-hero, 96px));
  left: 0;
  right: 0;
  z-index: 55;
  padding-block: var(--mp-live-header-padding-block, 0.35rem);
  border-bottom: 0;
  background: rgba(0, 0, 0, var(--mp-live-header-bg-alpha, 0.72));
}

body.eon-live-shell.admin-bar .eon-announcement-bar {
  top: 32px;
}

body.eon-live-shell.admin-bar .site-header {
  top: calc(100vh - var(--mp-live-header-from-hero, 96px) + 32px);
}

body.eon-live-shell .site-header .header-inner {
  width: min(100% - 3rem, 1280px);
}

body.eon-live-shell .site-header .site-branding {
  align-items: center;
  flex-direction: row;
}

body.eon-live-shell .site-header .site-branding .site-description {
  display: none;
}

body.eon-live-shell .site-header .site-branding .site-logo img {
  max-height: var(--mp-live-logo-max-height, 82px);
  border-radius: 0;
}

body.eon-live-shell .site-header .site-navigation ul.menu li a,
body.eon-live-shell .site-header .site-branding .site-description,
body.eon-live-shell .site-header .site-navigation-toggle,
body.eon-live-shell .site-header .site-navigation-dropdown a {
  color: #f8fbff;
}

body.eon-live-shell .site-header .site-navigation ul.menu li a {
  padding: var(--mp-live-nav-pad-y, 0.58rem) var(--mp-live-nav-pad-x, 0.75rem);
  font-size: var(--mp-live-nav-font-size, 1.03rem);
  font-weight: var(--mp-live-nav-font-weight, 700);
  letter-spacing: var(--mp-live-nav-letter-spacing, 0.01em);
  text-transform: var(--mp-live-nav-text-transform, none);
}

body.eon-live-shell,
body.eon-live-shell h1,
body.eon-live-shell h2,
body.eon-live-shell h3,
body.eon-live-shell h4,
body.eon-live-shell h5,
body.eon-live-shell h6 {
  font-family: var(--mp-live-font-family, "Trebuchet MS", Trebuchet, "Segoe UI", Arial, sans-serif);
}

body.eon-live-shell .site-header .site-navigation ul.menu li.current-menu-item > a {
  background: transparent;
  color: var(--mp-live-nav-active-color, #00a1ea);
}

body.eon-live-shell .eon-home-hero-block,
body.eon-live-shell .eon-page-hero-block {
  min-height: 100vh;
  margin: 0;
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  display: flex;
  align-items: stretch;
}

body.page-id-66.eon-live-shell .eon-home-hero-block {
  min-height: var(--mp-home-hero-height, 88.9vh);
  background-size: 100% auto;
  background-position: var(--mp-home-hero-pos-x, 50.06%) var(--mp-home-hero-pos-y, 0%);
}

body.page-id-66.eon-live-shell .eon-home-hero-block::before {
  display: none;
}

body.page-id-66.eon-live-shell .site-header {
  top: calc(var(--mp-home-hero-height, 88.9vh) - 56px + var(--mp-home-header-offset, 0px));
}

body.page-id-66.eon-live-shell.admin-bar .site-header {
  top: calc(var(--mp-home-hero-height, 88.9vh) - 56px + 32px + var(--mp-home-header-offset, 0px));
}

body.page-id-66.eon-live-shell .site-header .header-inner {
  width: 100%;
  max-width: none;
  padding-inline: 32px;
}

body.page-id-67.eon-live-shell .eon-page-hero-block {
  background-size: auto 100%;
  background-position: var(--mp-live-services-pos-x, 49.89%) var(--mp-live-services-pos-y, 0%);
}

body.page-id-68.eon-live-shell .eon-page-hero-block {
  background-size: auto 100%;
  background-position: var(--mp-live-about-pos-x, 49.69%) var(--mp-live-about-pos-y, 0%);
}

body.page-id-69.eon-live-shell .eon-page-hero-block {
  background-size: auto 100%;
  background-position: var(--mp-live-gallery-pos-x, 0%) var(--mp-live-gallery-pos-y, 100%);
}

body.page-id-70.eon-live-shell .eon-page-hero-block {
  background-size: 100% auto;
  background-position: var(--mp-live-contact-pos-x, 0%) var(--mp-live-contact-pos-y, 49.93%);
}

body.eon-live-shell .eon-home-hero-overlay,
body.eon-live-shell .eon-page-hero-overlay {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.9rem;
  width: 100%;
  padding: clamp(12rem, var(--mp-live-overlay-top-vh, 19vh), 14.5rem) min(10vw, var(--mp-live-overlay-side-max, 6rem)) clamp(4rem, var(--mp-live-overlay-bottom-vh, 8vh), 6rem);
}

body.eon-live-shell .eon-home-hero-overlay {
  background: transparent;
}

body.eon-live-shell .eon-page-hero-overlay {
  background: transparent;
}

body.page-id-69.eon-live-shell .eon-page-hero-overlay {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.08));
}

body.eon-live-shell .eon-home-hero-overlay h1,
body.eon-live-shell .eon-home-hero-overlay p {
  display: none;
}

body.eon-live-shell .eon-home-hero-overlay h1 {
  margin: 0;
  font-size: clamp(2.2rem, 5.1vw, 4.3rem);
  line-height: 1.08;
}

body.eon-live-shell .eon-home-hero-overlay p {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 500;
}

body.eon-live-shell .site-footer {
  background: #111;
}

body.eon-live-shell .site-footer .footer-inner {
  display: none;
}

body.eon-live-shell .eon-live-footer-icons-wrap {
  background: #111;
  padding: var(--mp-live-footer-pad-top, 0.65rem) 1rem var(--mp-live-footer-pad-bottom, 0.9rem);
}

body.eon-live-shell .eon-live-footer-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mp-live-footer-icon-gap, 0.8rem);
}

body.eon-live-shell .eon-live-footer-icons a {
  color: #f4f7fb;
  text-decoration: none;
}

body.eon-live-shell .eon-live-footer-icons .dashicons {
  width: var(--mp-live-footer-icon-size, 34px);
  height: var(--mp-live-footer-icon-size, 34px);
  font-size: var(--mp-live-footer-icon-size, 34px);
}

.eon-focus-ring:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(36, 89, 240, 0.32);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  :root {
    --eon-font-size-body: 15px;
    --eon-space-xl: 3rem;
    --eon-space-2xl: 4rem;
  }

  .eon-announcement-bar {
    font-size: 0.79rem;
    padding-inline: 0.7rem;
  }

  .site-header .header-inner,
  .site-footer .footer-inner {
    width: min(100% - 1rem, 100%);
  }

  .site-header .site-branding .site-logo img,
  .site-footer .site-branding .site-logo img {
    max-height: 44px;
  }

  .site-navigation ul.menu li a {
    padding: 0.48rem 0.58rem;
  }

  body.eon-live-shell .site-header {
    top: calc(100vh - 86px);
  }

  body.eon-live-shell.admin-bar .site-header {
    top: calc(100vh - 86px + 46px);
  }

  body.eon-live-shell .site-header .header-inner {
    width: min(100% - 1rem, 100%);
  }

  body.eon-live-shell .site-header .site-branding .site-logo img {
    max-height: 56px;
  }

  body.eon-live-shell .site-header .site-navigation ul.menu li a {
    font-size: 0.95rem;
    padding: 0.44rem 0.5rem;
  }

  body.eon-live-shell .eon-home-hero-overlay,
  body.eon-live-shell .eon-page-hero-overlay {
    padding: clamp(9rem, 18vh, 11.5rem) 1rem 2.2rem;
  }

  body.eon-live-shell .eon-announcement-bar .eon-utility-bar {
    min-height: 32px;
  }

  body.eon-live-shell .eon-announcement-bar .eon-utility-icons {
    gap: 0.56rem;
  }

  body.eon-live-shell .eon-announcement-bar .eon-utility-home {
    right: 0.25rem;
    display: none;
  }
}
