/* =========================================================
   KEY-AUTO — PREMIUM HOME PAGE
   home.css
========================================================= */


/* =========================================================
   RESET / BASE
========================================================= */

.home-container{
    width:min(1240px, calc(100% - 48px));
    margin:0 auto;
}

.home-topbar,
.home-header,
.home-hero,
.home-services,
.home-mobile-service,
.home-gallery,
.home-reviews,
.home-brands,
.home-final-cta,
.home-footer{
    font-family:Arial, Helvetica, sans-serif;
}

.home-topbar a,
.home-header a,
.home-mobile-navigation a,
.home-services a,
.home-gallery a,
.home-reviews a,
.home-brands a,
.home-final-cta a,
.home-footer a{
    text-decoration:none;
}


/* =========================================================
   TOP BAR
========================================================= */

.home-topbar{
    background:#0a0b0d;
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.07);
    font-size:13px;
}

.home-topbar-inner{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}

.home-topbar-status{
    display:flex;
    align-items:center;
    gap:9px;
    text-transform:uppercase;
    letter-spacing:1.1px;
    font-weight:700;
}

.home-status-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d71920;
    box-shadow:0 0 0 4px rgba(215,25,32,.12);
}

.home-topbar-location{
    color:#a7a9ad;
}

.home-topbar-phone{
    color:#fff;
    font-weight:800;
    letter-spacing:.3px;
}

.home-topbar-phone:hover{
    color:#e21b23;
}


/* =========================================================
   HEADER
========================================================= */

.home-header{
    position:relative;
    z-index:100;
    background:#fff;
    border-bottom:1px solid #ececef;
}

.home-header-inner{
    height:84px;
    display:flex;
    align-items:center;
    gap:38px;
}

.home-logo{
    display:flex;
    align-items:center;
    gap:11px;
    flex-shrink:0;
    color:#111;
}

.home-logo-symbol{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#101114;
    border-radius:12px;
    font-size:21px;
    box-shadow:0 7px 20px rgba(0,0,0,.10);
}

.home-logo-name{
    display:flex;
    flex-direction:column;
    line-height:1;
}

.home-logo-name strong{
    font-size:20px;
    letter-spacing:1.4px;
    font-weight:900;
}

.home-logo-name small{
    margin-top:6px;
    font-size:8px;
    letter-spacing:2.2px;
    color:#8a8c91;
    font-weight:700;
}

.home-navigation{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:26px;
    flex:1;
}

.home-navigation > a,
.home-nav-dropdown > a{
    color:#383a3e;
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
    transition:.25s ease;
}

.home-navigation > a:hover,
.home-nav-dropdown > a:hover,
.home-navigation .home-nav-active{
    color:#d71920;
}

.home-nav-dropdown{
    position:relative;
}

.home-nav-dropdown > a{
    display:flex;
    align-items:center;
    gap:5px;
}

.home-nav-dropdown > a span{
    font-size:15px;
}

.home-nav-dropdown-menu{
    position:absolute;
    top:calc(100% + 18px);
    left:50%;
    transform:translateX(-50%) translateY(8px);
    width:245px;
    padding:10px;
    background:#fff;
    border:1px solid #ececef;
    border-radius:15px;
    box-shadow:0 22px 55px rgba(10,15,25,.13);
    opacity:0;
    visibility:hidden;
    transition:.25s ease;
}

.home-nav-dropdown:hover .home-nav-dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}

.home-nav-dropdown-menu a{
    display:block;
    padding:11px 13px;
    color:#36383c;
    font-size:13px;
    font-weight:600;
    border-radius:9px;
    transition:.2s ease;
}

.home-nav-dropdown-menu a:hover{
    color:#d71920;
    background:#f7f7f8;
}

.home-header-call{
    display:flex;
    align-items:center;
    gap:10px;
    color:#111;
    flex-shrink:0;
}

.home-header-call-icon{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#d71920;
    color:#fff;
    font-size:17px;
}

.home-header-call-text{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.home-header-call-text small{
    font-size:9px;
    color:#929499;
    font-weight:800;
    letter-spacing:1.2px;
}

.home-header-call-text strong{
    font-size:14px;
    letter-spacing:.3px;
}

.home-menu-button{
    display:none;
}


/* =========================================================
   MOBILE NAVIGATION
========================================================= */

.home-mobile-navigation{
    display:none;
}


/* =========================================================
   HERO
========================================================= */

.home-hero{
    position:relative;
    overflow:hidden;
    min-height:690px;
    display:flex;
    align-items:center;
    background:#0b0d10;
    color:#fff;
}

.home-hero-background{
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at 77% 48%,
            rgba(215,25,32,.17),
            transparent 28%
        ),
        radial-gradient(
            circle at 18% 20%,
            rgba(255,255,255,.045),
            transparent 28%
        );
    pointer-events:none;
}

.home-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.02fr .98fr;
    align-items:center;
    gap:75px;
    padding:82px 0;
}

.home-hero-content{
    max-width:650px;
}

.home-hero-kicker{
    display:flex;
    align-items:center;
    gap:11px;
    color:#a8abb0;
    font-size:11px;
    font-weight:800;
    letter-spacing:2.4px;
    margin-bottom:25px;
}

.home-hero-kicker span{
    width:31px;
    height:2px;
    background:#d71920;
}

.home-hero h1{
    margin:0;
    max-width:680px;
    font-size:clamp(48px, 5.2vw, 76px);
    line-height:.99;
    letter-spacing:-3.7px;
    font-weight:900;
}

.home-hero h1 span{
    display:block;
    color:#d71920;
}

.home-hero-description{
    max-width:590px;
    margin:30px 0 0;
    color:#aeb1b6;
    font-size:17px;
    line-height:1.75;
}

.home-hero-actions{
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:35px;
}

.home-button{
    min-height:53px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 23px;
    border-radius:10px;
    font-size:14px;
    font-weight:800;
    transition:.3s ease;
}

.home-button-primary{
    background:#d71920;
    color:#fff;
    box-shadow:0 12px 30px rgba(215,25,32,.22);
}

.home-button-primary:hover{
    background:#ef2229;
    transform:translateY(-2px);
    box-shadow:0 16px 35px rgba(215,25,32,.32);
}

.home-button-secondary{
    color:#fff;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.035);
}

.home-button-secondary:hover{
    background:#fff;
    color:#111;
    transform:translateY(-2px);
}

.home-hero-meta{
    display:flex;
    align-items:center;
    margin-top:53px;
    gap:24px;
}

.home-hero-meta div{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.home-hero-meta strong{
    color:#fff;
    font-size:18px;
    font-weight:900;
}

.home-hero-meta span{
    color:#7f8288;
    font-size:11px;
}

.home-hero-meta i{
    width:1px;
    height:31px;
    background:rgba(255,255,255,.13);
}

.home-hero-visual{
    position:relative;
    min-height:500px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.home-hero-image{
    position:relative;
    width:min(540px,100%);
    height:540px;
    overflow:hidden;
    border-radius:28px;
    background:#17191d;
    box-shadow:0 35px 90px rgba(0,0,0,.45);
}

.home-hero-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.08),
            transparent 30%,
            rgba(0,0,0,.30)
        );
    pointer-events:none;
}

.home-hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.home-hero-card{
    position:absolute;
    left:-28px;
    bottom:35px;
    display:flex;
    align-items:center;
    gap:13px;
    min-width:235px;
    padding:17px 19px;
    background:rgba(255,255,255,.96);
    color:#111;
    border-radius:14px;
    box-shadow:0 20px 55px rgba(0,0,0,.30);
}

.home-hero-card-icon{
    width:39px;
    height:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#d71920;
    color:#fff;
    font-weight:900;
}

.home-hero-card span:last-child{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.home-hero-card strong{
    font-size:13px;
}

.home-hero-card small{
    font-size:10px;
    color:#777;
}

.home-hero-location{
    position:absolute;
    right:-18px;
    top:50px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:11px 15px;
    border-radius:50px;
    background:rgba(15,17,20,.90);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.home-hero-location span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d71920;
}


/* =========================================================
   SERVICES
========================================================= */

.home-services{
    padding:115px 0 120px;
    background:#fff;
}

.home-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:50px;
}

.home-section-kicker{
    display:block;
    margin-bottom:13px;
    color:#d71920;
    font-size:10px;
    font-weight:900;
    letter-spacing:2.3px;
}

.home-section-heading h2{
    margin:0;
    color:#111214;
    font-size:clamp(34px,4vw,52px);
    line-height:1.05;
    letter-spacing:-2px;
    font-weight:900;
}

.home-section-heading > p{
    max-width:390px;
    margin:0 0 4px;
    color:#777a80;
    font-size:14px;
    line-height:1.75;
}

.home-services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid #e8e8ea;
    border-left:1px solid #e8e8ea;
}

.home-service-card{
    position:relative;
    min-height:270px;
    padding:30px;
    border-right:1px solid #e8e8ea;
    border-bottom:1px solid #e8e8ea;
    background:#fff;
    color:#111;
    overflow:hidden;
    transition:.35s ease;
}

.home-service-card:hover{
    background:#101114;
    color:#fff;
    transform:translateY(-5px);
    z-index:2;
    box-shadow:0 25px 55px rgba(10,12,16,.15);
}

.home-service-number{
    position:absolute;
    top:27px;
    right:28px;
    color:#cfd0d3;
    font-size:11px;
    font-weight:900;
    letter-spacing:1px;
}

.home-service-card:hover .home-service-number{
    color:#5c5f65;
}

.home-service-icon{
    width:47px;
    height:47px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:30px;
    border-radius:12px;
    background:#f2f2f3;
    font-size:20px;
    transition:.3s ease;
}

.home-service-card:hover .home-service-icon{
    background:#d71920;
    color:#fff;
}

.home-service-card h3{
    max-width:260px;
    margin:0 0 12px;
    font-size:20px;
    line-height:1.25;
    font-weight:850;
}

.home-service-card p{
    max-width:300px;
    margin:0;
    color:#777a80;
    font-size:13px;
    line-height:1.65;
}

.home-service-card:hover p{
    color:#9b9da2;
}

.home-service-link{
    position:absolute;
    left:30px;
    bottom:27px;
    color:#d71920;
    font-size:11px;
    font-weight:900;
}

.home-service-card:hover .home-service-link{
    color:#fff;
}


/* =========================================================
   MOBILE SERVICE
========================================================= */

.home-mobile-service{
    padding:120px 0;
    background:#f4f4f5;
}

.home-mobile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:85px;
    align-items:center;
}

.home-mobile-image{
    height:500px;
    overflow:hidden;
    border-radius:25px;
    background:#ddd;
}

.home-mobile-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.home-mobile-content h2{
    max-width:610px;
    margin:0;
    color:#111214;
    font-size:clamp(36px,4vw,54px);
    line-height:1.06;
    letter-spacing:-2.3px;
    font-weight:900;
}

.home-mobile-content h2 span{
    color:#d71920;
}

.home-mobile-content > p{
    max-width:570px;
    margin:25px 0 0;
    color:#707278;
    font-size:15px;
    line-height:1.8;
}

.home-mobile-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px 25px;
    margin-top:34px;
}

.home-mobile-points div{
    display:flex;
    align-items:center;
    gap:10px;
    color:#25272b;
    font-size:13px;
    font-weight:750;
}

.home-mobile-points span{
    width:22px;
    height:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#d71920;
    color:#fff;
    font-size:11px;
    font-weight:900;
}

.home-text-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:35px;
    color:#111;
    font-size:13px;
    font-weight:900;
}

.home-text-link span{
    color:#d71920;
    font-size:17px;
    transition:.25s ease;
}

.home-text-link:hover span{
    transform:translateX(5px);
}


/* =========================================================
   GALLERY
========================================================= */

.home-gallery{
    padding:120px 0;
    background:#fff;
}

.home-gallery-grid{
    display:grid;
    grid-template-columns:1.45fr 1fr 1fr;
    grid-template-rows:260px 260px;
    gap:14px;
}

.home-gallery-item{
    position:relative;
    padding:0;
    border:0;
    overflow:hidden;
    border-radius:17px;
    background:#eee;
    cursor:pointer;
}

.home-gallery-large{
    grid-row:1 / 3;
}

.home-gallery-item::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.55),
        transparent 45%
    );
    opacity:.75;
    transition:.35s ease;
}

.home-gallery-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:.6s ease;
}

.home-gallery-item:hover img{
    transform:scale(1.06);
}

.home-gallery-item:hover::after{
    opacity:1;
}

.home-gallery-item span{
    position:absolute;
    z-index:2;
    left:24px;
    bottom:22px;
    color:#fff;
    font-size:13px;
    font-weight:800;
}


/* =========================================================
   REVIEWS
========================================================= */

.home-reviews{
    padding:120px 0;
    background:#f4f4f5;
    overflow:hidden;
}

.home-reviews-heading{
    align-items:center;
}

.home-google-rating{
    display:grid;
    grid-template-columns:auto auto;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:14px;
    min-width:205px;
}

.home-google-rating strong{
    grid-row:1 / 3;
    font-size:51px;
    line-height:1;
    color:#111;
}

.home-google-stars{
    color:#fbbc04;
    font-size:18px;
    letter-spacing:2px;
}

.home-google-rating small{
    color:#85878c;
    font-size:11px;
    font-weight:700;
}

.home-reviews-window{
    position:relative;
    overflow:hidden;
    width:100%;
}

.home-reviews-track{
    display:flex;
    gap:22px;
    will-change:transform;
}

.home-review{
    flex:0 0 calc((100% - 44px) / 3);
    min-height:310px;
    padding:29px;
    background:#fff;
    border:1px solid #e9e9eb;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(15,18,25,.04);
}

.home-review-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.home-review-person{
    display:flex;
    align-items:center;
    gap:12px;
}

.home-review-avatar{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    border-radius:50%;
    background:#111214;
    color:#fff;
    font-size:16px;
    font-weight:900;
}

.home-review-person > div:last-child{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.home-review-person strong{
    color:#202124;
    font-size:14px;
}

.home-review-person span{
    color:#96989d;
    font-size:10px;
}

.home-review-google{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#4285f4;
    background:#f5f8ff;
    font-weight:900;
    font-size:14px;
}

.home-review-stars{
    margin-top:23px;
    color:#fbbc04;
    font-size:17px;
    letter-spacing:2px;
}

.home-review p{
    margin:18px 0 0;
    color:#575a60;
    font-size:14px;
    line-height:1.8;
}

.home-reviews-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:30px;
    padding-top:25px;
    border-top:1px solid #dedfe2;
}

.home-reviews-bottom span{
    color:#707278;
    font-size:12px;
    font-weight:700;
}

.home-reviews-bottom a{
    color:#111;
    font-size:12px;
    font-weight:900;
}

.home-reviews-bottom a:hover{
    color:#d71920;
}


/* =========================================================
   BRANDS
========================================================= */

.home-brands{
    padding:105px 0 110px;
    background:#fff;
}

.home-brands-heading{
    text-align:center;
}

.home-brands-heading h2{
    max-width:650px;
    margin:0 auto;
    color:#111214;
    font-size:clamp(31px,3.5vw,45px);
    line-height:1.1;
    letter-spacing:-1.7px;
}

.home-brands-list{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:9px;
    max-width:900px;
    margin:42px auto 0;
}

.home-brands-list span{
    padding:13px 19px;
    border:1px solid #e5e5e7;
    border-radius:50px;
    color:#55575c;
    background:#fff;
    font-size:12px;
    font-weight:800;
    transition:.25s ease;
}

.home-brands-list span:hover{
    border-color:#d71920;
    color:#d71920;
    transform:translateY(-2px);
}

.home-brands-link{
    display:flex;
    justify-content:center;
}


/* =========================================================
   FINAL CTA
========================================================= */

.home-final-cta{
    position:relative;
    overflow:hidden;
    background:#0b0d10;
    color:#fff;
}

.home-final-cta::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-230px;
    top:-250px;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(215,25,32,.20),
        transparent 68%
    );
}

.home-final-inner{
    position:relative;
    z-index:2;
    min-height:310px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.home-final-inner h2{
    margin:0;
    font-size:clamp(34px,4vw,51px);
    line-height:1.05;
    letter-spacing:-2px;
}

.home-final-inner h2 span{
    color:#d71920;
}

.home-final-inner p{
    margin:15px 0 0;
    color:#888b91;
    font-size:13px;
}

.home-final-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
}

.home-button-light{
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.04);
}

.home-button-light:hover{
    color:#111;
    background:#fff;
}


/* =========================================================
   FOOTER
========================================================= */

.home-footer{
    background:#111316;
    color:#fff;
}

.home-footer-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:55px;
    padding:70px 0 65px;
}

.home-footer-brand p{
    max-width:270px;
    margin:20px 0;
    color:#85888e;
    font-size:12px;
    line-height:1.7;
}

.home-footer-phone{
    color:#fff;
    font-size:17px;
    font-weight:900;
}

.home-footer-column{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
}

.home-footer-column h3{
    margin:0 0 8px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1.5px;
}

.home-footer-column a,
.home-footer-column span{
    color:#85888e;
    font-size:12px;
    line-height:1.5;
    transition:.2s ease;
}

.home-footer-column a:hover{
    color:#fff;
}

.home-footer-bottom{
    border-top:1px solid rgba(255,255,255,.07);
}

.home-footer-bottom .home-container{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.home-footer-bottom span{
    color:#66696f;
    font-size:10px;
}


/* =========================================================
   FLOATING CALL
========================================================= */

.home-floating-call{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:200;
    width:57px;
    height:57px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#d71920;
    color:#fff;
    font-size:21px;
    box-shadow:0 12px 35px rgba(215,25,32,.35);
    transition:.3s ease;
}

.home-floating-call:hover{
    transform:translateY(-4px) scale(1.04);
    background:#ed2027;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

    .home-container{
        width:min(100% - 38px, 1000px);
    }

    .home-navigation{
        gap:17px;
    }

    .home-navigation > a,
    .home-nav-dropdown > a{
        font-size:12px;
    }

    .home-header-inner{
        gap:22px;
    }

    .home-hero-grid{
        gap:45px;
    }

    .home-hero h1{
        font-size:55px;
    }

    .home-hero-image{
        height:460px;
    }

    .home-services-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .home-review{
        flex-basis:calc((100% - 22px) / 2);
    }

    .home-footer-grid{
        grid-template-columns:1.4fr 1fr 1fr;
    }

    .home-footer-grid .home-footer-column:last-child{
        grid-column:2 / 4;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:800px){

    .home-container{
        width:calc(100% - 30px);
    }


    /* TOP BAR */

    .home-topbar-location{
        display:none;
    }

    .home-topbar-inner{
        min-height:38px;
    }

    .home-topbar{
        font-size:10px;
    }


    /* HEADER */

    .home-header-inner{
        height:72px;
    }

    .home-navigation,
    .home-header-call{
        display:none;
    }

    .home-menu-button{
        margin-left:auto;
        width:43px;
        height:43px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:5px;
        border:1px solid #e6e6e8;
        border-radius:10px;
        background:#fff;
        cursor:pointer;
    }

    .home-menu-button span{
        width:19px;
        height:2px;
        background:#111;
        border-radius:2px;
        transition:.25s ease;
    }

    .home-mobile-navigation{
        position:fixed;
        z-index:99;
        top:72px;
        left:0;
        right:0;
        display:flex;
        flex-direction:column;
        padding:10px 15px 20px;
        background:#fff;
        border-bottom:1px solid #e8e8ea;
        box-shadow:0 20px 35px rgba(0,0,0,.10);
        transform:translateY(-120%);
        opacity:0;
        visibility:hidden;
        transition:.35s ease;
    }

    .home-mobile-navigation.is-open{
        transform:translateY(0);
        opacity:1;
        visibility:visible;
    }

    .home-mobile-navigation a{
        padding:13px 10px;
        border-bottom:1px solid #f0f0f1;
        color:#222;
        font-size:13px;
        font-weight:750;
    }

    .home-mobile-navigation a:hover{
        color:#d71920;
    }


    /* HERO */

    .home-hero{
        min-height:auto;
    }

    .home-hero-grid{
        grid-template-columns:1fr;
        padding:65px 0 75px;
    }

    .home-hero-content{
        max-width:none;
    }

    .home-hero h1{
        font-size:clamp(43px,13vw,61px);
        letter-spacing:-2.8px;
    }

    .home-hero-description{
        font-size:15px;
    }

    .home-hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .home-button{
        width:100%;
    }

    .home-hero-meta{
        justify-content:space-between;
        gap:12px;
        margin-top:40px;
    }

    .home-hero-meta i{
        height:28px;
    }

    .home-hero-meta strong{
        font-size:15px;
    }

    .home-hero-meta span{
        font-size:9px;
    }

    .home-hero-visual{
        min-height:390px;
        margin-top:5px;
    }

    .home-hero-image{
        width:100%;
        height:390px;
        border-radius:20px;
    }

    .home-hero-card{
        left:12px;
        bottom:18px;
        min-width:210px;
    }

    .home-hero-location{
        right:12px;
        top:20px;
    }


    /* HEADINGS */

    .home-section-heading{
        display:block;
        margin-bottom:35px;
    }

    .home-section-heading > p{
        margin-top:17px;
    }


    /* SERVICES */

    .home-services{
        padding:80px 0;
    }

    .home-services-grid{
        grid-template-columns:1fr;
    }

    .home-service-card{
        min-height:250px;
    }


    /* MOBILE SERVICE */

    .home-mobile-service{
        padding:80px 0;
    }

    .home-mobile-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .home-mobile-image{
        height:350px;
        border-radius:20px;
    }

    .home-mobile-points{
        grid-template-columns:1fr;
    }


    /* GALLERY */

    .home-gallery{
        padding:80px 0;
    }

    .home-gallery-grid{
        grid-template-columns:1fr 1fr;
        grid-template-rows:230px 180px 180px;
    }

    .home-gallery-large{
        grid-column:1 / 3;
        grid-row:auto;
    }


    /* REVIEWS */

    .home-reviews{
        padding:80px 0;
    }

    .home-reviews-heading{
        display:flex;
        align-items:flex-start;
        flex-direction:column;
        gap:25px;
    }

    .home-google-rating{
        min-width:0;
    }

    .home-review{
        flex-basis:100%;
        min-height:280px;
    }

    .home-reviews-bottom{
        align-items:flex-start;
        flex-direction:column;
    }


    /* BRANDS */

    .home-brands{
        padding:80px 0;
    }


    /* CTA */

    .home-final-inner{
        min-height:auto;
        padding:65px 0;
        flex-direction:column;
        align-items:flex-start;
    }

    .home-final-actions{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }


    /* FOOTER */

    .home-footer-grid{
        grid-template-columns:1fr 1fr;
        gap:40px 25px;
        padding:55px 0;
    }

    .home-footer-grid .home-footer-column:last-child{
        grid-column:auto;
    }

    .home-footer-bottom .home-container{
        min-height:auto;
        padding:20px 0;
        flex-direction:column;
        align-items:flex-start;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .home-logo-name strong{
        font-size:17px;
    }

    .home-logo-symbol{
        width:39px;
        height:39px;
    }

    .home-hero-grid{
        padding-top:52px;
    }

    .home-hero-kicker{
        font-size:9px;
        letter-spacing:1.7px;
    }

    .home-hero-meta{
        gap:8px;
    }

    .home-hero-meta strong{
        font-size:13px;
    }

    .home-hero-meta span{
        font-size:8px;
    }

    .home-hero-visual{
        min-height:330px;
    }

    .home-hero-image{
        height:330px;
    }

    .home-hero-card{
        min-width:190px;
        padding:13px;
    }

    .home-hero-card-icon{
        width:34px;
        height:34px;
    }

    .home-gallery-grid{
        grid-template-columns:1fr;
        grid-template-rows:250px 180px 180px 180px 180px;
    }

    .home-gallery-large{
        grid-column:auto;
    }

    .home-footer-grid{
        grid-template-columns:1fr;
    }

    .home-footer-grid .home-footer-column:last-child{
        grid-column:auto;
    }

    .home-floating-call{
        right:16px;
        bottom:16px;
        width:52px;
        height:52px;
    }

}


/* =========================================================
   GALLERY LIGHTBOX
========================================================= */

.home-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px;

    background: rgba(8, 9, 11, 0.96);

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transition:
        opacity .35s ease,
        visibility .35s ease;
}

.home-lightbox.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


.home-lightbox-content {
    position: relative;

    width: min(1100px, 90vw);
    height: min(760px, 82vh);

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    border-radius: 18px;
}


.home-lightbox-content img {
    display: block;

    max-width: 100%;
    max-height: 100%;

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 14px;

    box-shadow:
        0 30px 90px rgba(0,0,0,.55);

    user-select: none;
}


/* CLOSE */

.home-lightbox-close {
    position: absolute;

    top: 24px;
    right: 28px;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;

    background: rgba(255,255,255,.08);

    color: #fff;

    font-size: 32px;
    line-height: 1;

    cursor: pointer;

    z-index: 10;

    transition:
        background .25s ease,
        transform .25s ease;
}

.home-lightbox-close:hover {
    background: #d71920;
    transform: rotate(90deg);
}


/* PREVIOUS / NEXT */

.home-lightbox-prev,
.home-lightbox-next {

    position: absolute;

    top: 50%;
    transform: translateY(-50%);

    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;

    background: rgba(255,255,255,.08);

    color: #fff;

    font-size: 38px;
    line-height: 1;

    cursor: pointer;

    z-index: 10;

    transition:
        background .25s ease,
        transform .25s ease;
}


.home-lightbox-prev {
    left: 25px;
}


.home-lightbox-next {
    right: 25px;
}


.home-lightbox-prev:hover {
    background: #d71920;
    transform: translateY(-50%) translateX(-3px);
}


.home-lightbox-next:hover {
    background: #d71920;
    transform: translateY(-50%) translateX(3px);
}


/* MOBILE */

@media (max-width: 700px) {

    .home-lightbox {
        padding: 20px 12px;
    }

    .home-lightbox-content {
        width: 100%;
        height: 78vh;
        border-radius: 12px;
    }

    .home-lightbox-content img {
        max-width: 100%;
        max-height: 100%;
        border-radius: 10px;
    }

    .home-lightbox-close {
        top: 14px;
        right: 14px;

        width: 42px;
        height: 42px;

        font-size: 28px;
    }

    .home-lightbox-prev,
    .home-lightbox-next {
        width: 42px;
        height: 42px;

        font-size: 30px;
    }

    .home-lightbox-prev {
        left: 10px;
    }

    .home-lightbox-next {
        right: 10px;
    }

}






html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.home-page {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}




/* ==========================================
   MOBILE BUTTONS FIX
========================================== */

@media (max-width: 800px) {

    .home-container {
        width: calc(100% - 30px);
        max-width: none;
        margin-left: 15px;
        margin-right: 15px;
        box-sizing: border-box;
    }

    .home-hero-actions,
    .home-hero-buttons,
    .home-actions,
    .home-buttons {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;

        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;

        box-sizing: border-box;
    }

    .home-hero-actions a,
    .home-hero-buttons a,
    .home-actions a,
    .home-buttons a {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;

        margin-left: 0;
        margin-right: 0;

        text-align: center;
    }

}


/* ==========================================
   LOWER CTA BUTTONS - MOBILE
========================================== */

@media (max-width: 800px) {

    .home-final-actions,
    .home-final-buttons,
    .home-cta-actions,
    .home-cta-buttons {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;

        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;

        box-sizing: border-box;
    }

    .home-final-actions a,
    .home-final-buttons a,
    .home-cta-actions a,
    .home-cta-buttons a {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;

        box-sizing: border-box;
        text-align: center;
    }

}




/* ==========================================
   REVIEWS - MOBILE ALIGNMENT
========================================== */

@media (max-width: 700px) {

    .home-reviews-window {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        overflow: hidden;
        box-sizing: border-box;
    }

    .home-reviews-track {
        width: max-content;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }

    .home-review {
        flex: 0 0 calc(100vw - 30px);
        width: calc(100vw - 30px);
        max-width: calc(100vw - 30px);

        box-sizing: border-box;
        margin-left: 0;
        margin-right: 0;
    }

}



/* ==========================================
   REVIEWS - DESKTOP FIX
========================================== */

@media (min-width: 1101px) {

    .home-reviews-window {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        box-sizing: border-box;
    }

    .home-reviews-track {
        gap: 24px;
    }

    .home-review {
        flex: 0 0 calc((100% - 48px) / 3);
        width: calc((100% - 48px) / 3);
        max-width: calc((100% - 48px) / 3);

        box-sizing: border-box;
    }

}




/* =========================================================
   KEY-AUTO — MOBILE FIXED NAVIGATION
   HEADER + DROPDOWN STAY VISIBLE WHILE SCROLLING
========================================================= */

@media (max-width: 800px) {

    /* -----------------------------------------------------
       FIXED HEADER
    ----------------------------------------------------- */

    .home-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;
        max-width: 100% !important;

        height: 72px !important;
        min-height: 72px !important;

        z-index: 99999 !important;

        background: #ffffff !important;

        border-bottom: 1px solid #ececef;

        box-sizing: border-box;

        transform: none !important;
    }


    /* -----------------------------------------------------
       HEADER INNER
    ----------------------------------------------------- */

    .home-header-inner {
        width: 100% !important;
        max-width: 100% !important;

        height: 72px !important;
        min-height: 72px !important;

        padding-left: 15px;
        padding-right: 15px;

        margin: 0 !important;

        box-sizing: border-box;

        display: flex;
        align-items: center;
    }


    /* -----------------------------------------------------
       MOBILE MENU BUTTON
    ----------------------------------------------------- */

    .home-menu-button {
        display: flex !important;

        margin-left: auto !important;

        position: relative;

        z-index: 100001;

        flex-shrink: 0;

        width: 43px;
        height: 43px;

        box-sizing: border-box;
    }


    /* -----------------------------------------------------
       MOBILE DROPDOWN
    ----------------------------------------------------- */

    .home-mobile-navigation {
        display: flex !important;

        position: fixed !important;

        top: 72px !important;
        left: 0 !important;
        right: 0 !important;

        width: 100vw !important;
        max-width: 100vw !important;

        height: auto;

        max-height: calc(100vh - 72px);

        overflow-y: auto;
        overflow-x: hidden;

        margin: 0 !important;

        padding: 10px 15px 20px !important;

        box-sizing: border-box;

        background: #ffffff !important;

        border-bottom: 1px solid #e8e8ea;

        box-shadow: 0 20px 40px rgba(0,0,0,.14);

        z-index: 99998 !important;

        transform: translateY(-120%) !important;

        opacity: 0 !important;

        visibility: hidden !important;

        pointer-events: none !important;

        transition:
            transform .35s ease,
            opacity .25s ease,
            visibility .35s ease;
    }


    /* -----------------------------------------------------
       OPEN MENU
    ----------------------------------------------------- */

    .home-mobile-navigation.is-open {
        transform: translateY(0) !important;

        opacity: 1 !important;

        visibility: visible !important;

        pointer-events: auto !important;
    }


    /* -----------------------------------------------------
       MENU LINKS
    ----------------------------------------------------- */

    .home-mobile-navigation a {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        box-sizing: border-box;

        padding: 14px 10px;

        margin: 0;

        color: #222222;

        border-bottom: 1px solid #f0f0f1;

        font-size: 13px;
        font-weight: 750;

        text-decoration: none;
    }


    .home-mobile-navigation a:last-child {
        border-bottom: 0;
    }


    .home-mobile-navigation a:hover {
        color: #d71920;
    }


    /* -----------------------------------------------------
       IMPORTANT:
       Since header is FIXED, create space for it.
    ----------------------------------------------------- */

    .home-page {
        padding-top: 72px !important;

        box-sizing: border-box;

        width: 100%;
        max-width: 100%;

        overflow-x: hidden;
    }


    /* Prevent horizontal overflow */
    html,
    body {
        width: 100%;
        max-width: 100%;

        overflow-x: hidden;
    }
}


/* =========================================================
   VERY SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .home-header,
    .home-header-inner {
        height: 68px !important;
        min-height: 68px !important;
    }

    .home-mobile-navigation {
        top: 68px !important;

        max-height: calc(100vh - 68px);
    }

    .home-page {
        padding-top: 68px !important;
    }
}






.home-floating-call {
    text-decoration: none !important;
}









/* =========================================================
   FACEBOOK GALLERY LINK
========================================================= */

.home-gallery-link {
    margin: -22px 0 30px;
}

.home-gallery-link a {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #777a80;

    font-size: 12px;
    line-height: 1.5;

    text-decoration: none;

    transition: color .25s ease;
}

.home-gallery-link span {
    color: #8a8c91;
    font-weight: 500;
}

.home-gallery-link strong {
    color: #3d4045;
    font-weight: 800;
}

.home-gallery-link b {
    margin-left: 3px;

    color: #d71920;

    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    transition:
        transform .25s ease,
        color .25s ease;
}

.home-gallery-link a:hover {
    color: #d71920;
}

.home-gallery-link a:hover strong {
    color: #d71920;
}

.home-gallery-link a:hover b {
    transform: translateX(5px);
    color: #d71920;
}


/* MOBILE */

@media (max-width: 800px) {

    .home-gallery-link {
        margin: -12px 0 25px;
    }

    .home-gallery-link a {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 6px;

        font-size: 11px;
    }

    .home-gallery-link b {
        font-size: 17px;
    }
}




