/* ==========================================================================
   Dynamic Paradox — Responsive layer
   Desktop 1440 · Laptop 1280 · Tablet 768 · Mobile 390
   ========================================================================== */

/* --------------------------------------------------------------------------
   Large desktop (≥ 1440px)
   -------------------------------------------------------------------------- */
@media (min-width: 1440px) {
  :root { --container: 1300px; }
}

/* --------------------------------------------------------------------------
   Laptop (≤ 1280px)
   -------------------------------------------------------------------------- */
@media (max-width: 1280px) {
  .course-row__preview { display: none; }
  .footer__top { grid-template-columns: 1.2fr 2fr 1fr; }
}

/* --------------------------------------------------------------------------
   Small laptop / large tablet (≤ 1024px)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  :root { --nav-h: 76px; }

  /* Navigation collapses to mobile menu */
  .nav__links,
  .nav__actions .btn { display: none; }
  .mega { display: none; }
  .nav__toggle { display: grid; }

  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .book-shelf { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }


  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(3) { padding-left: 0; border-left: 0; }
  .stat:nth-child(n + 3) { border-top: 1px solid rgba(250, 251, 252, 0.12); margin-top: 2.25rem; }

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

  .course-row { grid-template-columns: 60px 1fr auto; }
  .course-row > p { display: none; }

  .blog-layout { grid-template-columns: 1fr; }
  .sidebar { position: static; grid-template-columns: repeat(2, 1fr); }

  .footer__top { grid-template-columns: repeat(3, 1fr); }
  .footer__brand { grid-column: 1 / -1; }
  .footer__col--services { grid-column: 1 / -1; }
  .footer__col--services ul { grid-template-rows: repeat(5, auto); }

  .principle { grid-template-columns: 70px 1fr; }
  .principle p { grid-column: 2; }

  .course-feature { grid-template-columns: 1fr; }
  .course-feature__media { min-height: 320px; order: -1; }

  .process { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.5rem; }
}

/* --------------------------------------------------------------------------
   Tablet (≤ 768px)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  :root { --radius-lg: 22px; }

  .grid--2,
  .grid--3 { grid-template-columns: 1fr; }
  .grid--3.grid--keep-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

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

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

  .section-title--split { grid-template-columns: 1fr; }
  .page-hero__index { display: none; }

  .book-shelf { grid-template-columns: repeat(2, 1fr); }
  .book-shelf > :nth-child(3) { display: none; }

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

  .bio__grid { grid-template-columns: 1fr; }
  .bio__media { position: static; max-width: 440px; }

  .timeline::before,
  .timeline__progress { left: 7px; }
  .timeline__item { grid-template-columns: 1fr; gap: 0.75rem; padding-left: 2.5rem; }
  .timeline__item::before { left: 7px; top: 2.3rem; }
  .timeline__year,
  .timeline__item:nth-child(even) .timeline__year { order: 0; text-align: left; }
  .timeline__item:nth-child(even) .timeline__content { text-align: left; }

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

  .featured-post { grid-template-columns: 1fr; }

  .contact__grid,
  .faq__grid { grid-template-columns: 1fr; }
  .map { aspect-ratio: auto; height: 340px; min-height: 0; }

  .cta-strip { grid-template-columns: 1fr; }
  .service-intro { grid-template-columns: 1fr; align-items: start; }
  .process { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .footer__top { grid-template-columns: repeat(2, 1fr); }
  .footer__col--services ul { grid-template-rows: repeat(8, auto); }
}

/* --------------------------------------------------------------------------
   Mobile (≤ 480px) — tuned for 390px devices
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
  :root { --gutter: 1.25rem; }

  .btn { padding: 0.9rem 1.3rem; }
  .hero__actions .btn { flex: 1 1 100%; }

  .grid--4,
  .grid--3.grid--keep-2 { grid-template-columns: 1fr; }
  .book-shelf { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .book-shelf .card__text,
  .book-shelf .rating { display: none; }
  .book-shelf .card__title { font-size: 1.1rem; }
  .book-card__cover { padding: 1.25rem 1.5rem; }

  .stats { grid-template-columns: 1fr 1fr; }
  .stat { padding-right: 0.75rem; }
  .stat + .stat { padding-left: 0.75rem; }

  .course-row { grid-template-columns: 1fr auto; gap: 1rem; padding: 1.5rem 0; }
  .course-row__num { display: none; }
  .course-row:hover { padding-inline: 0; }
  .course-row__arrow { width: 46px; height: 46px; }

  .post-item { grid-template-columns: 96px 1fr; gap: 1rem; }
  .post-item img { width: 96px; }
  .post-item h3 { font-size: 1.05rem; }

  .testimonial { padding: 1.5rem; }

  .subscribe { flex-direction: column; border-radius: var(--radius); }
  .subscribe .btn { width: 100%; }

  .form__row { grid-template-columns: 1fr; }
  .course-feature__list { grid-template-columns: 1fr; }
  .bio__facts { grid-template-columns: 1fr; }
  .sidebar { grid-template-columns: 1fr; }

  .process { grid-template-columns: 1fr; }
  .principle { grid-template-columns: 1fr; gap: 0.5rem; }
  .principle p { grid-column: auto; }

  .footer__top { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }

  .pagination .pagination__nav span { display: none; }
  .pagination .pagination__hide-sm { display: none; }

  .map__card { right: 1rem; max-width: none; }

  .whatsapp-float { right: 1rem; bottom: 1rem; }
  .back-to-top { right: 1.15rem; bottom: 4.75rem; }
}

/* --------------------------------------------------------------------------
   Reduced motion — disable non-essential animation
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .js [data-animate],
  .js .split-reveal .word > span { opacity: 1; transform: none; }
  .orb { animation: none; }
  .hero__word, .hero__word.is-out { animation: none; }
  .marquee__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .marquee__track [aria-hidden="true"] { display: none; }
}

/* --------------------------------------------------------------------------
   Print
   -------------------------------------------------------------------------- */
@media print {
  .site-header, .mobile-menu, .back-to-top, .whatsapp-float, .newsletter, .marquee { display: none !important; }
  body { background: #fff; }
}
