/* responsive.css - mobile-first adjustments and nav behaviors */
.nav {
    display: none
}

.menu-toggle {
    display: block
}

#nav.open {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: block;
    padding: 0.75rem 1rem 1rem;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 18px 30px rgba(23, 25, 27, 0.1)
}

[data-theme="dark"] #nav.open {
    box-shadow: 0 18px 30px rgba(0, 0, 0, 0.3)
}

#nav.open .nav-list {
    flex-direction: column;
    align-items: stretch
}

#nav.open .nav-list a {
    width: 100%;
    justify-content: center
}

@media(max-width:420px) {
    .logo {
        height: 42px
    }

    .hero {
        padding-top: 3.5rem
    }

    .hero-title {
        font-size: clamp(2.45rem, 12vw, 3.4rem)
    }

    .hero-ctas .btn {
        width: 100%
    }

    .about,
    .cta {
        border-radius: 24px
    }

    .process-steps li {
        padding-left: 4.35rem
    }
}

@media(min-width:860px) {
    .nav {
        display: block
    }

    .menu-toggle {
        display: none
    }
}
