/* EASY SERVE Interaction Layer v4.9
   Additive only: no brand tokens, document order or component geometry changed. */
:root { --interaction-x: 50%; --interaction-y: 50%; }

.mega-menu,
.home-group-card,
.home-product-card,
.partner-card,
.trust-card,
.marketing-card,
.case-study-card {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.site-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(86,216,255,.65), rgba(168,85,247,.7), transparent);
  transition: opacity .3s ease;
}
.site-header.is-scrolled::after { opacity: 1; }

.mega-menu[hidden] { display: none; }
.mega-menu:not([hidden]) { animation: es-menu-in .22s cubic-bezier(.2,.8,.2,1) both; }
@keyframes es-menu-in {
  from { opacity: 0; transform: translate3d(-50%,-8px,0) scale(.992); }
  to { opacity: 1; transform: translate3d(-50%,0,0) scale(1); }
}

:where(.button,.nav-link-button,.home-service-node,.home-group-card,.home-product-card,.mega-menu-column a) {
  -webkit-tap-highlight-color: transparent;
}
:where(.button,.nav-link-button):active { scale: .975; }

/* V4.10 premium navigation: four product pillars remain visible together. */
.nav-chevron {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  margin-left: 2px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  background: rgba(255,255,255,.035);
  transition: rotate .24s ease, border-color .24s ease, background .24s ease;
}
.nav-chevron svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-link-button[aria-expanded="true"] .nav-chevron { rotate: 180deg; border-color: rgba(86,216,255,.46); background: rgba(86,216,255,.09); }
.nav-link-button[aria-expanded="true"] > .nav-chevron { transform: none; }

.mega-menu { overflow: hidden; }
.mega-menu::after {
  content: "";
  position: absolute;
  inset: auto 7% 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg,transparent,#56d8ff,#a855f7,#d12f83,transparent);
  opacity: .72;
}
.mega-menu-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.mega-menu-column {
  position: relative;
  overflow: hidden;
  padding: 17px;
  transition: translate .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.mega-menu-column::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg,#56d8ff,#a855f7,#d12f83);
  opacity: .45;
}
.mega-menu-column:hover { translate: 0 -3px; border-color: rgba(168,85,247,.32); box-shadow: 0 18px 45px rgba(0,0,0,.22); }
.desktop-nav .mega-menu-column .mega-category {
  min-height: 58px;
  display: grid;
  grid-template-columns: 26px minmax(0,1fr) 26px;
  gap: 9px;
  align-items: center;
}
.mega-category-number { color: #56d8ff !important; font-size: .64rem !important; font-weight: 800; }
.mega-category-copy { min-width: 0; }
.mega-category-copy strong,.mega-category-copy small { display: block; }
.mega-category-copy strong { color: #f7f5fb; font-size: .86rem; line-height: 1.2; }
.mega-category-copy small { margin-top: 4px; color: #aaa8ba; font-family: Inter,system-ui,sans-serif; font-size: .66rem; font-weight: 500; }
.mega-category-arrow {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  color: #f7f5fb !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  font-size: .72rem !important;
  transition: background .2s ease, border-color .2s ease, rotate .2s ease;
}
.mega-category:hover .mega-category-arrow { rotate: 45deg; border-color: rgba(86,216,255,.55); background: rgba(86,216,255,.1); }

.mobile-chevron { position: relative; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.mobile-chevron::before,.mobile-chevron::after { position: absolute; left: 50%; top: 50%; width: 10px; height: 1px; content: ""; background: currentColor; transform: translate(-50%,-50%); }
.mobile-chevron::after { rotate: 90deg; transform-origin: 0 0; }
.mobile-accordion[open] > summary .mobile-chevron::after,.mobile-submenu[open] > summary .mobile-chevron::after { opacity: 0; }
.mobile-accordion[open] > summary .mobile-chevron,.mobile-submenu[open] > summary .mobile-chevron { transform: none; border-color: rgba(86,216,255,.5); background: rgba(86,216,255,.08); }

@media (max-width: 1380px) and (min-width:1280px) {
  .mega-menu { padding: 22px; }
  .mega-menu-column { padding: 14px; }
  .desktop-nav .mega-menu-column a { font-size: .68rem; }
}

/* V4.11 product discovery workspace */
.product-mega-experience {
  min-height: 374px;
  display: grid;
  grid-template-columns: 238px minmax(0,1fr);
  gap: 18px;
  padding-top: 18px;
}
.product-mega-tabs {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}
.product-mega-tab {
  position: relative;
  min-height: 76px;
  padding: 13px 38px 13px 14px;
  display: grid;
  grid-template-columns: 25px minmax(0,1fr);
  align-content: center;
  column-gap: 8px;
  color: #aaa8ba;
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease,background .2s ease,border-color .2s ease,translate .2s ease;
}
.product-mega-tab::after {
  position: absolute;
  right: 15px;
  top: 50%;
  content: "→";
  opacity: .38;
  transform: translateY(-50%);
  transition: opacity .2s ease,translate .2s ease;
}
.product-mega-tab > span { grid-row: 1 / 3; color: #56d8ff; font-size: .63rem; font-weight: 800; }
.product-mega-tab strong,.product-mega-tab small { grid-column: 2; display: block; }
.product-mega-tab strong { color: #f7f5fb; font-size: .82rem; line-height: 1.2; }
.product-mega-tab small { margin-top: 4px; color: #77768a; font-size: .64rem; }
.product-mega-tab:hover,.product-mega-tab.is-active { color: #fff; border-color: rgba(168,85,247,.34); background: linear-gradient(110deg,rgba(124,58,237,.17),rgba(86,216,255,.055)); translate: 3px 0; }
.product-mega-tab.is-active::before { position:absolute;left:-1px;top:16px;bottom:16px;width:2px;content:"";border-radius:2px;background:linear-gradient(#56d8ff,#a855f7,#d12f83);box-shadow:0 0 15px rgba(168,85,247,.65); }
.product-mega-tab:hover::after,.product-mega-tab.is-active::after { opacity: 1; translate: 3px 0; }

.product-mega-panels { min-width: 0; }
.product-mega-panel[hidden] { display: none; }
.product-mega-panel:not([hidden]) { animation: product-panel-in .22s cubic-bezier(.2,.8,.2,1) both; }
@keyframes product-panel-in { from { opacity:0;translate:8px 0; } to { opacity:1;translate:0; } }
.product-mega-panel-head { min-height: 60px; padding: 0 4px 12px; display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.09); }
.product-mega-panel-head div > span { display:block;color:#d9b8fb;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.product-mega-panel-head div > strong { display:block;margin-top:4px;color:#f7f5fb;font-size:.9rem; }
.desktop-nav .product-mega-panel-head > a { flex:0 0 auto;color:#56d8ff;font-size:.7rem;font-weight:700; }
.desktop-nav .product-mega-panel-head > a::after { display:none; }
.product-mega-products { padding-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.desktop-nav .product-mega-card {
  position:relative;
  min-width:0;
  min-height:82px;
  margin:0;
  padding:11px 38px 11px 11px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  color:#f7f5fb;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.018);
  white-space:normal;
  transition:translate .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.desktop-nav .product-mega-card::after { display:none; }
.desktop-nav .product-mega-card:hover,.desktop-nav .product-mega-card:focus-visible { color:#fff;translate:0 -2px;border-color:rgba(86,216,255,.3);background:linear-gradient(120deg,rgba(86,216,255,.07),rgba(168,85,247,.07));box-shadow:0 12px 30px rgba(0,0,0,.18); }
.product-mega-icon { width:42px;height:42px;display:grid;place-items:center;color:#56d8ff;border:1px solid rgba(86,216,255,.23);border-radius:12px;background:rgba(86,216,255,.065); }
.product-mega-icon svg { width:22px;height:22px; }
.product-mega-card-copy { min-width:0; }
.product-mega-card-copy strong,.product-mega-card-copy small { display:block; }
.product-mega-card-copy strong { overflow:hidden;color:#f7f5fb;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap; }
.product-mega-card-copy small { margin-top:4px;display:-webkit-box;overflow:hidden;color:#858397;font-size:.63rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
.product-mega-card em { position:absolute;right:10px;top:9px;color:#a6c63a;font-size:.52rem;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.product-mega-card i { position:absolute;right:13px;bottom:11px;color:#56d8ff;font-size:.72rem;font-style:normal;opacity:.58; }
.product-mega-footer { min-height:48px;margin-top:15px;padding:12px 3px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.09); }
.product-mega-footer > span { display:flex;align-items:center;gap:8px;color:#aaa8ba;font-size:.65rem; }
.product-mega-footer > span i { width:7px;height:7px;border-radius:50%;background:#a6c63a;box-shadow:0 0 12px rgba(166,198,58,.75); }
.product-mega-footer > div { display:flex;align-items:center;gap:9px; }
.desktop-nav .product-mega-footer a { margin:0;padding:8px 11px;color:#aaa8ba;border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:.68rem; }
.desktop-nav .product-mega-footer a::after { display:none; }
.desktop-nav .product-mega-footer .product-mega-talk { color:#f7f5fb;border-color:rgba(168,85,247,.34);background:linear-gradient(100deg,rgba(124,58,237,.24),rgba(209,47,131,.18)); }
.desktop-nav .product-mega-footer a:hover { color:#fff;border-color:rgba(86,216,255,.4); }

@media (max-width:1380px) and (min-width:1280px) {
  .product-mega-experience { grid-template-columns:210px minmax(0,1fr);min-height:350px; }
  .product-mega-tab { min-height:69px; }
  .desktop-nav .product-mega-card { min-height:75px; }
}

/* V4.12 approved preview: four visible, compact product pillars. */
.site-header { overflow: visible; }
.nav-products { position: static; }
.mega-menu {
  z-index: 10000;
  width: min(1220px,calc(100vw - 48px));
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0 0 22px 22px;
  background: radial-gradient(circle at 12% 0,rgba(124,58,237,.16),transparent 31%),radial-gradient(circle at 88% 0,rgba(86,216,255,.09),transparent 28%),#0b0e1c;
  box-shadow: 0 30px 90px rgba(0,0,0,.48);
}
.mega-menu-head { padding:0 0 17px;align-items:flex-end;border-bottom:1px solid rgba(255,255,255,.1); }
.mega-menu-head div > span { margin-bottom:6px;color:#56d8ff;font-size:.72rem;letter-spacing:.13em; }
.mega-menu-head strong { color:#f7f5fb;font-family:Inter,system-ui,sans-serif;font-size:1.5rem;line-height:1.15;letter-spacing:-.04em; }
.desktop-nav .mega-menu-head > a { color:#f7f5fb;font-size:.78rem;font-weight:600; }
.desktop-nav .mega-menu-head > a span { color:#56d8ff; }
.premium-product-columns { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding-top:17px; }
.premium-product-column { position:relative;min-width:0;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:17px;background:#111529;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.premium-product-column::before { position:absolute;inset:0 18px auto;height:2px;content:"";background:linear-gradient(90deg,#56d8ff,#a855f7,#d12f83);opacity:.7; }
.premium-product-column:hover { transform:translateY(-3px);border-color:rgba(168,85,247,.36);box-shadow:0 18px 42px rgba(0,0,0,.2); }
.premium-category-head { min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center; }
.premium-category-icon { width:38px;height:38px;display:grid;place-items:center;color:#56d8ff;border-radius:11px;background:rgba(86,216,255,.08); }
.premium-category-icon svg { width:20px;height:20px; }
.premium-category-head strong,.premium-category-head small { display:block; }
.premium-category-head strong { color:#f7f5fb;font-size:.86rem;line-height:1.2; }
.premium-category-head small { margin-top:3px;color:#aaa8ba;font-size:.68rem; }
.premium-product-links { display:grid;gap:3px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08); }
.desktop-nav .premium-product-links a { min-height:43px;margin:0;padding:8px 7px;display:grid;grid-template-columns:25px minmax(0,1fr) 16px;gap:7px;align-items:center;color:#aaa8ba;border-radius:9px;font-size:.72rem;white-space:normal;transition:color .18s ease,background .18s ease; }
.desktop-nav .premium-product-links a::after { display:none; }
.desktop-nav .premium-product-links a:hover,.desktop-nav .premium-product-links a:focus-visible { color:#f7f5fb;background:rgba(255,255,255,.055); }
.premium-product-links a > span { display:grid;place-items:center;color:#a855f7; }
.premium-product-links a svg { width:17px;height:17px; }
.premium-product-links a strong { overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap; }
.premium-product-links a i { color:#56d8ff;font-style:normal;opacity:.7; }
.desktop-nav .premium-category-link { margin-top:8px;display:inline-flex;align-items:center;gap:6px;color:#56d8ff;font-size:.69rem;font-weight:700;white-space:normal; }
.desktop-nav .premium-category-link::after { display:none; }
.premium-product-footer { min-height:48px;margin-top:14px;padding:12px 3px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.1); }
.premium-product-footer > span { display:flex;align-items:center;gap:8px;color:#aaa8ba;font-size:.65rem; }
.premium-product-footer > span i { width:7px;height:7px;border-radius:50%;background:#a6c63a;box-shadow:0 0 12px rgba(166,198,58,.75); }
.desktop-nav .premium-product-footer > a { margin:0;padding:8px 11px;color:#f7f5fb;border:1px solid rgba(168,85,247,.34);border-radius:10px;background:linear-gradient(100deg,rgba(124,58,237,.24),rgba(209,47,131,.18));font-size:.68rem; }
.desktop-nav .premium-product-footer > a::after { display:none; }
.desktop-nav .premium-product-footer > a:hover { border-color:rgba(86,216,255,.42); }
@media (max-width:1380px) and (min-width:1280px) {
  .premium-product-column { padding:13px; }
  .premium-category-head { grid-template-columns:34px minmax(0,1fr);gap:8px; }
  .premium-category-icon { width:34px;height:34px; }
  .desktop-nav .premium-product-links a { padding-inline:4px;font-size:.66rem; }
}

.home-group-card,
.home-product-card,
.partner-card,
.trust-card,
.marketing-card,
.case-study-card {
  --card-x: 50%;
  --card-y: 50%;
  isolation: isolate;
}
.home-group-card::after,
.home-product-card::after,
.partner-card::after,
.trust-card::after,
.marketing-card::after,
.case-study-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(420px circle at var(--card-x) var(--card-y), rgba(86,216,255,.11), transparent 58%);
  transition: opacity .28s ease;
}
.home-group-card:hover::after,
.home-product-card:hover::after,
.partner-card:hover::after,
.trust-card:hover::after,
.marketing-card:hover::after,
.case-study-card:hover::after { opacity: 1; }

.button-primary,
.home-primary-action,
.nav-demo {
  position: relative;
  overflow: hidden;
}
.button-primary::after,
.home-primary-action::after,
.nav-demo::after {
  content: "";
  position: absolute;
  top: -80%;
  bottom: -80%;
  left: -36%;
  width: 24%;
  pointer-events: none;
  opacity: 0;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
}
.button-primary:hover::after,
.home-primary-action:hover::after,
.nav-demo:hover::after { animation: es-cta-sheen .72s ease-out; }
@keyframes es-cta-sheen { 0% { left: -36%; opacity: 0; } 18% { opacity: 1; } 100% { left: 118%; opacity: 0; } }

.es-scroll-progress {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
  transform: scaleX(var(--scroll-progress, 0));
  transform-origin: left center;
  background: linear-gradient(90deg, #56D8FF, #A855F7 58%, #D12F83);
  box-shadow: 0 0 16px rgba(86,216,255,.4);
}

[data-reveal] { will-change: opacity, transform; }
[data-reveal].is-visible { will-change: auto; }

:where(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid rgba(86,216,255,.72);
  outline-offset: 4px;
}

@media (hover: none), (pointer: coarse) {
  .home-group-card::after,
  .home-product-card::after,
  .partner-card::after,
  .trust-card::after,
  .marketing-card::after,
  .case-study-card::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .mega-menu:not([hidden]) { animation: none; }
  .button-primary::after,
  .home-primary-action::after,
  .nav-demo::after { display: none; }
  .es-scroll-progress { transition: none; }
}
