/* Mobile navigation and form controls */
.site-header .nav { position: relative; }
.menu-toggle {
  display: none;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid rgba(173, 207, 220, .3);
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
  color: #eaf4f7;
  cursor: pointer;
}
.menu-toggle:hover { border-color: rgba(50, 216, 230, .65); background: rgba(50, 216, 230, .08); }
.menu-toggle:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.menu-toggle-icon { display: grid; gap: 5px; width: 19px; }
.menu-toggle-icon span { display: block; width: 19px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:last-child { transform: translateY(-7px) rotate(-45deg); }
#primary-navigation > .mobile-menu-cta { display: none !important; }

.lead-card textarea {
  display: block;
  width: 100%;
  min-height: 96px;
  margin-top: 7px;
  padding: 12px 13px;
  border: 1px solid #26374a;
  border-radius: 7px;
  background: #08121f;
  color: #eef8fa;
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  resize: vertical;
  transition: border-color .2s, box-shadow .2s;
}
.lead-card textarea::placeholder { color: #6f858f; }
.lead-card textarea:hover { border-color: #486273; }
.lead-card textarea:focus { border-color: var(--cyan); outline: 0; box-shadow: 0 0 0 3px rgba(50, 216, 230, .12); }

@media (max-width: 960px) {
  .site-header .nav { gap: 12px; }
  .site-header .nav > .button-small { display: none !important; }
  .site-header .menu-toggle { display: inline-flex; }
  .site-header .nav > #primary-navigation {
    position: absolute;
    z-index: 60;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    margin: 0;
    padding: 12px;
    border: 1px solid rgba(173, 207, 220, .18);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: rgba(7, 16, 29, .98);
    box-shadow: 0 18px 36px rgba(0, 0, 0, .35);
  }
  .site-header .nav.is-menu-open > #primary-navigation { display: flex; }
  .site-header .nav > #primary-navigation > a:not(.mobile-menu-cta) {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 7px;
    color: #dce9ed;
  }
  .site-header .nav > #primary-navigation > a:not(.mobile-menu-cta):hover { background: rgba(50, 216, 230, .08); }
  .site-header .nav.is-menu-open > #primary-navigation > .mobile-menu-cta {
    display: inline-flex !important;
    min-height: 46px;
    margin-top: 5px;
  }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .site-header .nav { min-height: 68px; gap: 8px; }
  .site-header .nav .partner-brand { flex: 0 1 auto; width: min(200px, calc(100% - 132px)); min-width: 0; }
  .site-header .language-toggle { flex: 0 0 62px; }
  .site-header .menu-toggle { flex-basis: 44px; }
  .site-header .nav > #primary-navigation { top: calc(100% + 1px); }
  .process-grid { grid-template-columns: 1fr; }
  .lead-card textarea { min-height: 88px; }
}

@media (max-width: 380px) {
  .site-header .nav .partner-brand { width: min(170px, calc(100% - 122px)); }
  .hero h1 { font-size: clamp(34px, 10vw, 40px); letter-spacing: -1.5px; }
  .lead-card form, .card-top { padding: 17px; }
  .lead-card .button-full { padding-inline: 14px; }
}

html[dir="rtl"] .site-header .nav > #primary-navigation { text-align: right; }
html[dir="rtl"] .site-header .nav > #primary-navigation > a:not(.mobile-menu-cta) { justify-content: flex-start; }

@media (prefers-reduced-motion: reduce) {
  .menu-toggle-icon span { transition: none; }
}
