/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */

/* ---------- Tablet (max-width: 1024px) ---------- */
@media (max-width: 1024px) {
    .strategy-grid,
    .process-grid,
    .method-grid,
    .capabilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-block {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .why-block--reverse {
        direction: ltr;
    }

    .why-block__image {
        height: 300px;
    }

    .why-block__content {
        padding: var(--space-8) var(--space-8);
        border-right: none;
    }

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

    .courthouses-portrait {
        max-width: 400px;
        margin: 0 auto;
    }

    .press-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .awards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .faq-layout {
        grid-template-columns: 1fr;
    }

    .faq-sidebar {
        order: -1;
    }

    .attorney-hero {
        grid-template-columns: 1fr;
    }

    .attorney-hero__portrait {
        max-width: 500px;
        margin: 0 auto;
    }

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

    .contact-layout {
        grid-template-columns: 1fr;
    }

    .contact-steps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pa-single-layout {
        grid-template-columns: 1fr;
    }

    .pa-sidebar {
        position: static;
    }

    .section {
        padding: var(--space-12) 0;
    }

    h1 { font-size: var(--text-5xl); }
    h2 { font-size: var(--text-4xl); }
}

/* ---------- Mobile (max-width: 768px) ---------- */
@media (max-width: 768px) {
    .hero__title {
        font-size: clamp(2.5rem, 10vw, 4rem);
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .btn {
        width: 100%;
    }

    .strategy-grid,
    .process-grid,
    .method-grid,
    .capabilities-grid,
    .results-grid,
    .blog-preview-grid,
    .blog-archive-grid,
    .news-grid,
    .testimonials-grid,
    .reviews-testimonials-grid {
        grid-template-columns: 1fr;
    }

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

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

    .contact-steps-grid {
        grid-template-columns: 1fr;
    }

    .awards-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .section-heading--xl {
        font-size: clamp(2rem, 8vw, 3rem);
    }

    .section-heading--lg {
        font-size: clamp(1.75rem, 6vw, 2.5rem);
    }

    .page-hero__title {
        font-size: clamp(2rem, 8vw, 3.5rem);
    }

    .consultation-form__grid {
        grid-template-columns: 1fr;
    }

    .accent-card {
        padding: var(--space-4) var(--space-6) var(--space-8);
    }

    .accent-card__quote {
        font-size: var(--text-lg);
    }

    .pullquote__text {
        font-size: var(--text-xl);
        padding: 0 var(--space-4);
    }

    h1 { font-size: var(--text-4xl); }
    h2 { font-size: var(--text-3xl); }
    h3 { font-size: var(--text-2xl); }
}

/* ---------- Small Mobile (max-width: 480px) ---------- */
@media (max-width: 480px) {
    .container {
        padding: 0 var(--space-4);
    }

    .card--padded {
        padding: var(--space-4) var(--space-6);
    }

    .hero__title {
        font-size: 2.25rem;
    }

    .press-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .stat__number {
        font-size: var(--text-4xl);
    }

    .btn--hero {
        height: 3rem;
        padding: 0 var(--space-6);
        font-size: 10px;
    }
}

/* --- QC Fixes: Responsive Grid Utilities --- */
@media (max-width: 1024px) {
    .grid-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .grid-cols-2 {
        grid-template-columns: 1fr;
    }
    .grid-cols-3 {
        grid-template-columns: 1fr;
    }
}
