/* =========================================================
   HEADER
   - Header shell
   - Desktop mega menu
   - Language switch
   - Mobile drawer
   - Suggest portal
   - Scroll to top
   - Site brand
   - Topbar
   ========================================================= */

/* =========================================================
   SHARED TOKENS (HEADER / MOBILE MENU SCOPE)
   ========================================================= */
#quantapsHeader,
#mobileMenu{
  --qt-ink:#101526;
  --qt-ink2:#1d2250;
  --qt-muted:#5c6a86;
  --qt-lav:var(--lav1, #6a7eff);
  --qt-lav2:var(--lav2, #8ea2ff);
  --qt-line:rgba(106,126,255,.18);
  --qt-line-strong:rgba(106,126,255,.26);
  --qt-soft:rgba(106,126,255,.08);
  --qt-soft-2:rgba(97,242,255,.08);
  --qt-white:rgba(255,255,255,.92);
}

/* =========================================================
   HEADER SHELL
   ========================================================= */
#quantapsHeader{
  position:relative;
  top:auto;
  z-index:5000;
  width:100%;
  margin:0;
  contain:none !important;
  isolation:auto;
  background:
    radial-gradient(820px 220px at 8% -14%, rgba(106,126,255,.10), transparent 60%),
    radial-gradient(820px 220px at 92% -14%, rgba(97,242,255,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,252,255,.98));
  border-bottom:1px solid var(--qt-line-strong);
  box-shadow:0 8px 24px rgba(24,32,64,.08);
  -webkit-backdrop-filter:blur(10px) saturate(155%);
  backdrop-filter:blur(10px) saturate(155%);
  transition:box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

#quantapsHeader.scrolled{
  box-shadow:0 4px 16px rgba(24,32,64,.12);
}

/* =========================================================
   TOP ROW
   ========================================================= */
#quantapsHeader .qt-head{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  padding:14px 20px;
  min-width:0;
}

/* =========================================================
   SITE BRAND
   ========================================================= */
#quantapsHeader .site-brand,
#mobileMenu .site-brand{
  display:flex;
  align-items:center;
  min-width:0;
  color:var(--qt-lav-base) !important;
  text-decoration:none;
}

#quantapsHeader .site-brand svg,
#mobileMenu .site-brand svg{
  display:block;
  width:auto;
  max-width:100%;
  -webkit-backface-visibility:hidden;
}

#quantapsHeader .site-brand svg{
  height:56px;
}

#mobileMenu .drawer .site-brand svg{
  height:56px;
}

#quantapsHeader .site-brand svg text,
#mobileMenu .site-brand svg text{
  font-family:Inter,system-ui,sans-serif;
}

#quantapsHeader .site-brand svg .wm,
#mobileMenu .site-brand svg .wm{
  font-weight:900;
  font-size:40px;
  letter-spacing:1.15px;
  fill:var(--qt-lav-matte) !important;
}

#quantapsHeader .site-brand svg .wm-quant,
#mobileMenu .site-brand svg .wm-quant{
  fill:var(--qt-lav-matte) !important;
  opacity:.98;
}

#quantapsHeader .site-brand svg .wm-aps,
#mobileMenu .site-brand svg .wm-aps{
  fill:var(--qt-lav-soft) !important;
  font-weight:850;
  opacity:1;
}

#quantapsHeader .site-brand svg .tagline,
#mobileMenu .site-brand svg .tagline{
  font-weight:600;
  font-size:13px;
  fill:var(--qt-tag) !important;
  opacity:.95;
}

@keyframes qt-sepPulse{
  0%,100%{ opacity:.55; }
  50%{ opacity:1; }
}

#quantapsHeader .site-brand svg .tagline tspan.sep,
#mobileMenu .site-brand svg .tagline tspan.sep{
  opacity:.7;
  animation:qt-sepPulse 2.2s ease-in-out infinite;
}

@keyframes qt-logo-spin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

@keyframes qt-logo-breathe{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.03); }
}

#quantapsHeader .site-brand svg .orbit-rotate,
#quantapsHeader .site-brand svg .breath,
#mobileMenu .site-brand svg .orbit-rotate,
#mobileMenu .site-brand svg .breath{
  transform-origin:50px 50px;
  transform-box:fill-box;
}

#quantapsHeader .site-brand svg .orbit-rotate,
#mobileMenu .site-brand svg .orbit-rotate{
  animation:qt-logo-spin 7s linear infinite;
}

#quantapsHeader .site-brand svg .breath,
#mobileMenu .site-brand svg .breath{
  animation:qt-logo-breathe 4s ease-in-out infinite;
}

@keyframes qt-aps-domino{
  0%{ opacity:0; transform:translateX(12px) rotate(-55deg); }
  100%{ opacity:1; transform:none; }
}

#quantapsHeader .site-brand svg .aps-l1,
#quantapsHeader .site-brand svg .aps-l2,
#quantapsHeader .site-brand svg .aps-l3,
#mobileMenu .site-brand svg .aps-l1,
#mobileMenu .site-brand svg .aps-l2,
#mobileMenu .site-brand svg .aps-l3{
  transform-origin:0% 92%;
  animation:qt-aps-domino .6s cubic-bezier(.2,.8,.25,1) both;
}

#quantapsHeader .site-brand svg .aps-l2,
#mobileMenu .site-brand svg .aps-l2{
  animation-delay:.08s;
}

#quantapsHeader .site-brand svg .aps-l3,
#mobileMenu .site-brand svg .aps-l3{
  animation-delay:.16s;
}

/* =========================================================
   HAMBURGER
   ========================================================= */
#quantapsHeader .hamburger{
  display:none;
  position:relative;
  width:30px;
  height:30px;
  cursor:pointer;
  border:0;
  background:transparent;
  justify-self:end;
  flex:0 0 auto;
  -webkit-tap-highlight-color:transparent;
}

#quantapsHeader .hamburger .bar{
  position:absolute;
  left:0;
  width:100%;
  height:3px;
  background:var(--qt-lav);
  border-radius:3px;
  transition:transform .28s ease, top .28s ease, opacity .2s ease;
}

#quantapsHeader .hamburger .bar:nth-child(1){ top:4px; }
#quantapsHeader .hamburger .bar:nth-child(2){ top:13px; }
#quantapsHeader .hamburger .bar:nth-child(3){ top:22px; }

#quantapsHeader .hamburger.active .bar:nth-child(1){
  transform:rotate(45deg);
  top:13px;
}

#quantapsHeader .hamburger.active .bar:nth-child(2){
  opacity:0;
}

#quantapsHeader .hamburger.active .bar:nth-child(3){
  transform:rotate(-45deg);
  top:13px;
}

/* =========================================================
   SEARCH
   ========================================================= */
#quantapsHeader .qt-search{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:var(--qt-ink);
  background:linear-gradient(180deg, #fff, #f7f9ff);
  border:1px solid var(--qt-line-strong);
  border-radius:14px;
  box-shadow:0 8px 18px rgba(106,126,255,.12);
  padding:8px 12px;
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}

#quantapsHeader .qt-search:focus-within{
  border-color:rgba(106,126,255,.36);
  box-shadow:0 10px 22px rgba(106,126,255,.16);
}

#quantapsHeader .qt-search svg.qt-ic{
  color:var(--qt-lav);
}

#quantapsHeader .qt-search input{
  flex:1 1 auto;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  font:600 13px/1.3 Inter,system-ui,sans-serif;
  color:var(--qt-ink);
}

#quantapsHeader .qt-search input::placeholder{
  color:rgba(16,21,38,.58);
}

#quantapsHeader .qt-search button{
  flex:0 0 auto;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg, var(--qt-lav), var(--qt-lav2));
  color:#fff;
  font:800 12px/1 Inter,system-ui,sans-serif;
  padding:7px 12px;
  box-shadow:0 8px 18px rgba(106,126,255,.20);
  cursor:pointer;
  transition:transform .16s ease, filter .16s ease;
}

#quantapsHeader .qt-search button:hover{
  transform:translateY(-1px);
  filter:saturate(1.04);
}

#quantapsHeader .qt-search button:active{
  transform:scale(.98);
}

/* =========================================================
   LANG SWITCH
   ========================================================= */
#quantapsHeader .qt-lang,
#mobileMenu .qt-lang{
  display:inline-flex;
  align-items:center;
  gap:0;
  padding:4px;
  border-radius:999px;
  background:linear-gradient(180deg, #fff, #f7f9ff);
  border:1px solid var(--qt-line-strong);
  box-shadow:0 8px 18px rgba(106,126,255,.10);
  flex:0 0 auto;
}

#quantapsHeader .qt-lang-btn,
#mobileMenu .qt-lang-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:44px;
  height:32px;
  padding:0 12px;
  border-radius:999px;
  text-decoration:none;
  font:900 12px/1 Inter,system-ui,sans-serif;
  letter-spacing:.4px;
  color:rgba(16,21,38,.78);
  -webkit-tap-highlight-color:transparent;
  transition:transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

#quantapsHeader .qt-lang-btn:hover,
#mobileMenu .qt-lang-btn:hover{
  color:var(--qt-lav);
  background:var(--qt-soft);
}

#quantapsHeader .qt-lang-btn[aria-current="true"],
#mobileMenu .qt-lang-btn[aria-current="true"]{
  color:#fff;
  background:linear-gradient(135deg, var(--qt-lav), var(--qt-lav2));
  box-shadow:0 8px 18px rgba(106,126,255,.20);
}

#quantapsHeader .qt-lang-btn:active,
#mobileMenu .qt-lang-btn:active{
  transform:scale(.98);
}

#quantapsHeader .qt-lang-flag,
#mobileMenu .qt-lang-flag{
  font-size:16px;
  line-height:1;
  transform:translateY(-.5px);
}

#mobileMenu .qt-lang--mobile{
  width:100%;
  margin:0 0 10px;
  justify-content:space-between;
}

#mobileMenu .qt-lang--mobile .qt-lang-btn{
  flex:1 1 0;
  height:40px;
  font-size:13px;
}

#mobileMenu .qt-lang--mobile .qt-lang-btn + .qt-lang-btn{
  margin-left:6px;
}

/* =========================================================
   DESKTOP LANGUAGE DROPDOWN
   ========================================================= */
#quantapsHeader .qt-lang--desktop{
  display:inline-flex;
  align-items:center;
  background:none;
  border:none;
  box-shadow:none;
  padding:0;
  border-radius:0;
}

#quantapsHeader .qt-lang--desktop .qt-lang-dd{
  position:relative;
}

#quantapsHeader .qt-lang--desktop .qt-lang-current{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(106,126,255,.26);
  background:linear-gradient(180deg,#fff,#f7f9ff);
  color:var(--qt-ink);
  height:42px;
  min-width:auto;
  padding:0 12px 0 14px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font:800 14px/1 Inter,system-ui,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(106,126,255,.10);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

#quantapsHeader .qt-lang--desktop .qt-lang-current:hover,
#quantapsHeader .qt-lang--desktop .qt-lang-dd:focus-within .qt-lang-current{
  border-color:rgba(106,126,255,.38);
  box-shadow:0 10px 22px rgba(106,126,255,.14);
  background:linear-gradient(180deg,#fff,#f8faff);
}

#quantapsHeader .qt-lang--desktop .qt-lang-current:active{
  transform:scale(.98);
}

#quantapsHeader .qt-lang-current-main{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

#quantapsHeader .qt-lang-current-flag{
  font-size:16px;
  line-height:1;
  transform:translateY(-.5px);
}

#quantapsHeader .qt-lang-current-label{
  white-space:nowrap;
}

#quantapsHeader .qt-lang-current-caret{
  width:16px;
  height:16px;
  flex:0 0 16px;
  position:relative;
  display:block;
}

#quantapsHeader .qt-lang-current-caret::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  border-right:2px solid var(--qt-lav);
  border-bottom:2px solid var(--qt-lav);
  transform:translate(-50%,-62%) rotate(45deg);
  transition:transform .18s ease;
  opacity:.95;
}

#quantapsHeader .qt-lang--desktop .qt-lang-dd:hover .qt-lang-current-caret::before,
#quantapsHeader .qt-lang--desktop .qt-lang-dd:focus-within .qt-lang-current-caret::before{
  transform:translate(-50%,-38%) rotate(225deg);
}

#quantapsHeader .qt-lang-current-chev{
  display:none !important;
}

#quantapsHeader .qt-lang--desktop .qt-lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:180px;
  display:grid;
  gap:6px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(106,126,255,.18);
  background:#fff;
  box-shadow:0 16px 34px rgba(24,32,64,.14);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:5400;
}

#quantapsHeader .qt-lang--desktop .qt-lang-dd:hover .qt-lang-menu,
#quantapsHeader .qt-lang--desktop .qt-lang-dd:focus-within .qt-lang-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

#quantapsHeader .qt-lang--desktop .qt-lang-option{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 12px;
  border-radius:12px;
  text-decoration:none;
  color:var(--qt-ink);
  background:transparent;
  font:700 13px/1.2 Inter,system-ui,sans-serif;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}

#quantapsHeader .qt-lang--desktop .qt-lang-option:hover{
  background:rgba(106,126,255,.08);
  color:var(--qt-ink2);
  transform:translateX(1px);
}

#quantapsHeader .qt-lang-option-flag{
  font-size:16px;
  line-height:1;
}

#quantapsHeader .qt-lang-option-label{
  flex:1 1 auto;
}

#quantapsHeader .qt-lang-option-code{
  color:var(--qt-lav);
  font-weight:800;
}

#quantapsHeader .qt-lang--desktop .qt-lang-btn{
  display:none;
}

/* =========================================================
   DESKTOP MEGA MENU
   ========================================================= */
@media (min-width:993px){
  #quantapsHeader{
    isolation:isolate;
  }

  #quantapsHeader .qt-menubar{
    position:relative;
    z-index:5200;
    overflow:visible;
    border-top:1px solid var(--qt-line);
    border-bottom:1px solid var(--qt-line);
    background:#fff;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  #quantapsHeader .qt-menu-shell{
    position:relative;
    width:100%;
    max-width:100%;
    overflow:visible;
    padding:0;
  }

  #quantapsHeader .qt-menu-root{
    list-style:none;
    margin:0;
    padding:0 14px;
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:0;
    white-space:nowrap;
    overflow-x:auto;
    overflow-y:visible;
    scrollbar-width:none;
  }

  #quantapsHeader .qt-menu-root::-webkit-scrollbar{
    display:none;
  }

  #quantapsHeader .qt-menu-item{
    position:relative;
    display:flex;
    align-items:stretch;
    flex:0 0 auto;
    border-bottom:2px solid transparent;
    transition:border-color .16s ease, background .16s ease;
  }

  #quantapsHeader .qt-menu-item:hover,
  #quantapsHeader .qt-menu-item:focus-within,
  #quantapsHeader .qt-menu-item.is-current{
    border-bottom-color:var(--qt-lav);
  }

  #quantapsHeader .qt-menu-item--has-sub{
    position:static;
  }

  #quantapsHeader .qt-menu-link,
  #quantapsHeader .qt-menu-trigger{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    background:none;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:48px;
    padding:0 12px;
    margin:0;
    font:700 14px/1 Inter,system-ui,sans-serif;
    color:var(--qt-ink);
    white-space:nowrap;
    cursor:pointer;
    position:relative;
    transition:color .16s ease, background .16s ease;
  }

  #quantapsHeader .qt-menu-link:hover,
  #quantapsHeader .qt-menu-trigger:hover,
  #quantapsHeader .qt-menu-item:hover > .qt-menu-link,
  #quantapsHeader .qt-menu-item:hover > .qt-menu-trigger{
    color:var(--qt-ink2);
    background:rgba(106,126,255,.045);
  }

  #quantapsHeader .qt-menu-link.is-active{
    color:var(--qt-lav);
  }

  #quantapsHeader .qt-menu-item--has-sub > .qt-menu-trigger{
    padding-right:22px;
  }

  #quantapsHeader .qt-menu-item--has-sub > .qt-menu-trigger::after{
    content:"";
    position:absolute;
    right:8px;
    top:50%;
    width:7px;
    height:7px;
    margin-top:-6px;
    border-right:1.8px solid currentColor;
    border-bottom:1.8px solid currentColor;
    transform:rotate(45deg);
    opacity:.72;
    transition:transform .18s ease, opacity .18s ease;
  }

  #quantapsHeader .qt-menu-item--has-sub:hover > .qt-menu-trigger::after,
  #quantapsHeader .qt-menu-item--has-sub:focus-within > .qt-menu-trigger::after{
    transform:rotate(225deg);
    opacity:.95;
  }

  #quantapsHeader .qt-menu-item--has-sub::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:18px;
  }

  #quantapsHeader .qt-submenu{
    display:block;
    position:absolute;
    top:calc(100% + 1px);
    left:50%;
    transform:translateX(-50%);
    width:100vw;
    max-width:100vw;
    min-width:100vw;
    padding:18px 24px 20px;
    background:#fff;
    border-top:1px solid rgba(106,126,255,.10);
    border-bottom:1px solid rgba(106,126,255,.14);
    border-radius:0;
    box-shadow:0 18px 36px rgba(24,32,64,.12);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform-origin:top center;
    transition:opacity .16s ease, visibility .16s ease, transform .18s ease;
    z-index:5300;
  }

  #quantapsHeader .qt-submenu::before{
    content:"";
    position:absolute;
    inset:0;
    background:#fff;
    z-index:-1;
  }

  #quantapsHeader .qt-menu-item--has-sub:hover > .qt-submenu,
  #quantapsHeader .qt-menu-item--has-sub:focus-within > .qt-submenu,
  #quantapsHeader .qt-menu-item--has-sub.is-open > .qt-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%);
  }

  #quantapsHeader .qt-submenu-head,
  #quantapsHeader .qt-submenu-grid{
    width:min(1380px, calc(100vw - 48px));
    margin-left:auto;
    margin-right:auto;
  }

  #quantapsHeader .qt-submenu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:0 2px 12px;
    margin-bottom:12px;
    border-bottom:1px solid rgba(106,126,255,.10);
  }

  #quantapsHeader .qt-submenu-title{
    font:800 15px/1.2 Inter,system-ui,sans-serif;
    color:var(--qt-ink2);
  }

  #quantapsHeader .qt-submenu-all{
    text-decoration:none;
    color:var(--qt-lav);
    font:800 13px/1 Inter,system-ui,sans-serif;
    white-space:nowrap;
  }

  #quantapsHeader .qt-submenu-grid{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:8px 22px;
    align-items:start;
  }

  #quantapsHeader .qt-submenu-link{
    display:block;
    text-decoration:none;
    color:var(--qt-ink);
    font:650 14px/1.35 Inter,system-ui,sans-serif;
    padding:6px 2px;
    border-radius:8px;
    white-space:normal;
    transition:color .16s ease, background .16s ease, transform .16s ease;
  }

  #quantapsHeader .qt-submenu-link:hover{
    color:var(--qt-ink2);
    background:rgba(106,126,255,.05);
    transform:translateX(1px);
  }
}

/* =========================================================
   MOBILE MENU
   ========================================================= */
.mobile-menu{
  position:fixed;
  inset:0;
  display:none;
  z-index:99990;
  overflow:hidden;
}

.mobile-menu.active{
  display:block;
}

.menu-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  opacity:0;
  background:rgba(16,21,38,.28);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  transition:opacity .22s ease;
}

.mobile-menu.active .menu-overlay{
  opacity:1;
}

.drawer{
  position:fixed;
  top:0;
  right:-100%;
  z-index:2;
  width:min(82vw, 380px);
  max-width:380px;
  height:100%;
  padding:118px 14px 60px;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,248,255,.98));
  border-left:1px solid var(--qt-line-strong);
  box-shadow:-18px 0 42px rgba(24,32,64,.20);
  transition:right .28s ease;
}

.mobile-menu.active .drawer{
  right:0;
}

.drawer::before{
  content:"";
  position:absolute;
  inset:-20% -40% 60% -40%;
  background:
    radial-gradient(60% 70% at 20% 10%, rgba(106,126,255,.16), transparent 55%),
    radial-gradient(60% 70% at 80% 0%, rgba(97,242,255,.12), transparent 60%);
  filter:blur(28px);
  z-index:0;
  pointer-events:none;
}

body.qt-mm-open #quantapsHeader{
  z-index:1200 !important;
}

#mobileMenu .drawer .site-brand{
  position:fixed;
  top:0;
  right:0;
  z-index:4;
  width:min(82vw, 380px);
  max-width:380px;
  height:96px;
  display:flex;
  align-items:center;
  padding:16px 22px;
  background:linear-gradient(180deg, rgba(245,248,255,.97), rgba(238,243,250,.94));
  border-left:1px solid rgba(106,126,255,.22);
  border-bottom:1px solid rgba(106,126,255,.18);
  box-shadow:0 8px 20px rgba(24,32,64,.08);
  -webkit-backdrop-filter:blur(10px) saturate(150%);
  backdrop-filter:blur(10px) saturate(150%);
}

#mobileMenu .drawer a,
#mobileMenu .drawer button{
  color:var(--qt-ink);
}

#mobileMenu .drawer svg.qt-ic{
  color:var(--qt-lav);
}

.floating-close{
  position:fixed;
  top:24px;
  right:18px;
  z-index:5;
  width:46px;
  height:46px;
  border:1px solid rgba(106,126,255,.26);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,247,255,.98));
  box-shadow:0 8px 20px rgba(24,32,64,.14);
  color:var(--qt-lav);
  font-size:20px;
  cursor:pointer;
  -webkit-backdrop-filter:blur(10px) saturate(150%);
  backdrop-filter:blur(10px) saturate(150%);
  transition:transform .16s ease, background .16s ease;
}

.floating-close:hover{
  transform:scale(1.03);
  background:linear-gradient(180deg, #fff, #f6f8ff);
}

/* =========================================================
   DRAWER NAV / CONTACT
   ========================================================= */
.drawer .mnav{
  position:relative;
  z-index:1;
}

.drawer .mnav-sec,
.drawer .mnav-list a{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  text-decoration:none;
  color:var(--qt-ink);
  font:800 16px/1.2 Inter,system-ui,sans-serif;
  padding:14px 12px;
  border-radius:18px;
  border:1px solid rgba(106,126,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,249,255,.92));
  box-shadow:0 8px 18px rgba(106,126,255,.10);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.drawer .mnav-sec{
  cursor:pointer;
}

.drawer .mnav-sec:hover,
.drawer .mnav-list a:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(106,126,255,.14);
}

.drawer .mnav-sec:active,
.drawer .mnav-list a:active{
  transform:scale(.99);
}

.drawer .mnav-ico{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--qt-lav);
  background:linear-gradient(145deg, rgba(106,126,255,.14), rgba(97,242,255,.10));
  box-shadow:inset 0 0 0 1px rgba(106,126,255,.20);
}

.drawer .mnav-chev{
  margin-left:auto;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:rgba(106,126,255,.95);
  background:rgba(106,126,255,.08);
  box-shadow:inset 0 0 0 1px rgba(106,126,255,.12);
  transition:transform .2s ease, background .2s ease;
}

.drawer .mnav-sec[aria-expanded="true"] .mnav-chev{
  transform:rotate(180deg);
  background:rgba(97,242,255,.10);
}

.drawer .mnav-list{
  list-style:none;
  margin:12px 0 0;
  padding:0;
  display:grid;
  gap:12px;
}

.drawer .mnav-sub{
  margin-top:10px;
  margin-left:0;
  margin-right:0;
  border-radius:18px;
  border:1px solid rgba(106,126,255,.14);
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 22px rgba(24,32,64,.08);
  overflow:hidden;
  max-height:0;
  opacity:0;
  padding:0 10px;
  transition:max-height .26s ease, opacity .18s ease, padding .18s ease;
}

.drawer .mnav-sub.open{
  max-height:520px;
  opacity:1;
  padding:12px 10px;
  overflow:auto;
  scrollbar-width:none;
}

.drawer .mnav-sub.open::-webkit-scrollbar{
  display:none;
}

.drawer .mnav-sublist{
  list-style:none;
  margin:0;
  padding:0;
}

.drawer .mnav-sublist--platforms{
  display:grid;
  gap:10px;
}

.drawer .mplat{
  border-radius:16px;
  border:1px solid rgba(106,126,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,249,255,.92));
  box-shadow:0 8px 18px rgba(24,32,64,.06);
  overflow:hidden;
}

.drawer .mplat-btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  border:0;
  background:transparent;
  color:var(--qt-ink);
  padding:14px;
  cursor:pointer;
  font:800 15px/1.2 Inter,system-ui,sans-serif;
}

.drawer .mplat-name{
  flex:1 1 auto;
}

.drawer .mplat-chev{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:rgba(106,126,255,.95);
  background:rgba(106,126,255,.08);
  box-shadow:inset 0 0 0 1px rgba(106,126,255,.12);
  transition:transform .2s ease, background .2s ease;
}

.drawer .mplat-btn[aria-expanded="true"] .mplat-chev{
  transform:rotate(90deg);
  background:rgba(97,242,255,.10);
}

.drawer .mplat-panel{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .24s ease, opacity .18s ease;
}

.drawer .mplat-panel.open{
  max-height:320px;
  opacity:1;
}

.drawer .mplat-links{
  display:grid;
  gap:6px;
  padding:0 12px 12px;
}

.drawer .mplat-link{
  display:block;
  text-decoration:none;
  color:var(--qt-ink);
  font:650 13px/1.3 Inter,system-ui,sans-serif;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(106,126,255,.05);
  border:1px solid rgba(106,126,255,.08);
}

.drawer .mplat-link--all{
  color:var(--qt-lav);
  font-weight:800;
}

.drawer .mnav-allservices{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:12px;
  border-radius:14px;
  text-decoration:none;
  font:800 13px/1 Inter,system-ui,sans-serif;
  color:#fff !important;
  background:linear-gradient(135deg, var(--qt-lav), var(--qt-lav2));
  box-shadow:0 8px 18px rgba(106,126,255,.18);
}

.drawer .mnav-contact{
  margin-top:10px;
  display:grid;
  gap:8px;
}

.drawer .ct-card{
  width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  padding:8px 10px;
  border-radius:16px;
  border:1px solid rgba(106,126,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(245,247,255,.98));
  box-shadow:0 8px 16px rgba(24,32,64,.08);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
  overflow:hidden;
}

.drawer .ct-card:hover{
  transform:translateY(-1px);
  border-color:rgba(106,126,255,.18);
  box-shadow:0 10px 20px rgba(24,32,64,.10);
}

.drawer .ct-card:active{
  transform:scale(.99);
}

.drawer .ct-ico{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
}

.drawer .ct-meta{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.drawer .ct-top{
  font:600 11px/1 Inter,system-ui,sans-serif;
  color:var(--qt-muted);
}

.drawer .ct-main{
  font:700 13px/1.08 Inter,system-ui,sans-serif;
  color:#0b1227;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.drawer .ct-go{
  margin-left:auto;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:rgba(106,126,255,.95);
  background:rgba(106,126,255,.08);
  box-shadow:inset 0 0 0 1px rgba(106,126,255,.12);
  transition:transform .16s ease, background .16s ease;
}

.drawer .ct-card:hover .ct-go{
  background:rgba(106,126,255,.12);
  transform:translateX(1px);
}

/* =========================================================
   SUGGEST PORTAL
   ========================================================= */
.qt-suggest-portal{
  position:absolute;
  z-index:9999;
  display:none;
  overflow:hidden;
  background:rgba(255,255,255,.98);
  border:1px solid var(--qt-line-strong);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(106,126,255,.16);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}

.qt-suggest-portal.open{
  display:block;
}

.qt-suggest-portal .sug{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  padding:10px 14px;
  text-align:left;
  font:600 14px/1.4 Inter,system-ui,sans-serif;
  color:#0f172a;
  cursor:pointer;
  transition:background .16s ease, color .16s ease;
}

.qt-suggest-portal .sug:hover{
  background:rgba(106,126,255,.08);
  color:var(--qt-lav);
}

.qt-suggest-portal .title{
  pointer-events:none;
}

/* =========================================================
   SCROLL TO TOP
   ========================================================= */
#scrollToTop{
  position:fixed;
  right:18px;
  bottom:95px;
  z-index:9999;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.45);
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:rgba(245,248,255,.94);
  background:linear-gradient(135deg, #0a0f1f, #101526);
  box-shadow:0 8px 20px rgba(0,0,0,.32);
  -webkit-backdrop-filter:blur(10px) saturate(160%);
  backdrop-filter:blur(10px) saturate(160%);
  transition:transform .18s ease, box-shadow .18s ease;
}

#scrollToTop svg.qt-ic{
  width:18px;
  height:18px;
}

#scrollToTop.visible{
  display:flex;
}

#scrollToTop:hover{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 12px 24px rgba(15,23,42,.42);
}

/* =========================================================
   SAFE HIDE WHEN MOBILE MENU OPEN
   ========================================================= */
body.qt-mm-open .qtnav{
  transform:translateY(110%);
  opacity:0;
  pointer-events:none;
}

/* =========================================================
   TOPBAR
   ========================================================= */
.qt-topbar{
  width:100%;
  background:var(--qt-bg);
  padding:8px 14px;
  position:relative;
  overflow:hidden;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 22px rgba(0,0,0,.16);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:40px;
  display:flex;
  align-items:center;
}

.qt-topbar::before{
  content:"";
  position:absolute;
  inset:-40% -10%;
  background:
    radial-gradient(circle at 18% 50%, rgba(255,255,255,.14), transparent 52%),
    radial-gradient(circle at 85% 35%, rgba(255,255,255,.10), transparent 60%);
  opacity:.55;
  pointer-events:none;
  z-index:1;
}

.qt-topbar-inner{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#fff;
  position:relative;
  z-index:2;
  width:100%;
  min-width:0;
}

.qt-topbar .qt-topbar-ico{
  width:18px !important;
  height:18px !important;
  display:inline-block !important;
  flex:0 0 auto !important;
  vertical-align:-0.14em !important;
  color:currentColor !important;
  line-height:1 !important;
}

.qt-topbar svg.qt-topbar-ico{
  max-width:18px !important;
  max-height:18px !important;
}

.qt-topbar .qt-topbar-ico use{
  display:inline !important;
}

.qt-topbar-text{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:800;
  font-size:.90rem;
  letter-spacing:.12px;
  text-shadow:0 1px 2px rgba(0,0,0,.16);
}

.qt-topbar-cta{
  flex:0 0 auto;
  font:900 12px/1 Inter,system-ui;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 18px rgba(0,0,0,.10);
  backdrop-filter:none;
}

.qt-topbar i,
.qt-topbar .fa,
.qt-topbar .fas,
.qt-topbar .far,
.qt-topbar .fab{
  display:none !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1400px){
  #quantapsHeader .qt-menu-link,
  #quantapsHeader .qt-menu-trigger{
    padding:0 10px;
    font-size:13px;
  }

  #quantapsHeader .qt-menu-item--has-sub > .qt-menu-trigger{
    padding-right:20px;
  }

  #quantapsHeader .qt-submenu-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width:1150px){
  #quantapsHeader .qt-submenu-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:992px){
  #quantapsHeader .hamburger{
    display:flex;
  }

  #quantapsHeader .qt-menubar,
  #quantapsHeader .qt-search,
  #quantapsHeader .qt-lang{
    display:none;
  }

  #quantapsHeader .qt-head{
    padding-top:10px;
    padding-bottom:10px;
    padding-left:calc(14px + env(safe-area-inset-left));
    padding-right:calc(14px + env(safe-area-inset-right));
    gap:12px;
  }

  #quantapsHeader .hamburger{
    width:46px;
    height:38px;
  }

  #quantapsHeader .hamburger .bar:nth-child(1){ top:8px; }
  #quantapsHeader .hamburger .bar:nth-child(2){ top:17px; }
  #quantapsHeader .hamburger .bar:nth-child(3){ top:26px; }

  #quantapsHeader .site-brand svg{
    height:76px;
  }
}

@media (max-width:600px){
  .qt-topbar{
    padding:8px 12px;
    min-height:38px;
  }

  .qt-topbar-text{
    font-size:.86rem;
  }

  .qt-topbar-cta{
    padding:6px 9px;
    font-size:11.5px;
  }
}

@media (max-width:420px){
  .drawer{
    width:min(88vw, 360px);
  }

  #mobileMenu .drawer .site-brand{
    width:min(88vw, 360px);
    padding:16px 18px;
  }

  #quantapsHeader .site-brand svg,
  #mobileMenu .site-brand svg{
    height:104px;
  }

  #quantapsHeader .site-brand svg .tagline,
  #mobileMenu .site-brand svg .tagline{
    font-size:12px;
    opacity:.92;
  }

  .drawer .ct-card{
    padding:7px 9px;
    border-radius:14px;
  }

  .drawer .ct-top{
    font-size:10.5px;
  }

  .drawer .ct-main{
    font-size:12.5px;
  }

  .drawer .ct-go{
    width:24px;
    height:24px;
    flex-basis:24px;
    border-radius:9px;
  }
}

@media (min-width:1440px){
  #quantapsHeader .site-brand svg{
    height:90px;
  }
}

@media (hover:hover){
  .qt-topbar-inner:hover .qt-topbar-cta{
    background:rgba(255,255,255,.24);
    transform:translateY(-1px);
    transition:transform .18s ease, background .18s ease;
  }
}

@media (prefers-reduced-motion:reduce){
  #quantapsHeader .site-brand svg *,
  #mobileMenu .site-brand svg *{
    animation:none !important;
  }
}