/* ============================================================
   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;
  }
}

/* ============================================================
   NEWS PAGE — Responsive
   ============================================================ */

/* Tablet */
@media (max-width: 1024px) {
  .doc-scatter .doc {
    max-width: 160px !important;
    width: 160px !important;
  }

  .case-layout {
    gap: 2.5rem;
  }
}

/* Mobile landscape */
@media (max-width: 768px) {
  .media-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .case-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .case-layout--reverse .case-text {
    order: 1;
  }

  .case-layout--reverse .case-docs {
    order: 2;
  }

  .case-docs {
    height: 240px;
  }

  .case-text {
    padding-left: 1.25rem;
  }

  .doc-scatter {
    height: 240px;
    margin: 1rem 0;
  }

  .doc-scatter .doc {
    max-width: 130px !important;
    width: 130px !important;
  }

  .doc-scatter .doc:nth-child(1) {
    left: 2%;
    top: 12px;
    transform: rotate(-3deg) !important;
  }

  .doc-scatter .doc:nth-child(2) {
    left: 36%;
    top: 0;
    transform: rotate(2deg) !important;
  }

  .doc-scatter .doc:nth-child(3) {
    left: 65%;
    top: 18px;
    transform: rotate(-2deg) !important;
  }

  .doc-scatter .doc:nth-child(4) {
    display: none;
  }

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

  .award-card {
    padding: 2rem 1.25rem 1.75rem;
    min-height: 320px;
  }

  .award-image-wrap {
    height: 140px;
    margin-bottom: 1.25rem;
  }

  .team-photo-feature img {
    max-height: 320px;
  }

  .case-block {
    margin: 3.5rem 0;
  }

  .case-number {
    font-size: 2.25rem;
    top: -0.25rem;
  }

  .section-header--centered {
    margin-bottom: 2.5rem;
  }

  .section-lede {
    font-size: 1rem;
  }
}

/* Mobile portrait */
@media (max-width: 480px) {
  .awards-grid {
    grid-template-columns: 1fr;
  }

  .doc-scatter {
    height: 190px;
  }

  .doc-scatter .doc {
    max-width: 110px;
    width: 110px;
  }

  .case-text h3 {
    font-size: 1.35rem;
  }
}

/* Hero slogan adjustments on mobile */
@media (max-width: 768px) {
  .hero-slogan {
    font-size: clamp(1.25rem, 5vw, 1.8rem);
  }
}

/* --- 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;
  }
}
