/* Shared responsive layer for NeosAI pages */
html { -webkit-text-size-adjust:100%; }
img, video { max-width:100%; }

.nav-toggle {
  width:40px;
  height:40px;
  border:1px solid var(--border, #e5e7eb);
  border-radius:8px;
  background:#fff;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  flex-shrink:0;
}
.nav-toggle span {
  width:18px;
  height:2px;
  border-radius:2px;
  background:var(--text, #171717);
  transition:transform .2s, opacity .2s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.nav-mobile-actions { display:none; }
.neosai-table-scroll { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }

@media (max-width:1100px) {
  nav { padding-left:24px; padding-right:24px; }
  .nav-links { gap:18px; }
  .nav-links a { font-size:13px; }
  .footer-top { grid-template-columns:220px 1fr; gap:48px; }
}

@media (max-width:960px) {
  body.neosai-menu-open { overflow:hidden; }
  nav { height:64px; overflow:visible; }
  .nav-toggle { display:flex; margin-left:auto; }
  nav > .nav-actions { display:none; }
  .nav-links {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    bottom:auto;
    width:100vw;
    height:calc(100vh - 64px);
    height:calc(100dvh - 64px);
    padding:18px 24px 40px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    list-style:none;
    background:rgba(255,255,255,.985);
    border-top:1px solid var(--border, #e5e7eb);
    box-shadow:0 20px 36px rgba(0,0,0,.09);
    transform:translateX(100%);
    visibility:hidden;
    opacity:1;
    pointer-events:none;
    transition:transform .25s ease, visibility .25s ease;
    z-index:300;
  }
  .nav-links.is-open {
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
  }
  .nav-links > li { position:relative; flex-shrink:0; border-bottom:1px solid var(--border, #e5e7eb); }
  .nav-links > li > a,
  .nav-links > li.lang-switch {
    min-height:48px;
    display:flex;
    align-items:center;
    font-size:14px;
  }
  .nav-links > li > a { justify-content:space-between; }
  .nav-dropdown {
    position:static;
    top:auto;
    left:auto;
    min-width:0;
    padding:0 0 10px;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav-dropdown-box { border:0; border-radius:0; padding:0; box-shadow:none; background:transparent; }
  .nav-dropdown-box a { display:block; padding:8px 14px; font-size:13px; white-space:normal; }
  .nav-dropdown-arrow { display:none; }
  .nav-mobile-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding-top:18px;
    border-bottom:0 !important;
  }
  .nav-mobile-actions > a { flex:1 1 150px; min-height:42px; justify-content:center; }
  .nav-mobile-actions .lang-switch { width:100%; min-height:36px; }

  .hero-inner,
  .contact-main,
  .main-inner,
  .challenge-inner,
  .info-layout,
  .certs-grid,
  .featured-card,
  .scene-card,
  .scene-block,
  .sec-hd-2col,
  .ins-cta-inner,
  .cap-panel.active,
  .feat-panel.active,
  .uc-panel.active,
  .tab-panel.active,
  .about-inner { grid-template-columns:1fr; }

  .hero-inner { gap:48px; }
  .contact-main,
  .main-inner { gap:36px; }
  .company-card,
  .main-right { position:static; top:auto; }

  .products-grid,
  .vmv-grid,
  .leaders-grid,
  .str-grid,
  .recog-grid,
  .guide-grid,
  .cases-grid,
  .pain-grid,
  .pain-scroll,
  .biz-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

  .prod-card,
  .vmv-card,
  .str-card,
  .recog-card,
  .guide-card,
  .step-card { grid-row:auto; grid-template-rows:none; }

  .deploy-grid { grid-template-columns:1fr; }
  .steps-wrap { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:34px; }
  .steps-wrap::before { display:none; }
  .value-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tl-item { grid-template-columns:1fr; gap:18px; margin-bottom:36px; }
  .tl-center,
  .timeline::before { display:none; }
  .tl-left,
  .tl-right { padding-top:0 !important; }
  .tl-left p,
  .tl-right p { text-align:left !important; padding:0 4px !important; }

  .cta-inner { flex-direction:column; align-items:flex-start; gap:30px; }
  .cta-btns { width:100%; margin-left:0; }
  .cta-btns a,
  .cta-btns button { width:100%; justify-content:center; }

  .footer-top { grid-template-columns:1fr; gap:40px; }
  .footer-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:720px) {
  .hero,
  .sol-hero,
  .contact-hero,
  .page-hero {
    min-height:auto;
    padding:112px 24px 72px;
  }
  .hero-title,
  .sol-hero-title,
  .page-hero-title { font-size:clamp(34px,9vw,48px); letter-spacing:-1px; }
  .hero-desc br,
  .hero-sub br,
  .sol-hero-desc br { display:none; }

  section.pad,
  .about,
  .products,
  .industries,
  .deploy,
  .challenge,
  .solution,
  .value-sec,
  .compare,
  .biz-value,
  .ins-cta,
  .sol-cta,
  .cta,
  .featured,
  .cta-section,
  .scta-main { padding:64px 24px; }

  .contact-main { padding:48px 24px 72px; }
  .privacy-hero { padding:112px 24px 40px; }
  .privacy-body { padding:0 24px 64px; }
  .breadcrumb { padding-left:24px; padding-right:24px; padding-top:88px; }
  .main { padding-left:24px; padding-right:24px; }

  .sec-title { font-size:clamp(27px,7.5vw,36px); }
  .sec-desc { font-size:14px; }
  .sec-hd-center,
  .solution-hd,
  .challenge-hd,
  .biz-hd { margin-bottom:36px; }

  .products-grid,
  .vmv-grid,
  .leaders-grid,
  .str-grid,
  .recog-grid,
  .acc-grid,
  .pricing-cards,
  .guide-grid,
  .cases-grid,
  .pain-grid,
  .pain-scroll,
  .biz-grid,
  .deploy-grid,
  .scta-contact-row { grid-template-columns:1fr; }

  .about-bento { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; }
  .bento-card { aspect-ratio:auto; min-height:185px; }

  .ind-layout { display:block; overflow:hidden; }
  .ind-menu {
    display:flex;
    overflow-x:auto;
    border-right:0;
    border-bottom:1px solid var(--border, #e5e7eb);
    scrollbar-width:none;
  }
  .ind-menu::-webkit-scrollbar { display:none; }
  .ind-tab { min-width:max-content; padding:15px 20px; border-bottom:0; border-right:1px solid var(--border, #e5e7eb); }
  .ind-tab.active::before { top:auto; right:0; bottom:0; width:auto; height:3px; }
  .ind-pane { min-height:0; padding:28px 22px 22px; }
  .ind-pane-img { min-height:0; aspect-ratio:4/3; }

  .form-row,
  .check-group { grid-template-columns:1fr; }
  .form-card { padding:30px 24px; }
  .contact-sidebar { display:grid; grid-template-columns:1fr; }

  .flow-wrap { flex-direction:column; align-items:stretch; }
  .flow-step,
  .flow-step:first-child,
  .flow-step:last-child {
    border:1px solid var(--border, #e5e7eb);
    border-bottom:0;
    border-radius:0;
  }
  .flow-step:first-child { border-radius:14px 14px 0 0; }
  .flow-step:last-child { border-bottom:1px solid var(--border, #e5e7eb); border-radius:0 0 14px 14px; }
  .flow-step::after {
    content:'›';
    right:50%;
    top:auto;
    bottom:-17px;
    transform:translateX(50%) rotate(90deg);
  }

  .steps-wrap { grid-template-columns:1fr; row-gap:26px; }
  .step-card { padding-left:0; padding-right:0; }
  .hero-choices { flex-direction:column; }
  .choice-pill { width:100%; }

  .ba-wrap { display:grid; grid-template-columns:1fr; gap:14px; }
  .ba-arrow { transform:rotate(90deg); justify-self:center; }
  .fc-left,
  .fc-right { padding:32px 24px; }
  .fc-results { grid-template-columns:repeat(3,minmax(0,1fr)); }

  .hero-kpi,
  .sol-hero-kpi,
  .hero-stats {
    width:100%;
    max-width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-around;
    gap:18px;
    padding:22px 18px;
  }
  .hero-kpi .kpi-item,
  .sol-hero-kpi .kpi-item,
  .hero-stats .hs-item { flex:1 1 90px; }
  .hero-kpi .kpi-sep,
  .sol-hero-kpi .kpi-sep,
  .hero-stats .hs-divider { display:none; }

  .sol-hero-btns,
  .hero-btns { flex-wrap:wrap; }
  .scene-card,
  .scene-block { padding:28px 22px; gap:28px; }
  .scene-img-col,
  .scene-text-col { min-width:0; }
  .value-summary,
  .result-kpi-row,
  .results-grid,
  .cert-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cta-steps { grid-template-columns:1fr; }
  .sol-cta-inner,
  .ins-cta-inner,
  .cta-inner { padding:42px 30px; }

  .feat-tabs,
  .cap-tabs,
  .tabs,
  .uc-tab-nav,
  .filter-tabs {
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .feat-tabs::-webkit-scrollbar,
  .cap-tabs::-webkit-scrollbar,
  .tabs::-webkit-scrollbar,
  .uc-tab-nav::-webkit-scrollbar,
  .filter-tabs::-webkit-scrollbar { display:none; }
  .feat-tab-btn,
  .cap-tab-btn,
  .tab-btn,
  .uc-tab-btn,
  .filter-btn { flex:0 0 auto; }

  .compare-table,
  .value-table,
  .scta-table { min-width:680px; }
  .neosai-table-scroll { margin-left:0; margin-right:0; }
  [style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr !important; }

  footer { padding:52px 24px 28px; }
  .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
  .footer-bottom { align-items:flex-start; gap:20px; flex-direction:column; }

  .cookie-banner { padding:16px 24px; flex-direction:column; align-items:stretch; gap:14px; }
  .cookie-btns { width:100%; }
  .cookie-btns button { flex:1; }
}

@media (max-width:480px) {
  nav { height:60px; padding-left:16px; padding-right:16px; }
  .nav-logo-img { height:19px; max-width:130px; }
  .nav-toggle { width:38px; height:38px; }
  .nav-links {
    height:calc(100vh - 60px);
    height:calc(100dvh - 60px);
    padding:12px 18px max(32px, env(safe-area-inset-bottom));
  }
  .nav-mobile-actions { flex-direction:column; }
  .nav-mobile-actions > a { flex:0 0 auto; width:100%; }

  .hero,
  .sol-hero,
  .contact-hero,
  .page-hero { padding:100px 18px 56px; }
  section.pad,
  .about,
  .products,
  .industries,
  .deploy,
  .challenge,
  .solution,
  .value-sec,
  .compare,
  .biz-value,
  .ins-cta,
  .sol-cta,
  .cta,
  .featured,
  .cta-section,
  .scta-main { padding:56px 18px; }
  .contact-main { padding:40px 18px 60px; }
  .privacy-hero { padding:100px 18px 34px; }
  .privacy-body { padding:0 18px 56px; }
  .breadcrumb { padding-left:18px; padding-right:18px; padding-top:78px; }
  .main { padding-left:18px; padding-right:18px; }

  .hero-title,
  .sol-hero-title,
  .page-hero-title { font-size:32px; line-height:1.12; }
  .sec-title { font-size:28px; }
  .hero-desc,
  .hero-sub,
  .sol-hero-desc { font-size:13.5px; }

  .hero-btns,
  .sol-hero-btns { width:100%; flex-direction:column; gap:10px; }
  .hero-btns a,
  .hero-btns button,
  .sol-hero-btns a,
  .sol-hero-btns button { width:100%; justify-content:center; }

  .about-bento { gap:8px; }
  .bento-card { min-height:155px; padding:15px; }
  .bento-img { padding:0; }
  .bento-title { font-size:14px; }
  .bento-desc { font-size:11px; line-height:1.5; }

  .prod-card,
  .vmv-card,
  .str-card,
  .recog-card,
  .guide-card,
  .deploy-card,
  .case-card,
  .pain-card,
  .pain-item,
  .tl-card { padding-left:20px; padding-right:20px; }

  .form-card { padding:26px 18px; }
  .info-card { padding-left:20px; padding-right:20px; }
  .sol-cta-inner,
  .ins-cta-inner,
  .cta-inner { padding:34px 22px; }
  .cta-title { font-size:28px; }

  .hero-kpi,
  .sol-hero-kpi,
  .hero-stats { gap:12px; padding:18px 12px; }
  .kpi-val,
  .hs-val { font-size:24px; }
  .fc-results,
  .results-grid,
  .value-summary,
  .result-kpi-row,
  .cert-stats,
  .tl-kpi-row { grid-template-columns:1fr; }

  .scta-table th,
  .scta-table td { padding:16px 18px; }
  .footer-logo-img { max-width:145px; height:auto; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
