/* ── Reset ──────────────────────────────────────────────────────────────── */
*{box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100%}
::selection{background:rgba(74,158,255,.35);color:#fff}

/* ── Keyframe animations ────────────────────────────────────────────────── */
@keyframes cz-wave   {0%,100%{transform:scaleY(.16)}50%{transform:scaleY(1)}}
@keyframes cz-pulse  {0%{transform:scale(1);opacity:.9}50%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:.9}}
@keyframes cz-ring   {0%{transform:scale(.7);opacity:.55}100%{transform:scale(2.6);opacity:0}}
@keyframes cz-drift  {0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3%,5%) scale(1.09)}}
@keyframes cz-reveal {0%{opacity:0;transform:translateY(28px)}100%{opacity:1;transform:none}}
@keyframes cz-float  {0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ── Mobile navigation ──────────────────────────────────────────────────── */
#cz-burger {
  display: none;
}

#cz-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  top: 65px;
  z-index: 49;
  background: rgba(13,17,23,0.97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid rgba(255,255,255,0.08);
  flex-direction: column;
  padding: 24px clamp(20px,5vw,40px);
  gap: 4px;
  overflow-y: auto;
}

#cz-mobile-menu.open { display: flex; }

#cz-mobile-menu a {
  color: #aab4c2;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  font-family: Assistant, sans-serif;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: color .2s;
}
#cz-mobile-menu a:active { color: #fff; }

#cz-mobile-menu .cz-mobile-lang {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

#cz-mobile-menu .cz-mobile-cta {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg,#4A9EFF,#7C6FF7);
  color: #fff;
  border-radius: 999px;
  padding: 13px 28px;
  font-family: Assistant, sans-serif;
  font-weight: 700;
  font-size: 16px;
  border: none;
  cursor: pointer;
  width: 100%;
}

/* ── Nav CTA: full text on desktop, short on mobile ─────────────────────── */
.cz-cta-short { display: none; }

/* ── Responsive breakpoint ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  #cz-nav-links    { display: none !important; }
  #cz-lang-switcher{ display: none !important; }

  .cz-cta-full  { display: none; }
  .cz-cta-short { display: inline; }

  #cz-burger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 10px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
    padding: 0;
    flex-shrink: 0;
  }
  #cz-burger span {
    display: block;
    width: 18px;
    height: 2px;
    background: #c4cdd9;
    border-radius: 2px;
    transition: transform .25s, opacity .25s;
  }
  #cz-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  #cz-burger.open span:nth-child(2) { opacity: 0; }
  #cz-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

/* ── Modal form placeholders ────────────────────────────────────────────── */
#cz-modal input[type=text]::placeholder,
#cz-modal input[type=tel]::placeholder { color: #6b7585; }
