* {
    box-sizing: border-box;
}

.hero-section{
    min-height:100vh;
    background:url('../images/hero.jpg') center center;
    background-size:cover;
    position:relative;
}

/* .hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(0,0,0,.70),
        rgba(0,80,180,.45)
    );

} */

.hero-search{
    margin-top:-80px;
    margin-bottom: 15px;
    position:relative;
    z-index:20;
}

.hero-search .card{

    border-radius:20px;

}

.hero-search input,

.hero-search select{

    height:60px;

    border-radius:12px;

}

.display-2{

    font-size:4.2rem;

}

.counter{

    color:#0d6efd;

    font-size:3rem;

}

@media(max-width:768px){

    .display-2{

    font-size:2.8rem;

    }

    .hero-search{

    margin-top:30px;

    }

}

/* =========================================================
   SITE NAVIGATION
   One consistent responsive navigation system for desktop + mobile.
========================================================= */
.navbar-glass {
    transition: background-color .3s ease, box-shadow .3s ease, padding .3s ease, backdrop-filter .3s ease;
    background: transparent;
    padding: 18px 0;
    z-index: 1030;
}

.navbar-glass .container {
    min-height: 46px;
}

.navbar-scrolled {
    background: rgba(15, 23, 42, .94);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .15);
    padding-top: 11px;
    padding-bottom: 11px;
}

.navbar-brand {
    position: relative;
    z-index: 2;
    white-space: nowrap;
}

.navbar-toggler {
    width: 44px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, .08);
    transition: background-color .2s ease, transform .2s ease;
}

.navbar-toggler:hover,
.navbar-toggler:focus-visible {
    background: rgba(255, 255, 255, .16);
}

.navbar-toggler:active {
    transform: scale(.96);
}

.navbar-collapse {
    flex-grow: 1;
}

.navbar-nav .nav-link {
    color: rgba(255, 255, 255, .88) !important;
    margin: 0 7px;
    padding: 9px 7px !important;
    position: relative;
    font-weight: 600;
    white-space: nowrap;
    transition: color .2s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus-visible,
.navbar-nav .nav-link.active {
    color: #fff !important;
}

.navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    left: 7px;
    bottom: 1px;
    width: calc(100% - 14px);
    height: 2px;
    border-radius: 99px;
    background: #0d6efd;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link:focus-visible::after,
.navbar-nav .nav-link.active::after {
    transform: scaleX(1);
}

.navbar-nav .dropdown-toggle::after {
    margin-left: .4rem;
    vertical-align: .15em;
}

.dropdown-menu {
    min-width: 230px;
    padding: 8px;
    margin-top: 10px !important;
    border: 0;
    overflow: hidden;
}

.dropdown-item {
    border-radius: 10px;
    padding: 10px 13px;
    font-weight: 500;
    transition: background-color .15s ease, color .15s ease;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
    background: #eef5ff;
    color: #0d6efd;
}

.navbar-actions .btn {
    white-space: nowrap;
    font-weight: 600;
}

.account-toggle {
    min-height: 44px;
    padding: 2px 4px 2px 2px;
    border-radius: 999px;
    transition: background-color .2s ease;
}

.account-toggle:hover,
.account-toggle:focus-visible,
.account-toggle[aria-expanded="true"] {
    background: rgba(255, 255, 255, .08);
}

/* =========================================================
   MOBILE OFFCANVAS
========================================================= */
.site-mobile-menu {
    --bs-offcanvas-width: min(390px, 92vw);
    z-index: 1045;
    border-left: 1px solid rgba(15, 23, 42, .08);
}

.site-mobile-menu .offcanvas-header {
    padding: 20px 22px 12px;
    border-bottom: 1px solid rgba(15, 23, 42, .07);
}

.site-mobile-menu .offcanvas-body {
    padding: 12px 22px 28px;
}

.mobile-navigation {
    display: flex;
    flex-direction: column;
}

.mobile-link {
    display: block;
    padding: 14px 12px;
    margin: 1px 0;
    color: #1e293b;
    text-decoration: none;
    font-weight: 650;
    border-radius: 12px;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.mobile-link:hover,
.mobile-link:focus-visible,
.mobile-link.active {
    color: #0d6efd;
    background: #f1f6ff;
    outline: none;
}

.mobile-link:active {
    transform: translateX(2px);
}

.mobile-nav-group {
    border-radius: 14px;
    margin: 1px 0;
}

.mobile-nav-row {
    display: flex;
    align-items: center;
}

.mobile-nav-row .mobile-link {
    margin-right: 3px;
}

.mobile-nav-group.active-group {
    background: #f8fafc;
}

.mobile-submenu-toggle {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-right: 3px;
    border: 0;
    background: transparent;
    color: #475569;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.mobile-submenu-toggle:hover,
.mobile-submenu-toggle:focus-visible,
.mobile-submenu-toggle[aria-expanded="true"] {
    background: #eaf2ff;
    color: #0d6efd;
    outline: none;
}

.mobile-submenu-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.mobile-submenu-toggle i {
    transition: transform .2s ease;
}

.mobile-submenu {
    padding: 0 10px 9px 20px;
}

.mobile-sublink {
    display: block;
    padding: 10px 14px;
    color: #64748b;
    text-decoration: none;
    font-size: .95rem;
    font-weight: 550;
    border-radius: 9px;
    transition: color .2s ease, background-color .2s ease, padding-left .2s ease;
}

.mobile-sublink:hover,
.mobile-sublink:focus-visible,
.mobile-sublink.active {
    color: #0d6efd;
    background: #eef5ff;
    padding-left: 18px;
    outline: none;
}

.mobile-user-summary {
    display: flex;
    align-items: center;
    padding: 12px;
    border-radius: 14px;
    background: #f8fafc;
}

.mobile-user-summary strong,
.mobile-user-summary small {
    display: block;
}

.mobile-user-summary small {
    color: #64748b;
    margin-top: 2px;
}

/* Keep the mobile offcanvas out of the desktop layout. */
@media (min-width: 992px) {
    .navbar-toggler,
    .site-mobile-menu,
    .offcanvas-backdrop {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    .navbar-glass {
        background: rgba(15, 23, 42, .82);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        padding: 11px 0;
    }

    .navbar-scrolled {
        background: rgba(15, 23, 42, .96);
    }
}

@media (max-width: 420px) {
    .navbar-brand {
        font-size: 1.55rem !important;
    }

    .site-mobile-menu {
        --bs-offcanvas-width: 94vw;
    }

    .site-mobile-menu .offcanvas-body {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .navbar-glass,
    .navbar-nav .nav-link::after,
    .mobile-link,
    .mobile-sublink,
    .mobile-submenu-toggle,
    .mobile-submenu-toggle i {
        transition: none !important;
    }
}

/* =========================================================
   PREMIUM PLATFORM STATISTICS
========================================================= */

.platform-stats {

    position: relative;

    overflow: hidden;

    padding: 110px 0;

    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            #ffffff 48%,
            #f8fafc 100%
        );

    isolation: isolate;
}


/* =========================================================
   BACKGROUND GLOWS
========================================================= */

.stats-glow {

    position: absolute;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    filter: blur(90px);

    opacity: .35;

    pointer-events: none;

    z-index: -1;

    animation: statsFloat 10s ease-in-out infinite;
}

.stats-glow-one {

    top: -180px;
    left: -150px;

    background: rgba(0, 106, 255, .14);
}

.stats-glow-two {

    right: -180px;
    bottom: -200px;

    background: rgba(99, 102, 241, .12);

    animation-delay: -4s;
}

@keyframes statsFloat {

    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, 30px, 0);
    }

}


/* =========================================================
   HEADING
========================================================= */

.stats-heading {

    max-width: 720px;

    margin: 0 auto 58px;
}

.stats-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 8px 13px;

    border: 1px solid #dbeafe;

    border-radius: 999px;

    color: #006aff;

    background: #eff6ff;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .12em;
}

.eyebrow-dot {

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #12b76a;

    box-shadow:
        0 0 0 5px rgba(18, 183, 106, .10);

    animation: eyebrowPulse 2s infinite;
}

@keyframes eyebrowPulse {

    0%,
    100% {
        box-shadow:
            0 0 0 4px rgba(18, 183, 106, .10);
    }

    50% {
        box-shadow:
            0 0 0 8px rgba(18, 183, 106, .03);
    }

}

.stats-heading h2 {

    margin: 22px 0 15px;

    color: #101828;

    font-size: clamp(34px, 4vw, 52px);

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -.055em;
}

.stats-heading h2 span {

    color: #006aff;

}

.stats-heading p {

    max-width: 600px;

    margin: 0 auto;

    color: #667085;

    font-size: 15px;

    line-height: 1.75;
}


/* =========================================================
   STAT CARD
========================================================= */

.stat-card {

    position: relative;

    height: 100%;

    padding: 30px;

    overflow: hidden;

    border: 1px solid rgba(16, 24, 40, .08);

    border-radius: 22px;

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

    box-shadow:
        0 4px 12px rgba(16, 24, 40, .025),
        0 18px 45px rgba(16, 24, 40, .055);

    backdrop-filter: blur(14px);

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

    opacity: 0;

    transform:
        translateY(35px);

    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s ease,
        border-color .4s ease;
}


/*
 * Activated by JavaScript
 */

.stat-card.visible {

    opacity: 1;

    transform:
        translateY(0);
}


/*
 * Staggered animation
 */

.stats-grid > div:nth-child(1) .stat-card {
    transition-delay: .05s;
}

.stats-grid > div:nth-child(2) .stat-card {
    transition-delay: .15s;
}

.stats-grid > div:nth-child(3) .stat-card {
    transition-delay: .25s;
}

.stats-grid > div:nth-child(4) .stat-card {
    transition-delay: .35s;
}


/* =========================================================
   CARD HOVER
========================================================= */

.stat-card:hover {

    transform:
        translateY(-9px);

    border-color:
        rgba(0, 106, 255, .18);

    box-shadow:
        0 8px 18px rgba(16, 24, 40, .035),
        0 28px 60px rgba(16, 24, 40, .10);
}


/* =========================================================
   ICON
========================================================= */

.stat-icon {

    width: 54px;
    height: 54px;

    display: grid;

    place-items: center;

    margin-bottom: 25px;

    border: 1px solid #dbeafe;

    border-radius: 15px;

    color: #006aff;

    background:
        linear-gradient(
            135deg,
            #eff6ff,
            #e0f2fe
        );

    font-size: 22px;

    transition:
        transform .35s ease,
        background .35s ease;
}

.stat-card:hover .stat-icon {

    transform:
        rotate(-5deg)
        scale(1.08);

    background:
        linear-gradient(
            135deg,
            #dbeafe,
            #bfdbfe
        );
}


/* =========================================================
   NUMBER
========================================================= */

.stat-number {

    min-height: 52px;

    display: flex;

    align-items: center;

    color: #101828;

    font-size: 42px;

    font-weight: 850;

    line-height: 1;

    letter-spacing: -.055em;
}

.counter {

    font-variant-numeric:
        tabular-nums;
}


/* =========================================================
   CARD TEXT
========================================================= */

.stat-content h3 {

    margin: 11px 0 7px;

    color: #101828;

    font-size: 15px;

    font-weight: 750;
}

.stat-content p {

    margin: 0;

    color: #667085;

    font-size: 12px;

    line-height: 1.65;
}


/* =========================================================
   PROGRESS LINE
========================================================= */

.stat-progress {

    position: absolute;

    left: 30px;
    right: 30px;
    bottom: 0;

    height: 3px;

    overflow: hidden;

    border-radius: 10px 10px 0 0;

    background: #f2f4f7;
}

.stat-progress span {

    display: block;

    width: 0;

    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            #006aff,
            #38bdf8
        );

    transition:
        width 1.5s cubic-bezier(.2,.8,.2,1);
}

.stat-card.visible .stat-progress span {

    width: 100%;
}


/* =========================================================
   TRUST BAR
========================================================= */

.stats-trust {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 20px;

    margin-top: 52px;

    padding: 18px 24px;

    border:
        1px solid #eaecf0;

    border-radius: 999px;

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

    box-shadow:
        0 8px 30px rgba(16, 24, 40, .04);

    backdrop-filter: blur(10px);
}

.trust-item {

    display: flex;

    align-items: center;

    gap: 8px;

    color: #475467;

    font-size: 11px;

    font-weight: 650;
}

.trust-item i {

    color: #006aff;

    font-size: 14px;
}

.trust-divider {

    width: 1px;

    height: 16px;

    background: #d0d5dd;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .platform-stats {

        padding: 80px 0;
    }

    .stats-heading {

        margin-bottom: 40px;
    }

    .stats-heading h2 {

        font-size: 36px;
    }

    .stats-heading p {

        font-size: 14px;
    }

    .stat-card {

        padding: 26px;
    }

    .stat-number {

        font-size: 38px;
    }

    .stats-trust {

        border-radius: 18px;

        gap: 14px;

        padding: 17px;
    }

    .trust-divider {

        display: none;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .platform-stats {

        padding: 65px 0;
    }

    .stats-heading h2 {

        font-size: 31px;
    }

    .stat-card {

        padding: 23px;
    }

    .stat-number {

        font-size: 35px;
    }

    .stats-trust {

        align-items: flex-start;

        flex-direction: column;

        width: 100%;
    }

}



/* footer style */
.footer{

    background:linear-gradient(180deg,#0b1220,#05070d);

    padding-top:120px;

    padding-bottom:40px;

    position:relative;

}

.footer-wave{

    position:absolute;

    top:-1px;

    left:0;

    width:100%;

    line-height:0;

}

.footer-wave svg{

    width:100%;

    height:120px;

}

.newsletter-box{

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

    backdrop-filter:blur(18px);

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

    border-radius:24px;

    padding:45px;

    box-shadow:0 30px 60px rgba(0,0,0,.35);

}

.footer-links{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li{

    margin:14px 0;

}

.footer-links a{

    color:#cbd5e1;

    text-decoration:none;

    transition:.35s;

}

.footer-links a:hover{

    color:white;

    padding-left:10px;

}

.social-icons{

    display:flex;

    gap:15px;

    margin-top:25px;

}

.social-icons a{

    width:48px;

    height:48px;

    border-radius:50%;

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

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    transition:.4s;

    font-size:20px;

}

.social-icons a:hover{

    background:#0d6efd;

    transform:translateY(-8px) rotate(360deg);

}

.city-bg{

    position:absolute;

    bottom:0;

    left:0;

    width:100%;

    height:170px;

    background:url("../images/footer-art.svg") repeat-x bottom;

    opacity:.08;

    pointer-events:none;

}

.footer-glow{

    position:absolute;

    border-radius:50%;

    filter:blur(100px);

}

.glow-1{

    width:280px;

    height:280px;

    background:#2563eb;

    top:20%;

    left:-120px;

}

.glow-2{

    width:260px;

    height:260px;

    background:#06b6d4;

    bottom:0;

    right:-100px;

}

.footer input{

    border:none;

    height:58px;

}

.footer input:focus{

    box-shadow:none;

}