/* ==========================================================================
   CYANAQ Systems — responsive rules
   Breakpoints: 1180 (small laptop) · 1100 (nav collapses) · 900 (tablet)
                720 (large phone) · 480 (phone) · 360 (small phone)
   ========================================================================== */

@media (max-width: 1280px) {
  .nav__link, .nav__trigger { padding-inline: 0.7rem; }
}

@media (max-width: 1100px) {
  .nav { display: none; }
  .header-cta { display: none; }
  .nav-toggle { display: inline-block; }
  .brand img { height: 56px; }
}

@media (min-width: 1101px) {
  .mobile-nav { display: none; }
}

@media (max-width: 1024px) {
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .cap-strip__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cap-strip__item:nth-child(3) { border-left: 0; }
  .cap-strip__item:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .phase { grid-template-columns: 70px minmax(0, 1fr); }
  .phase > :nth-child(3) { grid-column: 2; }
}

@media (max-width: 900px) {
  :root { --header-h: 68px; }

  .hero__scroll { display: none; }
  .hero { min-height: 0; padding-top: calc(var(--header-h) + 2.5rem); padding-bottom: 6.5rem; }
  .hero__layout { grid-template-columns: minmax(0, 1fr); }
  .hero-art { width: min(100%, 460px); margin-top: 1.5rem; }
  .float-card--a { left: 0; }
  .float-card--b { right: 0; }

  .page-hero__layout { grid-template-columns: minmax(0, 1fr); }
  .page-hero__art { max-width: 560px; }

  .split, .contact-layout, .industry-detail { grid-template-columns: minmax(0, 1fr); }
  .split--reverse > :first-child { order: 0; }
  .sticky-col { position: static; }

  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-grid { grid-template-columns: minmax(0, 1fr); }
  .related { grid-template-columns: minmax(0, 1fr); }
  .facts { grid-template-columns: minmax(0, 1fr); }
  .use-cases { grid-template-columns: minmax(0, 1fr); }

  /* Process: vertical timeline */
  .process { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .process::before { top: 28px; bottom: 28px; left: 27px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, var(--c-cyan), var(--c-violet), var(--c-magenta)); }
  .process__step { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 1.25rem; padding-bottom: 2.25rem; }
  .process__step:last-child { padding-bottom: 0; }
  .process__num { margin-bottom: 0; grid-row: 1 / span 3; }
}

@media (max-width: 720px) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: minmax(0, 1fr); }
  .form { grid-template-columns: minmax(0, 1fr); }
  .check-list--cols { grid-template-columns: minmax(0, 1fr); }
  .industry-detail__cols { grid-template-columns: minmax(0, 1fr); }
  .footer__grid { grid-template-columns: minmax(0, 1fr); gap: 2.25rem; }
  .footer__brand img { height: 112px; }
  .hero__actions .btn, .page-hero__actions .btn, .cta-band__actions .btn { flex: 1 1 100%; }
  .cap-strip__list { grid-template-columns: minmax(0, 1fr); }
  .cap-strip__item + .cap-strip__item { border-left: 0; border-top: 1px solid var(--line); }
  .cap-strip__item:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .phase { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .phase > :nth-child(3) { grid-column: auto; }
  .principle { grid-template-columns: 44px minmax(0, 1fr); }
  .mock__body { grid-template-columns: 30% 1fr; }
  .mock__phone { display: none; }
  .mock-wrap { padding-bottom: 0; }
  .menu--wide, .menu--narrow { width: auto; }
  .filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding: 0.25rem var(--gutter) 0.75rem; scrollbar-width: none; }
  .filters::-webkit-scrollbar { display: none; }
  .filter-btn { flex: none; }
  .to-top { width: 46px; height: 46px; }
}

@media (max-width: 480px) {
  :root { --header-h: 64px; }
  .brand img { height: 46px; }
  .hero__pill { font-size: 0.75rem; }
  .hero__points { gap: 0.5rem 1.1rem; }
  .float-card { padding: 0.7rem 0.8rem; }
  .float-card--a { width: 50%; top: 2%; }
  .float-card--b { width: 46%; top: 40%; }
  .float-card--c { width: 52%; bottom: 2%; left: 2%; }
  .mock__stats { grid-template-columns: repeat(2, 1fr); }
  .mock__stats .mock__stat:nth-child(3) { display: none; }
  .mock__split { grid-template-columns: minmax(0, 1fr); }
  .mock__split > :nth-child(2) { display: none; }
  .project-card__media, .solution-card__media { padding: 1rem 1rem 0; }
  .project-card__body { padding: 1.35rem 1.25rem 1.6rem; }
  .faq__q { padding: 1.05rem 1.1rem; font-size: 1rem; }
  .faq__a > div { padding: 0 1.1rem 1.2rem; }
  .btn--lg { --btn-pad-x: 1.5rem; }
  .btn { white-space: normal; text-align: center; }
  .cta-band__box { border-radius: var(--r-lg); }
  .problem { grid-template-columns: minmax(0, 1fr); }
  .benefit { grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }
  .industry-card .card__big { font-size: 5rem; }
}

@media (max-width: 360px) {
  .hero__title { font-size: 2.1rem; }
  :root { --gutter: 1rem; }
  .brand img { height: 42px; }
}

@media (hover: none) {
  .card:hover, .card:focus-within { transform: none; }
  .btn--primary:hover, .btn--ghost:hover { transform: none; }
}

@media (min-width: 1600px) {
  :root { --container: 1360px; }
}

@media print {
  .site-header, .mobile-nav, .to-top, .hero__canvas, .scroll-progress, .cta-band { display: none !important; }
  body { background: #fff; color: #000; }
  h1, h2, h3, h4, strong { color: #000; }
}

/* No-JS fallback: show the mobile menu as a plain list */
@media (max-width: 1100px) {
  html:not(.js) .nav-toggle { display: none; }
  html:not(.js) .mobile-nav { position: static; opacity: 1; visibility: visible; transform: none; padding-top: calc(var(--header-h) + 0.5rem); }
  html:not(.js) .site-header { position: absolute; }
}
