/* Insaf Legal – responsive */

@media (max-width: 1020px) {
    .footer__grid {
        grid-template-columns: 1fr 1fr;
    }

    .hero__inner {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .hero__card {
        max-width: 520px;
    }

    .grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile navigation with smooth slide & fade animation */
@media (max-width: 960px) {
    :root {
        --header-h: 76px;
    }

    .brand img {
        height: 56px;
    }

    .site-header__inner {
        flex-wrap: wrap;
        padding-block: 8px;
        gap: 0px;
    }

    .menu-btn {
        display: inline-flex;
        margin-left: auto;
        transition: transform .15s ease;
    }

    .menu-btn:active {
        transform: scale(0.94);
    }

    /* Animated mobile nav drawer */
    .nav {
        display: block !important;
        flex-basis: 100%;
        width: 100%;
        max-height: 0;
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
        transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
            opacity 0.25s ease,
            visibility 0.35s ease,
            padding 0.35s ease;
        padding-bottom: 0;
    }

    .nav.is-open {
        max-height: 85vh;
        opacity: 1;
        visibility: visible;
        overflow-y: auto;
        padding-bottom: 20px;
        padding-top: 20px;
    }

    .nav__list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .nav__item {
        flex-wrap: wrap;
        border-top: 1px solid var(--line);
    }

    .nav__link {
        flex: 1;
        padding: 14px 4px;
        font-size: 1.05rem;
    }

    .nav__item.is-current>.nav__link {
        box-shadow: none;
        color: var(--red-600);
        font-weight: 700;
    }

    .nav__toggle {
        padding: 14px 12px;
        margin: 0;
        cursor: pointer;
    }

    .nav__toggle svg {
        transition: transform 0.25s ease, color 0.2s ease;
    }

    .has-dropdown.is-open>.nav__toggle svg {
        transform: rotate(180deg);
        color: var(--red-600);
    }

    /* Animated submenu accordion */
    .dropdown {
        position: static;
        flex-basis: 100%;
        width: 100%;
        box-shadow: none;
        border: 0;
        border-left: 3px solid var(--red-600);
        border-radius: 0;
        margin: 0 0 0 10px;
        padding: 0 0 0 12px;
        min-width: 0;
        display: block !important;
        max-height: 0;
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
        transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
            opacity 0.2s ease,
            visibility 0.3s ease,
            margin 0.3s ease;
    }

    /* On mobile, NEVER let touch :hover or :focus-within force the submenu open */
    .has-dropdown:hover>.dropdown,
    .has-dropdown:focus-within>.dropdown {
        max-height: 0;
        opacity: 0;
        visibility: hidden;
    }

    /* ONLY explicit .is-open opens the submenu on mobile! */
    .has-dropdown.is-open>.dropdown,
    .has-dropdown.is-open:hover>.dropdown,
    .has-dropdown.is-open:focus-within>.dropdown {
        max-height: 450px !important;
        opacity: 1 !important;
        visibility: visible !important;
        margin: 6px 0 12px 10px;
    }

    .nav__item--cta {
        margin: 16px 0 0;
        border: 0;
    }

    .nav__item--cta .btn {
        width: 100%;
    }

    .process-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 760px) {
    body {
        font-size: 1rem;
    }

    .split,
    .split--form,
    .split--founder {
        grid-template-columns: 1fr;
    }

    .founder-card {
        max-width: 440px;
        margin-inline: auto;
    }

    .grid--2,
    .grid--3 {
        grid-template-columns: 1fr;
    }

    .form__row {
        grid-template-columns: 1fr;
    }

    .footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .cta__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .cta__actions,
    .hero__actions {
        width: 100%;
    }

    .cta__actions .btn,
    .hero__actions .btn {
        flex: 1 1 100%;
    }

    .hero__trust {
        flex-direction: column;
        gap: 10px;
    }

    .link-cards {
        grid-template-columns: 1fr;
    }
}

@media print {

    .site-header,
    .cta,
    .site-footer,
    .menu-btn {
        display: none;
    }

    .hero,
    .page-hero {
        background: none;
        color: #000;
    }

    .hero h1,
    .page-hero h1,
    .lead {
        color: #000;
    }
}

@media (max-width: 760px) {
    .wa-float {
        width: 54px;
        height: 54px;
        right: max(14px, env(safe-area-inset-right));
        bottom: max(14px, env(safe-area-inset-bottom));
    }

    .wa-float svg {
        width: 29px;
        height: 29px;
    }

    .site-footer {
        padding-bottom: 72px;
    }

    /* keep footer text clear of the button */
}

@media print {
    .wa-float {
        display: none;
    }
}

@media (max-width: 960px) {
    .site-header.is-scrolled .site-header__inner {
        min-height: 52px;
        padding-block: 4px;
    }

    .site-header.is-scrolled .brand img {
        height: 36px;
    }

    .site-header.is-scrolled .menu-btn {
        width: 40px;
        height: 40px;
    }

    .site-header.is-scrolled .menu-btn__bars,
    .site-header.is-scrolled .menu-btn__bars::before,
    .site-header.is-scrolled .menu-btn__bars::after {}
}