.public-body {
    background:
        #ffffff;
}


.public-navbar {
    min-height:
        76px;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            0.07
        );

    background:
        rgba(
            9,
            43,
            62,
            0.97
        );

    box-shadow:
        0 8px 28px
        rgba(
            8,
            31,
            45,
            0.14
        );

    backdrop-filter:
        blur(18px);
}


.public-navbar
.navbar-brand {
    display:
        flex;

    align-items:
        center;

    gap: 11px;

    color: white;

    font-size:
        1.25rem;

    font-weight:
        800;

    letter-spacing:
        -0.025em;
}


.public-brand-icon {
    width:
        40px;

    height:
        40px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        13px;

    color:
        #332300;

    background:
        linear-gradient(
            135deg,
            #f7b731,
            #ffdd82
        );

    box-shadow:
        0 8px 18px
        rgba(
            247,
            183,
            49,
            0.24
        );
}


.public-brand-icon.small-brand {
    width:
        34px;

    height:
        34px;

    border-radius:
        10px;

    margin-right:
        7px;
}


.public-navbar
.nav-link {
    position:
        relative;

    margin:
        0 2px;

    padding:
        9px 13px
    !important;

    border-radius:
        9px;

    color:
        rgba(
            255,
            255,
            255,
            0.67
        );

    font-weight:
        550;
}


.public-navbar
.nav-link:hover {
    color:
        white;
}


.public-navbar
.nav-link.active {
    color:
        white;

    background:
        rgba(
            255,
            255,
            255,
            0.08
        );
}


.public-login-btn {
    color:
        white;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.24
        );

    background:
        transparent;
}


.public-login-btn:hover {
    color:
        white;

    background:
        rgba(
            255,
            255,
            255,
            0.08
        );
}


.public-register-btn {
    color:
        #14202a;

    border:
        1px solid
        #f7b731;

    background:
        #f7b731;
}


.public-register-btn:hover {
    color:
        #14202a;

    border-color:
        #ffca48;

    background:
        #ffca48;
}


/* =========================================================
   HOME HERO
========================================================= */

.home-hero {
    position:
        relative;

    overflow:
        hidden;

    padding:
        92px 0 88px;

    background:
        linear-gradient(
            135deg,
            #08293b 0%,
            #0f3d58 57%,
            #185c7a 100%
        );
}


.home-hero::before {
    content: "";

    position:
        absolute;

    width:
        520px;

    height:
        520px;

    right:
        -190px;

    top:
        -260px;

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            0.055
        );
}


.home-hero::after {
    content: "";

    position:
        absolute;

    width:
        320px;

    height:
        320px;

    left:
        -170px;

    bottom:
        -190px;

    border-radius:
        50%;

    background:
        rgba(
            247,
            183,
            49,
            0.07
        );
}


.home-hero
.container {
    position:
        relative;

    z-index:
        2;
}


.home-eyebrow {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    margin-bottom:
        22px;

    padding:
        8px 13px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.1
        );

    border-radius:
        999px;

    color:
        #ffe09a;

    background:
        rgba(
            255,
            255,
            255,
            0.06
        );

    font-size:
        0.76rem;

    font-weight:
        750;

    letter-spacing:
        0.05em;

    text-transform:
        uppercase;
}


.home-title {
    max-width:
        760px;

    margin:
        0 0 24px;

    color:
        white;

    font-size:
        clamp(
            3.3rem,
            6vw,
            5.5rem
        );

    line-height:
        0.98;

    font-weight:
        800;

    letter-spacing:
        -0.055em;
}


.home-title
span {
    color:
        #ffd169;
}


.home-copy {
    max-width:
        675px;

    margin-bottom:
        34px;

    color:
        rgba(
            255,
            255,
            255,
            0.7
        );

    font-size:
        1.08rem;
}


.hero-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        12px;
}


.hero-primary-btn {
    padding:
        12px 18px;

    color:
        #17212b;

    border:
        1px solid
        #f7b731;

    background:
        #f7b731;
}


.hero-primary-btn:hover {
    color:
        #17212b;

    background:
        #ffca48;
}


.hero-secondary-btn {
    padding:
        12px 18px;

    color:
        white;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.32
        );

    background:
        rgba(
            255,
            255,
            255,
            0.04
        );
}


.hero-secondary-btn:hover {
    color:
        white;

    background:
        rgba(
            255,
            255,
            255,
            0.1
        );
}


.hero-card {
    position:
        relative;

    overflow:
        hidden;

    padding:
        30px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.7
        );

    border-radius:
        24px;

    color:
        #18232d;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fbfd
        );

    box-shadow:
        0 28px 65px
        rgba(
            0,
            0,
            0,
            0.18
        );
}


.hero-card::after {
    content: "";

    position:
        absolute;

    width:
        150px;

    height:
        150px;

    right:
        -60px;

    top:
        -60px;

    border-radius:
        50%;

    background:
        #edf6fa;
}


.hero-card-header {
    position:
        relative;

    z-index:
        2;

    margin-bottom:
        27px;
}


.hero-card-kicker {
    color:
        #217096;

    font-size:
        0.7rem;

    font-weight:
        800;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


.hero-card-title {
    margin:
        5px 0 0;

    font-size:
        1.75rem;

    font-weight:
        800;

    letter-spacing:
        -0.035em;
}


.hero-feature {
    position:
        relative;

    z-index:
        2;

    display:
        flex;

    gap:
        14px;

    margin-bottom:
        19px;
}


.hero-feature:last-child {
    margin-bottom:
        0;
}


.hero-feature-icon {
    width:
        44px;

    height:
        44px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-shrink:
        0;

    border-radius:
        12px;

    color:
        #164b68;

    background:
        #e9f3f7;

    font-size:
        1.08rem;
}


.hero-feature
strong {
    display:
        block;

    margin-bottom:
        1px;
}


.hero-feature
span {
    color:
        #71808c;

    font-size:
        0.9rem;
}


.home-feature-strip {
    position:
        relative;

    z-index:
        4;

    margin-top:
        -35px;
}


.home-feature-strip-card {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            1fr
        );

    overflow:
        hidden;

    border:
        1px solid
        #e5e9ee;

    border-radius:
        18px;

    background:
        white;

    box-shadow:
        0 18px 40px
        rgba(
            15,
            23,
            42,
            0.09
        );
}


.home-mini-feature {
    display:
        flex;

    align-items:
        center;

    gap:
        13px;

    padding:
        21px;

    border-right:
        1px solid
        #edf0f3;
}


.home-mini-feature:last-child {
    border-right:
        0;
}


.home-mini-icon {
    width:
        43px;

    height:
        43px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-shrink:
        0;

    border-radius:
        12px;

    color:
        #164b68;

    background:
        #eaf4f8;
}


.home-mini-feature
strong {
    display:
        block;

    font-size:
        0.91rem;
}


.home-mini-feature
small {
    color:
        #7b8791;
}


.home-section {
    padding:
        88px 0;
}


.home-section.soft {
    background:
        #f6f8fa;
}


.home-section-heading {
    max-width:
        720px;

    margin-bottom:
        42px;
}


.home-section-heading.center {
    margin-left:
        auto;

    margin-right:
        auto;

    text-align:
        center;
}


.home-section-heading
small {
    color:
        #217096;

    font-weight:
        800;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


.home-section-heading
h2 {
    margin:
        7px 0 11px;

    font-size:
        clamp(
            2rem,
            4vw,
            3rem
        );

    font-weight:
        800;

    letter-spacing:
        -0.045em;
}


.home-section-heading
p {
    margin:
        0;

    color:
        #76838e;
}


.public-feature-card {
    height:
        100%;

    padding:
        24px;

    border:
        1px solid
        #e5e9ee;

    border-radius:
        17px;

    background:
        white;

    box-shadow:
        0 4px 14px
        rgba(
            15,
            23,
            42,
            0.04
        );

    transition:
        all 0.2s ease;
}


.public-feature-card:hover {
    transform:
        translateY(-4px);

    box-shadow:
        0 16px 34px
        rgba(
            15,
            23,
            42,
            0.08
        );
}


.public-feature-card
h5 {
    margin:
        18px 0 8px;

    font-weight:
        750;
}


.public-feature-card
p {
    margin:
        0;

    color:
        #78848e;
}


.home-cta {
    overflow:
        hidden;

    padding:
        48px;

    border-radius:
        23px;

    color:
        white;

    background:
        linear-gradient(
            135deg,
            #0c344a,
            #1a637f
        );

    box-shadow:
        0 22px 50px
        rgba(
            16,
            64,
            88,
            0.18
        );
}


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

.public-footer {
    margin-top:
        70px;

    padding:
        55px 0 24px;

    color:
        #a9bcc7;

    background:
        #081f2d;
}


.public-footer-brand {
    display:
        flex;

    align-items:
        center;

    color:
        white;

    font-size:
        1.2rem;

    font-weight:
        800;
}


.public-footer-copy {
    max-width:
        420px;

    margin-top:
        16px;

    color:
        #8da5b3;
}


.footer-heading {
    margin-bottom:
        13px;

    color:
        white;

    font-size:
        0.82rem;

    font-weight:
        750;
}


.public-footer
a {
    display:
        block;

    width:
        fit-content;

    margin-bottom:
        8px;

    color:
        #96aebb;
}


.public-footer
a:hover {
    color:
        white;
}


.footer-security {
    color:
        #96aebb;
}


.public-footer-bottom {
    display:
        flex;

    justify-content:
        space-between;

    gap:
        15px;

    margin-top:
        42px;

    padding-top:
        20px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.07
        );

    color:
        #6f8998;

    font-size:
        0.8rem;
}


@media (
max-width: 991px
) {

    .home-hero {
        padding:
            68px 0 80px;
    }

    .hero-card {
        margin-top:
            14px;
    }

    .home-feature-strip {
        margin-top:
            24px;
    }

    .home-feature-strip-card {
        grid-template-columns:
            repeat(
                2,
                1fr
            );
    }

    .home-mini-feature:nth-child(2) {
        border-right:
            0;
    }

}


@media (
max-width: 575px
) {

    .home-title {
        font-size:
            3.1rem;
    }

    .home-feature-strip-card {
        grid-template-columns:
            1fr;
    }

    .home-mini-feature {
        border-right:
            0;

        border-bottom:
            1px solid
            #edf0f3;
    }

    .home-mini-feature:last-child {
        border-bottom:
            0;
    }

    .home-cta {
        padding:
            30px;
    }

    .public-footer-bottom {
        flex-direction:
            column;
    }

}
