html{scroll-behavior:smooth}body{background:#f7f9fc;color:#172033;padding-bottom:70px}.site-navbar{border-bottom:1px solid #edf0f5}.brand-mark{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#0d6efd;color:#fff}.brand-accent{color:#0d6efd}.nav-link{font-weight:500}.hero-home{background:linear-gradient(135deg,#0d6efd 0%,#084298 100%);color:#fff;overflow:hidden}.hero-text{max-width:680px;opacity:.92}.hero-badge{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);padding:.45rem .75rem;border-radius:999px;font-size:.85rem}.search-box{background:#fff;color:#172033;padding:.5rem;border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.15);max-width:850px}.search-row{display:flex;gap:.4rem}.search-field{flex:1;display:flex;align-items:center;gap:.55rem;padding:0 .75rem;min-width:0}.search-field i{color:#6c757d}.search-field input,.search-field select{border:0;outline:0;width:100%;min-height:44px;background:transparent}.search-btn{min-height:46px;white-space:nowrap;color:#0d6efd;font-weight:600}.hero-actions{display:flex;gap:.5rem}.hero-illustration{height:340px;border-radius:28px;background:rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;position:relative}.hero-illustration>i{font-size:9rem;opacity:.9}.floating-card{position:absolute;background:#fff;color:#172033;border-radius:13px;padding:.8rem 1rem;box-shadow:0 10px 25px rgba(0,0,0,.14);font-size:.9rem}.floating-card i{color:#0d6efd;margin-right:.3rem}.floating-card-one{top:28px;left:18px}.floating-card-two{bottom:30px;right:18px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.section-heading h2{margin:.2rem 0 0;font-size:1.55rem}.section-kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#0d6efd}.service-tile{display:flex;flex-direction:column;height:100%;position:relative;text-decoration:none;color:inherit;background:#fff;border:1px solid #edf0f5;border-radius:16px;padding:1rem;box-shadow:0 4px 15px rgba(20,30,50,.04);transition:.15s}.service-tile:hover{border-color:#cfe0ff;transform:translateY(-2px)}.service-icon{width:46px;height:46px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:#edf5ff;color:#0d6efd;font-size:1.25rem;margin-bottom:.75rem}.service-tile strong{font-size:.96rem}.service-tile small{color:#6c757d;line-height:1.35;margin-top:.35rem;padding-right:.7rem}.service-arrow{position:absolute;right:12px;bottom:12px;color:#0d6efd}.trust-strip{background:#fff;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;padding:1.5rem 0}.trust-strip div[class*=col]{display:flex;flex-direction:column;gap:.15rem}.trust-strip i{color:#0d6efd;font-size:1.35rem}.trust-strip strong{font-size:.9rem}.trust-strip span{font-size:.76rem;color:#6c757d}.how-card{background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:1.25rem;box-shadow:0 5px 20px rgba(20,30,50,.04)}.step-card{position:relative;height:100%;padding:1rem;border-radius:15px;background:#f7f9fc}.step-card>i{font-size:1.8rem;color:#0d6efd}.step-card h5{margin-top:.75rem}.step-card p{color:#6c757d;margin-bottom:0;font-size:.9rem}.step-number{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0d6efd;color:#fff;font-weight:700;font-size:.8rem}.technician-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#eaf3ff;border-radius:22px;padding:1.5rem}.technician-cta h2{margin:.2rem 0 .4rem;font-size:1.45rem}.technician-cta p{margin:0;color:#6c757d}.filter-card,.technician-card,.empty-state{border-radius:17px}.technician-card{background:#fff;border:1px solid #edf0f5;padding:1rem;box-shadow:0 4px 16px rgba(20,30,50,.04)}.tech-avatar{flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:#eaf3ff;color:#0d6efd;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem}.rating{font-size:.85rem;color:#f59f00}.rating .text-muted{color:#6c757d!important}.min-width-0{min-width:0}.empty-state{background:#fff;border:1px solid #edf0f5}.mobile-bottom-nav{display:none;height:62px;align-items:stretch;justify-content:space-around;z-index:1030}.mobile-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:#6c757d;font-size:.68rem}.mobile-bottom-nav a i{font-size:1.15rem;line-height:1}.mobile-bottom-nav a.active{color:#0d6efd;font-weight:700}@media(max-width:767.98px){.mobile-bottom-nav{display:flex}.search-row{flex-direction:column}.search-btn{width:100%}.search-field{border-bottom:1px solid #edf0f5}.location-field{border-bottom:0}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.technician-cta{flex-direction:column;align-items:stretch}.technician-cta .btn{width:100%}.section-heading h2{font-size:1.3rem}}@media(max-width:575.98px){.container{padding-left:14px;padding-right:14px}.hero-home h1{font-size:2rem}.hero-home{border-radius:0 0 20px 20px}.service-tile{padding:.85rem}.service-tile small{font-size:.72rem}.how-card{padding:1rem}}@media(min-width:768px){body{padding-bottom:0}}
/* ==========================================================
   FUNDI TECH SHARED SIDEBAR
========================================================== */

:root {
    --ft-sidebar-width: 260px;
    --ft-primary: #0d6efd;
    --ft-dark: #172033;
    --ft-muted: #6c757d;
    --ft-border: #edf0f5;
}


/* PAGE */

body {
    padding-bottom: 0;
}


.ft-page {
    min-height: 100vh;
    margin-left: var(--ft-sidebar-width);
}


.ft-content {
    min-height: calc(100vh - 70px);
}


/* ==========================================================
   SIDEBAR
========================================================== */

.ft-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;

    width: var(--ft-sidebar-width);

    background: #fff;

    border-right: 1px solid var(--ft-border);

    display: flex;
    flex-direction: column;

    z-index: 1040;

    overflow-y: auto;
}


/* BRAND */

.ft-sidebar-brand {
    padding: 20px 18px;

    border-bottom: 1px solid var(--ft-border);
}


.ft-brand-link {
    display: flex;
    align-items: center;
    gap: 10px;

    color: var(--ft-dark);

    text-decoration: none;

    font-size: 1.3rem;
    font-weight: 800;
}


.ft-brand-link > span:last-child span {
    color: var(--ft-primary);
}


.ft-brand-icon {
    width: 42px;
    height: 42px;

    border-radius: 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: var(--ft-primary);

    color: #fff;

    font-size: 1.2rem;
}


/* USER */

.ft-sidebar-user {
    display: flex;
    align-items: center;
    gap: 11px;

    padding: 16px;

    border-bottom: 1px solid var(--ft-border);
}


.ft-user-avatar {
    width: 42px;
    height: 42px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eaf3ff;
    color: var(--ft-primary);

    font-weight: 800;
}


.ft-user-info {
    min-width: 0;

    display: flex;
    flex-direction: column;
}


.ft-user-info strong {
    font-size: .88rem;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.ft-user-info small {
    color: var(--ft-muted);

    font-size: .75rem;
}


/* MENU TITLE */

.ft-menu-title {
    padding: 18px 18px 8px;

    color: #9aa2ad;

    font-size: .68rem;

    font-weight: 800;

    letter-spacing: .12em;
}


/* MENU */

.ft-sidebar-nav {
    padding: 0 10px;
}


.ft-sidebar-nav a {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 11px 13px;

    margin-bottom: 4px;

    border-radius: 10px;

    color: #566170;

    text-decoration: none;

    font-size: .9rem;

    transition:
        background .15s ease,
        color .15s ease;
}


.ft-sidebar-nav a i {
    width: 22px;

    text-align: center;

    font-size: 1.05rem;
}


.ft-sidebar-nav a:hover {
    background: #f1f6ff;

    color: var(--ft-primary);
}


.ft-sidebar-nav a.active {
    background: #eaf3ff;

    color: var(--ft-primary);

    font-weight: 700;
}


/* BOTTOM */

.ft-sidebar-bottom {
    margin-top: auto;

    padding: 12px 10px;

    border-top: 1px solid var(--ft-border);
}


.ft-logout-link {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 11px 13px;

    border-radius: 10px;

    color: #dc3545;

    text-decoration: none;
}


.ft-logout-link:hover {
    background: #fff0f1;
}


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

.ft-mobile-header {
    display: none;

    height: 64px;

    align-items: center;

    padding: 0 14px;

    background: #fff;

    border-bottom: 1px solid var(--ft-border);

    position: sticky;

    top: 0;

    z-index: 1030;
}


.ft-menu-button {
    border: 0;

    background: transparent;

    font-size: 1.8rem;

    color: var(--ft-dark);

    padding: 3px 8px;
}


.ft-mobile-brand {
    flex: 1;

    text-align: center;

    color: var(--ft-dark);

    text-decoration: none;

    font-size: 1.15rem;

    font-weight: 800;
}


.ft-mobile-brand span {
    color: var(--ft-primary);
}


.ft-mobile-logout {
    color: var(--ft-dark);

    text-decoration: none;

    font-size: 1.25rem;

    padding: 5px 8px;
}


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

.ft-sidebar-overlay {
    display: none;

    position: fixed;

    inset: 0;

    background: rgba(0,0,0,.45);

    z-index: 1035;
}


.ft-sidebar-overlay.show {
    display: block;
}


/* ==========================================================
   MOBILE BOTTOM NAV
========================================================== */

.ft-mobile-bottom {
    display: none;
}


.ft-footer {
    padding: 22px 15px;

    border-top: 1px solid var(--ft-border);

    background: #f8f9fb;
}


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

@media (max-width: 767.98px) {


    body {
        padding-bottom: 65px;
    }


    .ft-sidebar {
        width: 280px;

        transform: translateX(-100%);

        transition:
            transform .22s ease;

        box-shadow:
            10px 0 30px rgba(0,0,0,.12);
    }


    .ft-sidebar.open {
        transform: translateX(0);
    }


    .ft-page {
        margin-left: 0;
    }


    .ft-mobile-header {
        display: flex;
    }


    .ft-mobile-bottom {
        position: fixed;

        left: 0;
        right: 0;
        bottom: 0;

        height: 64px;

        background: #fff;

        border-top: 1px solid var(--ft-border);

        display: flex;

        z-index: 1030;

        box-shadow:
            0 -3px 15px rgba(0,0,0,.06);
    }


    .ft-mobile-bottom a {
        flex: 1;

        display: flex;

        flex-direction: column;

        align-items: center;

        justify-content: center;

        gap: 3px;

        color: #6c757d;

        text-decoration: none;

        font-size: .68rem;
    }


    .ft-mobile-bottom a i {
        font-size: 1.15rem;
    }


    .ft-mobile-bottom a.active {
        color: var(--ft-primary);

        font-weight: 700;
    }


    .ft-footer {
        display: none;
    }


}


/* ==========================================================
   DESKTOP
========================================================== */

@media (min-width: 768px) {

    .ft-content {
        padding-bottom: 30px;
    }

}
