/* ==========================================================================
   AlphaSync Global — Responsive rules
   Breakpoints: 1240 (navigation collapses), 960 (tablet), 640 (mobile)
   ========================================================================== */

/* --- Mobile navigation panel (hidden on desktop) ------------------------- */
.mobile-nav { display: none; }

@media (max-width: 1340px) {
  .nav__item--home { display: none; }
}

@media (max-width: 1240px) {
  .nav, .header-cta .btn--ghost { display: none; }
  .header-cta { margin-left: auto; }
  .nav-toggle {
    display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
    background: none; border: 1px solid var(--line-dark-strong); border-radius: var(--r-control); color: var(--on-dark); cursor: pointer;
  }
  .nav-toggle svg { width: 20px; height: 20px; }
  .nav-toggle .icon-close, .nav-toggle[aria-expanded="true"] .icon-open { display: none; }
  .nav-toggle[aria-expanded="true"] .icon-close { display: block; }

  .mobile-nav {
    display: block; position: fixed; inset: var(--header-h) 0 0 0; z-index: 99; overflow-y: auto; overscroll-behavior: contain;
    background: var(--navy-900); color: var(--on-dark); padding: var(--s-4) var(--gutter) var(--s-8);
    visibility: hidden; opacity: 0; transform: translateY(-8px);
    transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0.2s;
  }
  .mobile-nav.is-open { visibility: visible; opacity: 1; transform: none; }
  .mobile-nav a, .mobile-nav summary { display: flex; justify-content: space-between; align-items: center; min-height: 52px; color: var(--on-dark); text-decoration: none; font-size: 1.125rem; font-weight: 600; letter-spacing: -0.015em; border-bottom: 1px solid var(--line-dark); cursor: pointer; list-style: none; }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--emerald-500); border-bottom: 2px solid var(--emerald-500); transform: rotate(45deg); margin-right: 4px; transition: transform 0.2s; }
  .mobile-nav details[open] summary::after { transform: rotate(-135deg); }
  .mobile-nav details a { font-size: 1rem; font-weight: 500; color: var(--on-dark-2); padding-left: var(--s-4); min-height: 46px; }
  .mobile-nav .btn-row { margin-top: var(--s-6); }
  .mobile-nav .btn-row .btn { flex: 1; border-bottom-width: 1px; font-size: 0.9375rem; justify-content: center; min-height: 48px; }
  .mobile-nav .btn--primary { border-bottom-color: transparent; }
  body.nav-open { overflow: hidden; }
}

@media (max-width: 960px) {
  .rail, .split, .hero__grid, .pblock, .cta, .sol, .page-hero--split .container { grid-template-columns: minmax(0, 1fr); }
  .pblock:nth-child(even), .split.split--flip { grid-template-columns: minmax(0, 1fr); }
  .rail__head { position: static; }
  .split--flip > :first-child, .pblock:nth-child(even) > :first-child { order: 0; }
  .hero__copy { padding-bottom: 0; }
  .hero__visual .mock { margin-right: 0; }
  .cta .btn-row { justify-content: flex-start; }
  .defs--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__about { grid-column: 1 / -1; }
  .hero__strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero__strip li:nth-child(3) { padding-left: 0; border-left: 0; }
  .hero__strip li:nth-child(n+3) { border-top: 1px solid var(--line-dark); }
  .plist__row { grid-template-columns: 1fr auto; }
  .plist__row p { grid-column: 1 / -1; grid-row: 2; }
  .alist__row { grid-template-columns: 1fr; gap: 4px; }
  .pblock { padding-block: var(--s-7); }
}

@media (max-width: 640px) {
  :root { --header-h: 64px; }
  .defs, .defs--3, .ticks, .not-list, .form__row, .topics, .jump { grid-template-columns: minmax(0, 1fr); }
  .brand__name span { display: none; }
  .header-cta .btn--primary { display: none; }
  .mock__body--2, .mock__body--side { grid-template-columns: minmax(0, 1fr); }
  .mock__body--side .m-side { display: none; }
  .mock__tabs span:not(.is-on) { display: none; }
  .m-quotes { grid-template-columns: 1fr 1fr; }
  .m-quotes .m-quote:nth-child(3) { display: none; }
  .hero__strip ul { grid-template-columns: minmax(0, 1fr); }
  .hero__strip li, .hero__strip li + li { padding: var(--s-4) 0; border-left: 0; }
  .hero__strip li + li { border-top: 1px solid var(--line-dark); }
  .footer__top { grid-template-columns: 1fr 1fr; padding-block: var(--s-7) var(--s-6); }
  .btn-row .btn { flex: 1 1 auto; }
  .spec th { width: 40%; }
  .steps > li { grid-template-columns: 40px 1fr; }
  .m-msg--user { margin-left: 8%; }
  .mock__foot span:last-child { display: none; }
}

@media print {
  .site-header, .site-footer, .mobile-nav, .cta, .btn { display: none !important; }
  .band, .page-hero { padding-block: 1.5rem; background: #fff !important; color: #000 !important; }
}

@media (max-width: 960px) {
  .preview-pair, .rail--form { grid-template-columns: minmax(0, 1fr); }
  .steps--row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
