/* RESPONSIVE */
@media (max-width:1180px){
  :root{ --header-h:100px; }

  .topbar-inner{
    grid-template-columns:minmax(220px, 1fr) minmax(260px, 1.2fr) auto;
    gap:12px;
  }

  .brand-line-1{ font-size:20px; }
  .node-title{ font-size:19px; }
  .menu-node.bottom .node-title{ font-size:24px; }
  .popup-grid{ grid-template-columns:1fr; }

  .footer-main{
    grid-template-columns:minmax(0, 1.6fr) minmax(200px, .9fr) minmax(220px, 1fr);
  }
}

@media (max-width:920px){
  :root{ --header-h:106px; }

  .topbar-inner{
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:
      "brand actions"
      "search search";
    gap:12px;
    padding:10px 0;
    min-height:var(--header-h);
  }

  .brand-wrap{ grid-area:brand; }
  .topbar-actions{ grid-area:actions; }

  .header-search-wrap{
    grid-area:search;
    width:100%;
    margin-top:8px;
  }

  .header-search{
    width:100%;
    max-width:100%;
  }

  .agent-dropdown{ width:100%; }

  .hero-system-title{ top:12.8%; }
  .hero-system-title-text{ font-size:28px; }

  .impact-grid{ grid-template-columns:1fr; }
  .popup-head h3{ font-size:36px; }
  .popup-subtitle{ font-size:16px; }
  .popup-lead{ font-size:16px; }
  .feature-list li{ font-size:15px; }

  .popup-pro-shell{
    flex-direction:column;
  }

  .popup-pro-media{
    width:100%;
    min-width:0;
    max-width:none;
    border-right:none;
    border-bottom:1px solid rgba(125,220,255,.10);
  }

  body.light-mode .popup-pro-media{
    border-bottom-color:rgba(20,55,100,.08);
  }

  .popup-pro-video-sticky{
    position:relative;
    top:auto;
    padding:14px;
  }
}

@media (max-width:760px){
  :root{ --header-h:114px; }

  body,
  body.light-mode{
    color:#143764;
    background:linear-gradient(180deg,#f4f8ff 0%,#eaf1ff 100%);
  }

  body::before,
  body.light-mode::before{
    opacity:.10;
  }

  .ssb-topbar{ box-shadow:0 10px 24px rgba(31,74,140,.12); }

  .topbar-inner{
    width:min(calc(100% - 14px), var(--max));
    grid-template-columns:minmax(0, 1fr) auto;
    grid-template-areas:
      "brand actions"
      "search search";
    align-items:center;
    gap:10px;
    padding:8px 0;
    min-height:var(--header-h);
  }

  .brand-wrap{
    min-width:0;
    gap:10px;
  }

  .brand-logo{
    width:46px;
    height:46px;
    flex:0 0 46px;
    border-radius:14px;
  }

  .brand-line-1{ font-size:16px; }
  .brand-line-2{ font-size:11px; }
  .brand-site{ font-size:10px; }

  .topbar-actions{ gap:8px; }
  .theme-switch-wrap{ display:none !important; }

  .lang-bar{
    gap:6px;
    padding:6px 8px;
  }

  .lang-btn{
    width:34px;
    height:34px;
  }

  .lang-btn img{
    width:20px;
    height:20px;
  }

  .header-search-wrap{ margin-top:6px; }

  .header-search{
    height:46px;
    padding:0 10px 0 14px;
  }

  .header-search-input{
    font-size:14px;
  }

  .header-search-btn{
    height:34px;
    padding:0 12px;
    font-size:12px;
  }

  .agent-dropdown{ top:calc(100% + 8px); }

  .main-content{
  width:min(calc(100% - 14px), var(--max));
  margin:2px auto 0;
  padding:4px 0 20px;
}

  .popup-backdrop{ padding:14px; }

  .popup-card{
    width:min(96vw, 1080px);
    padding:16px;
    border-radius:22px;
  }

  .popup-head{
    gap:10px;
    margin-bottom:16px;
  }

  .popup-head h3{
    font-size:28px;
    line-height:1.1;
  }

  .popup-subtitle{
    font-size:14px;
    line-height:1.8;
  }

  .popup-kicker{ font-size:11px; }

  .popup-panel{
    padding:15px;
    border-radius:18px;
  }

  .popup-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .popup-section-title{ font-size:19px; }

  .popup-lead{
    font-size:15px;
    line-height:1.88;
  }

  .feature-list li{
    font-size:14px;
    line-height:1.8;
    padding-left:42px;
  }

  .impact-value{ font-size:26px; }
  .impact-label{ font-size:13px; }

  .popup-pro-card{
    width:min(96vw, 1080px);
    height:94vh;
    max-height:94vh;
    border-radius:22px;
  }

  .popup-pro-content{
    padding:16px;
  }

  .popup-pro-head h3{
    font-size:24px;
    line-height:1.08;
  }

  .popup-pro-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .popup-pro-card .popup-lead{
    font-size:15px;
    line-height:1.86;
  }

  .popup-pro-card .feature-list li{
    font-size:14px;
    line-height:1.82;
  }

  .popup-pro-rule-line{
    min-height:54px;
    font-size:14px;
    line-height:1.75;
    padding:12px 14px;
  }

  .popup-pro-card .impact-card{
    min-height:unset;
  }

  .popup-pro-nav{
    gap:8px !important;
  }

  .popup-pro-nav-btn{
    min-height:40px !important;
    padding:10px 12px !important;
    font-size:12px !important;
  }

  .footer-inner{
    width:min(calc(100% - 14px), var(--max));
    padding:14px 0 12px;
  }

  .footer-card{
    padding:12px;
    border-radius:16px;
  }

  .footer-main{
    grid-template-columns:1fr;
    gap:12px;
  }

  .footer-item{ align-items:flex-start; }
  .footer-item.map-col{ justify-content:stretch; }

  .footer-map-button{
    width:100%;
    min-height:52px;
    font-size:13px;
    white-space:normal;
  }

  .footer-icon-wrap{
    width:44px;
    height:44px;
    flex:0 0 44px;
  }

  .footer-item svg{
    width:24px;
    height:24px;
  }

  .footer-label{ font-size:11px; }
  .footer-company-line,
  .footer-value{ font-size:12px; }
  .footer-bottom{ font-size:11px; }

  .chat-widget{
    right:12px;
    bottom:12px;
  }

  .chat-item{
    min-width:188px;
    height:50px;
    font-size:12px;
  }

  .chat-icon{
    width:30px;
    height:30px;
    flex:0 0 30px;
    font-size:11px;
  }

  .chat-fab{
    width:58px;
    height:58px;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}
