/* Shared responsive safeguards for navigation, grids, and content sections. */
@media (max-width:1199px) {
    html body .fc-nav-toggle {
        display:inline-flex;
    }

    html body .fc-nav {
        position:absolute;
        inset-inline:0;
        top:100%;
        flex-direction:column;
        align-items:stretch;
        gap:var(--space-6);
        max-height:0;
        padding:var(--space-6) var(--container-padding-inline);
        overflow:hidden;
        opacity:0;
        transform:translateY(-6px);
        background:radial-gradient(circle at 0 0,#181024f2 0,transparent 55%),radial-gradient(circle at 100% 0,#052026f2 0,transparent 60%),rgba(5,6,8,0.98);
        border-bottom:1px solid rgba(36,38,51,0.95);
        transition:max-height var(--transition-slow),opacity var(--transition-base),transform var(--transition-base);
    }

    html body .fc-header.is-menu-open .fc-nav {
        max-height:420px;
        opacity:1;
        transform:translateY(0);
    }

    html body .fc-nav-list {
        flex-direction:column;
        align-items:flex-start;
        gap:var(--space-3);
    }

    html body .fc-nav-cta,
    html body .fc-nav-cta-btn {
        width:100%;
    }
}

@media (max-width:1100px) {
    html body .hero-layout {
        grid-template-columns:minmax(0,1fr);
        gap:var(--space-10);
    }

    html body .hero-framing {
        width:100%;
        max-width:540px;
        margin-inline:auto;
    }
}

@media (max-width:767px) {
    html,
    body {
        overflow-x:hidden;
    }

    html body .fc-header-bar {
        padding-block:var(--space-4);
    }

    html body .fc-logo-subtitle {
        display:none;
    }

    html body .fc-logo-title {
        font-size:0.9rem;
        letter-spacing:0.14em;
    }

    html body .grid.grid-auto-fit,
    html body .feature-grid {
        grid-template-columns:minmax(0,1fr);
    }

    html body .section {
        padding-block:var(--space-10);
    }

    html body .section-header {
        margin-bottom:var(--space-8);
    }

    html body h1 {
        font-size:clamp(2rem,10vw,2.6rem);
    }

    html body h2 {
        font-size:clamp(1.65rem,8vw,2.1rem);
    }

    html body .hero-inner {
        padding-block:var(--space-10);
    }

    html body .hero-framing {
        max-width:100%;
    }

    html body .hero-frame-inner > div {
        min-height:0;
        padding:var(--space-7);
    }

    html body .hero-frame-meta {
        flex-direction:column;
        gap:var(--space-5);
    }

    html body .cta-band {
        padding:var(--space-7);
    }

    html body .cta-band .text-right {
        text-align:left;
    }

    html body .btn-group {
        flex-direction:column;
        align-items:stretch;
    }

    html body .btn-group .btn {
        width:100%;
    }

    html body .fc-footer-nav {
        grid-template-columns:minmax(0,1fr);
    }
}
