/* ====================================================== */
    /* SECONDARY MOBILE MENU - CIDADAP */
    /* ====================================================== */

    @media (max-width: 767px) {

        .cidadap-mobile-menu {

            overflow:
                hidden;

            background:
                rgba(
                    248,
                    252,
                    255,
                    .965
                );

            backdrop-filter:
                blur(24px)
                saturate(150%);

            -webkit-backdrop-filter:
                blur(24px)
                saturate(150%);

            isolation:
                isolate;
        }


        .mobile-menu-map-wash {

            position:
                absolute;

            inset:
                0;

            z-index:
                -2;

            pointer-events:
                none;

            background-image:
                linear-gradient(
                    180deg,
                    rgba(255,255,255,.76),
                    rgba(248,252,255,.97)
                    45%,
                    rgba(240,249,255,.98)
                ),
                url(
                    'https://lh3.googleusercontent.com/d/1_uJr5viwuC4N85Fo5GnzSIlpDvhPBQc4'
                );

            background-size:
                cover;

            background-position:
                center;

            opacity:
                .64;

            transform:
                scale(1.06);

            filter:
                saturate(.82);
        }


        .cidadap-mobile-menu::before {

            content:
                "";

            position:
                absolute;

            z-index:
                -1;

            width:
                330px;

            height:
                330px;

            right:
                -125px;

            top:
                -115px;

            border-radius:
                50%;

            background:
                radial-gradient(
                    circle,
                    rgba(56,189,248,.16),
                    rgba(125,211,252,.04)
                    48%,
                    transparent
                    72%
                );

            pointer-events:
                none;
        }


        .mobile-menu-shell {

            position:
                relative;

            width:
                100%;

            height:
                100%;

            min-height:
                100dvh;

            display:
                flex;

            flex-direction:
                column;

            padding:
                calc(
                    18px +
                    env(
                        safe-area-inset-top
                    )
                )
                18px
                calc(
                    22px +
                    env(
                        safe-area-inset-bottom
                    )
                );

            overflow-y:
                auto;

            overscroll-behavior:
                contain;
        }


        /* ================================================== */
        /* HEADER */
        /* ================================================== */

        .mobile-menu-header {

            display:
                flex;

            align-items:
                center;

            justify-content:
                space-between;

            gap:
                14px;
        }


        .mobile-menu-brand {

            min-width:
                0;

            display:
                inline-flex;

            align-items:
                center;

            gap:
                10px;

            color:
                #0f172a;

            text-decoration:
                none;
        }


        .mobile-menu-logo-shell {

            width:
                46px;

            height:
                46px;

            flex:
                none;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            border-radius:
                15px;

            background:
                rgba(255,255,255,.78);

            border:
                1px solid
                rgba(255,255,255,.98);

            box-shadow:
                0 10px 28px
                rgba(14,165,233,.09),
                inset 0 1px 0
                rgba(255,255,255,.96);

            backdrop-filter:
                blur(12px);

            -webkit-backdrop-filter:
                blur(12px);
        }


        .mobile-menu-logo {

            width:
                40px;

            height:
                40px;

            display:
                block;

            object-fit:
                contain;

            mix-blend-mode:
                multiply;
        }


        .mobile-menu-brand-copy {

            display:
                grid;

            line-height:
                1;
        }


        .mobile-menu-brand-copy strong {

            color:
                #0f172a;

            font-size:
                16px;

            font-weight:
                800;

            letter-spacing:
                -.025em;
        }


        .mobile-menu-brand-copy small {

            margin-top:
                4px;

            color:
                #64748b;

            font-size:
                8px;

            font-weight:
                700;

            letter-spacing:
                .075em;
        }


        .mobile-menu-close {

            width:
                43px;

            height:
                43px;

            flex:
                none;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            border:
                1px solid
                rgba(226,232,240,.92);

            border-radius:
                999px;

            color:
                #334155;

            background:
                rgba(255,255,255,.82);

            box-shadow:
                0 8px 22px
                rgba(15,23,42,.055);

            backdrop-filter:
                blur(12px);

            -webkit-backdrop-filter:
                blur(12px);

            transition:
                color .28s ease,
                background .28s ease,
                transform .34s
                cubic-bezier(.16,1,.3,1);
        }


        .mobile-menu-close:active {

            transform:
                rotate(8deg)
                scale(.90);

            color:
                #ffffff;

            background:
                #0ea5e9;
        }


        /* ================================================== */
        /* INTRO */
        /* ================================================== */

        .mobile-menu-intro {

            margin-top:
                46px;

            padding:
                0 4px;
        }


        .mobile-menu-kicker {

            display:
                inline-flex;

            align-items:
                center;

            gap:
                6px;

            padding:
                7px 10px;

            border-radius:
                999px;

            color:
                #0369a1;

            background:
                rgba(240,249,255,.90);

            border:
                1px solid
                #bae6fd;

            font-size:
                8.5px;

            font-weight:
                800;

            letter-spacing:
                .10em;

            text-transform:
                uppercase;
        }


        .mobile-menu-intro h2 {

            max-width:
                310px;

            margin-top:
                17px;

            color:
                #0f172a;

            font-size:
                clamp(
                    32px,
                    10vw,
                    42px
                );

            line-height:
                1.02;

            letter-spacing:
                -.055em;

            font-weight:
                800;
        }


        .mobile-menu-intro h2 span {

            color:
                #0ea5e9;
        }


        .mobile-menu-intro p {

            max-width:
                330px;

            margin-top:
                13px;

            color:
                #64748b;

            font-size:
                11px;

            line-height:
                1.75;
        }


        /* ================================================== */
        /* MENU CARDS */
        /* ================================================== */

        .mobile-menu-links {

            margin-top:
                29px;

            display:
                grid;

            gap:
                11px;
        }


        .mobile-menu-card {

            position:
                relative;

            overflow:
                hidden;

            min-height:
                82px;

            display:
                grid;

            grid-template-columns:
                44px
                minmax(0,1fr)
                34px;

            align-items:
                center;

            gap:
                12px;

            padding:
                13px 12px
                13px 13px;

            border:
                1px solid
                rgba(226,232,240,.92);

            border-radius:
                22px;

            color:
                #0f172a;

            background:
                rgba(255,255,255,.82);

            box-shadow:
                0 10px 28px
                rgba(15,23,42,.045),
                inset 0 1px 0
                rgba(255,255,255,.95);

            backdrop-filter:
                blur(14px);

            -webkit-backdrop-filter:
                blur(14px);

            text-decoration:
                none;

            -webkit-tap-highlight-color:
                transparent;

            transition:
                transform .35s
                cubic-bezier(.16,1,.3,1),
                border-color .3s ease,
                box-shadow .35s ease,
                background .3s ease;
        }


        .mobile-menu-card::after {

            content:
                "";

            position:
                absolute;

            width:
                120px;

            height:
                120px;

            right:
                -60px;

            top:
                -68px;

            border-radius:
                50%;

            background:
                radial-gradient(
                    circle,
                    rgba(125,211,252,.18),
                    transparent
                    70%
                );

            pointer-events:
                none;
        }


        .mobile-menu-card:active {

            transform:
                scale(.975);

            border-color:
                #7dd3fc;

            background:
                rgba(255,255,255,.96);

            box-shadow:
                0 14px 34px
                rgba(14,165,233,.09);
        }


        .mobile-menu-card-icon {

            width:
                44px;

            height:
                44px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            border-radius:
                15px;

            color:
                #0284c7;

            background:
                #f0f9ff;

            border:
                1px solid
                #bae6fd;
        }


        .mobile-menu-card-copy {

            min-width:
                0;

            display:
                grid;
        }


        .mobile-menu-card-title {

            color:
                #0f172a;

            font-size:
                14px;

            font-weight:
                800;

            letter-spacing:
                -.02em;
        }


        .mobile-menu-card-description {

            margin-top:
                4px;

            color:
                #64748b;

            font-size:
                9px;

            line-height:
                1.55;
        }


        .mobile-menu-card-arrow {

            width:
                34px;

            height:
                34px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            border-radius:
                999px;

            color:
                #94a3b8;

            background:
                rgba(248,250,252,.88);

            border:
                1px solid
                #e2e8f0;

            transition:
                color .3s ease,
                background .3s ease,
                transform .35s
                cubic-bezier(.16,1,.3,1);
        }


        .mobile-menu-card:active
        .mobile-menu-card-arrow {

            color:
                #ffffff;

            background:
                #0ea5e9;

            transform:
                translateX(2px);
        }


        /* ================================================== */
        /* FOOTER */
        /* ================================================== */

        .mobile-menu-footer {

            margin-top:
                auto;

            padding-top:
                30px;
        }


        .mobile-menu-divider {

            width:
                100%;

            height:
                1px;

            background:
                linear-gradient(
                    90deg,
                    transparent,
                    rgba(148,163,184,.28)
                    12%,
                    rgba(148,163,184,.28)
                    88%,
                    transparent
                );
        }


        .mobile-menu-footer-note {

            margin:
                15px 0
                12px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            gap:
                6px;

            color:
                #94a3b8;

            font-size:
                8.5px;

            font-weight:
                650;
        }


        .mobile-menu-cta {

            min-height:
                52px;

            width:
                100%;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            gap:
                10px;

            padding:
                0 13px
                0 18px;

            border-radius:
                18px;

            color:
                #ffffff;

            background:
                linear-gradient(
                    135deg,
                    #0ea5e9,
                    #0284c7 55%,
                    #0369a1
                );

            box-shadow:
                0 15px 32px
                rgba(2,132,199,.24),
                inset 0 1px 0
                rgba(255,255,255,.20);

            font-size:
                11px;

            font-weight:
                800;

            text-decoration:
                none;

            -webkit-tap-highlight-color:
                transparent;

            transition:
                transform .32s
                cubic-bezier(.16,1,.3,1),
                box-shadow .32s ease;
        }


        .mobile-menu-cta-icon {

            width:
                31px;

            height:
                31px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            border-radius:
                999px;

            background:
                rgba(255,255,255,.14);

            border:
                1px solid
                rgba(255,255,255,.13);
        }


        .mobile-menu-cta:active {

            transform:
                scale(.975);

            box-shadow:
                0 10px 23px
                rgba(2,132,199,.20);
        }


        .mobile-menu-location {

            margin-top:
                13px;

            display:
                flex;

            align-items:
                center;

            justify-content:
                center;

            gap:
                5px;

            color:
                #94a3b8;

            font-size:
                8px;

            font-weight:
                600;
        }

    }


    /* ====================================================== */
    /* SMALL PHONE */
    /* ====================================================== */

    @media (
        max-width: 380px
    )
    and
    (
        max-height: 720px
    ) {

        .mobile-menu-intro {

            margin-top:
                28px;
        }


        .mobile-menu-intro h2 {

            font-size:
                31px;
        }


        .mobile-menu-intro p {

            display:
                none;
        }


        .mobile-menu-links {

            margin-top:
                20px;
        }


        .mobile-menu-footer {

            padding-top:
                18px;
        }


        .mobile-menu-location {

            display:
                none;
        }

    }


    @media (
        min-width: 768px
    ) {

        .cidadap-mobile-menu {

            display:
                none !important;
        }

    }
