/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
    .service-features {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    /* Layout */
    .site-header {
        padding: 1rem;
    }

    .site-header__inner {
        flex-direction: column;
        gap: 1rem;
    }

    .main-navigation ul {
        gap: 1.5rem;
        flex-wrap: wrap;
        justify-content: center;
    }

    .section {
        padding: 4rem 0;
    }

    .container {
        padding: 0 1.25rem;
    }

    .section-title {
        font-size: 2rem;
    }

    /* Front Page Hero */
    .hero {
        padding: 6rem 1.5rem;
        min-height: auto;
    }

    .hero__title {
        font-size: 2.5rem;
    }

    /* Entry */
    .entry-title {
        font-size: 2rem;
    }

    /* Cards */
    .card-grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        padding: 2rem;
    }

    /* Clients Grid */
    .clients-grid {
        gap: 1rem;
    }

    .client-item {
        min-width: 150px;
        padding: 1.25rem 1.5rem;
    }

    .client-item__name {
        font-size: 0.9375rem;
    }

    /* Page Hero */
    .page-hero {
        padding: 8rem 1.5rem 4rem;
        min-height: auto;
    }

    .page-hero__title {
        font-size: 2rem;
    }

    /* About Page */
    .approach {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .approach__diagram {
        flex-direction: column;
    }

    .approach__connector {
        width: 2px;
        height: 40px;
    }

    .approach__connector::before {
        left: 50%;
        top: -4px;
        transform: translateX(-50%);
    }

    .approach__connector::after {
        right: auto;
        left: 50%;
        top: auto;
        bottom: -4px;
        transform: translateX(-50%);
    }

    .about-services {
        grid-template-columns: 1fr;
    }

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

    .officer-card__header {
        flex-direction: column;
        text-align: center;
    }

    .mission__quote p {
        font-size: 1.125rem;
    }

    /* Einstein Quote */
    .einstein-quote {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 2rem;
        gap: 2rem;
    }

    .einstein-quote__image {
        order: -1;
    }

    .einstein-quote__image img {
        width: 150px;
        margin: 0 auto;
    }

    .einstein-quote__main {
        font-size: 1.5rem;
    }

    /* Company Info Table */
    .company-info-table__table th,
    .company-info-table__table td {
        padding: 1rem;
        display: block;
        width: 100%;
    }

    .company-info-table__table th {
        padding-bottom: 0.25rem;
        border-bottom: none;
    }

    .company-info-table__table td {
        padding-top: 0.25rem;
    }

    /* Floating Geometry - hide some shapes on mobile */
    .floating-geo__shape--4,
    .floating-geo__shape--5,
    .floating-geo__shape--6 {
        display: none;
    }

    .floating-geo__shape--hexagon {
        width: 28px;
        height: 32px;
    }

    .floating-geo__shape--circle {
        width: 18px;
        height: 18px;
    }

    .floating-geo__shape--diamond {
        width: 20px;
        height: 20px;
    }

    /* Service Page */
    .service-nav__inner {
        flex-direction: column;
        gap: 0.5rem;
    }

    .service-nav__item {
        justify-content: center;
    }

    .service-section {
        padding: 4rem 0;
    }

    .service-detail__number {
        font-size: 3rem;
    }

    .service-detail__icon {
        width: 80px;
        height: 80px;
    }

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

    /* Service Showcase */
    .service-showcase {
        margin: 2rem auto;
    }

    .service-showcase__image {
        padding: 1rem;
    }

    .service-showcase__name {
        font-size: 1.25rem;
    }

    .process-steps {
        flex-direction: column;
        align-items: center;
    }

    .process-steps::before {
        display: none;
    }

    .process-step {
        max-width: 100%;
    }
}
