/* yunji/css/responsive.css — Responsive breakpoints: 1024 / 768 / 480 / 375 */

/* ══════════ Tablet (≤ 1024px) ══════════ */
@media (max-width: 1024px) {
  :root {
    --section-px: 32px;
    --nav-px: 24px;
    --proj-gap: 36px;
    --proj-mb: 80px;
  }

  .hero-title { font-size: 56px; letter-spacing: 20px; }
  .sect-idx { font-size: 48px; }
  .sect-head h2 { font-size: 22px; }
  .proj-title { font-size: 22px; }
  .proj-vis { min-height: 280px; }
  .icon-group .kanji { font-size: 120px; }
  .icon-group .icon-svg { width: 72px; height: 72px; bottom: -20px; right: -16px; }
}

/* ══════════ Mobile Landscape / Small Tablet (≤ 768px) ══════════ */
@media (max-width: 768px) {
  :root {
    --section-pt: 80px;
    --sect-head-mb: 40px;
    --proj-mb: 64px;
    --bento-gap: 6px;
  }

  .nav-pills { display: none; }

  .hero { padding-top: calc(var(--nav-h) + 24px); }
  .hero-title { font-size: 44px; letter-spacing: 14px; }
  .hero-ensub { font-size: 10px; letter-spacing: 8px; }
  .hero-tagline { font-size: 14px; text-align: center; }

  .bento { grid-template-columns: repeat(2, 1fr); }
  .b--hero { grid-column: span 2; grid-row: span 1; }
  .b--w3 { grid-column: span 1; }

  .proj-row,
  .proj-row.flip {
    grid-template-columns: 1fr;
    direction: ltr;
    gap: 32px;
  }
  .proj-row.flip > * { direction: ltr; }

  .proj-vis { min-height: 240px; }
  .icon-group .kanji { font-size: 100px; }
  .icon-group .icon-svg { width: 64px; height: 64px; bottom: -16px; right: -12px; }

  .sect-head { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ══════════ Phone (≤ 480px) ══════════ */
@media (max-width: 480px) {
  :root {
    --section-px: 20px;
    --nav-px: 16px;
  }

  .hero-title { font-size: 36px; letter-spacing: 10px; text-indent: 5px; }
  .hero-tagline { font-size: 13px; letter-spacing: 1px; }
  .sect-idx { font-size: 40px; }
  .sect-head h2 { font-size: 20px; letter-spacing: 2px; }
  .proj-title { font-size: 20px; letter-spacing: 1px; }
  .proj-desc { font-size: 13px; line-height: 1.8; }
  .proj-vis { min-height: 200px; }
  .icon-group .kanji { font-size: 80px; }
  .icon-group .icon-svg { width: 52px; height: 52px; bottom: -12px; right: -10px; }

  .proj-btns { flex-direction: column; }
  .btn-fill, .btn-outline {
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
  }
}

/* ══════════ Small Phone (≤ 375px) ══════════ */
@media (max-width: 375px) {
  .hero-title { font-size: 30px; letter-spacing: 8px; }
  .bento { grid-template-columns: 1fr; }
  .b--hero { grid-column: span 1; }
}
