:root{
    --color-primary:#0a0e27;
    --color-secondary:#1a1f3a;
    --color-accent:#f59e0b;
    --color-accent-hover:#d97706;
    --color-bg:#f8fafc;
    --color-card:#ffffff;
    --color-text:#1e293b;
    --color-text-muted:#64748b;
    --color-border:#e2e8f0;
    --shadow-sm:0 1px 2px rgba(0,0,0,0.05);
    --shadow-md:0 4px 6px -1px rgba(0,0,0,0.1);
    --shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1);
    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:16px;
    --transition:all 0.2s cubic-bezier(0.4,0,0.2,1);
    --container-max:1200px;
    --spacing-xs:0.5rem;
    --spacing-sm:1rem;
    --spacing-md:1.5rem;
    --spacing-lg:2rem;
    --spacing-xl:3rem;
}

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
    background:var(--color-bg);
    color:var(--color-text);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

img,svg{
    max-width:100%;
    height:auto;
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
}

button{
    font:inherit;
    cursor:pointer;
    border:none;
    background:none;
}

ul{
    list-style:none;
}

.container{
    width:100%;
    max-width:var(--container-max);
    margin:0 auto;
    padding:0 var(--spacing-md);
}

.header{
    position:sticky;
    top:0;
    z-index:100;
    background:var(--color-card);
    border-bottom:1px solid var(--color-border);
    box-shadow:var(--shadow-sm);
}

.nav-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:var(--spacing-sm) var(--spacing-md);
    max-width:var(--container-max);
    margin:0 auto;
}

.nav-logo{
    font-size:1.25rem;
    font-weight:700;
    color:var(--color-primary);
}

.nav-toggle{
    font-size:1.5rem;
    padding:var(--spacing-xs);
    display:flex;
    align-items:center;
    justify-content:center;
}

.nav-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--color-card);
    border-bottom:1px solid var(--color-border);
    flex-direction:column;
    padding:var(--spacing-sm);
    gap:var(--spacing-xs);
}

.nav-menu.active{
    display:flex;
}

.nav-menu li a{
    display:block;
    padding:var(--spacing-xs) var(--spacing-sm);
    font-weight:500;
    color:var(--color-text);
    border-radius:var(--radius-sm);
    transition:var(--transition);
}

.nav-menu li a:hover,
.nav-menu li a:focus{
    background:var(--color-primary);
    color:#fff;
}

.hero{
    background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);
    color:#fff;
    padding:var(--spacing-xl) var(--spacing-md);
    text-align:center;
}

.hero-content{
    max-width:600px;
    margin:0 auto;
}

.hero h1{
    font-size:clamp(1.75rem,5vw,2.5rem);
    font-weight:800;
    margin-bottom:var(--spacing-sm);
    letter-spacing:-0.025em;
}

.hero-subtitle{
    font-size:clamp(1rem,3vw,1.25rem);
    font-weight:400;
    opacity:0.9;
    margin-bottom:var(--spacing-md);
}

.hero-usp{
    font-size:0.95rem;
    opacity:0.85;
    margin-bottom:var(--spacing-lg);
}

.hero-visual{
    font-size:3rem;
    margin-bottom:var(--spacing-lg);
    animation:float 3s ease-in-out infinite;
}

@keyframes float{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-10px);}
}

.hero-cta{
    display:flex;
    flex-direction:column;
    gap:var(--spacing-sm);
    align-items:center;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0.875rem 1.5rem;
    font-weight:600;
    border-radius:var(--radius-md);
    transition:var(--transition);
    min-width:180px;
}

.btn-primary{
    background:var(--color-accent);
    color:var(--color-primary);
}

.btn-primary:hover,
.btn-primary:focus{
    background:var(--color-accent-hover);
    transform:translateY(-2px);
    box-shadow:var(--shadow-md);
}

.btn-secondary{
    background:rgba(255,255,255,0.15);
    color:#fff;
    border:2px solid rgba(255,255,255,0.3);
}

.btn-secondary:hover,
.btn-secondary:focus{
    background:rgba(255,255,255,0.25);
    transform:translateY(-2px);
}

.features{
    padding:var(--spacing-xl) var(--spacing-md);
    background:var(--color-card);
}

.features h2,
.catalog h2,
.contact h2{
    text-align:center;
    font-size:clamp(1.5rem,4vw,2rem);
    font-weight:700;
    margin-bottom:var(--spacing-lg);
    color:var(--color-primary);
}

.features-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    max-width:var(--container-max);
    margin:0 auto;
}

.feature-card{
    background:var(--color-bg);
    padding:var(--spacing-md);
    border-radius:var(--radius-md);
    text-align:center;
    transition:var(--transition);
    border:1px solid var(--color-border);
}

.feature-card:hover,
.feature-card:focus-within{
    transform:translateY(-4px);
    box-shadow:var(--shadow-lg);
    border-color:var(--color-accent);
}

.feature-icon{
    font-size:2.5rem;
    margin-bottom:var(--spacing-sm);
}

.feature-card h3{
    font-size:1.125rem;
    font-weight:600;
    margin-bottom:var(--spacing-xs);
    color:var(--color-primary);
}

.feature-card p{
    font-size:0.95rem;
    color:var(--color-text-muted);
}

.catalog{
    padding:var(--spacing-xl) var(--spacing-md);
    background:var(--color-bg);
}

.catalog-intro{
    text-align:center;
    color:var(--color-text-muted);
    margin-bottom:var(--spacing-lg);
    max-width:600px;
    margin-left:auto;
    margin-right:auto;
}

.catalog-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    max-width:var(--container-max);
    margin:0 auto;
}

.car-card{
    background:var(--color-card);
    border-radius:var(--radius-md);
    padding:var(--spacing-md);
    border:1px solid var(--color-border);
    transition:var(--transition);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}

.car-card:hover,
.car-card:focus-within{
    transform:translateY(-4px);
    box-shadow:var(--shadow-lg);
    border-color:var(--color-accent);
}

.car-visual{
    font-size:2.5rem;
    margin-bottom:var(--spacing-sm);
}

.car-card h3{
    font-size:1.125rem;
    font-weight:600;
    margin-bottom:var(--spacing-xs);
    color:var(--color-primary);
}

.car-class{
    display:inline-block;
    padding:0.25rem 0.75rem;
    background:var(--color-primary);
    color:#fff;
    font-size:0.75rem;
    font-weight:600;
    border-radius:9999px;
    margin-bottom:var(--spacing-sm);
}

.car-specs{
    display:flex;
    justify-content:center;
    gap:var(--spacing-sm);
    margin-bottom:var(--spacing-sm);
    font-size:0.875rem;
    color:var(--color-text-muted);
}

.car-specs li{
    display:flex;
    align-items:center;
    gap:0.25rem;
}

.car-availability{
    font-size:0.875rem;
    font-weight:500;
    margin-bottom:var(--spacing-md);
}

.car-availability:contains("Available"){
    color:#16a34a;
}

.car-availability:contains("Request"){
    color:#f59e0b;
}

.btn-book{
    width:100%;
    padding:0.75rem 1rem;
    background:var(--color-primary);
    color:#fff;
    font-weight:600;
    border-radius:var(--radius-sm);
    transition:var(--transition);
}

.btn-book:hover,
.btn-book:focus{
    background:var(--color-secondary);
    transform:translateY(-2px);
}

.contact{
    padding:var(--spacing-xl) var(--spacing-md);
    background:var(--color-card);
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:var(--spacing-md);
    max-width:var(--container-max);
    margin:0 auto  var(--spacing-lg);
}

.contact-card{
    background:var(--color-bg);
    padding:var(--spacing-md);
    border-radius:var(--radius-md);
    text-align:center;
    border:1px solid var(--color-border);
}

.contact-icon{
    font-size:2rem;
    margin-bottom:var(--spacing-sm);
}

.contact-card h3{
    font-size:1rem;
    font-weight:600;
    margin-bottom:var(--spacing-xs);
    color:var(--color-primary);
}

.contact-card p,
.contact-card a{
    font-size:0.95rem;
    color:var(--color-text-muted);
}

.contact-card a:hover{
    color:var(--color-accent);
}

.contact-payment{
    text-align:center;
    padding:var(--spacing-md);
    background:var(--color-bg);
    border-radius:var(--radius-md);
    max-width:var(--container-max);
    margin:0 auto;
    font-size:0.95rem;
    color:var(--color-text-muted);
}

.footer{
    background:var(--color-primary);
    color:#fff;
    padding:var(--spacing-lg) var(--spacing-md);
    text-align:center;
}

.footer-content{
    max-width:var(--container-max);
    margin:0 auto;
}

.footer p{
    margin-bottom:var(--spacing-sm);
    opacity:0.9;
}

.footer-links{
    display:flex;
    justify-content:center;
    gap:var(--spacing-md);
    margin-bottom:var(--spacing-sm);
    flex-wrap:wrap;
}

.footer-links a{
    font-weight:500;
    transition:var(--transition);
}

.footer-links a:hover,
.footer-links a:focus{
    color:var(--color-accent);
}

.footer-note{
    font-size:0.875rem;
    opacity:0.7;
}

@media(min-width:768px){
    .nav-toggle{
        display:none;
    }
    
    .nav-menu{
        display:flex;
        position:static;
        flex-direction:row;
        background:transparent;
        border:none;
        padding:0;
        gap:var(--spacing-xs);
    }
    
    .nav-menu li a{
        padding:var(--spacing-xs) var(--spacing-sm);
    }
    
    .nav-menu li a:hover,
    .nav-menu li a:focus{
        background:transparent;
        color:var(--color-accent);
    }
    
    .hero-cta{
        flex-direction:row;
        justify-content:center;
    }
    
    .features-grid,
    .contact-grid{
        grid-template-columns:repeat(2,1fr);
    }
    
    .catalog-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(min-width:1024px){
    .features-grid,
    .contact-grid{
        grid-template-columns:repeat(4,1fr);
    }
    
    .catalog-grid{
        grid-template-columns:repeat(3,1fr);
    }
    
    .car-card{
        align-items:flex-start;
        text-align:left;
    }
    
    .car-specs{
        justify-content:flex-start;
    }
    
    .btn-book{
        margin-top:auto;
    }
}

@media(min-width:1440px){
    .catalog-grid{
        grid-template-columns:repeat(4,1fr);
    }
}

@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        animation-duration:0.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.01ms !important;
    }
    
    html{
        scroll-behavior:auto;
    }
}

@media(print){
    .header,
    .hero-cta,
    .btn-book,
    .footer-links{
        display:none;
    }
}