/* ===========================
   GOOGLE RESET
=========================== */

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    background:#0B0B0B;
    color:#F5F5F5;
    overflow-x:hidden;

}

img{

    width:100%;
    display:block;

}

a{

    text-decoration:none;

}

li{

    list-style:none;

}

.container{

    width:min(90%,1280px);
    margin:auto;

}


/* ===========================
      COLORS
=========================== */

:root{

    --gold:#C9A14A;
    --gold-light:#D7B567;

    --dark:#0B0B0B;
    --dark-2:#141414;
    --dark-3:#1B1B1B;

    --white:#F5F5F5;
    --gray:#A7A7A7;

    --transition:.35s ease;

}

/* ===========================
        NAVBAR
=========================== */

.header{

    position:fixed;
    width:100%;
    top:0;
    left:0;
    z-index:999;

    background:rgba(8,8,8,.55);

    backdrop-filter:blur(18px);

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

}

.navbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:85px;

}

.logo{

    display:flex;

    align-items:center;

    gap:15px;

}

.logo-icon{

    width:48px;
    height:48px;

    border:1px solid var(--gold);

    border-radius:12px;

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

    color:var(--gold);

    font-size:20px;

}

.logo-text h2{

    font-family:'Cormorant Garamond',serif;

    letter-spacing:2px;

    font-size:32px;

    color:white;

}

.logo-text span{

    color:var(--gold);

    font-size:12px;

    letter-spacing:4px;

}

.nav-links{

    display:flex;

    gap:35px;

}

.nav-links a{

    color:white;

    transition:var(--transition);

    font-size:15px;

}

.nav-links a:hover{

    color:var(--gold);

}

.btn-nav{

    padding:14px 24px;

    border:1px solid var(--gold);

    color:white;

    transition:var(--transition);

}

.btn-nav:hover{

    background:var(--gold);

    color:#111;

}

.menu-btn{

    display:none;

    font-size:28px;

    color:white;

    cursor:pointer;

}

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

.hero{

    min-height:100vh;

    padding-top:140px;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

   background:
linear-gradient(
rgba(0,0,0,.20),
rgba(0,0,0,.30)
),
    url("assets/images/bmwhome.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        90deg,

        rgba(0,0,0,.90) 20%,

        rgba(0,0,0,.55) 55%,

        rgba(0,0,0,.15)

    );

}

.hero-content{

display:flex;

align-items:center;

justify-content:flex-start;

height:100%;

}
/* ===========================
        HERO TEXT
=========================== */

.hero-text{

max-width:650px;

z-index:10;

}

.subtitle{

    color:var(--gold);

    letter-spacing:6px;

    text-transform:uppercase;

    font-size:13px;

    margin-bottom:25px;

    font-weight:600;

}

.hero-text h1{

    font-family:'Cormorant Garamond', serif;

    font-size:clamp(3.8rem,7vw,6.5rem);

    line-height:.95;

    font-weight:700;

    margin-bottom:30px;

}

.hero-text h1 span{

    color:var(--gold);

    display:block;

}

.description{

    color:var(--gray);

    font-size:18px;

    line-height:1.9;

    margin-bottom:45px;

    max-width:560px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.btn-primary{

    background:var(--gold);

    color:#111;

    padding:18px 36px;

    border-radius:60px;

    font-weight:700;

    transition:.4s;

    display:flex;

    align-items:center;

    gap:12px;

}

.btn-primary:hover{

    transform:translateY(-6px);

    box-shadow:

    0 18px 40px rgba(201,161,74,.35);

}

.btn-secondary{

    padding:18px 36px;

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

    border-radius:60px;

    color:white;

    transition:.4s;

}

.btn-secondary:hover{

    background:white;

    color:#111;

}

.hero-image{

    position:relative;

}

.hero-image img{

    width:100%;

    max-width:720px;

    margin-left:auto;

    filter:

    drop-shadow(0 40px 70px rgba(0,0,0,.65));

}

.hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    border-radius:50%;

    background:

    radial-gradient(circle,

    rgba(201,161,74,.10),

    transparent 70%);

    right:-200px;

    top:-150px;

}


.subtitle::before{

    content:"";

    display:inline-block;

    width:60px;

    height:1px;

    background:var(--gold);

    margin-right:18px;

    vertical-align:middle;

}

/*======================
    BRANDS
=======================*/

.brands{

    padding:70px 0;

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

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

}

.brands p{

    text-align:center;

    color:var(--gray);

    letter-spacing:6px;

    font-size:12px;

    margin-bottom:45px;

}

.brand-container{

    display:grid;

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

    gap:40px;

    align-items:center;

}

.brand-container img{

    width:90px;

    margin:auto;

    opacity:.45;

    transition:.35s;

    filter:grayscale(100%);

}

.brand-container img:hover{

    opacity:1;

    filter:none;

    transform:scale(1.1);

}

/*==========================
    INVENTORY
==========================*/

.inventory{

    padding:120px 0;

}

.section-title{

    text-align:center;

    max-width:700px;

    margin:auto;

    margin-bottom:70px;

}

.section-title span{

    color:var(--gold);

    letter-spacing:5px;

    font-size:13px;

}

.section-title h2{

    font-family:'Cormorant Garamond',serif;

    font-size:64px;

    margin:20px 0;

}

.section-title p{

    color:var(--gray);

    line-height:1.8;

}

.car-grid{

    display:grid;

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

    gap:35px;

}

.car-card{

    background:#141414;

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

    border-radius:24px;

    overflow:hidden;

    transition:.4s;

}


.car-card:hover{

    transform:translateY(-12px);

    border-color:rgba(201,161,74,.4);

    box-shadow:

    0 25px 60px rgba(0,0,0,.5);

}


.car-image{

    overflow:hidden;

    height:260px;

}

.car-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}

.car-card:hover img{

    transform:scale(1.08);

}

.car-info{

    padding:30px;

}

.car-info h3{

    font-size:28px;

    font-family:'Cormorant Garamond',serif;

}

.price{

    display:block;

    color:var(--gold);

    margin:15px 0 25px;

    font-size:22px;

    font-weight:700;

}

.specs{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    color:var(--gray);

    margin-bottom:30px;

    font-size:14px;

}

.specs span{

    display:flex;

    align-items:center;

    gap:8px;

}

.card-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    color:white;

    transition:.35s;

}

.card-btn:hover{

    color:var(--gold);

}

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

.features{

    padding:120px 0;

    background:#111;

}

.feature-grid{

    display:grid;

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

    gap:30px;

}

.feature-card{

    background:#181818;

    padding:45px 35px;

    border-radius:20px;

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

    transition:.4s;

}

.feature-card:hover{

    transform:translateY(-10px);

    border-color:rgba(201,161,74,.35);

}

.feature-card span{

    font-family:'Cormorant Garamond',serif;

    color:var(--gold);

    font-size:52px;

}

.feature-card h3{

    margin:20px 0;

    font-size:24px;

}

.feature-card p{

    color:var(--gray);

    line-height:1.8;

}

/*========================
        ABOUT
=========================*/

.about{

    padding:150px 0;

    background:#fff;

    color:#111;

}

.about-container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

}

.about-image{

    overflow:hidden;

    border-radius:28px;

}

.about-image img{

    height:650px;

    object-fit:cover;

    transition:.5s;

}

.about-image:hover img{

    transform:scale(1.08);

}

.about-content span{

    color:var(--gold);

    letter-spacing:5px;

    font-size:13px;

}

.about-content h2{

    font-family:'Cormorant Garamond',serif;

    font-size:70px;

    margin:25px 0;

    line-height:1;

}

.about-content p{

    color:#555;

    line-height:2;

    margin-bottom:25px;

}

/*========================
    TESTIMONIALS
=========================*/

.testimonials{

    padding:140px 0;

    background:#0B0B0B;

}

.testimonial-grid{

    display:grid;

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

    gap:35px;

}

.testimonial-card{

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

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

    backdrop-filter:blur(20px);

    border-radius:25px;

    padding:40px;

    transition:.4s;

}

.testimonial-card:hover{

    transform:translateY(-12px);

    border-color:rgba(201,161,74,.35);

}

.stars{

    color:var(--gold);

    margin-bottom:25px;

}

.testimonial-card p{

    color:#d2d2d2;

    line-height:2;

    margin-bottom:35px;

}
.client{

    display:flex;

    align-items:center;

    gap:18px;

}

.client img{

    width:70px;

    height:70px;

    border-radius:50%;

    object-fit:cover;

}

.client h4{

    font-size:20px;

}

.client span{

    color:var(--gray);

}

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

.contact{

    background:#fff;

    color:#111;

    padding:150px 0;

}

.contact-container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:start;

}

.contact-info span{

    color:var(--gold);

    letter-spacing:5px;

    font-size:13px;

}

.contact-info h2{

    font-family:'Cormorant Garamond',serif;

    font-size:68px;

    margin:25px 0;

}

.contact-info>p{

    color:#555;

    line-height:2;

    margin-bottom:45px;

}

.contact-item{

    display:flex;

    gap:22px;

    margin-bottom:35px;

}

.contact-item i{

    width:60px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#111;

    color:var(--gold);

    font-size:20px;

}

.contact-item h4{

    margin-bottom:6px;

}

.contact-item p{

    color:#666;

}

.contact-form{

    background:#111;

    padding:50px;

    border-radius:25px;

}
.contact-form input,
.contact-form textarea{

    width:100%;

    background:#1c1c1c;

    color:white;

    border:none;

    outline:none;

    padding:18px 22px;

    border-radius:12px;

    margin-bottom:20px;

    font-size:15px;

}

.contact-form button{

    width:100%;

    padding:18px;

    border:none;

    background:var(--gold);

    color:#111;

    font-weight:700;

    border-radius:50px;

    cursor:pointer;

    transition:.35s;

}

.contact-form button:hover{

    transform:translateY(-5px);

}

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

.footer{

    background:#070707;

    color:#fff;

    padding-top:90px;

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

}

.footer-container{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:60px;

    padding-bottom:70px;

}
.footer-brand h2{

    font-family:'Cormorant Garamond',serif;

    font-size:46px;

    letter-spacing:3px;

}

.footer-brand span{

    color:var(--gold);

    letter-spacing:5px;

    font-size:12px;

}

.footer-brand p{

    margin:25px 0;

    color:#b5b5b5;

    line-height:1.9;

    max-width:420px;

}

.footer-links{

    display:flex;

    flex-direction:column;

}

.footer-links h3{

    margin-bottom:25px;

    color:var(--gold);

}

.footer-links a,
.footer-links p{

    color:#bdbdbd;

    margin-bottom:14px;

    transition:.3s;

}

.footer-links a:hover{

    color:var(--gold);

    padding-left:6px;

}

.socials{

    display:flex;

    gap:15px;

    margin-top:30px;

}

.socials a{

    width:46px;

    height:46px;

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

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    color:white;

    transition:.35s;

}

.socials a:hover{

    background:var(--gold);

    color:#111;

    transform:translateY(-5px);

}

.footer-bottom{

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

    padding:28px;

    text-align:center;

    color:#999;

}

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

@media(max-width:1024px){

.hero-content{

grid-template-columns:1fr;

text-align:center;

}

.hero-text{

margin:auto;

}

.hero-buttons{

justify-content:center;

}

.hero-image{

margin-top:50px;

}

.brand-container{

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

}

.car-grid{

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

}

.feature-grid{

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

}

.about-container{

grid-template-columns:1fr;

}

.contact-container{

grid-template-columns:1fr;

}

.footer-container{

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

}

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

@media(max-width:768px){

.nav-links{

display:none;

}

.btn-nav{

display:none;

}

.menu-btn{

display:block;

}

.hero{

padding:120px 0 80px;

}

.hero-text h1{

font-size:58px;

}

.section-title h2{

font-size:46px;

}

.about-content h2{

font-size:48px;

}

.contact-info h2{

font-size:46px;

}

.car-grid{

grid-template-columns:1fr;

}

.feature-grid{

grid-template-columns:1fr;

}

.testimonial-grid{

grid-template-columns:1fr;

}

.brand-container{

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

}

.footer-container{

grid-template-columns:1fr;

}

.contact-form{

padding:35px;

}

.about-image img{

height:420px;

}

}

@media(max-width:480px){

.hero-text h1{

font-size:44px;

}

.hero-buttons{

flex-direction:column;

}

.btn-primary,
.btn-secondary{

width:100%;

justify-content:center;

}

.navbar{

height:75px;

}

.logo-text h2{

font-size:24px;

}

.section-title h2{

font-size:38px;

}

.about-content h2{

font-size:38px;

}

.contact-info h2{

font-size:38px;

}

}
@media(max-width:768px){

.nav-links{

position:absolute;

top:85px;

left:0;

width:100%;

background:#111;

flex-direction:column;

padding:35px;

display:none;

gap:25px;

}

.nav-links.active{

display:flex;

}

}


.header.sticky{

background:#080808;

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

}

.hero-text,
.hero-image,
.brands,
.section-title,
.car-card,
.feature-card,
.about-image,
.about-content,
.testimonial-card,
.contact-info,
.contact-form{

opacity:0;

transform:none;

transition:1s ease;

}

.show{

opacity:1;

transform:translateY(0);

}

.hero-image img{

animation:floatCar 5s ease-in-out infinite;

}

@keyframes floatCar{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0);

}

}
.btn-primary{

box-shadow:

0 10px 35px rgba(201,161,74,.25);

}

.logo-icon{

box-shadow:

0 0 30px rgba(201,161,74,.15);

}

::selection{

background:var(--gold);

color:#111;

}

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#111;

}

::-webkit-scrollbar-thumb{

background:var(--gold);

border-radius:20px;

}

.car-image{

background:#0b0b0b;

}

.car-card:hover .car-image img{

transform:scale(1.12);

filter:brightness(1.05);

}

.inventory,
.features,
.about,
.testimonials,
.contact{

position:relative;

}

.inventory::before,
.features::before,
.about::before,
.testimonials::before,
.contact::before{

content:"";

position:absolute;

top:0;

left:50%;

transform:translateX(-50%);

width:120px;

height:1px;

background:rgba(201,161,74,.35);

}

.hero-image{

    position:relative;

}

.hero-card{

    position:absolute;

    bottom:30px;

    left:-40px;

    width:240px;

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

    backdrop-filter:blur(20px);

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

    border-radius:20px;

    padding:25px;

    box-shadow:0 25px 50px rgba(0,0,0,.35);

}

.hero-card .rating{

    color:var(--gold);

    letter-spacing:3px;

    margin-bottom:15px;

}

.hero-card h3{

    font-size:42px;

    font-family:'Cormorant Garamond', serif;

}

.hero-card span{

    color:#d8d8d8;

}

.hero-card hr{

    border:none;

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

    margin:20px 0;

}

.hero-card h4{

    color:var(--gold);

    font-size:28px;

}

.hero-card p{

    color:#cfcfcf;

    margin-top:8px;

}

#scrollTop{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:var(--gold);

    color:#111;

    font-size:18px;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

#scrollTop.show{

    opacity:1;

    visibility:visible;

}

#scrollTop:hover{

    transform:translateY(-5px);

}

.car-card{

    cursor:pointer;

}

.car-card:hover h3{

    color:var(--gold);

}

.feature-card:hover span{

    transform:translateX(8px);

    display:inline-block;

}

.footer-links a:hover{

    letter-spacing:1px;

}
.btn-primary{

    overflow:hidden;

    position:relative;

}

.btn-primary::before{

    content:"";

    position:absolute;

    width:0;

    height:100%;

    left:0;

    top:0;

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

    transition:.45s;

}

.btn-primary:hover::before{

    width:100%;

}

.stats{

display:flex;

justify-content:space-between;

margin:50px 0;

gap:25px;

}

.stat{

text-align:center;

flex:1;

padding:25px;

border-radius:18px;

background:#f7f7f7;

transition:.35s;

}

.stat:hover{

transform:translateY(-8px);

box-shadow:0 18px 40px rgba(0,0,0,.08);

}

.stat h3{

font-family:'Cormorant Garamond',serif;

font-size:46px;

color:var(--gold);

}

.stat span{

font-size:14px;

color:#666;

letter-spacing:1px;

}

.section-title{

margin-bottom:90px;

}

.section-title span{

display:inline-block;

margin-bottom:18px;

font-weight:600;

}

.section-title h2{

letter-spacing:1px;

}

.section-title h2::after{

content:"";

display:block;

width:90px;

height:3px;

background:var(--gold);

margin:25px auto 0;

border-radius:10px;

}

.car-card,
.feature-card,
.testimonial-card,
.contact-form{

position:relative;

overflow:hidden;

}

.car-card::before,
.feature-card::before,
.testimonial-card::before,
.contact-form::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:2px;

background:linear-gradient(

90deg,

transparent,

var(--gold),

transparent

);

opacity:0;

transition:.4s;

}

.car-card:hover::before,
.feature-card:hover::before,
.testimonial-card:hover::before,
.contact-form:hover::before{

opacity:1;

}

.about-image{

box-shadow:

0 35px 70px rgba(0,0,0,.12);

}

.btn-primary i{

transition:.35s;

}

.btn-primary:hover i{

transform:translateX(8px);

}

.card-btn i{

transition:.35s;

}

.card-btn:hover i{

transform:translateX(6px);

}

.nav-links a.active{

color:var(--gold);

}

.nav-links a{

position:relative;

}

.nav-links a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--gold);

transition:.35s;

}

.nav-links a:hover::after{

width:100%;

}

.nav-links a.active::after{

width:100%;

}

.badge{

position:absolute;

top:20px;

left:20px;

background:var(--gold);

color:#111;

padding:8px 16px;

font-size:12px;

font-weight:700;

border-radius:50px;

z-index:10;

}

.availability{

display:flex;

align-items:center;

gap:8px;

margin-bottom:25px;

color:#7fd68d;

font-size:14px;

}

.availability i{

font-size:10px;

}

.car-image{

position:relative;

}

.car-image::after{

content:"";

position:absolute;

left:0;

right:0;

bottom:0;

height:120px;

background:linear-gradient(

transparent,

rgba(11,11,11,.8)

);

}

body::before{

content:"";

position:fixed;

inset:0;

pointer-events:none;

opacity:.03;

background-image:

radial-gradient(circle,#fff 1px,transparent 1px);

background-size:28px 28px;

z-index:-1;

}

.car-card{

position:relative;

overflow:hidden;

}

.car-card::after{

content:"";

position:absolute;

top:-120%;

left:-50%;

width:60%;

height:250%;

background:

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

transform:rotate(25deg);

transition:.8s;

}

.car-card:hover::after{

left:150%;

}

.socials a:hover{

transform:

translateY(-6px)

rotate(360deg);

}

.hero-text h1{

animation:

slideUp 1s ease;

}

@keyframes slideUp{

from{

opacity:1;

transform:

translateY(60px);

}

to{

opacity:1;

transform:

translateY(0);

}

}

a,
button{

cursor:pointer;

}
