/* Alpha closeout: keep the public entry path readable and operable on phones. */
@media (max-width: 760px) {
    .topbar {
        min-height: 64px;
        padding: .55rem .75rem;
        gap: .75rem;
    }

    .topbar .brand {
        min-width: 0;
        font-size: .78rem;
        letter-spacing: .08em;
    }

    .topbar .shield {
        width: 34px;
        height: 39px;
        flex: 0 0 34px;
    }

    .topbar .guest-access-nav {
        padding: 0;
        flex: 0 0 auto;
    }

    .topbar .officer-access-link {
        display: inline-flex !important;
        min-height: 42px;
        align-items: center;
        padding: .55rem .7rem;
        border: 1px solid var(--amber);
        color: var(--paper);
        text-align: center;
        line-height: 1.1;
    }

    main {
        width: calc(100% - 24px);
        padding-top: 1.5rem;
    }

    .hero {
        min-height: auto;
        gap: 1.25rem;
    }

    .hero h1 {
        font-size: clamp(2.35rem, 13vw, 3.7rem);
    }

    .hero .actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem;
        margin-top: 1.25rem;
    }

    .hero .actions > .primary {
        grid-column: 1 / -1;
    }

    .hero .actions form,
    .hero .actions .btn {
        width: 100%;
        min-width: 0;
    }

    .hero .actions .btn {
        display: flex;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        padding: .65rem .55rem;
        white-space: normal;
        text-align: center;
        line-height: 1.2;
    }
}

@media (max-width: 420px) {
    .hero .actions {
        grid-template-columns: 1fr;
    }

    .hero .actions > .primary {
        grid-column: auto;
    }
}
