/* ========================================
   TABLET
======================================== */

@media (max-width: 1050px) {

    .site-header {
        position: relative;
        z-index: 10;
    }

    .menu-toggle {
        display: flex;

        margin-left: auto;
    }

    .header-contact {
        display: none;
    }

    .main-nav {
        display: none;

        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 20;

        margin-left: 0;

        background: #ffffff;
        border-top: 1px solid var(--color-border);
        box-shadow: var(--shadow-small);
    }

    .main-nav.is-open {
        display: block;
    }

    .main-nav .nav-list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .main-nav .nav-link {
        display: block;

        width: 100%;
        padding: 0.9rem 1rem;

        border-bottom: 1px solid var(--color-border);
    }

    .mobile-contact-item {
        display: list-item;
    }

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

        gap: 3rem;
    }

    .benefit-grid {
        grid-template-columns: repeat(3, 1fr);

        gap: 1rem;
    }

    .benefit-card {
        border: 1px solid var(--color-border);
    }

    .resource-grid {
        grid-template-columns: repeat(3, 1fr);
    }

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

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

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 750px) {

    :root {
        --section-padding: 3.5rem;
    }


    /* Header */

    .header-container {
        min-height: 70px;
    }

    .header-contact {
        margin-left: auto;
    }


    /* Hero */

    .hero {
        padding-block: 3.5rem;
    }

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

        gap: 2.5rem;
    }

    .hero-content {
        order: 1;
    }

    .hero-image {
        order: 2;
    }

    .large-placeholder {
        min-height: 300px;
    }


    /* Benefits */

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


    /* Services */

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

    .service-card-content p {
        min-height: auto;
    }


    /* Resources */

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


    /* Publications */

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

	.publication-image {
		height: 230px;
	}


    /* PathArt */

    .pathart-grid {
        grid-template-columns: 1fr;

        gap: 2.5rem;
    }


    /* CTA */

    .contact-cta-inner {
        flex-direction: column;

        align-items: flex-start;
    }


    /* Footer */

    .footer-grid {
        grid-template-columns: 1fr;

        gap: 2.5rem;
    }

    .footer-bottom {
        flex-direction: column;

        align-items: flex-start;
    }

    .footer-legal {
        flex-wrap: wrap;

        gap: 1rem;
    }

}
/* ========================================
   SERVICES PAGE RESPONSIVE
======================================== */


@media (max-width: 1050px) {

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

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

	.turnaround-item:nth-child(2) {
		border-right: none;
	}

	.services-faq-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.faq-visual {
		display: none;
	}

}


@media (max-width: 750px) {

	.services-hero-grid,
	.service-detail-grid,
	.service-detail-reverse {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.services-hero {
		padding-block: 3.5rem;
	}

	.services-hero-image img {
		height: 300px;
	}

	.service-detail-image img {
		height: 280px;
	}

	/* Keep image first when sections stack */

	.service-detail-reverse .service-detail-image {
		order: 1;
	}

	.service-detail-reverse .service-detail-content {
		order: 2;
	}

	.additional-service-grid {
		grid-template-columns: 1fr;
	}

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

	.turnaround-item {
		border-right: none;
		border-bottom: 1px solid var(--color-border);
	}

	.turnaround-item:last-child {
		border-bottom: none;
	}

	.services-cta-inner {
		flex-direction: column;

		align-items: flex-start;
	}

}


@media (max-width: 480px) {

	.services-hero-image img,
	.service-detail-image img {
		height: 240px;
	}

	.services-cta-content {
		align-items: flex-start;
	}

}
/* ========================================
   PHYSICIAN RESOURCES RESPONSIVE
======================================== */

@media (max-width: 1050px) {

	.quick-access-grid {
		grid-template-columns: repeat(3, 1fr);
	}

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

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

		gap: 2rem;
	}

	.resource-contact-item {
		padding: 0;

		border-right: none;
	}

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

	.resource-faq-visual {
		display: none;
	}

}


@media (max-width: 750px) {

	.resources-hero-grid,
	.resource-detail-grid,
	.resource-detail-reverse {
		grid-template-columns: 1fr;

		gap: 2.5rem;
	}

	.resources-hero-image img {
		height: 280px;
	}

	.resource-detail-image img {
		height: 260px;
	}

	.resource-detail-reverse .resource-detail-image {
		order: 1;
	}

	.resource-detail-reverse .resource-detail-content {
		order: 2;
	}

	.quick-access-grid {
		grid-template-columns: 1fr;
	}

	.quick-access-card {
		min-height: 145px;
	}

	.resource-turnaround-grid,
	.download-grid {
		grid-template-columns: 1fr;
	}

	.download-preview img {
		height: 220px;
	}

	.resource-contact-grid {
		grid-template-columns: 1fr;

		gap: 1.75rem;
	}

	.download-card-actions .button {
		flex: 1 1 auto;
	}

}


@media (max-width: 480px) {

	.resources-hero-image img,
	.resource-detail-image img {
		height: 230px;
	}

}
/* ========================================
   RESEARCH PAGE RESPONSIVE
======================================== */

@media (max-width: 1050px) {

	.research-hero-image img {
		height: 340px;
	}

	.featured-research-image img {
		height: 290px;
	}

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

}


@media (max-width: 750px) {

	.research-hero-grid,
	.featured-research-grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.research-hero-image img,
	.featured-research-image img {
		height: 250px;
	}

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

	.research-collaboration-inner {
		grid-template-columns: 1fr;

		text-align: left;
	}

	.research-collaboration-icon {
		width: 55px;
		height: 55px;
	}

}
/* ========================================
   PATHART RESPONSIVE
======================================== */

@media (max-width: 1050px) {

	.gallery-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.category-grid {
		grid-template-columns: repeat(3, 1fr);
	}

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

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

}


@media (max-width: 750px) {

	.pathart-hero-grid,
	.pathart-featured-grid,
	.pathart-details-grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.pathart-featured-content {
		max-width: none;
	}

	.pathart-hero-image img,
	.pathart-featured-image > img,
	.pathart-detail-main img {
		height: 260px;
	}

	.gallery-arrow-left {
		left: 5px;
	}

	.gallery-arrow-right {
		right: 5px;
	}

	.gallery-grid,
	.category-grid,
	.related-cases-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.gallery-controls {
		grid-template-columns: 1fr;
	}

	.related-cases-wrapper {
		grid-template-columns: 1fr;
	}

	.related-cases-wrapper > .gallery-arrow {
		display: none;
	}

	.pathart-cta-inner {
		flex-direction: column;

		align-items: flex-start;
	}

}


@media (max-width: 480px) {

	.gallery-grid,
	.category-grid,
	.related-cases-grid {
		grid-template-columns: 1fr;
	}

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

	.pathart-detail-actions {
		flex-direction: column;
	}

}
/* ========================================
   CONTACT PAGE RESPONSIVE
======================================== */

@media (max-width: 1050px) {

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

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

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

}


@media (max-width: 750px) {

	.contact-hero-grid,
	.contact-form-grid,
	.map-directions-grid {
		grid-template-columns: 1fr;

		gap: 2.5rem;
	}

	.contact-hero-image img,
	.map-placeholder img {
		height: 250px;
	}

	.contact-info-grid,
	.office-hours-grid,
	.contact-resource-grid {
		grid-template-columns: 1fr;
	}

	.response-card {
		max-width: none;
	}

	.contact-final-cta-inner {
		flex-direction: column;

		align-items: flex-start;
	}

	.pickup-notice {
		align-items: flex-start;
	}

}