/*=========================================================
                REVLO DRIVE™ — PUBLIC PRODUCT PAGE
                PRODUCTION COLOR SYSTEM

    Drive brand identity:
    Primary cobalt : #2F5EFF
    Dark cobalt    : #1D3FD1
    Cyan accent    : #00D4FF

    Existing public Drive selectors and responsive structure
    are preserved. Green/red remain semantic state colors.
=========================================================*/

/*==========================================================
    REVLO DRIVE
    HERO SECTION
==========================================================*/




.drive-hero{
    position:relative;
    padding:120px 0 90px;
    overflow:hidden;
    background:
    radial-gradient(circle at top right, rgba(47,94,255,.08), transparent 35%),
    linear-gradient(to bottom,#fff,#faf9f7);
}

.drive-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
    linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);
    background-size:70px 70px;
    opacity:.5;
    pointer-events:none;
}

.drive-hero .container{
    position:relative;
    z-index:2;
}

.drive-hero-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:70px;
    align-items:center;
}

/*==================================
LEFT
==================================*/

.drive-badge{

    display:inline-flex;
    align-items:center;
    padding:10px 18px;
    border-radius:999px;

    background:#EEF3FF;
    color:#1D3FD1;

    font-size:.82rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    margin-bottom:24px;
}

.drive-content h1{

    font-size:4rem;
    line-height:1.08;
    font-weight:800;

    color:#1A1815;

    margin-bottom:28px;

    max-width:650px;
}

.drive-content h1 span{

    color:#2F5EFF;

}

.drive-content p{

    font-size:1.15rem;
    line-height:1.8;
    color:#666;

    max-width:620px;

    margin-bottom:40px;

}

.drive-buttons{

    display:flex;
    gap:18px;
    flex-wrap:wrap;

}

/*==================================
RIGHT CARD
==================================*/

.drive-card{

    background:#fff;

    border-radius:28px;

    padding:34px;

    border:1px solid rgba(0,0,0,.06);

    box-shadow:

    0 40px 70px rgba(0,0,0,.08);

    position:relative;

    overflow:hidden;

}

.drive-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    radial-gradient(circle at top right,

    rgba(47,94,255,.08),

    transparent 55%);

    pointer-events:none;

}

.drive-card-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}

.drive-card-header h3{

    margin:0;

    font-size:1.4rem;

    color:#1A1815;

}

.drive-card-header span{

    background:#EAF8EE;

    color:#1A8F4B;

    padding:7px 16px;

    border-radius:999px;

    font-size:.78rem;

    font-weight:700;

}

.drive-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.drive-grid div{

    background:#fafafa;

    border-radius:18px;

    padding:22px;

    border:1px solid #ECECEC;

    transition:.3s;

}

.drive-grid div:hover{

    transform:translateY(-4px);

    border-color:#2F5EFF;

}

.drive-grid small{

    display:block;

    color:#888;

    font-size:.82rem;

    margin-bottom:10px;

}

.drive-grid h2{

    margin:0;

    font-size:1.8rem;

    color:#1A1815;

}

.drive-score{

    margin-top:30px;

    padding:18px 22px;

    background:linear-gradient(135deg,#F0F4FF,#FBFCFF);

    border-radius:16px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    border:1px solid #CDD8FF;

}

.drive-score strong{

    color:#2F5EFF;

    font-size:1.25rem;

}

/*==================================
RESPONSIVE
==================================*/

@media(max-width:1024px){

.drive-hero-grid{

grid-template-columns:1fr;

gap:50px;

}

.drive-content{

text-align:center;

}

.drive-content h1{

font-size:3.2rem;

margin-inline:auto;

}

.drive-content p{

margin-inline:auto;

}

.drive-buttons{

justify-content:center;

}

}

@media(max-width:768px){

.drive-hero{

padding:90px 0 70px;

}

.drive-content h1{

font-size:2.5rem;

}

.drive-grid{

grid-template-columns:1fr;

}

.drive-card{

padding:24px;

}

}

@media(max-width:480px){

.drive-content h1{

font-size:2rem;

}

.drive-content p{

font-size:1rem;

}

.drive-buttons{

flex-direction:column;

}

.drive-buttons .btn{

width:100%;

text-align:center;

}

}

/*==========================================================
                DRIVE MISSION
==========================================================*/

.drive-mission{

padding:110px 0;

background:#fff;

}

.drive-section-header{

max-width:820px;

margin:auto;

text-align:center;

margin-bottom:70px;

}

.drive-section-tag{

display:inline-block;

padding:8px 18px;

background:#ECF1FF;

color:#1D3FD1;

border-radius:999px;

font-size:.8rem;

font-weight:700;

letter-spacing:.08em;

text-transform:uppercase;

margin-bottom:22px;

}

.drive-section-header h2{

font-size:3rem;

margin-bottom:24px;

color:#1A1815;

}

.drive-section-header h2 span{

color:#2F5EFF;

}

.drive-section-header p{

font-size:1.08rem;

line-height:1.9;

color:#666;

}

.drive-mission-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:28px;

}

.mission-card{

background:#fff;

padding:36px;

border-radius:22px;

border:1px solid #ECECEC;

transition:.35s;

}

.mission-card:hover{

transform:translateY(-8px);

border-color:#2F5EFF;

box-shadow:0 25px 50px rgba(0,0,0,.08);

}

.mission-icon{

width:70px;

height:70px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

background:#F3F6FF;

font-size:2rem;

margin-bottom:24px;

}

.mission-card h3{

font-size:1.45rem;

margin-bottom:18px;

color:#1A1815;

}

.mission-card p{

color:#666;

line-height:1.8;

}

@media(max-width:900px){

.drive-mission-grid{

grid-template-columns:1fr;

}

.drive-section-header h2{

font-size:2.4rem;

}

}

/*==========================================================
            DRIVE CAPABILITIES
==========================================================*/

.drive-capabilities{

padding:110px 0;

background:#faf9f7;

}

.capability-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:30px;

}

.capability-card{

background:#fff;

padding:34px;

border-radius:24px;

border:1px solid #ececec;

transition:.35s;

}

.capability-card:hover{

transform:translateY(-8px);

box-shadow:0 30px 60px rgba(0,0,0,.08);

border-color:#2F5EFF;

}

.capability-top{

display:flex;

align-items:center;

gap:14px;

margin-bottom:22px;

}

.capability-top i{

width:60px;

height:60px;

display:flex;

align-items:center;

justify-content:center;

border-radius:16px;

background:#EEF3FF;

color:#2F5EFF;

font-size:1.4rem;

}

.capability-top span{

font-size:.85rem;

font-weight:700;

letter-spacing:.08em;

text-transform:uppercase;

color:#999;

}

.capability-card h3{

font-size:1.6rem;

margin-bottom:22px;

color:#1A1815;

}

.capability-card ul{

list-style:none;

padding:0;

margin:0;

}

.capability-card li{

padding:12px 0;

border-bottom:1px solid #F1F1F1;

position:relative;

padding-left:28px;

}

.capability-card li:last-child{

border-bottom:none;

}

.capability-card li::before{

content:"✓";

position:absolute;

left:0;

color:#22C55E;

font-weight:700;

}

@media(max-width:900px){

.capability-grid{

grid-template-columns:1fr;

}

}

/*==========================================================
        DRIVE SHOWCASE
==========================================================*/

.drive-showcase{

padding:120px 0;

background:#fff;

}

.showcase-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

.showcase-content h2{

font-size:3rem;

margin:25px 0;

}

.showcase-content h2 span{

color:#2F5EFF;

}

.showcase-content p{

color:#666;

line-height:1.9;

margin-bottom:35px;

}

.showcase-list{

display:flex;

flex-direction:column;

gap:18px;

}

.show-item{

display:flex;

align-items:center;

gap:14px;

font-weight:600;

}

.show-item i{

color:#22C55E;

}

.drive-dashboard{

background:#fff;

border-radius:28px;

padding:35px;

border:1px solid #ECECEC;

box-shadow:0 40px 70px rgba(0,0,0,.08);

}

.dashboard-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}

.live-dot{

color:#22C55E;

font-weight:700;

}

.dashboard-stats{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

margin-bottom:28px;

}

.dashboard-stats div{

background:#fafafa;

padding:20px;

border-radius:16px;

}

.dashboard-stats small{

display:block;

color:#888;

margin-bottom:8px;

}

.dashboard-stats h2{

margin:0;

font-size:1.4rem;

}

.graph-placeholder{

height:220px;

border-radius:20px;

background:linear-gradient(135deg,#F4F7FF,#FFF);

display:flex;

align-items:center;

justify-content:center;

color:#999;

font-weight:600;

margin-bottom:25px;

border:1px dashed #2F5EFF;

}

.dashboard-bottom{

display:flex;

justify-content:space-between;

padding-top:20px;

border-top:1px solid #ECECEC;

}

@media(max-width:900px){

.showcase-grid{

grid-template-columns:1fr;

}

}

/*==========================================================
                SMART FUEL INTELLIGENCE
==========================================================*/

.fuel-intelligence{

padding:120px 0;

background:#ffffff;

}

.fuel-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

gap:60px;

margin-top:70px;

align-items:center;

}

.fuel-dashboard{

background:#fff;

border-radius:28px;

padding:35px;

border:1px solid #ececec;

box-shadow:0 25px 50px rgba(0,0,0,.05);

}

.fuel-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:35px;

}

.fuel-header h3{

font-size:1.5rem;

margin:0;

}

.fuel-header span{

padding:8px 18px;

background:#ECF1FF;

color:#2F5EFF;

font-weight:600;

border-radius:30px;

}

.fuel-stats{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-bottom:30px;

}

.fuel-stat{

padding:20px;

background:#fafafa;

border-radius:18px;

}

.fuel-stat small{

display:block;

color:#777;

margin-bottom:8px;

}

.fuel-stat h2{

margin:0;

font-size:1.45rem;

}

.fuel-chart{

height:220px;

border-radius:20px;

background:linear-gradient(135deg,#F5F8FF,#ffffff);

display:flex;

align-items:center;

justify-content:center;

font-size:1rem;

font-weight:600;

color:#888;

border:2px dashed #2F5EFF;

}

.fuel-features{

display:flex;

flex-direction:column;

gap:25px;

}

.fuel-feature{

display:flex;

gap:22px;

align-items:flex-start;

padding:22px;

background:#fff;

border-radius:18px;

border:1px solid #ededed;

transition:.35s;

}

.fuel-feature:hover{

transform:translateY(-6px);

box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.fuel-feature i{

width:60px;

height:60px;

display:flex;

align-items:center;

justify-content:center;

border-radius:18px;

background:#ECF1FF;

color:#2F5EFF;

font-size:1.4rem;

flex-shrink:0;

}

.fuel-feature h3{

margin:0 0 10px;

font-size:1.2rem;

}

.fuel-feature p{

margin:0;

color:#666;

line-height:1.7;

}

/*==========================================================
            SMART FUEL STATIONS
==========================================================*/

.smart-fuel{

padding:120px 0;

background:#faf9f7;

}

.smart-fuel-grid{

display:grid;

grid-template-columns:1fr 420px;

gap:60px;

margin-top:70px;

align-items:start;

}

.station-list{

display:flex;

flex-direction:column;

gap:25px;

}

.station-card{

background:#fff;

border-radius:22px;

padding:30px;

border:1px solid #ececec;

transition:.35s;

}

.station-card:hover{

transform:translateY(-6px);

box-shadow:0 25px 45px rgba(0,0,0,.08);

}

.station-card.recommended{

border:2px solid #2F5EFF;

}

.station-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}

.station-top h3{

margin:0;

font-size:1.3rem;

}

.station-top span{

padding:8px 16px;

border-radius:30px;

background:#2F5EFF;

color:#fff;

font-size:.85rem;

font-weight:600;

}

.station-details{

display:flex;

flex-direction:column;

gap:10px;

margin-bottom:25px;

}

.station-details p{

margin:0;

color:#666;

}

.station-card button{

padding:14px 28px;

border:none;

background:#2F5EFF;

color:#fff;

font-size:.95rem;

font-weight:600;

border-radius:10px;

cursor:pointer;

transition:.3s;

}

.station-card button:hover{

background:#1D3FD1;

}

.fuel-ai{

background:#fff;

padding:35px;

border-radius:25px;

border:1px solid #ececec;

box-shadow:0 20px 45px rgba(0,0,0,.05);

position:sticky;

top:120px;

}

.fuel-ai h3{

margin-bottom:18px;

font-size:1.5rem;

}

.fuel-ai p{

color:#666;

line-height:1.8;

margin-bottom:25px;

}

.saving-box{

background:linear-gradient(135deg,#2F5EFF,#00D4FF);

color:#fff;

padding:35px;

border-radius:22px;

text-align:center;

font-size:2.3rem;

font-weight:700;

margin-bottom:30px;

}

.saving-box small{

display:block;

margin-top:10px;

font-size:.95rem;

font-weight:500;

opacity:.9;

}

.fuel-ai ul{

list-style:none;

padding:0;

margin:0;

display:flex;

flex-direction:column;

gap:18px;

}

.fuel-ai li{

display:flex;

align-items:center;

gap:12px;

font-weight:500;

color:#444;

}

.fuel-ai li i{

color:#2ecc71;

font-size:1rem;

}

/*==========================================================
                RESPONSIVE
==========================================================*/

@media(max-width:991px){

.fuel-grid,
.smart-fuel-grid{

grid-template-columns:1fr;

}

.fuel-stats{

grid-template-columns:1fr;

}

.fuel-ai{

position:relative;

top:0;

}

}

@media(max-width:768px){

.fuel-intelligence,
.smart-fuel{

padding:80px 0;

}

.fuel-dashboard,
.fuel-ai{

padding:25px;

}

.station-card{

padding:25px;

}

.fuel-chart{

height:170px;

}

}

/*==========================================================
        SMART TRAVEL
==========================================================*/

.travel-intelligence{

padding:120px 0;

background:#ffffff;

}

.travel-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

gap:60px;

margin-top:70px;

align-items:center;

}

.travel-card{

background:#fff;

border:1px solid #ececec;

border-radius:28px;

padding:35px;

box-shadow:0 20px 45px rgba(0,0,0,.05);

}

.trip-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:35px;

}

.trip-header span{

padding:8px 18px;

background:#EEF3FF;

color:#2F5EFF;

border-radius:30px;

font-weight:600;

}

.trip-route{

display:flex;

align-items:center;

justify-content:space-between;

margin-bottom:40px;

}

.route-item{

padding:18px 25px;

background:#fafafa;

border-radius:14px;

font-weight:600;

}

.route-line{

flex:1;

height:2px;

background:#2F5EFF;

margin:0 20px;

}

.trip-stats{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.trip-stats div{

padding:20px;

background:#fafafa;

border-radius:16px;

}

.trip-stats small{

display:block;

color:#888;

margin-bottom:8px;

}

.trip-stats h2{

margin:0;

font-size:1.4rem;

}

.travel-features{

display:flex;

flex-direction:column;

gap:25px;

}

.travel-feature{

display:flex;

gap:20px;

padding:24px;

border:1px solid #ececec;

border-radius:20px;

transition:.35s;

}

.travel-feature:hover{

transform:translateY(-5px);

box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.travel-feature i{

width:60px;

height:60px;

background:#EEF3FF;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

color:#2F5EFF;

font-size:1.4rem;

flex-shrink:0;

}

.travel-feature h3{

margin:0 0 10px;

}

.travel-feature p{

margin:0;

color:#666;

line-height:1.7;

}

@media(max-width:991px){

.travel-grid{

grid-template-columns:1fr;

}

.trip-stats{

grid-template-columns:1fr;

}

}
/*==========================================================
            DRIVING INTELLIGENCE
==========================================================*/

.driving-intelligence{

padding:120px 0;

background:#faf9f7;

}

.intelligence-grid{

display:grid;

grid-template-columns:420px 1fr;

gap:60px;

align-items:center;

margin-top:70px;

}

.score-card{

background:#fff;

padding:45px;

border-radius:30px;

text-align:center;

border:1px solid #ececec;

box-shadow:0 20px 45px rgba(0,0,0,.05);

}

.score-circle{

width:260px;

height:260px;

margin:auto;

border-radius:50%;

background:conic-gradient(#2F5EFF 0% 92%, #ededed 92% 100%);

display:flex;

align-items:center;

justify-content:center;

}

.score-inner{

width:205px;

height:205px;

border-radius:50%;

background:#fff;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

}

.score-inner h1{

font-size:4rem;

margin:0;

color:#2F5EFF;

}

.score-inner span{

color:#666;

font-weight:600;

}

.score-footer{

margin-top:30px;

font-size:1.2rem;

font-weight:700;

}

.insight-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

}

.insight-card{

background:#fff;

padding:30px;

border-radius:22px;

border:1px solid #ececec;

transition:.35s;

}

.insight-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 45px rgba(0,0,0,.08);

}

.insight-card i{

width:65px;

height:65px;

display:flex;

align-items:center;

justify-content:center;

border-radius:18px;

background:#ECF1FF;

color:#2F5EFF;

font-size:1.5rem;

margin-bottom:20px;

}

.insight-card h3{

margin-bottom:15px;

}

.insight-card p{

color:#666;

line-height:1.8;

margin:0;

}

@media(max-width:991px){

.intelligence-grid{

grid-template-columns:1fr;

}

.insight-grid{

grid-template-columns:1fr;

}

.score-circle{

width:220px;

height:220px;

}

.score-inner{

width:175px;

height:175px;

}

}

/* for the ecosystem */

/*==========================================================
                DRIVE USERS
==========================================================*/

.drive-users{

padding:120px 0;

background:#ffffff;

}

.users-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:70px;

}

.user-card{

background:#fff;

padding:35px;

border-radius:25px;

border:1px solid #ececec;

text-align:center;

transition:.35s;

position:relative;

}

.user-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 45px rgba(0,0,0,.08);

}

.user-card i{

width:75px;

height:75px;

margin:auto;

display:flex;

align-items:center;

justify-content:center;

border-radius:20px;

background:#ECF1FF;

color:#2F5EFF;

font-size:1.8rem;

margin-bottom:25px;

}

.user-card h3{

margin-bottom:15px;

}

.user-card p{

color:#666;

line-height:1.8;

margin:0;

}

.coming-soon{

border:2px dashed #2F5EFF;

}

.coming-tag{

position:absolute;

top:18px;

right:18px;

background:#2F5EFF;

color:#fff;

padding:6px 14px;

border-radius:30px;

font-size:.75rem;

font-weight:600;

}

@media(max-width:991px){

.users-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.users-grid{

grid-template-columns:1fr;

}

}


/*==========================================================
                    DRIVE FAQ
==========================================================*/

.drive-faq{
    padding:120px 0;
    background:#fff;
}

.drive-faq-wrapper{
    max-width:900px;
    margin:70px auto 0;
}

.drive-faq-item{
    background:#fff;
    border:1px solid #ececec;
    border-radius:18px;
    margin-bottom:20px;
    overflow:hidden;
    transition:all .35s ease;
}

.drive-faq-item:hover{
    border-color:#2F5EFF;
    box-shadow:0 15px 35px rgba(0,0,0,.06);
}

.drive-faq-question{
    width:100%;
    background:none;
    border:none;
    padding:28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    text-align:left;

    font-size:1.08rem;
    font-weight:600;
    color:#1A1815;

    transition:.3s;
}

.drive-faq-question:hover{
    color:#2F5EFF;
}

.drive-faq-question i{
    font-size:1rem;
    color:#2F5EFF;
    transition:transform .3s ease;
}

.drive-faq-question i{

    transition:.35s;

}

.drive-faq-item.active .drive-faq-question i{

    transform:rotate(45deg);

}
.drive-faq-item.active .drive-faq-question{

    color:#2F5EFF;

}

 .drive-faq-answer{

    max-height:0;
    overflow:hidden;

    padding:0 28px;

    color:#666;

    line-height:1.8;

    font-size:.98rem;

    transition:

    max-height .45s ease,

    padding .35s ease;

}

.drive-faq-item.active .drive-faq-answer{

    max-height:300px;

    padding:0 28px 28px;

}

@media(max-width:768px){

    .drive-faq{
        padding:80px 0;
    }

    .drive-faq-question{
        padding:22px;
        font-size:1rem;
    }

    .drive-faq-answer{
        padding:0 22px 22px;
    }

}
/*==========================================================
                FINAL CTA
==========================================================*/

.drive-final-cta{

padding:120px 0;

/* background:linear-gradient(135deg,#12c8e8,#08d9d9); */
/* background:linear-gradient(135deg,#005A61,#005A61); */

background:linear-gradient(135deg,#2F5EFF,#00D4FF);

/* background:linear-gradient(135deg,#2F5EFF,#0dfae2); */





}

.drive-final-cta .cta-box{

max-width:900px;

margin:auto;

text-align:center;

color:#fff;

}

.drive-final-cta h2{

font-size:3.2rem;

margin:25px 0;

line-height:1.2;

}

.drive-final-cta p{

max-width:720px;

margin:auto;

font-size:1.15rem;

line-height:1.9;

opacity:.95;

}

.cta-buttons{

display:flex;

justify-content:center;

gap:25px;

margin-top:45px;

flex-wrap:wrap;

}

.drive-final-cta .btn-outline{

background:#fff;

color:#2F5EFF;

}

.drive-final-cta .btn-outline:hover{

background:#f5f5f5;

}

@media(max-width:768px){

.drive-final-cta h2{

font-size:2.3rem;

}

}

/* ==========================================================
   REVLO DRIVE™ — PRODUCTION INTERACTION / VISUAL LAYER
   Existing HTML, JS, selectors and application logic preserved.
========================================================== */

:root{
    --drive-blue:#2F5EFF;
    --drive-blue-dark:#1D3FD1;
    --drive-blue-deep:#102A8A;
    --drive-cyan:#00D4FF;
    --drive-ink:#0B1220;
    --drive-ink-soft:#24324A;
    --drive-muted:#667085;
    --drive-bg:#F5F8FF;
    --drive-line:rgba(20,45,95,.10);
    --drive-line-strong:rgba(47,94,255,.22);
    --drive-shadow-sm:0 8px 24px rgba(17,35,72,.06);
    --drive-shadow-md:0 18px 45px rgba(17,35,72,.09);
    --drive-shadow-lg:0 32px 80px rgba(17,35,72,.13);
    --drive-display:"Space Grotesk","Inter","DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --drive-body:"Inter","DM Sans","Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --drive-mono:"JetBrains Mono","IBM Plex Mono","SFMono-Regular",Consolas,monospace;
    --drive-ease:cubic-bezier(.22,1,.36,1);
}

.drive-hero,.drive-mission,.drive-capabilities,.drive-showcase,
.fuel-intelligence,.smart-fuel,.travel-intelligence,.driving-intelligence,
.drive-users,.drive-faq,.drive-final-cta{
    font-family:var(--drive-body);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

.drive-hero h1,.drive-hero h2,.drive-hero h3,
.drive-mission h2,.drive-mission h3,.drive-capabilities h2,.drive-capabilities h3,
.drive-showcase h2,.drive-showcase h3,.fuel-intelligence h2,.fuel-intelligence h3,
.smart-fuel h2,.smart-fuel h3,.travel-intelligence h2,.travel-intelligence h3,
.driving-intelligence h2,.driving-intelligence h3,.drive-users h2,.drive-users h3,
.drive-faq h2,.drive-final-cta h2{
    font-family:var(--drive-display);
    letter-spacing:-.035em;
}

/* ---------- HERO ---------- */

.drive-hero{
    position:relative;
    isolation:isolate;
    padding:clamp(105px,10vw,150px) 0 clamp(75px,8vw,115px);
    overflow:hidden;
    background:
        radial-gradient(720px 520px at 92% 5%,rgba(47,94,255,.15),transparent 68%),
        radial-gradient(620px 480px at 3% 75%,rgba(0,212,255,.07),transparent 70%),
        linear-gradient(180deg,#F9FBFF 0%,#F4F8FF 55%,#EEF4FF 100%);
}

.drive-hero::before{
    background-image:
        linear-gradient(rgba(47,94,255,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(47,94,255,.045) 1px,transparent 1px);
    background-size:72px 72px;
    opacity:.55;
}

.drive-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:180px;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(to bottom,transparent,rgba(47,94,255,.035));
}

.drive-hero .container,.drive-mission .container,.drive-capabilities .container,
.drive-showcase .container,.fuel-intelligence .container,.smart-fuel .container,
.travel-intelligence .container,.driving-intelligence .container,
.drive-users .container,.drive-faq .container,.drive-final-cta .container{
    position:relative;
    z-index:2;
}

.drive-hero-grid{
    grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);
    gap:clamp(45px,6vw,88px);
}

.drive-content{position:relative;z-index:3}

.drive-badge{
    min-height:36px;
    padding:9px 15px;
    border:1px solid rgba(47,94,255,.13);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,242,255,.90));
    color:var(--drive-blue-dark);
    box-shadow:0 8px 22px rgba(47,94,255,.08),inset 0 1px 0 rgba(255,255,255,.95);
    font-family:var(--drive-display);
    font-size:.68rem;
    letter-spacing:.13em;
}

.drive-content h1{
    max-width:700px;
    margin-bottom:25px;
    color:var(--drive-ink);
    font-family:var(--drive-display);
    font-size:clamp(3.15rem,5.6vw,5.25rem);
    line-height:.99;
    font-weight:800;
    letter-spacing:-.065em;
    text-wrap:balance;
}

.drive-content h1 span{
    background:linear-gradient(105deg,#2F5EFF 0%,#2563EB 48%,#00AEEA 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}

.drive-content p{
    max-width:640px;
    color:var(--drive-ink-soft);
    font-size:clamp(1rem,1.3vw,1.12rem);
    line-height:1.8;
}

.drive-buttons{gap:12px}

.drive-buttons .btn,.drive-final-cta .btn{
    min-height:52px;
    border-radius:12px;
    padding:14px 22px;
    transition:transform .25s var(--drive-ease),box-shadow .25s ease,background .25s ease,border-color .25s ease;
}

.drive-buttons .btn:hover,.drive-final-cta .btn:hover{transform:translateY(-2px)}

.drive-buttons .btn-primary{
    background:linear-gradient(135deg,#3B82F6,#2F5EFF 52%,#1D3FD1);
    box-shadow:0 13px 30px rgba(47,94,255,.24),inset 0 1px 0 rgba(255,255,255,.20);
}

.drive-buttons .btn-primary:hover{
    box-shadow:0 18px 38px rgba(47,94,255,.32),inset 0 1px 0 rgba(255,255,255,.20);
}

.drive-buttons .btn-outline{
    border:1px solid rgba(47,94,255,.20);
    background:rgba(255,255,255,.62);
    color:var(--drive-blue-dark);
}

.drive-buttons .btn-outline:hover{border-color:rgba(47,94,255,.38);background:#fff}

/* ---------- HERO CARD ---------- */

.drive-card{
    border:1px solid rgba(47,94,255,.11);
    border-radius:28px;
    padding:clamp(25px,3vw,34px);
    background:
        radial-gradient(430px 250px at 100% 0%,rgba(47,94,255,.11),transparent 70%),
        linear-gradient(145deg,#fff,#F8FBFF);
    box-shadow:0 35px 80px rgba(18,46,100,.13),0 10px 28px rgba(47,94,255,.055),inset 0 1px 0 #fff;
    transition:transform .45s var(--drive-ease),box-shadow .45s var(--drive-ease);
}

.drive-card:hover{
    transform:translateY(-5px);
    box-shadow:0 45px 95px rgba(18,46,100,.17),0 15px 35px rgba(47,94,255,.08),inset 0 1px 0 #fff;
}

.drive-card-header{margin-bottom:24px}
.drive-card-header h3{font-family:var(--drive-display);font-size:1.15rem;font-weight:750}
.drive-card-header span{
    padding:7px 12px;
    background:#ECFDF3;
    border:1px solid rgba(34,197,94,.14);
    color:#15803D;
    font-size:.68rem;
}

.drive-grid{gap:12px}

.drive-grid div{
    padding:18px;
    border:1px solid rgba(15,35,64,.075);
    border-radius:15px;
    background:rgba(248,250,252,.78);
    transition:transform .28s var(--drive-ease),border-color .28s ease,box-shadow .28s ease,background .28s ease;
}

.drive-grid div:hover{
    transform:translateY(-4px);
    border-color:rgba(47,94,255,.25);
    background:#fff;
    box-shadow:0 12px 25px rgba(47,94,255,.08);
}

.drive-grid small{
    color:#7B879B;
    font-family:var(--drive-mono);
    font-size:.68rem;
}

.drive-grid h2{
    color:var(--drive-ink);
    font-family:var(--drive-display);
    font-size:clamp(1.35rem,2vw,1.75rem);
    font-weight:750;
    letter-spacing:-.045em;
}

.drive-score{
    margin-top:18px;
    padding:15px 18px;
    border:1px solid rgba(47,94,255,.14);
    border-radius:14px;
    background:linear-gradient(135deg,rgba(47,94,255,.065),rgba(0,212,255,.035));
    color:var(--drive-ink-soft);
    font-size:.8rem;
}

.drive-score strong{color:var(--drive-blue);font-size:1rem;font-family:var(--drive-display)}

/* ---------- SHARED SECTIONS ---------- */

.drive-mission,.drive-capabilities,.drive-showcase,.fuel-intelligence,.smart-fuel,
.travel-intelligence,.driving-intelligence,.drive-users,.drive-faq{
    position:relative;
    overflow:hidden;
}

.drive-mission,.drive-showcase,.fuel-intelligence,.travel-intelligence,.drive-users{background:#fff}
.drive-capabilities,.smart-fuel,.drive-faq,.driving-intelligence{
    background:linear-gradient(180deg,#F5F8FF,#EEF4FF);
}

.drive-mission,.drive-capabilities,.drive-showcase,.fuel-intelligence,.smart-fuel,
.travel-intelligence,.driving-intelligence,.drive-users,.drive-faq{
    padding:clamp(80px,9vw,125px) 0;
}

.drive-section-header{
    max-width:820px;
    margin:0 auto clamp(45px,5vw,70px);
}

.drive-section-tag{
    padding:8px 14px;
    border:1px solid rgba(47,94,255,.12);
    border-radius:999px;
    background:rgba(47,94,255,.065);
    color:var(--drive-blue-dark);
    font-family:var(--drive-mono);
    font-size:.65rem;
    font-weight:700;
    letter-spacing:.12em;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.drive-section-header h2{
    margin-bottom:20px;
    color:var(--drive-ink);
    font-family:var(--drive-display);
    font-size:clamp(2.35rem,4.2vw,3.65rem);
    line-height:1.02;
    font-weight:800;
    letter-spacing:-.06em;
    text-wrap:balance;
}

.drive-section-header h2 span{color:var(--drive-blue)}

.drive-section-header p{
    max-width:760px;
    margin-inline:auto;
    color:var(--drive-ink-soft);
    font-size:1rem;
    line-height:1.85;
}

/* ---------- CARDS ---------- */

.mission-card,.capability-card,.user-card,.insight-card{
    border:1px solid var(--drive-line);
    border-radius:21px;
    background:linear-gradient(145deg,#fff,#F9FBFF);
    box-shadow:var(--drive-shadow-sm);
    transition:transform .35s var(--drive-ease),box-shadow .35s ease,border-color .35s ease;
}

.mission-card:hover,.capability-card:hover,.user-card:hover,.insight-card:hover{
    transform:translateY(-7px);
    border-color:rgba(47,94,255,.24);
    box-shadow:var(--drive-shadow-md);
}

.mission-card{padding:30px}
.mission-icon,.capability-top i,.insight-card i,.user-card i{
    border:1px solid rgba(47,94,255,.11);
    background:linear-gradient(145deg,#F1F5FF,#E8F1FF);
    color:var(--drive-blue);
}

.mission-icon{width:56px;height:56px;border-radius:15px;font-size:1.55rem}
.mission-card h3,.capability-card h3,.user-card h3,.insight-card h3{
    color:var(--drive-ink);
    font-family:var(--drive-display);
    font-weight:750;
}
.mission-card p,.capability-card li,.user-card p,.insight-card p{color:var(--drive-muted);line-height:1.75}

.capability-card{padding:30px}
.capability-top i{width:52px;height:52px;border-radius:14px;font-size:1.2rem}
.capability-top span{color:#718096;font-family:var(--drive-mono);font-size:.64rem;letter-spacing:.10em}
.capability-card li{padding:10px 0 10px 25px;border-color:rgba(20,45,95,.075);font-size:.86rem}
.capability-card li::before{color:#16A34A}

.user-card{padding:28px 23px}
.user-card i{width:58px;height:58px;border-radius:15px;font-size:1.35rem}
.user-card p{font-size:.79rem}
.coming-soon{border:1px dashed rgba(47,94,255,.42);background:linear-gradient(145deg,#F9FBFF,#EEF4FF)}
.coming-tag{top:13px;right:13px;padding:5px 9px;background:var(--drive-blue);font-size:.58rem}

/* ---------- SHOWCASE ---------- */

.showcase-content h2{
    margin:20px 0;
    color:var(--drive-ink);
    font-family:var(--drive-display);
    font-size:clamp(2.4rem,4vw,3.55rem);
    line-height:1.03;
    font-weight:800;
    letter-spacing:-.06em;
}
.showcase-content h2 span{color:var(--drive-blue)}
.showcase-content p{max-width:590px;color:var(--drive-muted);font-size:.97rem;line-height:1.82}
.showcase-list{gap:11px}
.show-item{
    min-height:40px;
    padding:8px 11px;
    border-radius:10px;
    color:var(--drive-ink-soft);
    font-size:.84rem;
    transition:background .25s ease,transform .25s var(--drive-ease);
}
.show-item:hover{background:#F4F7FF;transform:translateX(4px)}
.show-item i{
    width:22px;height:22px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#EAF8EE;color:#16A34A;font-size:.62rem;
}

/* ---------- DARK DASHBOARDS ---------- */

.drive-dashboard,.fuel-dashboard,.travel-card,.score-card,.fuel-ai{
    box-shadow:var(--drive-shadow-md);
}

.drive-dashboard{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(47,94,255,.13);
    border-radius:25px;
    padding:clamp(22px,3vw,32px);
    background:
        radial-gradient(500px 250px at 100% 0%,rgba(47,94,255,.17),transparent 70%),
        linear-gradient(145deg,#111A2A,#0A1322);
    color:#fff;
    box-shadow:0 35px 80px rgba(8,25,60,.20),inset 0 1px 0 rgba(255,255,255,.06);
}
.drive-dashboard::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 28%,transparent 72%,rgba(47,94,255,.045));
}
.dashboard-top,.dashboard-stats,.graph-placeholder,.dashboard-bottom{position:relative;z-index:1}
.dashboard-top{margin-bottom:24px}
.dashboard-top small,.dashboard-stats small,.dashboard-bottom small{
    color:rgba(219,231,255,.43);font-family:var(--drive-mono);font-size:.6rem;
}
.dashboard-top h3{margin-top:4px;color:#F8FAFF;font-family:var(--drive-display);font-size:.98rem}
.live-dot{
    padding:6px 9px;border:1px solid rgba(34,197,94,.13);border-radius:999px;
    background:rgba(34,197,94,.07);color:#4ADE80;font-size:.65rem;
}
.dashboard-stats{gap:9px;margin-bottom:14px}
.dashboard-stats div{
    padding:14px;border:1px solid rgba(147,197,253,.075);border-radius:12px;
    background:rgba(255,255,255,.032);
    transition:transform .25s var(--drive-ease),background .25s ease,border-color .25s ease;
}
.dashboard-stats div:hover{transform:translateY(-3px);border-color:rgba(96,165,250,.18);background:rgba(47,94,255,.055)}
.dashboard-stats h2{margin-top:5px;color:#F8FAFF;font-family:var(--drive-display);font-size:1.08rem}
.graph-placeholder{
    height:220px;margin-bottom:18px;overflow:hidden;border:1px solid rgba(147,197,253,.075);
    border-radius:16px;
    background:
        linear-gradient(rgba(147,197,253,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(147,197,253,.045) 1px,transparent 1px),
        rgba(255,255,255,.018);
    background-size:42px 42px;color:rgba(219,231,255,.40);
    font-family:var(--drive-mono);font-size:.62rem;position:relative;
}
.graph-placeholder::after{
    content:"";position:absolute;left:8%;right:8%;top:56%;height:2px;transform:rotate(-4deg);
    background:linear-gradient(90deg,#2563EB,#60A5FA,#00D4FF);
    box-shadow:0 0 12px rgba(47,94,255,.35);
}
.dashboard-bottom{padding-top:15px;border-top:1px solid rgba(147,197,253,.08)}
.dashboard-bottom strong{display:block;margin-top:4px;color:#F8FAFF;font-size:.78rem}

/* ---------- FUEL ---------- */

.fuel-grid,.travel-grid{gap:clamp(35px,5vw,65px)}
.fuel-dashboard,.travel-card,.score-card{
    border:1px solid var(--drive-line);border-radius:24px;padding:30px;background:#fff;
}
.fuel-header,.trip-header{margin-bottom:25px}
.fuel-header h3,.trip-header h3{color:var(--drive-ink);font-family:var(--drive-display);font-size:1.28rem}
.fuel-header span,.trip-header span{
    padding:7px 12px;border:1px solid rgba(47,94,255,.10);border-radius:999px;
    background:#EEF3FF;color:var(--drive-blue-dark);font-size:.7rem;
}
.fuel-stats,.trip-stats{gap:10px}
.fuel-stat,.trip-stats div{
    padding:16px;border:1px solid rgba(20,45,95,.07);border-radius:14px;background:#F8FAFD;
    transition:.25s var(--drive-ease);
}
.fuel-stat:hover,.trip-stats div:hover{transform:translateY(-3px);border-color:rgba(47,94,255,.18);background:#fff}
.fuel-stat small,.trip-stats small{color:#7B879B;font-size:.65rem}
.fuel-stat h2,.trip-stats h2{color:var(--drive-ink);font-family:var(--drive-display);font-size:1.2rem}
.fuel-chart{
    height:220px;border:1px solid rgba(47,94,255,.11);border-radius:17px;
    background:
        linear-gradient(rgba(47,94,255,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(47,94,255,.045) 1px,transparent 1px),#F8FAFF;
    background-size:42px 42px;color:#7B879B;font-family:var(--drive-mono);font-size:.64rem;position:relative;
}
.fuel-chart::after{
    content:"";position:absolute;left:7%;right:7%;bottom:27%;height:3px;transform:skewY(-7deg);
    background:linear-gradient(90deg,#2F5EFF,#00D4FF);box-shadow:0 0 14px rgba(47,94,255,.24);
}
.fuel-features,.travel-features{gap:12px}
.fuel-feature,.travel-feature{
    padding:19px;border:1px solid var(--drive-line);border-radius:17px;background:#fff;
    box-shadow:var(--drive-shadow-sm);
    transition:transform .3s var(--drive-ease),border-color .3s ease,box-shadow .3s ease;
}
.fuel-feature:hover,.travel-feature:hover{transform:translateX(5px);border-color:rgba(47,94,255,.20);box-shadow:var(--drive-shadow-md)}
.fuel-feature i,.travel-feature i{
    width:48px;height:48px;border-radius:13px;background:#EEF3FF;color:var(--drive-blue);font-size:1.1rem;
}
.fuel-feature h3,.travel-feature h3{color:var(--drive-ink);font-family:var(--drive-display);font-size:1rem}
.fuel-feature p,.travel-feature p{color:var(--drive-muted);font-size:.82rem}

/* ---------- STATIONS ---------- */

.smart-fuel-grid{gap:35px}
.station-list{gap:12px}
.station-card{
    padding:22px;border:1px solid var(--drive-line);border-radius:19px;background:#fff;
    box-shadow:var(--drive-shadow-sm);
    transition:transform .3s var(--drive-ease),box-shadow .3s ease,border-color .3s ease;
}
.station-card:hover{transform:translateY(-4px);border-color:rgba(47,94,255,.20);box-shadow:var(--drive-shadow-md)}
.station-card.recommended{border:1.5px solid var(--drive-blue);box-shadow:0 16px 35px rgba(47,94,255,.10)}
.station-top{margin-bottom:13px}
.station-top h3{color:var(--drive-ink);font-family:var(--drive-display);font-size:1.05rem}
.station-top span{padding:6px 10px;background:var(--drive-blue);color:#fff;font-size:.62rem;border-radius:999px}
.station-details{gap:6px;margin-bottom:15px}
.station-details p{color:var(--drive-muted);font-size:.77rem}
.station-card button{
    padding:10px 16px;border-radius:9px;background:var(--drive-blue);font-size:.75rem;
    box-shadow:0 7px 16px rgba(47,94,255,.17);transition:.25s var(--drive-ease);
}
.station-card button:hover{transform:translateY(-2px);background:var(--drive-blue-dark);box-shadow:0 11px 23px rgba(47,94,255,.24)}
.fuel-ai{
    padding:28px;border:1px solid rgba(47,94,255,.13);border-radius:22px;
    background:radial-gradient(350px 220px at 100% 0%,rgba(47,94,255,.10),transparent 70%),#fff;
}
.fuel-ai h3{color:var(--drive-ink);font-family:var(--drive-display);font-size:1.25rem}
.fuel-ai p{color:var(--drive-muted);font-size:.84rem}
.saving-box{
    padding:24px;border-radius:17px;
    background:linear-gradient(135deg,#2F5EFF,#2563EB 50%,#00D4FF);
    box-shadow:0 18px 35px rgba(47,94,255,.20),inset 0 1px 0 rgba(255,255,255,.20);
    font-family:var(--drive-display);font-size:2rem;
}
.saving-box small{font-family:var(--drive-body);font-size:.7rem}
.fuel-ai li{color:var(--drive-ink-soft);font-size:.78rem}
.fuel-ai li i{color:#16A34A}

/* ---------- TRAVEL ---------- */

.trip-header{margin-bottom:25px}
.trip-route{margin-bottom:25px}
.route-item{padding:13px 16px;border:1px solid rgba(20,45,95,.07);background:#F8FAFD;border-radius:12px;color:var(--drive-ink-soft);font-size:.78rem}
.route-line{background:linear-gradient(90deg,#2F5EFF,#00D4FF);opacity:.8}

/* ---------- SCORE ---------- */

.score-card{text-align:center}
.score-circle{box-shadow:0 15px 35px rgba(47,94,255,.12)}
.score-inner{box-shadow:inset 0 0 0 1px rgba(47,94,255,.05)}
.score-inner h1{color:var(--drive-blue);font-family:var(--drive-display);font-weight:800;letter-spacing:-.07em}
.score-inner span{color:var(--drive-muted);font-size:.75rem}
.score-footer{color:var(--drive-ink-soft);font-family:var(--drive-display)}
.insight-grid{gap:12px}

/* ---------- HOW IT WORKS / FLOW ---------- */

.drive-flow{
    position:relative;
    overflow:hidden;
    padding:clamp(85px,10vw,125px) 0;
    background:
        radial-gradient(600px 380px at 50% 0%,rgba(47,94,255,.10),transparent 72%),
        linear-gradient(180deg,#F7FAFF,#EEF4FF);
}

.flow-timeline{
    position:relative;
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:center;
    gap:18px;
    max-width:1100px;
    margin:0 auto;
}

.flow-step{
    position:relative;
    min-height:185px;
    padding:27px;
    border:1px solid rgba(47,94,255,.12);
    border-radius:21px;
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,250,255,.94));
    box-shadow:0 16px 40px rgba(17,35,72,.07),inset 0 1px 0 rgba(255,255,255,.95);
    transition:transform .35s var(--drive-ease),border-color .35s ease,box-shadow .35s ease;
}

.flow-step:hover{
    transform:translateY(-7px);
    border-color:rgba(47,94,255,.28);
    box-shadow:0 25px 55px rgba(17,35,72,.11),0 8px 22px rgba(47,94,255,.06);
}

.flow-number{
    width:45px;height:45px;margin-bottom:22px;
    border:1px solid rgba(47,94,255,.13);border-radius:13px;
    background:linear-gradient(145deg,#2F5EFF,#1D3FD1);
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-family:var(--drive-mono);font-size:.7rem;font-weight:700;
    box-shadow:0 9px 20px rgba(47,94,255,.20),inset 0 1px 0 rgba(255,255,255,.18);
}

.flow-content h3{margin:0 0 9px;color:var(--drive-ink);font-family:var(--drive-display);font-size:1.05rem;font-weight:750}
.flow-content p{margin:0;color:var(--drive-muted);font-size:.78rem;line-height:1.7}

.flow-arrow{
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(47,94,255,.13);border-radius:50%;background:#fff;color:var(--drive-blue);
    box-shadow:0 8px 18px rgba(47,94,255,.08);
    transition:transform .3s var(--drive-ease),background .3s ease,color .3s ease;
}

.flow-step:hover + .flow-arrow{transform:translateX(4px);background:var(--drive-blue);color:#fff}

/* ---------- FAQ ---------- */

.drive-faq-wrapper{max-width:880px;margin:0 auto}
.drive-faq-item{
    margin-bottom:10px;
    border:1px solid rgba(20,45,95,.09);
    border-radius:15px;
    background:rgba(255,255,255,.88);
    box-shadow:0 6px 20px rgba(17,35,72,.035);
    transition:border-color .25s ease,box-shadow .25s ease,transform .25s var(--drive-ease);
}
.drive-faq-item:hover{border-color:rgba(47,94,255,.20);box-shadow:0 12px 28px rgba(17,35,72,.065)}
.drive-faq-item.active{
    border-color:rgba(47,94,255,.25);
    box-shadow:0 16px 35px rgba(47,94,255,.075),inset 3px 0 0 var(--drive-blue);
}
.drive-faq-question{
    min-height:68px;padding:21px 23px;color:var(--drive-ink);
    font-family:var(--drive-display);font-size:.92rem;font-weight:700;
}
.drive-faq-question:hover{color:var(--drive-blue-dark)}
.drive-faq-question i{
    width:29px;height:29px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#EEF3FF;color:var(--drive-blue);font-size:.67rem;
}
.drive-faq-item.active .drive-faq-question{color:var(--drive-blue-dark)}
.drive-faq-item.active .drive-faq-question i{background:var(--drive-blue);color:#fff}

/* ---------- CTA ---------- */

.drive-final-cta{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(90px,10vw,135px) 0;
    background:
        radial-gradient(600px 400px at 50% 0%,rgba(255,255,255,.15),transparent 70%),
        radial-gradient(500px 400px at 0% 100%,rgba(0,20,100,.18),transparent 72%),
        linear-gradient(135deg,#1D3FD1 0%,#2F5EFF 48%,#00BFEF 100%);
}

.drive-final-cta::before{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom,black,transparent);
}

.drive-final-cta .cta-box{max-width:850px}
.drive-final-cta .drive-section-tag{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff}
.drive-final-cta h2{
    margin:22px 0;color:#fff;font-family:var(--drive-display);
    font-size:clamp(2.7rem,5vw,4.7rem);line-height:.99;font-weight:800;letter-spacing:-.065em;
}
.drive-final-cta p{max-width:700px;color:rgba(255,255,255,.84);font-size:.98rem;line-height:1.8}
.cta-buttons{gap:11px;margin-top:32px}
.drive-final-cta .btn-primary{
    background:#0B1220;color:#fff;
    box-shadow:0 14px 30px rgba(4,16,50,.20),inset 0 1px 0 rgba(255,255,255,.10);
}
.drive-final-cta .btn-primary:hover{background:#070D18;box-shadow:0 19px 38px rgba(4,16,50,.28)}
.drive-final-cta .btn-outline{
    border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.96);color:var(--drive-blue-dark);
    box-shadow:0 10px 25px rgba(4,16,50,.10);
}

/* ---------- FOCUS ---------- */

.drive-hero a:focus-visible,.drive-mission a:focus-visible,.drive-capabilities a:focus-visible,
.drive-showcase a:focus-visible,.smart-fuel button:focus-visible,
.drive-faq-question:focus-visible,.drive-final-cta a:focus-visible{
    outline:3px solid rgba(47,94,255,.30);
    outline-offset:3px;
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1100px){
    .drive-hero-grid{grid-template-columns:1fr;max-width:850px;margin-inline:auto;gap:45px}
    .drive-content{text-align:center}
    .drive-content h1,.drive-content p{margin-inline:auto}
    .drive-buttons{justify-content:center}
    .drive-card{max-width:680px;width:100%;margin-inline:auto}
    .smart-fuel-grid{grid-template-columns:1fr}
    .fuel-ai{position:relative;top:auto;max-width:700px}
}

@media(max-width:991px){
    .drive-mission-grid,.capability-grid,.users-grid{grid-template-columns:repeat(2,1fr)}
    .showcase-grid,.fuel-grid,.travel-grid,.intelligence-grid{grid-template-columns:1fr}
    .drive-dashboard,.fuel-dashboard,.travel-card,.score-card{max-width:760px;width:100%;margin-inline:auto}
    .flow-timeline{grid-template-columns:1fr;max-width:650px}
    .flow-arrow{margin:0 auto;transform:rotate(90deg)}
    .flow-step:hover + .flow-arrow{transform:rotate(90deg) translateX(4px)}
    .insight-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
    .drive-hero{padding:90px 0 70px}
    .drive-content h1{font-size:clamp(2.55rem,12vw,4rem)}
    .drive-content p{font-size:.92rem;line-height:1.72}
    .drive-badge{font-size:.61rem;padding:8px 12px}
    .drive-buttons{flex-direction:column;width:100%;max-width:430px;margin-inline:auto}
    .drive-buttons .btn{width:100%;justify-content:center}
    .drive-card{padding:20px;border-radius:21px}
    .drive-grid{grid-template-columns:repeat(2,1fr)}
    .drive-grid div{padding:14px}
    .drive-grid h2{font-size:1.22rem}
    .drive-section-header{margin-bottom:42px}
    .drive-section-header h2{font-size:clamp(2.15rem,9vw,3rem)}
    .drive-section-header p{font-size:.88rem;line-height:1.75}
    .drive-mission-grid,.capability-grid,.users-grid,.insight-grid{grid-template-columns:1fr}
    .mission-card,.capability-card,.user-card{padding:24px}
    .showcase-content h2{font-size:clamp(2.25rem,9vw,3.2rem)}
    .drive-dashboard{padding:18px;border-radius:20px}
    .dashboard-stats{grid-template-columns:repeat(2,1fr)}
    .dashboard-stats div{padding:12px}
    .dashboard-stats h2{font-size:.92rem}
    .graph-placeholder{height:180px}
    .fuel-dashboard,.fuel-ai,.travel-card{padding:22px;border-radius:20px}
    .fuel-stats,.trip-stats{grid-template-columns:repeat(2,1fr)}
    .fuel-chart{height:180px}
    .trip-route{flex-direction:column;align-items:stretch;gap:8px}
    .route-line{width:2px;height:25px;flex:none;margin:0 auto}
    .score-card{padding:27px 20px}
    .score-circle{width:210px;height:210px}
    .score-inner{width:166px;height:166px}
    .score-inner h1{font-size:3.1rem}
    .drive-faq-question{min-height:62px;padding:18px;font-size:.82rem}
    .drive-faq-answer{padding-left:18px;padding-right:18px;font-size:.78rem}
    .drive-faq-item.active .drive-faq-answer{padding-left:18px;padding-right:18px;padding-bottom:20px}
    .drive-final-cta h2{font-size:clamp(2.5rem,12vw,3.7rem)}
    .cta-buttons{flex-direction:column;max-width:430px;margin-inline:auto}
    .drive-final-cta .btn{width:100%;text-align:center}
}

@media(max-width:480px){
    .drive-hero{padding-top:78px}
    .drive-content h1{font-size:2.45rem;letter-spacing:-.058em}
    .drive-content p{font-size:.86rem}
    .drive-card-header h3{font-size:1rem}
    .drive-grid{gap:8px}
    .drive-grid div{padding:12px;border-radius:12px}
    .drive-grid small{font-size:.59rem}
    .drive-grid h2{font-size:1rem}
    .drive-score{padding:13px;font-size:.7rem}
    .drive-score strong{font-size:.85rem}
    .fuel-stats,.trip-stats,.dashboard-stats{grid-template-columns:1fr}
    .station-top{align-items:flex-start;gap:10px}
    .station-top span{white-space:nowrap}
    .flow-step{min-height:auto;padding:22px}
    .flow-number{width:40px;height:40px;margin-bottom:17px}
    .flow-arrow{width:34px;height:34px}
    .drive-final-cta{padding:80px 0}
}

@media(prefers-reduced-motion:reduce){
    .drive-hero *,.drive-mission *,.drive-capabilities *,.drive-showcase *,
    .fuel-intelligence *,.smart-fuel *,.travel-intelligence *,.driving-intelligence *,
    .drive-users *,.drive-faq *,.drive-final-cta *{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}

/* END — REVLO DRIVE™ PRODUCTION CSS */
