:root {
  --navy: #0b2a6b;
  --navy-deep: #081f52;
  --navy-ink: #06173d;
  --gold: #d4af37;
  --bg: #f5f7fb;
  --surface: #ffffff;
  --text: #121826;
  --muted: #5d6879;
  --line: rgba(11, 42, 107, 0.12);
  --line-soft: rgba(11, 42, 107, 0.07);
  --display: "Clash Display", "Segoe UI", sans-serif;
  --body: "Plus Jakarta Sans", Inter, "Segoe UI", sans-serif;
  --header-h: 76px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --gev-navy: var(--navy);
  --gev-navy-ink: var(--navy-ink);
  --gev-gold: var(--gold);
  --gev-bg: var(--bg);
  --gev-header-h: var(--header-h);
}

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

h1, h2, h3, h4,
.elementor-heading-title {
  font-family: var(--display);
}

.gev-icon {
  display: inline-flex;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  color: currentColor;
}
.gev-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Header */
.gev-header,
header.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 50;
  transition: background 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.gev-header.is-scrolled,
header.elementor-location-header.is-scrolled {
  background: rgba(245, 247, 251, 0.92) !important;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
body.home:not(.menu-open) .gev-header:not(.is-scrolled),
body.home:not(.menu-open) header.elementor-location-header:not(.is-scrolled) {
  background: transparent !important;
  border-bottom-color: transparent;
}
body.home:not(.menu-open) header.elementor-location-header:not(.is-scrolled) .elementor-heading-title,
body.home:not(.menu-open) header.elementor-location-header:not(.is-scrolled) .elementor-button-text,
body.home:not(.menu-open) header.elementor-location-header:not(.is-scrolled) a {
  color: #fff !important;
}

/* Ticker — both class names */
.gev-ticker,
.ticker,
#ticker {
  overflow: hidden !important;
  background: var(--navy) !important;
  color: #fff;
  padding: 18px 0 !important;
}
.gev-ticker__track,
.ticker__track {
  display: flex;
  align-items: center;
  gap: 26px;
  width: max-content;
  white-space: nowrap;
  will-change: transform;
}
.gev-ticker__track span,
.ticker__track span {
  font-family: var(--display);
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.gev-ticker__track i,
.ticker__track i {
  color: var(--gold);
  font-style: normal;
  font-size: 13px;
}

/* Eyebrow + icon row */
.gev-eyebrow,
.eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--navy) !important;
}
.gev-eyebrow .gev-icon,
.eyebrow .gev-icon {
  width: 16px;
  height: 16px;
  color: var(--gold);
}

/* About */
.about__visual,
.gev-about-visual {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 40px 70px -46px rgba(6, 23, 61, 0.6);
}
.about__stat,
.gev-about-stat {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 17px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  color: var(--text);
  font-size: 13px;
  line-height: 1.3;
  box-shadow: 0 12px 28px -18px rgba(6, 23, 61, 0.55);
}
.about__stat .gev-icon,
.gev-about-stat .gev-icon {
  width: 22px;
  height: 22px;
  color: var(--gold);
}
.about__stat strong,
.gev-about-stat strong {
  display: block;
  font-family: var(--display);
  font-size: 16px;
  color: var(--navy);
}
.pillars,
.gev-pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
  padding: 0;
  list-style: none;
}
.pillars li,
.gev-pillars li {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 16px;
  border-radius: 100px;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--line-soft);
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}
.pillars .gev-icon,
.gev-pillars .gev-icon {
  width: 18px;
  height: 18px;
  color: var(--navy);
}

/* Mission / steps icons */
.mission__icon,
.step__icon,
.gev-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: rgba(11, 42, 107, 0.06);
  color: var(--navy);
}
.mission__icon .gev-icon,
.step__icon .gev-icon,
.gev-icon-badge .gev-icon {
  width: 26px;
  height: 26px;
}

/* Services sticky stack */
.gev-services-stack,
.services-stack,
#services {
  position: relative;
}
.gev-service-card,
.service-card {
  position: sticky;
  top: calc(var(--header-h) + 18px);
  z-index: 1;
  display: grid !important;
  grid-template-columns: 1.35fr 0.85fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: stretch;
  min-height: min(460px, 68vh);
  margin-bottom: clamp(28px, 5vh, 56px) !important;
  padding: clamp(28px, 3.5vw, 44px) !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  background: #fff !important;
  overflow: hidden;
}
.gev-service-card[data-i="0"], .service-card[data-i="0"] { z-index: 1; }
.gev-service-card[data-i="1"], .service-card[data-i="1"] { z-index: 2; }
.gev-service-card[data-i="2"], .service-card[data-i="2"] { z-index: 3; }
.gev-service-card[data-i="3"], .service-card[data-i="3"] { z-index: 4; }
.gev-service-card[data-i="4"], .service-card[data-i="4"] { z-index: 5; }
.gev-service-card[data-i="5"], .service-card[data-i="5"] { z-index: 6; }
.gev-service-card[data-i="6"], .service-card[data-i="6"] { z-index: 7; }
.gev-service-card.is-covered,
.service-card.is-covered {
  border-color: rgba(11, 42, 107, 0.08) !important;
}
.service-card__icon,
.gev-service-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: rgba(11, 42, 107, 0.06);
  color: var(--navy);
}
.service-card__icon .gev-icon,
.gev-service-icon .gev-icon {
  width: 28px;
  height: 28px;
}
.gev-service-aside,
.service-card__aside {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: 280px !important;
  padding: 28px 26px !important;
  border-radius: 22px !important;
  background: var(--navy-ink) !important;
  color: #fff !important;
}
.gev-service-aside > .elementor-widget-image,
.gev-service-aside img,
.service-card__media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
}
.gev-service-aside > .elementor-widget-image {
  z-index: 0;
}
.gev-service-aside::after,
.service-card__aside::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(6,23,61,.15) 0%, rgba(6,23,61,.55) 42%, rgba(6,23,61,.92) 100%);
  pointer-events: none;
}
.gev-service-aside__copy,
.service-card__aside-copy {
  position: relative;
  z-index: 2;
}
.gev-service-card--promo,
.service-card--promo {
  grid-template-columns: 1fr !important;
  background: linear-gradient(160deg, #0b2a6b, #06173d) !important;
  border-color: transparent !important;
  color: #fff !important;
}

/* App chips */
.app-chip,
.gev-app-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  color: var(--navy) !important;
  font-weight: 600 !important;
}
.app-chip .gev-icon,
.gev-app-chip .gev-icon {
  width: 20px;
  height: 20px;
  color: var(--navy);
}

/* Work / device mockups */
.gev-work-filters button[aria-pressed="true"],
.work__filters button[aria-pressed="true"] {
  background: var(--navy) !important;
  color: #fff !important;
}
.gev-work-card.is-hidden,
.elementor-loop-item.is-hidden,
.work-card.is-hidden {
  display: none !important;
}
.device {
  position: relative;
  transition: transform 0.4s var(--ease);
}
.gev-work-card:hover .device,
.work-card a:hover .device {
  transform: translateY(-6px);
}
.device--laptop {
  padding: 9px 9px 0;
  border-radius: 12px 12px 3px 3px;
  background: linear-gradient(180deg, #223048, #131c2e);
  box-shadow: 0 36px 60px -40px rgba(6, 23, 61, 0.85);
}
.device--laptop::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.28);
}
.device__screen {
  position: relative;
  aspect-ratio: 19 / 10;
  overflow: hidden;
  border-radius: 4px;
  background: #0b1020;
}
.device__screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 0.9s var(--ease);
}
.gev-work-card:hover .device__screen img {
  transform: scale(1.045);
}
.device__screen::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255,255,255,.14), transparent 42%);
  pointer-events: none;
}
.device__base {
  display: block;
  height: 13px;
  margin: 0 -5.5%;
  border-radius: 0 0 12px 12px;
  background: linear-gradient(180deg, #27344e, #151d30);
  position: relative;
}
.device__base::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 4px;
  transform: translateX(-50%);
  width: 62px;
  height: 4px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.16);
}
.work-card__tag,
.gev-work-tag {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold) !important;
}
.work-card__url,
.gev-work-url {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  color: var(--muted);
}
.work-card__url .gev-icon,
.gev-work-url .gev-icon {
  width: 14px;
  height: 14px;
}

/* Footer */
.gev-footer,
footer.elementor-location-footer {
  background: var(--navy-ink) !important;
  color: #fff;
}
.gev-footer-grid {
  display: grid !important;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 32px;
}
.gev-footer a {
  color: rgba(255, 255, 255, 0.72) !important;
}
.gev-footer a:hover {
  color: #fff !important;
}
.gev-footer h4,
.gev-footer .elementor-heading-title {
  color: var(--gold) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* Reveals */
.gev-reveal,
.reveal {
  opacity: 0;
  transform: translateY(24px);
}
.gev-reveal.is-in,
.reveal.is-in,
.no-gsap .gev-reveal,
.no-gsap .reveal {
  opacity: 1;
  transform: none;
}
.gev-hero-line {
  overflow: hidden;
  display: block;
}

@media (max-width: 1080px) {
  .gev-service-card,
  .service-card {
    position: relative;
    top: auto;
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .gev-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 700px) {
  .gev-footer-grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gev-reveal, .reveal { opacity: 1; transform: none; }
}

/* ===== Header fidelity (HTML parity) ===== */
header.elementor-location-header,
.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: transparent !important;
}
header.elementor-location-header > .elementor-element,
.gev-header.site-header {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
body.home header.elementor-location-header {
  position: fixed;
  inset: 0 0 auto;
  width: 100%;
}
body.home header.elementor-location-header.is-scrolled,
body.home header.elementor-location-header.is-scrolled .gev-header {
  background: rgba(255, 255, 255, 0.93) !important;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(11, 42, 107, 0.07) !important;
}
.gev-brand,
.brand {
  display: inline-flex !important;
  align-items: center;
  gap: 11px;
  text-decoration: none !important;
}
.gev-brand img,
.brand img,
.gev-brand .elementor-widget-image img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain;
}
.brand__name,
.gev-brand__name {
  font-family: var(--display);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1.2;
}
.brand__name b,
.gev-brand__name b {
  font-weight: 700;
  color: #fff;
}
body.home header.elementor-location-header.is-scrolled .brand__name,
body.home header.elementor-location-header.is-scrolled .brand__name b,
body:not(.home) .brand__name {
  color: var(--text);
}
body:not(.home) .brand__name b,
body.home header.elementor-location-header.is-scrolled .brand__name b {
  color: var(--navy);
}
.gev-nav {
  display: flex;
  align-items: center;
  gap: 26px;
}
.gev-nav > a {
  font-size: 15px;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s;
}
.gev-nav > a:hover,
.gev-nav > a.is-active {
  color: #e6cd78;
}
body.home header.elementor-location-header.is-scrolled .gev-nav > a,
body:not(.home) .gev-nav > a {
  color: rgba(70, 80, 97, 0.9);
}
body.home header.elementor-location-header.is-scrolled .gev-nav > a:hover,
body.home header.elementor-location-header.is-scrolled .gev-nav > a.is-active,
body:not(.home) .gev-nav > a:hover,
body:not(.home) .gev-nav > a.is-active {
  color: var(--navy);
}
.gev-nav__cta {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #06173d !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  transition: background 0.25s, transform 0.25s, color 0.25s;
}
.gev-nav__cta:hover {
  background: var(--gold) !important;
  transform: translateY(-1px);
}
body.home header.elementor-location-header.is-scrolled .gev-nav__cta,
body:not(.home) .gev-nav__cta {
  background: var(--navy) !important;
  color: #fff !important;
}
body.home header.elementor-location-header.is-scrolled .gev-nav__cta:hover,
body:not(.home) .gev-nav__cta:hover {
  background: #081f52 !important;
}
.gev-nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 6px;
  background: rgba(255,255,255,0.12);
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
}
.gev-nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: #fff;
}
body.home header.elementor-location-header.is-scrolled .gev-nav-toggle,
body:not(.home) .gev-nav-toggle {
  border-color: var(--line);
  background: #fff;
}
body.home header.elementor-location-header.is-scrolled .gev-nav-toggle span,
body:not(.home) .gev-nav-toggle span {
  background: var(--navy);
}
.gev-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none !important;
  transition: transform 0.25s, background 0.25s;
}
.gev-btn--gold {
  background: var(--gold);
  color: #06173d !important;
}
.gev-btn--gold:hover {
  transform: translateY(-2px);
  background: #e6cd78;
}
.gev-hero .elementor-heading-title,
.gev-hero-line .elementor-heading-title {
  font-family: var(--display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  line-height: 1.05 !important;
  color: #fff !important;
}
.gev-ticker,
.ticker,
#ticker {
  position: relative;
  z-index: 2;
}
/* old 900px nav block removed — see Mobile nav fix */

/* ===== Typo force Clash Display ===== */
@import url("https://api.fontshare.com/v2/css?f[]=clash-display@500,600,700&f[]=satoshi@400,500,700&display=swap");

:root {
  --display: "Clash Display", "ClashDisplay-Variable", "Segoe UI", sans-serif !important;
  --body: "Satoshi", Inter, "Segoe UI", sans-serif !important;
}

/* Kill Elementor / theme serif on hero + ticker */
.gev-hero .elementor-heading-title,
.gev-hero-line,
.gev-hero-line .elementor-heading-title,
#hero .elementor-heading-title,
.hero .elementor-heading-title,
.gev-hero h1,
.gev-hero h1 span {
  font-family: "Clash Display", "ClashDisplay-Variable", sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.035em !important;
  line-height: 0.98 !important;
}

.gev-ticker,
.ticker,
#ticker,
.gev-ticker *,
.ticker *,
.gev-ticker__track,
.ticker__track,
.gev-ticker__track span,
.ticker__track span,
#ticker span {
  font-family: "Clash Display", "ClashDisplay-Variable", sans-serif !important;
  font-style: normal !important;
}

.gev-ticker__track span,
.ticker__track span,
#ticker span {
  font-size: 19px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}

.gev-ticker__track i,
.ticker__track i,
#ticker i {
  font-family: inherit !important;
  font-style: normal !important;
  color: #d4af37 !important;
  font-size: 13px !important;
}

/* Header CTA full fidelity */
.gev-nav__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #06173d !important;
  font-family: "Satoshi", Inter, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
.gev-nav__cta .gev-icon {
  width: 16px !important;
  height: 16px !important;
  color: currentColor !important;
}
body.home header.elementor-location-header.is-scrolled .gev-nav__cta,
body:not(.home) .gev-nav__cta {
  background: #0b2a6b !important;
  color: #fff !important;
}

.gev-btn--gold {
  font-family: "Satoshi", Inter, sans-serif !important;
  font-weight: 700 !important;
}
.gev-btn--gold .gev-icon {
  width: 18px !important;
  height: 18px !important;
}

/* Brand name Clash */
.brand__name,
.gev-brand__name {
  font-family: "Clash Display", sans-serif !important;
}

/* ===== CTA contrast fix ===== */
body.home header.elementor-location-header:not(.is-scrolled) .gev-nav__cta,
body.home header.elementor-location-header:not(.is-scrolled) .gev-nav__cta span,
body.home header.elementor-location-header:not(.is-scrolled) .gev-nav__cta .gev-icon,
body.home header.elementor-location-header:not(.is-scrolled) .gev-nav__cta * {
  color: #06173d !important;
  fill: #06173d !important;
}
body.home header.elementor-location-header:not(.is-scrolled) .gev-nav__cta {
  background: #ffffff !important;
}
body.home header.elementor-location-header.is-scrolled .gev-nav__cta,
body:not(.home) .gev-nav__cta {
  background: #0b2a6b !important;
}
body.home header.elementor-location-header.is-scrolled .gev-nav__cta,
body.home header.elementor-location-header.is-scrolled .gev-nav__cta *,
body:not(.home) .gev-nav__cta,
body:not(.home) .gev-nav__cta * {
  color: #ffffff !important;
  fill: #ffffff !important;
}
.gev-ticker__track i,
.ticker__track i {
  color: #d4af37 !important;
  font-style: normal !important;
  font-size: 13px !important;
  font-family: inherit !important;
}
/* Hide Hostinger / builder floating UI for visitors */
html:not(.elementor-html) #hkit-adminbar,
html:not(.elementor-html) .hostinger-reach-floating,
body:not(.elementor-editor-active) .e-con-dropdown-rel-main {
  /* no-op placeholder */
}

/* ===== Mobile nav fix ===== */
.gev-header-wrap,
header.elementor-location-header .gev-header-wrap {
  background: transparent !important;
}
.gev-header-inner {
  width: min(100% - 40px, 1320px);
  height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  z-index: 5;
}
.gev-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  text-decoration: none !important;
  flex-shrink: 0;
}
.gev-brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block;
}
.gev-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0;
}
.gev-nav > a {
  font-size: 15px;
  color: #fff;
  text-decoration: none;
}
.gev-nav > a:hover,
.gev-nav > a.is-active {
  color: #e6cd78;
}
.gev-nav__cta {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #06173d !important;
  font-weight: 600 !important;
}
.gev-nav__cta span,
.gev-nav__cta .gev-icon,
.gev-nav__cta * {
  color: #06173d !important;
  fill: #06173d !important;
}
body.home header.elementor-location-header.is-scrolled .gev-nav > a,
body:not(.home) .gev-nav > a {
  color: rgba(70, 80, 97, 0.9);
}
body.home header.elementor-location-header.is-scrolled .gev-nav > a:hover,
body:not(.home) .gev-nav > a:hover {
  color: #0b2a6b;
}
body.home header.elementor-location-header.is-scrolled .gev-nav__cta,
body:not(.home) .gev-nav__cta {
  background: #0b2a6b !important;
}
body.home header.elementor-location-header.is-scrolled .gev-nav__cta,
body.home header.elementor-location-header.is-scrolled .gev-nav__cta *,
body:not(.home) .gev-nav__cta,
body:not(.home) .gev-nav__cta * {
  color: #fff !important;
  fill: #fff !important;
}
.gev-nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 6px;
  background: rgba(255,255,255,0.12);
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  flex-shrink: 0;
  z-index: 6;
}
.gev-nav-toggle span {
  display: block !important;
  width: 17px;
  height: 2px;
  background: #fff;
  transition: transform 0.25s, opacity 0.2s;
}
.gev-nav-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(3.5px) rotate(45deg);
}
.gev-nav-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-3.5px) rotate(-45deg);
}
body.home header.elementor-location-header.is-scrolled .gev-nav-toggle,
body:not(.home) .gev-nav-toggle {
  border-color: rgba(11,42,107,0.15);
  background: #fff;
}
body.home header.elementor-location-header.is-scrolled .gev-nav-toggle span,
body:not(.home) .gev-nav-toggle span {
  background: #0b2a6b;
}

@media (max-width: 860px) {
  .gev-brand .brand__name,
  .gev-brand__name {
    display: none !important;
  }
  .gev-nav-toggle {
    display: inline-flex !important;
  }
  /* CLOSED by default — never take layout space */
  .gev-nav {
    display: none !important;
    position: fixed !important;
    top: 76px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 14px 24px 24px !important;
    margin: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(11,42,107,0.08);
    box-shadow: 0 30px 50px -40px rgba(6, 23, 61, 0.8);
    z-index: 9990 !important;
  }
  .gev-nav.is-open {
    display: flex !important;
  }
  .gev-nav > a {
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(11,42,107,0.08);
    font-size: 16px !important;
    color: #121826 !important;
  }
  .gev-nav > a:hover,
  .gev-nav > a.is-active {
    color: #0b2a6b !important;
  }
  .gev-nav__cta {
    margin-top: 14px !important;
    justify-content: center !important;
    border-bottom: 0 !important;
    background: #0b2a6b !important;
  }
  .gev-nav__cta,
  .gev-nav__cta * {
    color: #fff !important;
    fill: #fff !important;
  }
  body.menu-open {
    overflow: hidden;
  }
}

/* ===== Fidelity pass 2 ===== */
.gev-hero {
  min-height: min(92vh, 920px) !important;
  align-items: flex-end !important;
}
.gev-hero .elementor-heading-title {
  font-size: clamp(46px, 7vw, 84px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.035em !important;
}

/* Service cards: 2-col sticky + full-bleed aside */
.gev-service-card.service-card,
.service-card.gev-service-card {
  display: grid !important;
  grid-template-columns: 1.35fr 0.85fr !important;
  align-items: stretch !important;
  min-height: min(460px, 68vh) !important;
}
.gev-service-card > .e-con,
.gev-service-card > .elementor-element {
  width: auto !important;
  max-width: none !important;
}
.gev-service-aside,
.service-card__aside {
  position: relative !important;
  min-height: 100% !important;
  height: 100% !important;
  align-self: stretch !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  padding: 28px 26px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.gev-service-aside .elementor-widget-image,
.gev-service-aside .elementor-widget-container,
.gev-service-aside img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.gev-service-aside img {
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}
.gev-service-aside .elementor-widget-html,
.gev-service-aside__copy {
  position: relative !important;
  z-index: 2 !important;
}
.service-card__aside-copy p:last-child {
  max-width: 22ch;
  font-size: 18px;
  line-height: 1.45;
  color: rgba(255,255,255,0.82);
  margin: 0;
}
@media (max-width: 1080px) {
  .gev-service-card.service-card {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .gev-service-aside {
    min-height: 240px !important;
  }
}

/* Method steps */
.steps { position: relative; }
.steps__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.steps__line {
  position: absolute;
  top: 26px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: var(--line);
}
.steps__line i {
  display: block;
  height: 100%;
  width: 100%;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left center;
}
.step {
  position: relative;
  padding: 28px 26px 30px;
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--line-soft);
}
.step__num {
  position: absolute;
  top: -14px;
  left: 26px;
  display: grid;
  place-items: center;
  min-width: 52px;
  height: 30px;
  padding: 0 12px;
  border-radius: 100px;
  background: var(--navy);
  color: #fff;
  font-family: var(--display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.step__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 16px 0 18px;
  border-radius: 10px;
  background: rgba(11, 42, 107, 0.07);
  color: var(--navy);
}
.step h3 { margin: 0 0 10px; font-family: var(--display); color: var(--navy); }
.step p { margin: 0; color: var(--muted); }
@media (max-width: 860px) {
  .steps__list { grid-template-columns: 1fr; }
  .steps__line { display: none; }
}

/* Apps chips */
.apps__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}
.app-chip {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 22px 18px;
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--line-soft);
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
}
.app-chip .gev-icon { color: var(--navy); width: 22px; height: 22px; }
@media (max-width: 1080px) {
  .apps__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .apps__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Footer HTML grid */
.gev-footer { background: var(--navy-ink) !important; color: #fff; }
.gev-footer-inner {
  width: min(100% - 48px, 1180px);
  margin: 0 auto;
}
.gev-footer .footer__grid {
  display: grid !important;
  grid-template-columns: 1.4fr repeat(4, 1fr) !important;
  gap: 32px;
  padding-bottom: 44px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.gev-footer .footer__brand img { width: 66px; height: 66px; object-fit: contain; margin-bottom: 16px; }
.gev-footer .footer__brand p { color: rgba(255,255,255,0.64); font-size: 14px; max-width: 280px; margin: 0; }
.gev-footer h4 {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
}
.gev-footer .footer__grid a {
  display: block;
  margin-bottom: 9px;
  font-size: 14.5px;
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  white-space: nowrap;
}
.gev-footer .footer__grid a:hover { color: #fff; }
.gev-footer .footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 22px;
  font-size: 13px;
  color: rgba(255,255,255,0.55);
}
.gev-footer .footer__bottom a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,0.55);
  text-decoration: none;
}
@media (max-width: 980px) {
  .gev-footer .footer__grid { grid-template-columns: 1fr 1fr !important; }
  .gev-footer .footer__grid a { white-space: normal; }
}

/* Hide Hostinger / editor floating chrome on frontend */
body:not(.elementor-editor-active) .hostinger-ai-assistant,
body:not(.elementor-editor-active) #hostinger-easy-onboarding,
body:not(.elementor-editor-active) .hkit-preview-button,
body:not(.elementor-editor-active) [class*="hostinger"][class*="float"],
.e-con-dropdown-rel-main { }
html.wp-toolbar .eicon-ellipsis-h { }

/* ===== Fidelity pass 3 ===== */
.section__head {
  display: block !important;
  max-width: 660px;
  margin: 0 0 clamp(40px, 5vw, 58px) !important;
}
.section__head--center {
  margin-inline: auto !important;
  text-align: center !important;
}
.section__head h2 {
  margin: 0 !important;
  font-family: var(--display);
}
.gev-method .steps {
  padding-top: 18px;
}

.gev-service-card.service-card.gev-service-card--promo,
.service-card.gev-service-card--promo {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: center !important;
  background:
    linear-gradient(160deg, rgba(11, 42, 107, 0.35), rgba(6, 23, 61, 0.96)),
    var(--navy-ink) !important;
  border-color: transparent !important;
  color: #fff !important;
}
.gev-service-card--promo > .e-con,
.gev-service-card--promo > .elementor-element,
.gev-service-card--promo .elementor-widget-html,
.gev-service-card--promo .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  height: 100%;
}
.gev-promo-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: min(380px, 58vh);
}
.gev-service-card--promo .service-card__num {
  display: block;
  margin-bottom: 18px;
  font-family: var(--display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--gold) !important;
}
.gev-promo-inner h3 {
  margin: 0 0 16px !important;
  max-width: 16ch;
  color: #fff !important;
  font-family: var(--display);
  font-size: clamp(28px, 3.4vw, 40px) !important;
  line-height: 1.15 !important;
}
.gev-promo-inner p {
  margin: 0 0 28px !important;
  max-width: 42ch;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 16px;
}
.gev-btn--light {
  background: #fff !important;
  color: #06173d !important;
}
.gev-btn--light:hover {
  background: #f3f5f9 !important;
  transform: translateY(-2px);
}

.apps__grid .app-chip,
.app-chip {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 22px 18px !important;
  border-radius: 10px !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--line-soft) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  white-space: normal !important;
}
.app-chip .gev-icon {
  width: 22px !important;
  height: 22px !important;
  color: var(--navy) !important;
}
@media (max-width: 1080px) {
  .apps__grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
  .apps__grid { grid-template-columns: repeat(2, 1fr) !important; }
  .gev-promo-inner { min-height: 0; }
  .gev-promo-inner h3 { max-width: none; }
}


/* ===== Fonts: titles Clash Display, copy Plus Jakarta Sans ===== */
:root {
  --body: "Plus Jakarta Sans", Inter, "Segoe UI", sans-serif;
}
body,
p,
li,
a,
button,
input,
select,
textarea,
.gev-btn,
.btn,
.elementor-button,
.elementor-button-text,
.elementor-widget-text-editor,
.elementor-widget-html p,
.gev-nav a,
.app-chip,
.step p,
.eyebrow,
.gev-eyebrow,
.footer,
.gev-footer {
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
h1, h2, h3, h4,
.elementor-heading-title,
.section__head h2,
.elementor-widget-html h2,
.elementor-widget-html h3,
.work-card__meta strong {
  font-family: "Clash Display", sans-serif !important;
  font-style: normal !important;
  letter-spacing: -0.02em;
}
h2,
.section__head h2,
.elementor-widget-html h2 {
  font-weight: 600 !important;
  line-height: 1.08 !important;
  font-size: clamp(30px, 3.5vw, 44px) !important;
}


/* ===== CTA band: white, 2-col, checklist ===== */
.gev-cta-band.cta-band,
.cta-band {
  background: #fff !important;
  color: var(--text) !important;
  border-radius: 0 !important;
  border-block: 1px solid var(--line-soft) !important;
  margin: 0 !important;
  padding: clamp(64px, 8vw, 104px) 0 !important;
}
.cta-band__inner {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  width: min(100% - 48px, 1180px);
  margin: 0 auto;
}
.cta-band__inner h2 {
  margin: 0 0 14px !important;
  color: var(--navy) !important;
  font-size: clamp(30px, 3.5vw, 44px) !important;
}
.cta-band__inner > div > p:not(.eyebrow) {
  margin: 0;
  max-width: 46ch;
  color: var(--muted) !important;
}
.cta-band .eyebrow,
.cta-band .gev-eyebrow {
  color: var(--navy) !important;
}
.cta-band__side {
  justify-self: end;
  text-align: right;
}
.cta-band__side .gev-btn {
  display: inline-flex;
}
.cta-band__points {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: var(--text);
}
.cta-band__points li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.cta-band__points .gev-icon {
  color: var(--gold);
  flex-shrink: 0;
}
@media (max-width: 1080px) {
  .cta-band__inner { grid-template-columns: 1fr; }
  .cta-band__side { justify-self: start; text-align: left; }
  .cta-band__points li { justify-content: flex-start; }
}


/* ===== About: fill photo, overlay badge, filled pills ===== */
.elementor-element-about {
  align-items: center !important;
}
.about__visual,
.gev-about-visual {
  position: relative !important;
  align-self: center !important;
  flex: 0.95 1 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  padding: 0 !important;
  box-shadow: 0 40px 70px -46px rgba(6, 23, 61, 0.6);
}
.about__visual img,
.gev-about-visual img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 4 / 3.4 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 10px;
}
.about__stat,
.gev-about-stat {
  position: absolute !important;
  left: 18px !important;
  bottom: 18px !important;
  z-index: 2;
}
.about__stat span:not(.gev-icon),
.gev-about-stat span:not(.gev-icon) {
  display: block;
  font-size: 13px;
  color: var(--muted);
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
.elementor-element-about .elementor-heading-title,
.elementor-element-950f6a9 .elementor-heading-title {
  color: #121826 !important;
}
.pillars,
.gev-pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}
.pillars li,
.gev-pillars li {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 16px;
  border-radius: 100px;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--line-soft);
  font-size: 14px;
  font-weight: 500;
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
.pillars .gev-icon,
.gev-pillars .gev-icon {
  color: var(--navy);
}


/* ===== Work / réalisations ===== */
.work .section__head,
.work__head {
  max-width: none !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 20px;
  margin-bottom: 34px !important;
}
.work__head h2 {
  margin: 0 !important;
  color: #121826 !important;
}
.work__head .eyebrow {
  color: var(--navy) !important;
}
.work__filters,
.gev-work-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.work__filters button,
.gev-work-filters button {
  padding: 9px 18px;
  border: 0;
  border-radius: 100px;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--line-soft);
  font-size: 13px;
  font-weight: 600;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  color: var(--muted);
  cursor: pointer;
}
.work__filters button[aria-pressed="true"],
.gev-work-filters button[aria-pressed="true"] {
  background: var(--navy) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px var(--navy);
}
.elementor-element-work-loop .elementor-grid,
.elementor-element-work-loop .e-loop-container,
.elementor-element-work-loop .elementor-loop-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 42px 26px !important;
}
.elementor-element-work-loop .e-loop-item,
.elementor-element-work-loop .elementor-loop-item {
  width: auto !important;
  max-width: none !important;
}
.work-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.work-card__meta {
  display: grid !important;
  gap: 3px;
  margin-top: 22px;
}
.work-card__tag {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
.work-card__meta strong {
  display: block;
  font-family: "Clash Display", sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #121826 !important;
}
.work-card__url {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  color: var(--muted) !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
}
.device__phone {
  position: absolute;
  z-index: 3;
  right: 3%;
  bottom: -14%;
  width: 19%;
  aspect-ratio: 283 / 611;
  overflow: hidden;
  border-radius: 13px;
  background: #0b1020;
  box-shadow: 0 0 0 4px #121b2c, 0 24px 34px -20px rgba(6, 23, 61, 0.85);
}
.device__phone img {
  position: absolute;
  top: -31.26%;
  left: -379.9%;
  width: 659.4%;
  max-width: none;
  height: auto;
}
.device--laptop {
  overflow: visible;
}
@media (max-width: 1080px) {
  .elementor-element-work-loop .elementor-grid,
  .elementor-element-work-loop .e-loop-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 700px) {
  .elementor-element-work-loop .elementor-grid,
  .elementor-element-work-loop .e-loop-container {
    grid-template-columns: 1fr !important;
  }
}


/* ===== Hide desktop hamburger + Hostinger/Elementor chrome ===== */
button.gev-nav-toggle,
.gev-nav-toggle {
  display: none !important;
}
@media (max-width: 860px) {
  button.gev-nav-toggle,
  .gev-nav-toggle {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
html body:not(.elementor-editor-active) .e-con-dropdown-rel-main,
html body:not(.elementor-editor-active) [class*="e-con-dropdown"],
html body .hkit-preview-button,
html body #hostinger-easy-onboarding,
html body .hostinger-ai-assistant,
html body [class*="hostinger"][class*="float"],
html body [class*="hostinger-reach"],
html body #hkit-adminbar,
html body .hostinger-preview-button,
html body [id*="hostinger"][class*="button"],
html.wp-toolbar body:not(.elementor-editor-active) .eicon-ellipsis-h {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
