/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1180px) {
  .nav { display:none; }
  .ham { display:flex; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-p { max-width:100%; overflow-wrap:break-word; }
  .hero-cta .btn { font-size: 13px; padding: 13px 16px; }
  .reality-grid { grid-template-columns:1fr; gap:14px; }
  .whatis-intro { grid-template-columns:1fr; gap:40px; }
  .steps-grid { grid-template-columns:1fr; }
  .steps-grid::before { display:none; }
  .ikigai-layout { grid-template-columns:1fr; gap:48px; }
  .ik-wrap { max-width:290px; }
  .feat-grid { grid-template-columns:1fr; gap:14px; }
  .plans-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-map-col { grid-column: 1 / -1; }
  .footer-bottom { text-align: left; }
}
@media (max-width: 640px) {
  .hdr-row { padding: 0 14px; gap: 8px; }
  .logo .lsub { display: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-brand { grid-column: auto; }
  .footer-map-col { grid-column: auto; }
  .footer-legal { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
  .wrap { padding:0 16px; }
  .hero { padding: 96px 0 56px; }
  .hero-cta { flex-direction:column; align-items:stretch; }
  .btn { width:100%; justify-content:center; white-space:normal; }
  .hero-cta .btn { font-size: 13px; }
  .hero-trust { flex-direction:column; align-items:flex-start; gap:10px; }
  
  .blog-detail-title {
    font-size: 1.75rem !important;
  }
  .blog-detail-meta {
    flex-direction: column;
    gap: 8px !important;
  }
  .blog-content {
    font-size: 1rem;
  }
  .blog-card-thumb {
    aspect-ratio: 4 / 3;
  }
}
