@media (max-width: 900px) {
  #vnt-grid { grid-template-columns: 1fr; }
  #hero-foot { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .srow-desc { display: none; }
  #nav-links { gap: 1.5rem; }
}

@media (max-width: 640px) {
  body { cursor: auto; }
  #cur, #cur-dot, #cur-glow { display: none !important; }

  #hero, #statement, #services, #ventures, #contact {
    padding-left: 1.25rem; padding-right: 1.25rem;
  }
  #nav { padding: 1.25rem; }
  #nav-links { display: none; }

  #hero-h1 { font-size: clamp(3.5rem, 15vw, 5rem); }

  .srow { padding: 1.3rem 0; }
  .srow-right { display: none; }

  .vcard { padding: 2rem 1.5rem; }

  #footer {
    flex-direction: column; align-items: flex-start;
    gap: 1.2rem; padding: 1.5rem 1.25rem;
  }

  #overlay { padding: 2rem 1.25rem; }
  #ov-close { right: 1.25rem; top: 1.5rem; }

  .blob { filter: blur(60px); opacity: 0.3; }
}

@media (hover: none) {
  body { cursor: auto; }
  #cur, #cur-dot, #cur-glow { display: none !important; }
  button, a { cursor: pointer; }
}

@media (min-width: 1600px) {
  #hero, #statement, #services, #ventures, #contact {
    padding-left: max(2.5rem, calc((100vw - 1440px) / 2));
    padding-right: max(2.5rem, calc((100vw - 1440px) / 2));
  }
  #nav, #footer {
    padding-left: max(2.5rem, calc((100vw - 1440px) / 2));
    padding-right: max(2.5rem, calc((100vw - 1440px) / 2));
  }
}
