/* ============================================================
   RUPERT CANDY ATTORNEYS INC. — Responsive Breakpoints
   ============================================================ */

/* --- Tablet (max-width: 1024px) --- */
@media (max-width: 1024px) {
  /* Navigation */
  .nav-links {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .mobile-menu {
    display: flex;
  }

  /* Practice Grid */
  .practice-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Landmark Grid */
  .landmark-grid {
    grid-template-columns: 1fr 1fr;
  }

  /* Why Grid */
  .why-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }

  /* About Split */
  .about-split {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .about-accent {
    display: none;
  }

  /* Founder Grid */
  .founder-grid {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }

  /* Team Grid */
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }

  /* Practice Detail */
  .practice-detail-grid {
    grid-template-columns: 1fr 1fr;
  }

  /* Footer */
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }

  /* Offices */
  .offices-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}

/* --- Mobile Landscape (max-width: 768px) --- */
@media (max-width: 768px) {
  /* Typography */
  h1 {
    font-size: clamp(2rem, 7vw, 3rem);
  }

  h2 {
    font-size: clamp(1.6rem, 5vw, 2.2rem);
  }

  /* Hero */
  .hero {
    min-height: 100svh;
  }

  .hero--short {
    min-height: 50vh;
  }

  .hero-cta-group {
    flex-direction: column;
    align-items: center;
  }

  .btn {
    width: 100%;
    max-width: 300px;
    text-align: center;
  }

  /* Practice Grid */
  .practice-grid {
    grid-template-columns: 1fr;
  }

  /* Landmark Grid */
  .landmark-grid {
    grid-template-columns: 1fr;
  }

  /* Why Grid */
  .why-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  /* Mission Vision */
  .mission-vision {
    grid-template-columns: 1fr;
  }

  /* Founder Grid */
  .founder-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .founder-image {
    max-height: 500px;
  }

  /* Team Grid */
  .team-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }

  /* Practice Detail */
  .practice-detail-grid {
    grid-template-columns: 1fr;
  }

  /* Offices */
  .offices-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  /* Form */
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-group--full {
    grid-column: 1;
  }

  .form-submit {
    grid-column: 1;
  }

  /* Footer */
  .footer-main {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }

  /* CTA */
  .cta-phones {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  /* Contact Info */
  .contact-info-links {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  /* Awards track speed adjustment */
  .awards-track {
    animation-duration: 20s;
  }
}

/* --- Mobile Portrait (max-width: 480px) --- */
@media (max-width: 480px) {
  /* Navigation */
  .nav-logo-primary {
    font-size: 0.9rem;
    letter-spacing: 0.15em;
  }

  .nav-logo-secondary {
    font-size: 0.5rem;
  }

  /* Hero */
  .hero-content {
    padding: 0 1rem;
  }

  .hero-tagline {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
  }

  .scroll-indicator {
    bottom: 1.5rem;
  }

  /* Sections */
  section {
    padding: clamp(3rem, 8vw, 5rem) 0;
  }

  /* Cards */
  .card {
    padding: 1.5rem;
  }

  .card-number {
    font-size: 2rem;
  }

  /* Team Grid */
  .team-grid {
    grid-template-columns: 1fr;
  }

  /* Office Cards */
  .office-card {
    padding: 1.5rem;
  }

  /* Award Tags */
  .award-tags {
    flex-direction: column;
  }

  .award-tag {
    text-align: center;
  }

  /* Mobile menu links smaller */
  .mobile-menu a {
    font-size: 1.5rem;
  }

  /* Founder details */
  .founder-details {
    padding: 0;
  }

  /* MV Cards */
  .mv-card {
    padding: 1.5rem;
  }
}

/* --- Print Styles (primarily for Contact page) --- */
@media print {
  .site-nav,
  .hamburger,
  .mobile-menu,
  .noise-overlay,
  .scroll-indicator,
  .awards-bar,
  .cta-section,
  .btn,
  .footer-social {
    display: none !important;
  }

  body {
    background: #fff;
    color: #000;
  }

  h1, h2, h3, h4 {
    color: #000;
  }

  .section-subtitle {
    color: #666;
  }

  a {
    color: #000;
    text-decoration: underline;
  }

  .card,
  .office-card,
  .mv-card {
    background: #f5f5f5;
    border-color: #ddd;
  }

  .site-footer {
    background: #f5f5f5;
    border-top: 1px solid #ddd;
  }
}
