html, body {
  height: auto;
  min-height: 100%;
}

#smooth-wrapper,
#smooth-content {
  height: auto !important;
  position: relative !important;
  overflow: visible !important;
  inset: auto !important;
}

@media (max-width: 960px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  
  .hero-visual {
    height: 340px;
    order: -1;
  }
  
  .hero p {
    max-width: 560px;
  }
  
  .feature-row.cols-3,
  .feature-row.cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .feature-row.cols-3-flat {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .two-col {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .nav-links {
    gap: 20px;
  }
}

@media (max-width: 760px) {
  .navbar-inner {
    padding: 14px 20px;
  }
  
  .nav-links-desktop a:not(.nav-cta) {
    display: none;
  }
  
  .hero {
    padding: 60px 20px 44px;
  }
  
  .hero-visual {
    height: 300px;
  }
  
  .section {
    padding: 56px 20px;
  }
  
  .section-head {
    margin-bottom: 36px;
  }
}

@media (max-width: 640px) {
  .container {
    padding: 0 18px;
  }
  
  .navbar-inner {
    padding: 12px 18px;
  }
  
  .brand {
    font-size: 11px;
  }
  
  .hero {
    padding: 52px 18px 40px;
  }
  
  .hero h1 {
    font-size: clamp(18px, 7vw, 26px);
  }
  
  .hero p {
    font-size: 17px;
    max-width: 100%;
  }
  
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  
  .hero-actions .btn {
    width: 100%;
  }
  
  .hero-visual {
    height: 280px;
    margin-top: 4px;
  }
  
  .orbit-wrap {
    width: 280px;
    height: 280px;
  }
  
  .lumina-3d {
    max-width: 220px;
  }
  
  .section {
    padding: 46px 18px;
  }
  
  .section-head h2 {
    font-size: clamp(15px, 6vw, 20px);
  }
  
  .feature-row.cols-3,
  .feature-row.cols-4,
  .feature-row.cols-3-flat {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .feature-card {
    padding: 22px 20px;
  }
  
  .footer {
    padding: 26px 18px;
    font-size: 9px;
  }
}

@media (max-width: 380px) {
  .hero h1 {
    font-size: 16px;
  }
  
  .hero-visual {
    height: 240px;
  }
  
  .orbit-wrap {
    width: 220px;
    height: 220px;
  }
  
  .lumina-3d {
    max-width: 170px;
  }
}

@media (max-height: 480px) and (orientation: landscape) {
  .hero {
    padding: 100px 20px 40px;
  }
  
  .hero-visual {
    height: 220px;
  }
}