: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-contrast: #ffffff;
  --eon-color-dark: #132347;
  --eon-color-dark-text: #f8fbff;
  --eon-color-overlay: rgba(19, 35, 71, 0.68);
  --eon-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --eon-font-heading: Georgia, "Times New Roman", serif;
  --eon-font-accent: var(--eon-font-body);
  --eon-font-size-body: 16px;
  --eon-line-height-body: 1.65;
  --eon-line-height-heading: 1.15;
  --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-divider: 1px solid var(--eon-color-border);
}

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-2);
}

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: 0.9rem 1rem;
  border: 1px 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);
}

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

.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-home-hero {
  overflow: hidden;
}

.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.6rem 1rem;
  background: var(--eon-color-accent-2);
  color: var(--eon-color-dark-text);
  font-size: 0.92rem;
}

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

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

.eon-nav-strip {
  background-color: #2b9fde;
}

.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;
  }
}
