/* responsive.css — breakpoint overrides (loaded last so they win) */

/* ── Tablet and small desktop ────────────────────────────────────── */
@media (max-width: 980px) {
    .hero-grid,
    .intro-grid,
    .section-heading,
    .platform-grid,
    .cta-inner,
    .page-hero-inner,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .hero-grid {
        gap: 70px;
        padding-block: 76px 110px;
    }

    .hero-visual {
        max-width: 620px;
    }

    .intro-grid,
    .section-heading,
    .cta-inner,
    .page-hero-inner {
        gap: 35px;
    }

    .intro-copy {
        padding-left: 24px;
    }

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

    .principle-card {
        min-height: auto;
    }

    .principle-card-featured {
        transform: none;
    }

    .card-rule {
        margin-top: 36px;
    }

    .platform-grid {
        gap: 80px;
    }

    .platform-art {
        width: min(100%, 520px);
    }

    .contact-grid {
        gap: 50px;
    }

    .contact-details {
        position: static;
    }

    .footer-grid {
        grid-template-columns: 1fr 0.5fr 1fr;
        gap: 40px;
    }
}

/* ── Mobile ──────────────────────────────────────────────────────── */
@media (max-width: 680px) {
    .container {
        width: min(calc(100% - 32px), var(--container));
    }

    .header-inner {
        min-height: 72px;
    }

    .brand img {
        width: 44px;
        height: 44px;
    }

    .brand-name {
        display: none;
    }

    .site-nav a {
        padding-inline: 12px;
    }

    .hero-grid {
        min-height: auto;
        padding-block: 64px 95px;
    }

    .hero h1 {
        font-size: clamp(2.45rem, 12vw, 3.45rem);
    }

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

    .hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 19px;
    }

    .platform-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
        margin-top: 40px;
    }

    .logo-panel {
        padding: 13px;
    }

    .foundation-note {
        right: -8px;
        bottom: -60px;
        width: 250px;
    }

    .intro-section,
    .principles-section,
    .platform-section,
    .contact-section {
        padding-block: 76px;
    }

    .page-hero-inner {
        padding-block: 60px 66px;
    }

    .platform-art {
        min-height: 380px;
    }

    .device {
        width: 170px;
        height: 330px;
    }

    .device-back {
        left: 18px;
    }

    .device-front {
        right: 18px;
    }

    .device-stack {
        padding: 50px 20px 0;
    }

    .cta-inner {
        padding-block: 60px;
    }

    .form-panel {
        padding: 24px 18px;
    }

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

    .turnstile-row,
    .form-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .form-submit .button {
        width: 100%;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 35px;
        padding-block: 54px 40px;
    }

    .brand-light .brand-name {
        display: flex;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 5px;
    }
}
