/* ===========================
   Mobile First Responsive
   =========================== */

/* Default / Mobile (< 640px) — nav compact mode */

@media (max-width: 639px) {
    .header-inner {
        padding: 0.875rem 1rem;
        gap: 0.75rem;
    }

    .header-logo { display: none; }
    .header-logo-icon { display: block; }

    .toggle-btn { padding: 0.4375rem 0.75rem; }

    .label-full { display: none; }
    .label-short { display: inline; }
}

/* Default / Mobile (< 640px) */

.hero {
    padding: 64px 0 60px;
}

.hero-headline {
    font-size: 2rem;
}

.hero-sub {
    font-size: 1rem;
}

section {
    padding: 56px 0;
}

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

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

.founder-photo-wrap {
    max-width: 200px;
    margin: 0 auto;
}

.section-heading {
    font-size: 1.375rem;
}

/* ===========================
   Tablet (>= 640px)
   =========================== */

@media (min-width: 640px) {
    .hero {
        padding: 80px 0 72px;
    }

    .hero-headline {
        font-size: 2.5rem;
    }

    section {
        padding: 72px 0;
    }
}

/* ===========================
   Tablet Large (>= 768px)
   =========================== */

@media (min-width: 768px) {
    .hero {
        padding: 96px 0 88px;
    }

    .hero-headline {
        font-size: 2.875rem;
    }

    section {
        padding: 88px 0;
    }

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

    .founder-layout {
        grid-template-columns: 220px 1fr;
        gap: 3rem;
    }

    .founder-photo-wrap {
        max-width: none;
        margin: 0;
    }
}

/* ===========================
   Desktop (>= 1024px)
   =========================== */

@media (min-width: 1024px) {
    .hero {
        padding: 110px 0 100px;
    }

    .hero-headline {
        font-size: 3rem;
    }

    section {
        padding: var(--section-padding) 0;
    }

    .founder-layout {
        grid-template-columns: 260px 1fr;
        gap: 4rem;
    }
}

/* ===========================
   Large Desktop (>= 1280px)
   =========================== */

@media (min-width: 1280px) {
    :root {
        --section-padding: 112px;
    }

    .container {
        padding: 0 2rem;
    }

    .header-inner {
        padding: 1.25rem 2rem;
    }
}

/* ===========================
   Print
   =========================== */

@media print {
    .site-header,
    .cta-button,
    .view-toggle,
    .contact-section {
        display: none;
    }

    body {
        background: white;
        color: black;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }
}
