/* ==========================================================================
   RYKOLO ADVISORY — RESPONSIVE STYLES
   ========================================================================== */

/* Tablet / small desktop */
@media (max-width: 1080px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .industry-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-row { grid-template-columns: repeat(2, 1fr); gap: 40px 20px; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
}

@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr; gap: 40px; }
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .timeline-row { grid-template-columns: repeat(2, 1fr); row-gap: 46px; }
  .timeline::before { display: none; }
  .value-list { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}

/* Mobile */
@media (max-width: 640px) {
  .container { padding: 0 22px; }
  .section { padding: 72px 0; }
  .section-tight { padding: 50px 0; }
  h1 { font-size: 2.1rem; }
  h2 { font-size: 1.65rem; }

  .hero { padding-top: 120px; padding-bottom: 60px; min-height: auto; }
  .hero-page { padding-top: 140px; padding-bottom: 60px; }
  .hero-skyline { width: 100%; opacity: 0.22; }

  .nav-cta .btn:not(.btn-gold) { display: none; }

  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: 1fr 1fr; }
  .industry-grid { grid-template-columns: 1fr; }
  .timeline-row { grid-template-columns: 1fr; gap: 34px; }
  .timeline-detail-row { grid-template-columns: 1fr; gap: 16px; }
  .stats-row { grid-template-columns: 1fr 1fr; }
  .trust-grid { grid-template-columns: 1fr 1fr; }

  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-shell { padding: 30px 22px; }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .service-detail { grid-template-columns: 1fr; gap: 14px; }

  .btn-row { flex-direction: column; align-items: stretch; }
  .btn-row .btn { width: 100%; }

  /* Mobile nav drawer */
  .nav-links {
    display: flex;
    position: fixed;
    top: 0; right: 0;
    height: 100vh;
    width: 78%;
    max-width: 320px;
    background: var(--primary);
    flex-direction: column;
    align-items: flex-start;
    padding: 110px 36px 40px;
    gap: 26px;
    transform: translateX(100%);
    transition: transform var(--transition);
    z-index: 999;
    box-shadow: -20px 0 60px rgba(0,0,0,0.3);
  }
  .nav-links.is-open { transform: translateX(0); }
  .nav-links a { font-size: 1rem; }

  .nav-toggle { display: flex; z-index: 1001; }
  .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
  .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

@media (max-width: 420px) {
  .grid-4 { grid-template-columns: 1fr; }
  .stats-row { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: 1fr; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
