:root {
  --hub-bg: #07162f;
  --hub-panel: rgba(8, 29, 61, 0.98);
  --hub-line: rgba(83, 151, 218, 0.25);
  --hub-muted: #8fa6c5;
  --hub-cyan: #42bfff;
  --hub-blue: #087cff;
}

.site-header {
  isolation: isolate;
  overflow: visible;
  z-index: 100 !important;
  transform: translateY(0);
  transition: transform .34s cubic-bezier(.22, .8, .3, 1), box-shadow .25s;
  will-change: transform;
}

.site-header.header-hidden {
  transform: translateY(calc(-100% - 5px));
  pointer-events: none;
}

.site-header .site-logo {
  flex: 0 0 auto;
}

.site-header .geizer-network-logo {
  width: 206px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.site-header .geizer-network-logo img {
  width: 116px !important;
  height: 54px !important;
  object-fit: contain;
  clip-path: inset(0 0 7.5% 0);
}

.site-header .brand-tagline {
  width: 206px;
  margin-top: -1px;
  color: rgba(245, 248, 255, .82);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 7px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .055em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-header .hub-mount {
  min-width: 1px;
  min-height: 42px;
  flex: 1 1 auto;
  margin-left: auto;
}

.site-header:not(.nav-ready) .phone {
  opacity: 0 !important;
  visibility: hidden !important;
}

.site-header:not(.nav-ready) .nav-toggle {
  opacity: 0 !important;
  visibility: hidden !important;
}

.site-header .context-chip {
  padding: 6px 10px;
  border: 1px solid rgba(82, 151, 221, 0.24);
  border-radius: 999px;
  color: #9bb0ce;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hub-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.hub-home,
.hub-company,
.hub-trigger {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--hub-muted);
  font: inherit;
  font-size: 15px !important;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}

.site-header .phone {
  font-size: 16px;
  line-height: 1;
}

.hub-home:hover,
.hub-company:hover,
.hub-trigger:hover,
.hub-node.is-open .hub-trigger {
  background: rgba(32, 83, 137, 0.2);
  color: #fff;
}

.hub-chevron {
  width: 6px;
  height: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.22s;
}

.hub-node.is-open .hub-chevron {
  transform: rotate(225deg) translate(-1px, -1px);
}

.mega-panel {
  position: fixed;
  top: 82px;
  left: 50%;
  z-index: 80;
  width: min(1120px, calc(100vw - 40px));
  padding: 18px;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 18px;
  border: 1px solid var(--hub-line);
  border-radius: 0 0 24px 24px;
  background: var(--hub-panel);
  box-shadow: 0 35px 90px rgba(0, 4, 14, 0.5);
  backdrop-filter: blur(24px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -12px);
  transition: opacity 0.2s, transform 0.24s, visibility 0.2s;
}

.hub-node.is-open .mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.mega-intro {
  min-height: 210px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid rgba(72, 142, 211, 0.2);
  border-radius: 18px;
  background:
    radial-gradient(circle at 90% 10%, rgba(49, 174, 255, 0.26), transparent 34%),
    linear-gradient(145deg, #0d315f, #081d3d);
}

.mega-intro small {
  color: var(--hub-cyan);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mega-logo {
  width: 98px;
  height: 46px;
  margin-bottom: 12px;
  object-fit: contain;
  object-position: left center;
}

.mega-intro strong {
  margin: 7px 0;
  color: #f5f8ff;
  font-size: 26px;
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.mega-intro p {
  margin: 0;
  color: #91a8c8;
  font-size: 12px;
}

.mega-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mega-card {
  min-height: 100px;
  padding: 17px;
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(78, 145, 214, 0.18);
  border-radius: 16px;
  background: rgba(10, 36, 75, 0.7);
  transition: transform 0.2s, border-color 0.2s, background 0.2s;
}

.mega-card:hover {
  transform: translateY(-2px);
  border-color: rgba(66, 191, 255, 0.52);
  background: rgba(12, 47, 96, 0.95);
}

.mega-card.is-current {
  border-color: rgba(66, 191, 255, 0.5);
  background: linear-gradient(135deg, rgba(9, 81, 155, 0.38), rgba(12, 47, 96, 0.92));
}


.mega-index {
  color: var(--hub-cyan);
  font-size: 10px;
  font-weight: 900;
}

.mega-card b,
.mega-card small {
  display: block;
}

.mega-card b {
  color: #fff;
  font-size: 15px;
}

.mega-card small {
  margin-top: 3px;
  color: #88a0c1;
  font-size: 10px;
  line-height: 1.35;
}

.mega-arrow {
  color: #5e89b8;
  font-style: normal;
  font-size: 17px;
}

.articles-panel {
  grid-template-columns: 260px 1fr;
}

.articles-panel .mega-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.articles-panel .mega-card {
  min-height: 210px;
  grid-template-columns: 1fr;
  align-content: end;
  overflow: hidden;
  background:
    linear-gradient(0deg, rgba(4, 18, 41, 0.96), rgba(7, 32, 67, 0.62)),
    repeating-linear-gradient(135deg, rgba(70, 168, 255, 0.08) 0 1px, transparent 1px 16px);
}

.article-preview {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  opacity: 0.58;
  transition: transform 0.55s, opacity 0.25s;
}

.article-preview-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(3, 15, 34, 0.98) 8%, rgba(3, 15, 34, 0.7) 58%, rgba(3, 15, 34, 0.12));
}

.article-preview-card:hover .article-preview {
  opacity: 0.72;
  transform: scale(1.05);
}

.article-preview-card .mega-index,
.article-preview-card .article-teaser,
.article-preview-card .mega-arrow {
  position: relative;
  z-index: 2;
}

.article-teaser em {
  display: inline-block;
  margin-top: 13px;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.articles-panel .mega-arrow {
  position: absolute;
  right: 17px;
  top: 16px;
  z-index: 3;
}

.articles-panel .mega-card {
  position: relative;
}

.site-header .phone {
  margin-left: 10px;
  white-space: nowrap;
}

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(77, 145, 214, 0.25);
  border-radius: 12px;
  background: rgba(8, 33, 70, 0.75);
  cursor: pointer;
}

.nav-toggle span,
.nav-toggle i {
  width: 18px !important;
  height: 1px !important;
  display: block !important;
  margin: 5px auto !important;
  background: #fff !important;
}

.nav-scrim {
  position: fixed;
  inset: 82px 0 0;
  z-index: 60;
  background: rgba(1, 8, 20, 0.62);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.2s;
}

.ecosystem-extra {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.ecosystem-card {
  min-height: 240px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(69, 145, 218, 0.24);
  border-radius: 20px;
  background: #0a2349;
}

.ecosystem-card > img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: transform 0.65s;
}

.ecosystem-card:hover > img {
  transform: scale(1.045);
}

.ecosystem-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 15, 34, 0.98), rgba(3, 15, 34, 0.72) 55%, rgba(3, 15, 34, 0.12));
}

.ecosystem-copy {
  width: min(390px, 78%);
  position: absolute;
  left: 28px;
  bottom: 25px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ecosystem-copy small {
  color: var(--hub-cyan);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ecosystem-copy b {
  margin: 7px 0 4px;
  color: #fff;
  font-size: 26px;
  letter-spacing: -0.035em;
}

.ecosystem-copy em {
  color: #9eb2cf;
  font-size: 12px;
  font-style: normal;
}

.ecosystem-copy i {
  margin-top: 16px;
  color: #fff;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

body.nav-layer-open .nav-scrim {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Discreet offer companion shown after the first screen */
.scroll-companion {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 68;
  width: min(300px, calc(100vw - 28px));
  padding: 13px;
  overflow: hidden;
  border: 1px solid rgba(76, 151, 224, .34);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(8, 35, 73, .58), rgba(5, 20, 44, .48));
  box-shadow: 0 16px 38px rgba(0, 5, 18, .24);
  backdrop-filter: blur(14px) saturate(118%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(18px) scale(.97);
  transition: opacity .3s, visibility .3s, transform .38s cubic-bezier(.22, .8, .3, 1);
}

.scroll-companion::before {
  content: "";
  position: absolute;
  inset: -70px auto auto -45px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(65, 194, 255, .19);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(65, 194, 255, .035), 0 0 0 58px rgba(65, 194, 255, .025);
  pointer-events: none;
}

.scroll-companion.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.scroll-companion.is-dismissed { display: none; }
.scroll-companion-kicker { position: relative; display: block; margin-bottom: 2px; color: #48baff; font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.scroll-companion > strong { position: relative; display: block; margin-bottom: 9px; color: #f6f9ff; font-size: 15px; letter-spacing: -.02em; }
.scroll-companion-close { position: absolute; top: 7px; right: 7px; z-index: 2; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 50%; background: rgba(112, 158, 207, .07); color: #88a3c5; font-size: 16px; line-height: 1; cursor: pointer; transition: color .2s, background .2s; }
.scroll-companion-close:hover { color: #fff; background: rgba(112, 158, 207, .18); }
.scroll-companion-actions { position: relative; display: grid; gap: 5px; }
.scroll-companion-actions a { display: grid; grid-template-columns: 8px 1fr auto; gap: 8px; align-items: center; min-height: 44px; padding: 6px 9px; border: 1px solid rgba(76, 145, 216, .18); border-radius: 10px; background: rgba(10, 39, 80, .45); transition: border-color .24s, background .24s, transform .24s; }
.scroll-companion-actions a:hover { border-color: rgba(76, 170, 255, .62); background: rgba(14, 54, 108, .82); transform: translateX(-3px); }
.scroll-companion-actions a > i { width: 7px; height: 7px; border-radius: 50%; background: #31b8ff; box-shadow: 0 0 0 5px rgba(49, 184, 255, .08), 0 0 14px rgba(49, 184, 255, .45); }
.scroll-companion-actions .companion-franchise > i { background: #ffe900; box-shadow: 0 0 0 5px rgba(255, 233, 0, .07), 0 0 14px rgba(255, 233, 0, .35); }
.scroll-companion-actions span { min-width: 0; }
.scroll-companion-actions small,.scroll-companion-actions b { display: block; }
.scroll-companion-actions small { margin-bottom: 1px; color: #93a9c6; font-size: 8px; }
.scroll-companion-actions b { color: #f5f8ff; font-size: 11px; }
.scroll-companion-actions em { color: #55bfff; font-size: 14px; font-style: normal; transition: transform .2s; }
.scroll-companion-actions a:hover em { transform: translateX(3px); }
body:has(dialog[open]) .scroll-companion { opacity: 0; visibility: hidden; pointer-events: none; }

.floating-to-top {
  position: fixed;
  right: 22px;
  bottom: var(--floating-top-bottom, 22px);
  z-index: 69;
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  overflow: hidden;
  padding: 4px;
  border: 1px solid rgba(91, 178, 255, .55);
  border-radius: 999px;
  background: rgba(11, 48, 94, .7);
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 8, 25, .28);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  cursor: pointer;
  transition: width .28s, bottom .35s, opacity .25s, visibility .25s, transform .3s, background .25s;
}

.floating-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.floating-to-top i {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #0b83f8, #42bdff);
  font-size: 17px;
  font-style: normal;
  animation: floatingArrow 2.2s ease-in-out infinite;
}

.floating-to-top span {
  padding-right: 9px;
  color: #dfeeff;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.floating-to-top:hover { width: 105px; background: rgba(11, 48, 94, .9); }
body:has(dialog[open]) .floating-to-top { opacity: 0; visibility: hidden; pointer-events: none; }

@keyframes floatingArrow {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@media (max-width: 1080px) {
  .site-header .context-chip,
  .hub-company {
    display: none;
  }
  .hub-home,
  .hub-trigger {
    padding-inline: 10px;
  }
}

@media (max-width: 820px) {
  .site-header {
    height: 70px !important;
    padding-inline: 16px !important;
    gap: 12px !important;
  }

  .site-header .site-logo img {
    max-width: 104px;
  }

  .site-header .geizer-network-logo {
    width: 170px;
  }

  .site-header .brand-tagline {
    width: 170px;
    font-size: 5.8px;
  }

  .site-header .phone {
    margin-left: auto;
    font-size: 13px;
  }

  .nav-toggle {
    display: block !important;
    flex: 0 0 42px;
  }

  .hub-nav {
    position: fixed;
    top: 70px;
    left: 12px;
    right: 12px;
    z-index: 75;
    padding: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    border: 1px solid var(--hub-line);
    border-radius: 0 0 20px 20px;
    background: rgba(7, 23, 49, 0.98);
    box-shadow: 0 30px 70px rgba(0, 4, 14, 0.55);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: 0.2s;
  }

  .site-header.nav-open .hub-nav {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .hub-home,
  .hub-company,
  .hub-trigger {
    width: 100%;
    justify-content: center;
    border: 1px solid rgba(77, 145, 214, 0.16);
    background: rgba(11, 39, 80, 0.72);
  }

  .hub-company {
    display: inline-flex;
  }

  .mega-panel {
    position: fixed;
    top: 198px;
    width: calc(100vw - 24px);
    max-height: calc(100vh - 212px);
    overflow: auto;
    grid-template-columns: 1fr;
    border-radius: 18px;
  }

  .mega-intro {
    min-height: 130px;
  }

  .articles-panel .mega-links {
    grid-template-columns: 1fr;
  }

  .articles-panel .mega-card {
    min-height: 120px;
  }

  .nav-scrim {
    top: 70px;
  }

  .ecosystem-extra {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .site-header .phone {
    display: none !important;
  }

  .hub-nav {
    grid-template-columns: 1fr;
  }

  .mega-panel {
    top: 298px;
    max-height: calc(100vh - 312px);
  }

  .mega-links {
    grid-template-columns: 1fr;
  }

  .mega-card {
    min-height: 86px;
  }

  .scroll-companion {
    right: 10px;
    bottom: 10px;
    width: min(300px, calc(100vw - 20px));
    padding: 12px;
  }

  .scroll-companion > strong { font-size: 14px; }
  .scroll-companion-actions a { padding: 6px 8px; }

  .floating-to-top {
    right: 10px;
    bottom: var(--floating-top-bottom, 10px);
    width: 40px;
    height: 40px;
  }

  .floating-to-top i { width: 30px; height: 30px; flex-basis: 30px; }
  .floating-to-top:hover { width: 40px; }
}

/* Shared animated footer */
body > footer.global-footer {
  --footer-x: 50%;
  --footer-y: 50%;
  position: relative;
  isolation: isolate;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 80px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden;
  color: #f5f8ff !important;
  background: #041126;
  font-size: 15px;
}

.global-footer::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image: linear-gradient(rgba(79, 157, 238, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(79, 157, 238, .055) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 84%, transparent);
}

.global-footer .footer-light {
  position: absolute !important;
  z-index: -1;
  left: var(--footer-x);
  top: var(--footer-y);
  display: block !important;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  background: radial-gradient(circle, rgba(16, 126, 255, .17), rgba(7, 78, 159, .05) 38%, transparent 70%);
  transition: left .18s ease-out, top .18s ease-out;
}

.global-footer .footer-runner {
  display: block !important;
  overflow: hidden;
  padding: 22px 0;
  border-block: 1px solid rgba(65, 129, 201, .28);
  background: rgba(8, 34, 72, .7);
}

.footer-runner > div {
  position: relative;
  left: 50%;
  display: flex !important;
  width: max-content;
  align-items: center;
  gap: 27px;
  transform: translateX(-50%);
  animation: footerRunner 18s ease-in-out infinite alternate;
}

.footer-runner:hover > div { animation-play-state: paused; }
.footer-runner span { color: #a6bad6; font-size: 12px; font-weight: 800; letter-spacing: .18em; white-space: nowrap; }
.footer-runner i { width: 7px; height: 7px; border-radius: 50%; background: #21a5ff; box-shadow: 0 0 16px #21a5ff; }

.global-footer .footer-shell {
  display: block !important;
  width: min(1240px, calc(100% - 56px));
  margin: 0 auto;
  padding: 72px 0 27px;
}

.global-footer .footer-main {
  display: grid !important;
  grid-template-columns: 1.15fr 1.8fr .85fr;
  gap: 65px;
  align-items: start;
}

.global-footer .footer-brand,
.global-footer .footer-nav section,
.global-footer .footer-contact { min-width: 0; }

.global-footer .footer-brand img {
  width: 145px !important;
  height: 60px;
  margin: 0 0 23px !important;
  object-fit: contain;
  object-position: left center;
}

.global-footer .footer-tagline {
  display: block;
  width: max-content;
  max-width: 230px;
  margin: -13px 0 24px;
  color: rgba(245, 248, 255, .82);
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: 7.5px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.global-footer .footer-brand:has(.footer-tagline) > img {
  clip-path: inset(0 0 7.5% 0);
}

.footer-status {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  color: #94aac8;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.footer-status i { width: 7px; height: 7px; border-radius: 50%; background: #31d889; box-shadow: 0 0 0 5px rgba(49, 216, 137, .1); animation: footerPulse 2s ease-in-out infinite; }
.footer-brand h2 { max-width: 350px; margin: 0 0 13px; font-size: clamp(22px, 2vw, 31px); line-height: 1.04; letter-spacing: -.045em; }
.footer-brand p { max-width: 350px; margin: 0; color: #8fa6c5; font-size: 14px; line-height: 1.55; }

.global-footer .footer-nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.footer-nav h3,
.footer-contact > span {
  display: block;
  margin: 0 0 20px;
  color: #53b9ff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .15em;
}

.footer-nav a {
  display: flex;
  width: max-content;
  max-width: 100%;
  align-items: center;
  gap: 8px;
  margin: 0 0 13px;
  color: #bac9de;
  font-size: 14px;
  transition: color .25s, transform .25s;
}

.footer-nav a i { color: #4f83bb; font-style: normal; opacity: 0; transform: translate(-5px, 5px); transition: .25s; }
.footer-nav a:hover { color: #fff; transform: translateX(4px); }
.footer-nav a:hover i { opacity: 1; transform: none; }

.global-footer .footer-contact {
  display: block !important;
  margin: 0;
  padding: 0;
  font-style: normal;
}

.footer-contact a { display: block; }
.footer-phone { margin-bottom: 8px; color: #fff; font-size: clamp(20px, 2vw, 29px); font-weight: 900; line-height: 1.05; letter-spacing: -.04em; }
.footer-mail { width: max-content; max-width: 100%; padding-bottom: 4px; border-bottom: 1px solid #296398; color: #56bcff; font-size: 14px; font-weight: 700; }
.footer-mail i { display: inline-block; margin-left: 5px; font-style: normal; transition: transform .25s; }
.footer-mail:hover i { transform: translate(3px, -3px); }
.footer-contact p { max-width: 230px; margin: 26px 0 0; color: #8198b8; font-size: 13px; }

.global-footer .footer-route {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 60px;
  padding: 25px 28px;
  border: 1px solid #245486;
  border-radius: 20px;
  background: linear-gradient(110deg, rgba(13, 51, 102, .86), rgba(8, 31, 66, .72));
  transition: border-color .3s, transform .3s;
}

.footer-route:hover { transform: translateY(-3px); border-color: #398ee0; }
.footer-route span { display: block; margin-bottom: 3px; color: #8fa8c8; font-size: 12px; }
.footer-route strong { font-size: 20px; }
.footer-route > a { display: flex; align-items: center; gap: 25px; flex: 0 0 auto; padding: 13px 17px 13px 20px; border-radius: 999px; background: #f4f8ff; color: #092247; font-size: 13px; font-weight: 800; transition: background .25s, transform .25s; }
.footer-route > a i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #0e82f6; color: #fff; font-style: normal; }
.footer-route > a:hover { background: #51bdff; transform: translateX(3px); }

.global-footer .footer-bottom {
  display: grid !important;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  margin-top: 28px;
  padding-top: 25px;
  border-top: 1px solid rgba(62, 112, 170, .35);
  color: #68819f;
  font-size: 11px;
}
.footer-animate { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.footer-animate.is-visible { opacity: 1; transform: none; }

@keyframes footerRunner {
  from { transform: translateX(calc(-50% - min(6vw, 90px))); }
  to { transform: translateX(calc(-50% + min(6vw, 90px))); }
}
@keyframes footerPulse { 50% { opacity: .45; transform: scale(.78); } }

@media (max-width: 1000px) {
  .global-footer .footer-main { grid-template-columns: 1fr 1.7fr; }
  .global-footer .footer-contact { grid-column: 1 / -1; display: grid !important; grid-template-columns: 1fr 1fr 1fr; align-items: end; gap: 25px; padding-top: 25px; border-top: 1px solid rgba(62, 112, 170, .35); }
  .footer-contact > span { grid-column: 1 / -1; margin-bottom: 0; }
  .footer-contact p { margin: 0; }
}

@media (max-width: 720px) {
  body > footer.global-footer { margin-top: 45px !important; }
  .global-footer .footer-shell { width: min(100% - 36px, 620px); padding-top: 52px; }
  .global-footer .footer-main { grid-template-columns: 1fr; gap: 42px; }
  .global-footer .footer-brand img { width: 125px !important; }
  .global-footer .footer-nav { grid-template-columns: 1fr 1fr; gap: 32px 22px; }
  .global-footer .footer-nav section:last-child { grid-column: 1 / -1; }
  .global-footer .footer-contact { grid-column: auto; grid-template-columns: 1fr; gap: 7px; }
  .footer-contact > span { grid-column: auto; margin-bottom: 12px; }
  .footer-contact p { margin-top: 18px; }
  .global-footer .footer-route { align-items: stretch; flex-direction: column; }
  .footer-route > a { justify-content: space-between; }
  .global-footer .footer-bottom { grid-template-columns: 1fr auto; }
  .global-footer .footer-bottom > span:nth-child(2) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .footer-runner > div, .footer-status i { animation: none; }
  .footer-animate { opacity: 1; transform: none; transition: none; }
  .global-footer .footer-light { display: none !important; }
  .floating-to-top i { animation: none; }
}

/* Brand surface: long water-flow contours instead of a square grid */
.geizer-surface::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 1000' fill='none'%3E%3Cpath d='M-180 826C183 738 260 372 584 269C909 165 1117 458 1786 68' stroke='%231f8bd1' stroke-opacity='.11' stroke-width='1.2'/%3E%3Cpath d='M-210 878C205 780 286 433 615 326C945 219 1197 472 1772 153' stroke='%2358c7ef' stroke-opacity='.065' stroke-width='1'/%3E%3Cpath d='M-264 934C223 842 341 513 667 402C993 291 1242 510 1789 254' stroke='%23266fae' stroke-opacity='.09' stroke-width='1'/%3E%3Cpath d='M-102 194C246 24 529 76 778 178C1027 280 1234 263 1702 20' stroke='%234bc6ef' stroke-opacity='.045' stroke-width='1'/%3E%3Cpath d='M-91 227C249 77 522 113 770 212C1018 311 1290 293 1694 75' stroke='%231979bd' stroke-opacity='.07' stroke-width='1'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at 78% 7%, rgba(12, 112, 210, .14), transparent 38%),
    radial-gradient(ellipse at 4% 72%, rgba(44, 183, 226, .045), transparent 32%) !important;
  background-size: cover, auto, auto !important;
  background-position: center, center, center !important;
  background-repeat: no-repeat !important;
}

.geizer-surface .grid-bg {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 820' fill='none'%3E%3Cpath d='M-120 704C251 603 265 303 612 216C959 129 1111 397 1712 81' stroke='%2341bfff' stroke-opacity='.15'/%3E%3Cpath d='M-119 756C284 652 320 370 659 281C998 192 1174 424 1715 156' stroke='%23177dc5' stroke-opacity='.12'/%3E%3Cpath d='M-137 805C330 710 393 448 718 357C1043 266 1240 459 1712 246' stroke='%2374d7f3' stroke-opacity='.065'/%3E%3Cpath d='M-85 111C252 -5 536 45 765 139C994 233 1256 219 1690 25' stroke='%2341bfff' stroke-opacity='.055'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at 82% 14%, rgba(11, 123, 231, .12), transparent 34%) !important;
  background-size: cover, auto !important;
  background-position: center, center !important;
  background-repeat: no-repeat !important;
}

body > footer.global-footer {
  --footer-x: initial;
  --footer-y: initial;
}

.global-footer::before {
  opacity: .9;
  mask-image: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 760' fill='none'%3E%3Cpath d='M-91 596C241 467 329 232 664 177C999 122 1189 337 1702 66' stroke='%231e86c9' stroke-opacity='.16'/%3E%3Cpath d='M-91 635C276 501 382 287 708 237C1034 187 1237 367 1705 131' stroke='%2355c8ed' stroke-opacity='.08'/%3E%3Cpath d='M-100 684C313 552 439 355 758 308C1077 261 1292 407 1700 218' stroke='%231968a6' stroke-opacity='.13'/%3E%3Cpath d='M-104 728C349 609 502 423 811 389C1120 355 1351 455 1708 319' stroke='%2343bce8' stroke-opacity='.055'/%3E%3C/svg%3E") !important;
  background-size: cover !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
}

.global-footer .footer-light {
  left: -6% !important;
  top: 18% !important;
  width: 112% !important;
  height: 430px !important;
  border-radius: 0 !important;
  transform: none;
  opacity: .68;
  filter: none;
  mix-blend-mode: screen;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1800 440' fill='none'%3E%3Cpath d='M-75 330C273 162 483 155 751 243C1019 331 1279 340 1870 37' stroke='%230b88da' stroke-opacity='.22' stroke-width='34'/%3E%3Cpath d='M-70 343C298 195 487 193 748 271C1009 349 1309 358 1871 83' stroke='%234fd2f0' stroke-opacity='.14' stroke-width='10'/%3E%3Cpath d='M-68 365C328 248 510 235 763 305C1016 375 1362 383 1870 151' stroke='%23ffe900' stroke-opacity='.055' stroke-width='2'/%3E%3C/svg%3E") center / 104% 100% no-repeat !important;
  animation: footerCurrent 18s ease-in-out infinite alternate;
}

@keyframes footerCurrent {
  from { transform: translate3d(-2.5%, 8px, 0) scaleX(1.02); opacity: .48; }
  to { transform: translate3d(2.5%, -8px, 0) scaleX(.98); opacity: .75; }
}

@media (prefers-reduced-motion: reduce) {
  .global-footer .footer-light { display: block !important; animation: none !important; opacity: .5; }
}

/* Compact GEIZER mark: the network descriptor is intentionally omitted. */
.site-header .geizer-network-logo {
  width: 132px !important;
  align-self: center !important;
  overflow: hidden;
}

.site-header .geizer-network-logo img {
  width: 116px !important;
  height: 58px !important;
  object-position: center top;
  clip-path: inset(0 0 13% 0) !important;
}

.site-header .brand-tagline,
.global-footer .footer-tagline {
  display: none !important;
}

.global-footer .footer-brand img[src*="geizer-logo"] {
  clip-path: inset(0 0 13% 0) !important;
}

@media (max-width: 720px) {
  .site-header .geizer-network-logo { width: 108px !important; }
  .site-header .geizer-network-logo img {
    width: 98px !important;
    height: 52px !important;
  }
}
