/* Responsive Styles */
/* ============================================================
   RESPONSIVE STYLESHEET
   Mobile-First Breakpoints
   ============================================================ */

/* ── TABLET: 768px – 1024px ──────────────────────────────────── */
@media (max-width: 1024px) {
  :root { --section-gap: 5rem; }

  .hero-container {
    grid-template-columns: 1fr;
    gap: var(--space-3xl);
  }

  .hero-card-wrapper { max-width: 520px; margin: 0 auto; }

  .process-flow {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xl);
  }

  .process-step:not(:last-child)::after { display: none; }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
  }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .case-grid { grid-template-columns: 1fr; }

  .journey-timeline::before { left: 28px; }

  .journey-item {
    grid-template-columns: 60px 1fr !important;
    grid-template-rows: auto;
  }

  .journey-item:nth-child(odd) .journey-content,
  .journey-item:nth-child(even) .journey-content {
    grid-column: 2 !important;
    grid-row: 1;
    text-align: left !important;
  }

  .journey-item:nth-child(odd) .journey-dot,
  .journey-item:nth-child(even) .journey-dot {
    grid-column: 1 !important;
    grid-row: 1;
  }

  .journey-empty { display: none !important; }

  .journey-dot-inner { width: 40px; height: 40px; }
  .journey-dot-inner svg { width: 18px; height: 18px; }
}

/* ── MOBILE: max 767px ───────────────────────────────────────── */
@media (max-width: 767px) {
  :root {
    --section-gap: 4rem;
    --nav-height: 64px;
  }

  .container { padding: 0 var(--space-lg); }

  /* Nav */
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .btn-nav-cta span { display: none; }

  /* Hero */
  #hero { padding-top: calc(var(--nav-height) + 1rem); text-align: center; }
  .hero-greeting { justify-content: center; }
  .hero-cta { justify-content: center; }
  .hero-badges { justify-content: center; }
  .hero-status { justify-content: center; }
  .hero-card-wrapper { order: -1; }

  /* Section headers */
  .section-title { font-size: 1.75rem; }

  /* About */
  #about .about-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2, 1fr); }

  /* Skills */
  .skills-grid { grid-template-columns: 1fr; }

  /* Experience */
  .exp-details { grid-template-columns: 1fr; }
  .exp-card-header { flex-direction: column; }
  .exp-meta { align-items: flex-start; }

  /* Projects */
  .projects-controls { flex-direction: column; align-items: stretch; }
  .project-search-wrapper { width: 100%; }
  .project-search { width: 100%; }
  .project-search:focus { width: 100%; }
  .projects-grid { grid-template-columns: 1fr; }
  .project-card.featured {
    grid-column: 1;
    display: flex;
    flex-direction: column;
  }

  /* Education */
  .education-grid { grid-template-columns: 1fr; }

  /* Resume */
  .resume-highlights { grid-template-columns: 1fr; }

  /* Modal */
  .modal { border-radius: var(--radius-lg); }
  .modal-features { grid-template-columns: 1fr; }

  /* Philosophy */
  .process-flow {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
  }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
  .footer-bottom { flex-direction: column; text-align: center; }

  /* Journey */
  .journey-timeline::before { display: none; }
  .journey-item {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
  }

  .journey-item:nth-child(odd) .journey-content,
  .journey-item:nth-child(even) .journey-content {
    grid-column: 1 !important;
    grid-row: 2 !important;
    text-align: left !important;
  }

  .journey-item:nth-child(odd) .journey-dot,
  .journey-item:nth-child(even) .journey-dot {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-content: flex-start !important;
  }

  /* Back to top */
  #back-to-top { bottom: 1.25rem; right: 1.25rem; }

  /* Objectives card */
  .objective-card { padding: var(--space-2xl) var(--space-xl); }
  .objective-card::before { font-size: 6rem; }

  /* Code card */
  .code-card { font-size: 0.75rem; }

  /* Case study */
  .case-grid { grid-template-columns: 1fr; }

  /* Values */
  .values-grid { grid-template-columns: repeat(2, 1fr); }

  /* Subjects */
  .subjects-grid { grid-template-columns: 1fr; }

  /* Quick summary */
  .quick-summary-grid { grid-template-columns: 1fr; }

  /* Dev card */
  .dev-card-top { flex-direction: column; text-align: center; }
}

/* ── SMALL MOBILE: max 480px ─────────────────────────────────── */
@media (max-width: 480px) {
  .hero-name { font-size: 2.25rem; }
  .stats-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .filter-tabs { gap: 6px; }
  .filter-btn { padding: 0.375rem 0.75rem; font-size: 0.8125rem; }
  .resume-actions { flex-direction: column; width: 100%; }
  .resume-actions .btn { justify-content: center; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { justify-content: center; }
  .modal-overlay { padding: var(--space-md); }
}

/* ── LARGE DESKTOP: 1440px+ ──────────────────────────────────── */
@media (min-width: 1440px) {
  .hero-container { grid-template-columns: 1fr 480px; }
  .projects-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── PRINT ───────────────────────────────────────────────────── */
@media print {
  #navbar, #preloader, #back-to-top, .hero-cta, .project-actions,
  .contact-form-wrap, .modal-overlay { display: none !important; }

  body { background: #fff !important; color: #000 !important; }
  .card, .project-card, .stat-card { box-shadow: none !important; border: 1px solid #ddd !important; }
  section { padding: 2rem 0; }
}