/* ════════════════════════════════════════════════════════════════
   RESPONSIVE — mobile-first refinements
   ════════════════════════════════════════════════════════════════ */

/* ── Default mobile-first base — overrides for larger screens above ── */

@media (max-width: 1100px) {
  :root {
    --section-pad-h: clamp(20px, 5vw, 80px);
  }
}

/* ── Tablet & below ── */
@media (max-width: 768px) {
  :root {
    --section-pad-v: clamp(64px, 12vw, 110px);
    --section-pad-h: 22px;
  }

  .nav { padding: 18px 22px; }
  .nav__logo { font-size: 14px; letter-spacing: 0.16em; }

  .scroll-indicator { bottom: 24px; }
  .scroll-indicator__line { height: 36px; }
}

/* ── Mobile small ── */
@media (max-width: 480px) {
  :root {
    --section-pad-h: 18px;
    --section-pad-v: 70px;
  }

  body { font-size: 14px; }

  .grid { gap: 24px; }

  .btn {
    width: 100%;
    padding: 16px 24px;
  }

  .nav-overlay { padding: 60px 24px; }
}

/* ── Hide custom cursor on touch devices ── */
@media (hover: none) {
  .cursor,
  .cursor--ring { display: none !important; }
  body.has-cursor { cursor: auto; }
  body.has-cursor a,
  body.has-cursor button { cursor: pointer; }
}
