body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f8fafc}

/* Google Font */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#04142b;
}

/* Background behind header */

.hero-header{


background: white;
background:linear-gradient(180deg,#dae0f5,#fcfcfc);
url("../assets/header-bg.jpg");

background-size:cover;
background-position:center;
padding:14px 0;
}





/* =========================================
   RVC PRIMARY NAVIGATION
========================================= */

.rvc-header {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    height: 76px;

    z-index: 1000;

    padding:
        10px 25px;

    box-sizing: border-box;

    background:
        rgba(3, 20, 39, 0.88);

    backdrop-filter:
        blur(14px);

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

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

    transition:
        background 0.3s ease,
        box-shadow 0.3s ease,
        height 0.3s ease;
}


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

.rvc-header.scrolled {

    background:
        rgba(2, 17, 33, 0.97);

    box-shadow:
        0 8px 30px
        rgba(0,0,0,0.22);

    height: 68px;
}


/* =========================================
   NAV CONTAINER
========================================= */

.nav-container {

    width: 100%;

    max-width: 1250px;

    height: 100%;

    margin: 0 auto;

    display: flex;

    align-items: center;

    gap: 30px;
}


/* =========================================
   LOGO
========================================= */

.nav-logo {

    display: flex;

    align-items: center;

    flex-shrink: 0;

    text-decoration: none;

    height: 150px;

    width: 160px;

    padding: 3px;



    border-radius: 6px;

    transition:
        transform 0.25s ease;
}


.nav-logo:hover {

    transform:
        translateY(-1px);
}


.nav-logo img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    display: block;
}


/* =========================================
   MAIN NAVIGATION
========================================= */

.main-nav {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    margin-left: auto;

    margin-right: auto;

    height: 100%;
}


.nav-link {

    position: relative;

    display: flex;

    align-items: center;

    height: 100%;

    padding:
        0 15px;

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

    text-decoration: none;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 0.1px;

    transition:
        color 0.25s ease;
}


.nav-link:hover {

    color:
        #00aeef;
}


/* Active underline */

.nav-link::after {

    content: "";

    position: absolute;

    left: 15px;

    right: 15px;

    bottom: 8px;

    height: 2px;

    background:
        #00aeef;

    border-radius: 5px;

    transform:
        scaleX(0);

    transform-origin:
        center;

    transition:
        transform 0.25s ease;
}


.nav-link:hover::after,
.nav-link.active::after {

    transform:
        scaleX(1);
}


/* =========================================
   RIGHT NAV ACTIONS
========================================= */

.nav-actions {

    display: flex;

    align-items: center;

    gap: 22px;

    flex-shrink: 0;
}


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

.nav-phone {

    display: flex;

    align-items: center;

    gap: 8px;

    color:
        #00aeef;

    text-decoration: none;

    font-size: 12px;

    font-weight: 600;

    transition:
        color 0.2s ease;
}


.nav-phone:hover {

    color:
        #ffffff;
}


.phone-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 17px;
}


/* =========================================
   BOOK NOW BUTTON
========================================= */

.nav-book {

    height: 40px;

    padding:
        0 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    border-radius: 25px;

    background:
        linear-gradient(
            135deg,
            #09baf4,
            #008fd5
        );

    color:
        #ffffff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 700;

    box-shadow:
        0 5px 18px
        rgba(0,166,235,0.28);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.nav-book:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 8px 24px
        rgba(0,166,235,0.4);
}


.book-icon {

    font-size: 13px;
}


/* =========================================
   MOBILE MENU BUTTON
========================================= */

.mobile-menu-button {

    display: none;

    width: 42px;

    height: 42px;

    padding: 8px;

    border: none;

    border-radius: 8px;

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

    cursor: pointer;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 5px;
}


.mobile-menu-button span {

    width: 22px;

    height: 2px;

    border-radius: 5px;

    background:
        #ffffff;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}


/* =========================================
   MOBILE MENU ACTIVE
========================================= */

.mobile-menu-button.active span:nth-child(1) {

    transform:
        translateY(7px)
        rotate(45deg);
}


.mobile-menu-button.active span:nth-child(2) {

    opacity: 0;
}


.mobile-menu-button.active span:nth-child(3) {

    transform:
        translateY(-7px)
        rotate(-45deg);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1050px) {

    .nav-container {

        gap: 18px;
    }


    .nav-link {

        padding:
            0 10px;
    }


    .nav-link::after {

        left: 10px;
        right: 10px;
    }


    .nav-phone {

        display: none;
    }


    .nav-actions {

        gap: 10px;
    }

}


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

@media (max-width: 750px) {

    .rvc-header {

        height: 68px;

        padding:
            8px 15px;
    }


    .rvc-header.scrolled {

        height: 64px;
    }


    .nav-container {

        justify-content:
            space-between;
    }


    /* Smaller logo */

    .nav-logo {

        width: 105px;

        height: 48px;
    }


    /* Hide desktop navigation */

    .main-nav {

        position: absolute;

        top: 68px;

        left: 15px;

        right: 15px;

        height: auto;

        margin: 0;

        padding:
            12px;

        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 2px;

        background:
            rgba(3, 20, 39, 0.98);

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

        border-radius: 12px;

        box-shadow:
            0 15px 40px
            rgba(0,0,0,0.3);

        opacity: 0;

        visibility: hidden;

        transform:
            translateY(-10px);

        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            visibility 0.25s ease;
    }


    .main-nav.open {

        opacity: 1;

        visibility: visible;

        transform:
            translateY(0);
    }


    .nav-link {

        height: 45px;

        padding:
            0 15px;

        border-radius: 7px;

        font-size: 13px;
    }


    .nav-link:hover {

        background:
            rgba(0,169,239,0.08);
    }


    .nav-link::after {

        display: none;
    }


    .nav-link.active {

        color:
            #00aeef;

        background:
            rgba(0,169,239,0.07);
    }


    /* Book button */

    .nav-book {

        display: none;
    }


    /* Mobile menu */

    .mobile-menu-button {

        display: flex;
    }

}












/* ==========================================
   RVC HERO BANNER
========================================== */

.rvc-hero{

position:relative;

min-height:610px;

overflow:hidden;

display:flex;
align-items:center;

background-image:url("../assets/header-image.png");
background-size:cover;
background-position:center right;

}

/* Dark overlay */

.hero-overlay{

position:absolute;
inset:0;

background:
linear-gradient(
90deg,
rgba(2,8,25,.92) 0%,
rgba(4,16,42,.80) 34%,
rgba(4,18,45,.30) 68%,
rgba(0,0,0,.05) 100%
);

}

/* Content */

.hero-content{

position:relative;
z-index:2;

padding-top:40px;
padding-bottom:60px;

animation:fadeUp .9s ease;
}

/* Tag */

.hero-tag{

color:#11b8ff;

font-size:15px;

font-weight:700;

letter-spacing:1.4px;

margin-bottom:18px;
}

/* Heading */

.hero-title{

font-size:68px;

line-height:1.05;

font-weight:900;

color:white;

margin-bottom:22px;
}

.hero-title span{

display:block;

color:#08b7ff;
}

/* Paragraph */

.hero-text{

font-size:25px;

line-height:1.55;

color:#d9e8f8;

max-width:520px;

margin-bottom:38px;
}

/* Buttons */

.hero-buttons{

display:flex;
gap:20px;
flex-wrap:wrap;
}

.btn-whatsapp,
.btn-call{

display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;

padding:18px 32px;

border-radius:50px;

font-size:18px;

font-weight:700;

text-decoration:none;

transition:.35s;
}

/* WhatsApp */

.btn-whatsapp{

background:linear-gradient(180deg,#18c6ff,#00a3ff);

color:white;

box-shadow:
0 10px 25px rgba(0,170,255,.35);
}

.btn-whatsapp:hover{

transform:translateY(-3px);

box-shadow:
0 15px 35px rgba(0,170,255,.55);

color:white;
}

/* Call */

.btn-call{

border:2px solid rgba(255,255,255,.75);

color:white;

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

backdrop-filter:blur(8px);
}

.btn-call:hover{

background:white;

color:#00274f;
}

/* Handwritten text */

.quality-text{

position:absolute;

right:62px;
bottom:92px;

z-index:2;

font-size:30px;

font-family:"Brush Script MT","Segoe Script",cursive;

color:white;

transform:rotate(-13deg);

text-shadow:
0 5px 14px rgba(0,0,0,.45);
}

/* Bottom wave */

.hero-wave{

position:absolute;

left:0;
bottom:-1px;

width:100%;
height:85px;

z-index:2;
}

/* Animation */

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(35px);
}

to{

opacity:1;

transform:translateY(0);
}
}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1200px){

.hero-title{

font-size:58px;
}

.hero-text{

font-size:22px;
}
}

@media(max-width:992px){

.rvc-hero{

min-height:700px;

background-position:68% center;
}

.hero-content{

text-align:center;

padding-top:55px;
}

.hero-text{

margin:auto auto 35px;
}

.hero-buttons{

justify-content:center;
}

.quality-text{

right:35px;
bottom:75px;

font-size:26px;
}
}

@media(max-width:768px){

.rvc-hero{

min-height:760px;

background-position:70% center;
}

.hero-title{

font-size:42px;
}

.hero-text{

font-size:18px;
}

.btn-whatsapp,
.btn-call{

width:100%;
}

.quality-text{

display:none;
}

.hero-wave{

height:65px;
}
}


















/* ==========================================
   SERVICES SECTION
========================================== */

.services-section{

background:#f8fafc;

padding-top:70px;
padding-bottom:80px;
}

.section-tag{

display:block;

font-size:13px;

font-weight:700;

letter-spacing:1.3px;

color:#11b8ff;

margin-bottom:8px;
}

.section-title{

font-size:54px;

font-weight:900;

color:#061937;

line-height:1.1;

margin-bottom:8px;
}

.section-subtitle{

font-size:18px;

color:#5a6b85;
}

.view-all{

color:#11b8ff;

font-weight:700;

text-decoration:none;

display:flex;
align-items:center;
gap:8px;

margin-top:12px;
}

.view-all:hover{

color:#008ee6;
}

/* Cards */

.service-card{

position:relative;

border-radius:18px;

overflow:hidden;

height:420px;

cursor:pointer;

transition:.4s;

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

.service-card:hover{

transform:translateY(-10px);

box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.service-card img{

width:100%;
height:100%;

object-fit:cover;

transition:.45s;
}

.service-card:hover img{

transform:scale(1.05);
}

/* Overlay */

.service-overlay{

position:absolute;
inset:0;

display:flex;
flex-direction:column;
justify-content:flex-end;

padding:22px;

background:linear-gradient(
180deg,
rgba(0,18,50,.05) 0%,
rgba(0,18,50,.20) 35%,
rgba(0,14,40,.92) 100%
);
}

/* Blue Icon */

.service-icon{

width:74px;
height:74px;

border-radius:50%;

background:#12b9ff;

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

margin-bottom:22px;

box-shadow:0 0 20px rgba(18,185,255,.45);
}

.service-icon i{

font-size:32px;

color:white;
}

/* Text */

.service-content h4{

color:white;

font-size:31px;

font-weight:800;

margin-bottom:10px;
}

.service-content p{

color:#d7e7f7;

font-size:18px;

line-height:1.45;

margin-bottom:22px;
}

/* Bottom Arrow */

.service-arrow{

width:40px;
height:40px;

border-radius:50%;

border:2px solid rgba(255,255,255,.7);

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

color:white;

text-decoration:none;

transition:.3s;
}

.service-arrow:hover{

background:#12b9ff;

border-color:#12b9ff;

transform:translateX(4px);

color:white;
}

/* ==========================================
   Responsive
========================================== */

@media(max-width:992px){

.section-title{

font-size:42px;
}

.service-card{

height:380px;
}
}

@media(max-width:768px){

.section-title{

font-size:34px;
}

.section-subtitle{

font-size:16px;
}

.view-all{

margin-top:18px;
}

.service-card{

height:360px;
}
}











/* ===================================
   SOCIAL MEDIA SECTION
=================================== */

.social-media-section{

background:#fff;

padding:70px 0;
}

/* Section Header */

.section-tag{

display:block;

font-size:13px;

font-weight:700;

letter-spacing:1px;

color:#00a9ff;

margin-bottom:8px;
}

.section-title{

font-size:46px;

font-weight:900;

color:#081c3b;

margin-bottom:6px;
}

.section-subtitle{

color:#64748b;

font-size:16px;
}

.social-header{

display:flex;

justify-content:space-between;

align-items:flex-start;

gap:20px;

flex-wrap:wrap;
}

/* View Button */

.view-all-btn{

display:flex;
align-items:center;
gap:8px;

color:#00a9ff;

font-weight:700;

text-decoration:none;
}

.view-all-btn i{

width:30px;
height:30px;

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

background:#00a9ff;

color:#fff;

border-radius:50%;
}

/* Cards */

.video-card,
.tiktok-card{

position:relative;

cursor:pointer;

transition:.35s;
}

.video-card:hover,
.tiktok-card:hover{

transform:translateY(-8px);
}

.video-card img{

width:100%;
height:170px;

border-radius:14px;

object-fit:cover;
}

.tiktok-card img{

width:100%;
height:220px;

border-radius:14px;

object-fit:cover;
}

/* Overlay */

.video-card::after,
.tiktok-card::after{

content:"";

position:absolute;
inset:0;

border-radius:14px;

background:linear-gradient(
180deg,
transparent,
rgba(0,0,0,.75));
}

/* Play Badge */

.youtube-play{

position:absolute;

top:10px;
left:10px;

width:28px;
height:20px;

background:#ff0000;

border-radius:5px;

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

color:white;

z-index:2;
}

.video-time{

position:absolute;

right:10px;
bottom:55px;

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

color:white;

padding:3px 7px;

font-size:11px;

border-radius:5px;

z-index:2;
}

.count-badge{

position:absolute;

left:10px;
bottom:55px;

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

color:white;

padding:5px 8px;

font-size:12px;

border-radius:6px;

display:flex;
align-items:center;
gap:4px;

z-index:2;
}

/* Text */

.video-info{

position:absolute;

left:12px;
right:12px;
bottom:12px;

z-index:2;
}

.video-info h6{

color:white;

font-size:14px;

font-weight:700;

margin-bottom:3px;
}

.video-info small{

color:#d4e4f5;
}

/* Carousel Arrows */

.custom-arrow{

width:42px;
height:42px;

background:white;

border-radius:50%;

top:35%;

opacity:1;

box-shadow:0 8px 20px rgba(0,0,0,.15);
}

.custom-arrow i{

color:#00a9ff;

font-size:22px;
}

.carousel-control-prev{

left:-20px;
}

.carousel-control-next{

right:-20px;
}

/* Dots */

.custom-dots{

bottom:-35px;
}

.custom-dots button{

width:10px!important;
height:10px!important;

border-radius:50%;

background:#d7e5f2!important;

opacity:1;
}

.custom-dots .active{

background:#00a9ff!important;
}

/* Responsive */

@media(max-width:992px){

.section-title{

font-size:36px;
}

.carousel-control-prev{

left:-8px;
}

.carousel-control-next{

right:-8px;
}
}

@media(max-width:768px){

.video-card img{

height:140px;
}

.tiktok-card img{

height:180px;
}

.section-title{

font-size:30px;
}
}


































/* =========================================
   RVC - Testimonial Section
========================================= */

.why-rvc {
    width: 100%;
    min-height: 270px;

    display: grid;
    grid-template-columns: 30% 48% 22%;

    background:
        radial-gradient(
            circle at 40% 50%,
            rgba(0, 112, 190, 0.18),
            transparent 45%
        ),
        #06284a;

    color: #ffffff;

    overflow: hidden;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    position: relative;
}


/* =========================================
   LEFT IMAGE
========================================= */

.rvc-image {
    min-height: 270px;

    background-image:
        url("../assets/tshepo-mavimbela.png");

    /*
       Keep the original image at the left
       and allow the section to display
       only the mechanic/garage portion.
    */
    background-size: auto 100%;
    background-position: left center;
    background-repeat: no-repeat;

    position: relative;
    margin: 45px;
}




/* =========================================
   MAIN CONTENT
========================================= */

.rvc-content {
    padding: 28px 25px 25px 15px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    z-index: 2;
}


/* Small heading */

.eyebrow {
    display: block;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.5px;

    color: #ffffff;

    margin-bottom: 3px;

    text-transform: uppercase;
}


/* Main heading */

.rvc-heading h2 {
    margin: 0 0 8px;

    font-size: clamp(26px, 2.4vw, 38px);

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -1px;
}


.rvc-heading p {
    margin: 0;

    max-width: 520px;

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

    font-size: 14px;

    line-height: 1.4;
}


/* =========================================
   FEATURES
========================================= */

.rvc-features {

    display: grid;

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

    margin-top: 22px;
}


.rvc-feature {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 0 18px;

    min-height: 72px;

    border-right:
        1px solid
        rgba(255,255,255,0.15);
}


.rvc-feature:first-child {
    padding-left: 0;
}


.rvc-feature:last-child {
    border-right: none;
}


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

.feature-icon {

    width: 55px;
    height: 55px;

    min-width: 55px;

    border:
        2px solid
        #00a9ff;

    border-radius: 50%;

    display: flex;

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

    color: #00a9ff;

    font-size: 22px;

    transition:
        transform 0.3s ease,
        background 0.3s ease;
}


.rvc-feature:hover .feature-icon {

    transform:
        translateY(-4px);

    background:
        rgba(0,169,255,0.12);
}


/* Feature title */

.feature-text h3 {

    margin: 0 0 7px;

    font-size: 13px;

    line-height: 1.15;

    font-weight: 700;
}


/* Feature description */

.feature-text p {

    margin: 0;

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

    font-size: 10px;

    line-height: 1.35;
}


/* =========================================
   TESTIMONIAL
========================================= */

.rvc-testimonial {

    margin: 25px 20px 25px 10px;

    padding:
        30px 25px
        20px 30px;

    background:
        rgba(1, 29, 55, 0.75);

    border-radius: 10px;

    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: center;

    box-shadow:
        inset 0 0 0 1px
        rgba(255,255,255,0.02);
}


/* Blue quote line */

.rvc-testimonial::before {

    content: "";

    position: absolute;

    left: 10px;

    top: 48px;

    width: 2px;

    height: 105px;

    background:
        #00a9ff;
}


/* Quote mark */

.quote-mark {

    position: absolute;

    top: 15px;
    left: 25px;

    font-size: 65px;

    line-height: 1;

    font-weight: 900;

    color: #00a9ff;

    opacity: 0.9;
}


/* Quote */

.rvc-testimonial blockquote {

    margin:
        30px 0 20px;

    padding-left: 12px;

    font-size: 14px;

    line-height: 1.45;

    font-weight: 500;
}


/* Author */

.testimonial-author {

    display: flex;

    flex-direction: column;

    padding-left: 12px;
}


.testimonial-author strong {

    font-size: 13px;

    margin-bottom: 3px;
}


.testimonial-author span {

    font-size: 10px;

    color:
        rgba(255,255,255,0.55);
}


/* Signature */

.signature {

    position: absolute;

    right: 18px;

    bottom: 14px;

    font-family:
        "Brush Script MT",
        cursive;

    font-size: 28px;

    transform: rotate(-8deg);

    color: white;
}


/* =========================================
   SCROLL ANIMATION
========================================= */

.rvc-image,
.rvc-content,
.rvc-testimonial {

    opacity: 0;

    transform:
        translateY(25px);

    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}


.why-rvc.visible .rvc-image,
.why-rvc.visible .rvc-content,
.why-rvc.visible .rvc-testimonial {

    opacity: 1;

    transform:
        translateY(0);
}


.why-rvc.visible .rvc-content {
    transition-delay: 0.15s;
}


.why-rvc.visible .rvc-testimonial {
    transition-delay: 0.3s;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .why-rvc {

        grid-template-columns:
            28% 47% 25%;
    }

    .rvc-content {

        padding:
            25px 15px;
    }

    .rvc-heading h2 {

        font-size: 27px;
    }

    .rvc-features {

        grid-template-columns:
            1fr;
    }

    .rvc-feature {

        border-right: none;

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

        padding:
            8px 0;
    }

    .rvc-feature:last-child {

        border-bottom: none;
    }

}


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

@media (max-width: 700px) {

    .why-rvc {

        display: flex;

        flex-direction: column;

        min-height: auto;
    }


    /* Image */

    .rvc-image {

        height: 300px;

        min-height: 300px;

        background-size: auto 100%;

        background-position:
            left center;
    }


    .rvc-image-overlay {

        background:
            linear-gradient(
                0deg,
                #06284a 0%,
                transparent 55%
            );
    }


    /* Content */

    .rvc-content {

        padding:
            30px 25px;
    }


    .rvc-heading h2 {

        font-size: 32px;
    }


    .rvc-heading p {

        font-size: 14px;
    }


    /* Features */

    .rvc-features {

        grid-template-columns: 1fr;

        gap: 5px;

        margin-top: 25px;
    }


    .rvc-feature {

        padding:
            12px 0;

        min-height:
            65px;
    }


    .feature-icon {

        width: 50px;
        height: 50px;

        min-width: 50px;
    }


    /* Testimonial */

    .rvc-testimonial {

        margin:
            0 20px 30px;

        min-height:
            220px;
    }

}



























/* =========================================
   CUSTOMER REVIEWS
========================================= */

.customer-reviews {

    width: 100%;

    background: #ffffff;

    padding:
        42px 20px
        34px;

    box-sizing: border-box;

    overflow: hidden;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    position: relative;
}


/* Subtle background decoration */

.customer-reviews::after {

    content: "";

    position: absolute;

    top: -80px;
    right: -60px;

    width: 300px;
    height: 200px;

    background:
        linear-gradient(
            135deg,
            transparent 45%,
            rgba(0, 139, 218, 0.06) 46%,
            transparent 48%,
            transparent 55%,
            rgba(0, 139, 218, 0.04) 56%,
            transparent 58%
        );

    transform: rotate(-8deg);

    pointer-events: none;
}


/* =========================================
   CONTAINER
========================================= */

.reviews-container {

    width: 100%;

    max-width: 1200px;

    margin: 0 auto;

    position: relative;

    z-index: 2;
}


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

.reviews-heading {

    margin-left: 20px;

    margin-bottom: 18px;
}


.reviews-eyebrow {

    display: block;

    color: #009fe3;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;

    margin-bottom: 3px;
}


.reviews-heading h2 {

    margin: 0;

    color: #06224a;

    font-size: clamp(
        27px,
        3.2vw,
        42px
    );

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -1.2px;
}


/* =========================================
   CAROUSEL
========================================= */

.reviews-carousel {

    display: flex;

    align-items: center;

    width: 100%;

    gap: 10px;
}


/* =========================================
   TRACK WRAPPER
========================================= */

.reviews-track-wrapper {

    width: 100%;

    overflow: hidden;
}


.reviews-track {

    display: flex;

    gap: 18px;

    transition:
        transform 0.5s ease;

    will-change: transform;
}


/* =========================================
   REVIEW CARD
========================================= */

.review-card {

    flex:
        0 0
        calc(
            (100% - 36px) / 3
        );

    min-height: 128px;

    box-sizing: border-box;

    padding:
        14px 20px;

    background: #ffffff;

    border:
        1px solid
        #dcecf5;

    border-radius: 10px;

    box-shadow:
        0 3px 12px
        rgba(0, 50, 100, 0.04);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.review-card:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 8px 22px
        rgba(0, 50, 100, 0.08);
}


/* =========================================
   CUSTOMER INFORMATION
========================================= */

.review-customer {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 10px;
}


/* Customer photo */

.customer-photo {

    width: 43px;
    height: 43px;

    min-width: 43px;

    object-fit: cover;

    border-radius: 50%;

    border:
        3px solid
        #d9f0fb;

    background: #eaf6fb;
}


/* Customer name */

.customer-info h3 {

    margin: 0 0 3px;

    color: #07518a;

    font-size: 12px;

    font-weight: 700;
}


/* =========================================
   STARS
========================================= */

.stars {

    color: #f6a400;

    font-size: 12px;

    letter-spacing: 1px;

    line-height: 1;
}


/* =========================================
   REVIEW TEXT
========================================= */

.review-text {

    margin: 0;

    color: #4d6072;

    font-size: 11px;

    line-height: 1.45;

    max-width: 290px;
}


/* =========================================
   ARROWS
========================================= */

.review-arrow {

    width: 30px;
    height: 30px;

    min-width: 30px;

    border-radius: 50%;

    border: none;

    background: #f2f7fa;

    color: #60788c;

    font-size: 23px;

    line-height: 25px;

    display: flex;

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

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;

    z-index: 3;
}


.review-arrow:hover {

    background: #009fe3;

    color: #ffffff;

    transform:
        scale(1.08);
}


.review-next {

    background: #e5f5fc;

    color: #008ed0;
}


/* =========================================
   DOTS
========================================= */

.review-dots {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 7px;

    margin-top: 15px;
}


.review-dot {

    width: 7px;
    height: 7px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: #d2d9df;

    cursor: pointer;

    transition:
        width 0.25s ease,
        background 0.25s ease;
}


.review-dot.active {

    width: 9px;
    height: 9px;

    background: #009fe3;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .review-card {

        flex:
            0 0
            calc(
                (100% - 18px) / 2
            );
    }

}


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

@media (max-width: 600px) {

    .customer-reviews {

        padding:
            32px 15px
            28px;
    }


    .reviews-heading {

        margin-left: 8px;

        margin-bottom: 18px;
    }


    .reviews-heading h2 {

        font-size: 30px;
    }


    .reviews-carousel {

        gap: 5px;
    }


    .review-card {

        flex:
            0 0 100%;

        min-height: 135px;

        padding:
            16px 18px;
    }


    .review-arrow {

        width: 27px;
        height: 27px;

        min-width: 27px;

        font-size: 20px;
    }


    .review-text {

        font-size: 11px;
    }

}






/* ==========================================
   RVC HERO BANNER
========================================== */

.rvc-hero{

position:relative;

min-height:610px;

overflow:hidden;

display:flex;
align-items:center;

background-image:url("../assets/header-image.png");
background-size:cover;
background-position:center right;

}

/* Dark overlay */

.hero-overlay{

position:absolute;
inset:0;

background:
linear-gradient(
90deg,
rgba(2,8,25,.92) 0%,
rgba(4,16,42,.80) 34%,
rgba(4,18,45,.30) 68%,
rgba(0,0,0,.05) 100%
);

}

/* Content */

.hero-content{

position:relative;
z-index:2;

padding-top:40px;
padding-bottom:60px;

animation:fadeUp .9s ease;
}

/* Tag */

.hero-tag{

color:#11b8ff;

font-size:15px;

font-weight:700;

letter-spacing:1.4px;

margin-bottom:18px;
}

/* Heading */

.hero-title{

font-size:68px;

line-height:1.05;

font-weight:900;

color:white;

margin-bottom:22px;
}

.hero-title span{

display:block;

color:#08b7ff;
}

/* Paragraph */

.hero-text{

font-size:25px;

line-height:1.55;

color:#d9e8f8;

max-width:520px;

margin-bottom:38px;
}

/* Buttons */

.hero-buttons{

display:flex;
gap:20px;
flex-wrap:wrap;
}

.btn-whatsapp,
.btn-call{

display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;

padding:18px 32px;

border-radius:50px;

font-size:18px;

font-weight:700;

text-decoration:none;

transition:.35s;
}

/* WhatsApp */

.btn-whatsapp{

background:linear-gradient(180deg,#18c6ff,#00a3ff);

color:white;

box-shadow:
0 10px 25px rgba(0,170,255,.35);
}

.btn-whatsapp:hover{

transform:translateY(-3px);

box-shadow:
0 15px 35px rgba(0,170,255,.55);

color:white;
}

/* Call */

.btn-call{

border:2px solid rgba(255,255,255,.75);

color:white;

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

backdrop-filter:blur(8px);
}

.btn-call:hover{

background:white;

color:#00274f;
}

/* Handwritten text */

.quality-text{

position:absolute;

right:62px;
bottom:92px;

z-index:2;

font-size:30px;

font-family:"Brush Script MT","Segoe Script",cursive;

color:white;

transform:rotate(-13deg);

text-shadow:
0 5px 14px rgba(0,0,0,.45);
}

/* Bottom wave */

.hero-wave{

position:absolute;

left:0;
bottom:-1px;

width:100%;
height:85px;

z-index:2;
}

/* Animation */

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(35px);
}

to{

opacity:1;

transform:translateY(0);
}
}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1200px){

.hero-title{

font-size:58px;
}

.hero-text{

font-size:22px;
}
}

@media(max-width:992px){

.rvc-hero{

min-height:700px;

background-position:68% center;
}

.hero-content{

text-align:center;

padding-top:55px;
}

.hero-text{

margin:auto auto 35px;
}

.hero-buttons{

justify-content:center;
}

.quality-text{

right:35px;
bottom:75px;

font-size:26px;
}
}

@media(max-width:768px){

.rvc-hero{

min-height:760px;

background-position:70% center;
}

.hero-title{

font-size:42px;
}

.hero-text{

font-size:18px;
}

.btn-whatsapp,
.btn-call{

width:100%;
}

.quality-text{

display:none;
}

.hero-wave{

height:65px;
}
}


















/* =========================================
   CONTACT SECTION
========================================= */

.contact-section {

    width: 100%;

    min-height: 278px;

    box-sizing: border-box;

    padding: 20px 28px;

    background:
        radial-gradient(
            circle at 28% 50%,
            rgba(0, 125, 220, 0.20),
            transparent 35%
        ),
        linear-gradient(
            110deg,
            #041e3c 0%,
            #062c55 55%,
            #031a34 100%
        );

    color: #ffffff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    overflow: hidden;

    position: relative;
}


/* Decorative blue lines */

.contact-section::before {

    content: "";

    position: absolute;

    left: 15%;

    top: -100px;

    width: 350px;

    height: 500px;

    border-left:
        1px solid
        rgba(0, 158, 235, 0.12);

    transform:
        rotate(25deg);

    pointer-events: none;
}


.contact-section::after {

    content: "";

    position: absolute;

    right: 30%;

    bottom: -180px;

    width: 400px;

    height: 400px;

    border-radius: 50%;

    background:
        rgba(0, 133, 230, 0.05);

    pointer-events: none;
}


/* =========================================
   CONTAINER
========================================= */

.contact-container {

    max-width: 1160px;

    min-height: 238px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        31%
        38%
        31%;

    gap: 24px;

    align-items: stretch;

    position: relative;

    z-index: 2;
}


/* =========================================
   LEFT CONTACT INFORMATION
========================================= */

.contact-info {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding-right: 10px;
}


/* Logo */

.contact-logo {

    width: 145px;

    height: 48px;

    margin-bottom: 3px;

    position: relative;

    color: #00a9ef;

    font-size: 50px;

    line-height: 40px;

    transform:
        skewX(-10deg);
}


.contact-logo::before {

    content: "";

    position: absolute;

    width: 125px;

    height: 28px;

    top: 7px;

    left: 0;

    border-top:
        5px solid
        #00a9ef;

    border-radius:
        70% 40% 0 0;

    transform:
        skewX(-15deg)
        rotate(-4deg);
}


.contact-logo::after {

    content: "";

    position: absolute;

    width: 45px;

    height: 18px;

    top: 29px;

    left: 68px;

    border:
        5px solid
        #00a9ef;

    border-top: none;

    border-radius:
        0 0 50px 50px;

    transform:
        rotate(-5deg);
}


/* Heading */

.contact-info h2 {

    margin:
        0 0 5px;

    font-size: 35px;

    line-height: 1;

    font-weight: 800;

    letter-spacing: -1px;
}


/* Intro */

.contact-intro {

    margin:
        0 0 14px;

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

    font-size: 13px;

    line-height: 1.35;
}


/* Contact detail */

.contact-detail {

    display: flex;

    align-items: center;

    gap: 12px;

    color: #ffffff;

    text-decoration: none;

    font-size: 12px;

    margin-bottom: 9px;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}


.contact-detail:hover {

    color: #00a9ef;

    transform:
        translateX(3px);
}


/* Icons */

.contact-icon {

    width: 25px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    color: #ffffff;

    font-size: 22px;

    line-height: 1;
}


/* =========================================
   BOOKING AREA
========================================= */

.booking-area {

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        0 5px;
}


.booking-area h3 {

    margin:
        0 0 11px;

    font-size: 17px;

    font-weight: 700;
}


/* =========================================
   FORM
========================================= */

.booking-form {

    width: 100%;
}


.form-group {

    width: 100%;

    margin-bottom: 5px;
}


.form-group input,
.form-group select,
.form-group textarea {

    width: 100%;

    box-sizing: border-box;

    border:
        2px solid
        rgba(30, 160, 235, 0.55);

    border-radius: 9px;

    background:
        rgba(6, 47, 83, 0.75);

    color: #ffffff;

    padding:
        8px 16px;

    font-family: inherit;

    font-size: 11px;

    outline: none;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}


.form-group input,
.form-group select {

    height: 37px;
}


.form-group textarea {

    height: 48px;

    resize: none;

    padding-top: 10px;
}


/* Placeholder */

.form-group input::placeholder,
.form-group textarea::placeholder {

    color:
        rgba(255,255,255,0.55);
}


/* Select */

.form-group select {

    appearance: none;

    -webkit-appearance: none;

    background-image:
        linear-gradient(45deg,
            transparent 50%,
            #ffffff 50%
        ),
        linear-gradient(135deg,
            #ffffff 50%,
            transparent 50%
        );

    background-position:
        calc(100% - 15px) 15px,
        calc(100% - 10px) 15px;

    background-size:
        5px 5px,
        5px 5px;

    background-repeat: no-repeat;

    cursor: pointer;
}


.form-group select option {

    background:
        #062c55;

    color:
        #ffffff;
}


/* Focus */

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-color:
        #00a9ef;

    background:
        rgba(5, 57, 99, 0.9);

    box-shadow:
        0 0 0 2px
        rgba(0,169,239,0.08);
}


/* =========================================
   BOOK BUTTON
========================================= */

.book-button {

    width: 100%;

    height: 35px;

    border: none;

    border-radius: 8px;

    background:
        linear-gradient(
            90deg,
            #00b5f5,
            #009fe3
        );

    color: #ffffff;

    font-size: 12px;

    font-weight: 700;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    margin-top: 4px;

    box-shadow:
        0 4px 10px
        rgba(0, 150, 230, 0.2);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.book-button:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 7px 16px
        rgba(0, 150, 230, 0.3);
}


.book-button:active {

    transform:
        translateY(0);
}


.button-icon {

    font-size: 16px;
}


/* Form message */

.booking-message {

    font-size: 10px;

    text-align: center;

    margin-top: 5px;

    min-height: 12px;

    color: #8ee4ff;
}


/* =========================================
   MAP
========================================= */

.location-area {

    display: flex;

    align-items: center;

    justify-content: center;
}


.map-wrapper {

    width: 100%;

    height: 232px;

    border-radius: 6px;

    overflow: hidden;

    position: relative;

    background:
        #e9f2f7;

    box-shadow:
        0 5px 20px
        rgba(0,0,0,0.15);
}


.map-wrapper iframe {

    width: 100%;

    height: 100%;

    border: 0;

    display: block;
}


/* =========================================
   DIRECTIONS BUTTON
========================================= */

.directions-button {

    position: absolute;

    left: 50%;

    bottom: 54px;

    transform:
        translateX(-50%);

    background:
        #00a9ef;

    color: #ffffff;

    text-decoration: none;

    padding:
        9px 24px;

    border-radius: 20px;

    font-size: 11px;

    font-weight: 700;

    white-space: nowrap;

    box-shadow:
        0 4px 10px
        rgba(0,0,0,0.15);

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}


.directions-button:hover {

    background:
        #008fd0;

    transform:
        translateX(-50%)
        translateY(-2px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .contact-section {

        padding:
            30px 20px;
    }


    .contact-container {

        grid-template-columns:
            1fr 1fr;

        gap: 30px;
    }


    .location-area {

        grid-column:
            1 / -1;
    }


    .map-wrapper {

        height: 240px;
    }

}


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

@media (max-width: 650px) {

    .contact-section {

        padding:
            40px 20px;
    }


    .contact-container {

        display: flex;

        flex-direction: column;

        gap: 35px;
    }


    .contact-info {

        padding: 0;
    }


    .contact-info h2 {

        font-size: 34px;
    }


    .booking-area {

        padding: 0;
    }


    .booking-area h3 {

        font-size: 20px;
    }


    .form-group input,
    .form-group select {

        height: 45px;

        font-size: 13px;
    }


    .form-group textarea {

        height: 70px;

        font-size: 13px;
    }


    .book-button {

        height: 45px;

        font-size: 13px;
    }


    .location-area {

        width: 100%;
    }


    .map-wrapper {

        height: 260px;
    }

}






























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

.rvc-footer {

    width: 100%;

    background:
        linear-gradient(
            90deg,
            #031a32 0%,
            #041f3b 50%,
            #02172d 100%
        );

    color: #ffffff;

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

    box-sizing: border-box;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


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

.footer-container {

    width: 100%;

    max-width: 1250px;

    min-height: 68px;

    margin: 0 auto;

    padding:
        8px 25px;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;
}


/* =========================================
   LOGO
========================================= */

.footer-brand {

    flex-shrink: 0;

    display: flex;

    align-items: center;
}


.footer-logo {

    display: block;

    text-decoration: none;
}


.footer-logo img {

    display: block;

    width: 125px;

    height: auto;

    max-height: 50px;

    object-fit: contain;
}


/* =========================================
   NAVIGATION
========================================= */

.footer-navigation {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 28px;

    margin-left: auto;
}


.footer-navigation a {

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

    text-decoration: none;

    font-size: 9px;

    font-weight: 500;

    transition:
        color 0.2s ease,
        transform 0.2s ease;

    white-space: nowrap;
}


.footer-navigation a:hover {

    color: #00a9ef;

    transform:
        translateY(-1px);
}


/* =========================================
   SOCIAL MEDIA
========================================= */

.footer-social {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-left: 5px;
}


.social-link {

    width: 18px;

    height: 18px;

    display: flex;

    align-items: center;

    justify-content: center;

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

    text-decoration: none;

    font-size: 11px;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}


.social-link:hover {

    color: #00a9ef;

    transform:
        translateY(-2px);
}


/* =========================================
   COPYRIGHT
========================================= */

.footer-copyright {

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

    font-size: 7px;

    white-space: nowrap;

    margin-left: auto;
}


/* =========================================
   CREDIT
========================================= */

.footer-credit {

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

    font-size: 7px;

    white-space: nowrap;
}


.footer-credit span {

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

    font-weight: 600;
}


/* =========================================
   SUBTLE TOP HIGHLIGHT
========================================= */

.rvc-footer::before {

    content: "";

    display: block;

    width: 100%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(0,169,239,0.3),
            transparent
        );
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .footer-container {

        gap: 15px;

        padding:
            8px 18px;
    }


    .footer-logo img {

        width: 105px;
    }


    .footer-navigation {

        gap: 18px;
    }


    .footer-navigation a {

        font-size: 8px;
    }


    .footer-copyright,
    .footer-credit {

        font-size: 6px;
    }

}


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

@media (max-width: 700px) {

    .footer-container {

        min-height: auto;

        padding:
            25px 20px;

        flex-direction: column;

        justify-content: center;

        gap: 18px;

        text-align: center;
    }


    /* Logo */

    .footer-logo img {

        width: 330px;
    }


    /* Navigation */

    .footer-navigation {

        margin-left: 0;

        gap: 20px;

        flex-wrap: wrap;

        justify-content: center;
    }


    .footer-navigation a {

        font-size: 10px;
    }


    /* Social */

    .footer-social {

        margin-left: 0;

        gap: 16px;
    }


    .social-link {

        width: 22px;

        height: 22px;

        font-size: 13px;
    }


    /* Copyright */

    .footer-copyright {

        margin-left: 0;

        font-size: 8px;

        white-space: normal;
    }


    /* Credit */

    .footer-credit {

        font-size: 8px;

        white-space: normal;
    }

}