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

:root{
    --zc-primary:#00bf63;
    --zc-dark:#0f172a;
    --zc-bg:#b8e2cd;
    --zc-text:#0b1220;
    --zc-muted:#64748b;
    --zc-line:#e6edf5;
    --zc-card:#ffffff;
    --zc-shadow:0 18px 55px rgba(15,23,42,.08);
}

html{
    scroll-behavior:smooth;
}

body{
    min-height:100vh;
    font-family:Inter, Arial, Helvetica, sans-serif;
    background:#b8e2cd;
    color:var(--zc-text);
    overflow-x:hidden;
}

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

button,
input,
select{
    font:inherit;
}

.market-shell{
    width:100%;
    max-width:none;
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at 74% 8%, rgba(255,255,255,.50), transparent 30%),
        radial-gradient(circle at 12% 58%, rgba(0,191,99,.14), transparent 28%),
        linear-gradient(180deg,#b8e2cd 0%,#c9ecd9 48%,#b8e2cd 100%);
    border:0;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
}

.market-header{
    min-height:84px;
    padding:0 72px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:22px;
    position:relative;
    z-index:20;
}

.brand-logo{
    justify-self:start;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:1000;
    font-size:21px;
    letter-spacing:-.5px;
    color:#0f5132;
}

.brand-logo span{
    color:#0f5132;
}

.market-nav{
    justify-self:center;
    display:flex;
    align-items:center;
    gap:32px;
}

.market-nav a{
    position:relative;
    padding:10px 0;
    color:#08111f;
    font-size:13px;
    font-weight:900;
}

.market-nav a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:3px;
    width:0;
    height:2px;
    background:var(--zc-primary);
    border-radius:999px;
    transform:translateX(-50%);
    transition:width .22s ease;
}

.market-nav a:hover::after,
.market-nav a.active::after{
    width:100%;
}

.market-nav a.active{
    color:var(--zc-primary);
}

.sell-link{
    justify-self:end;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 24px;
    background:var(--zc-primary);
    color:#fff;
    border-radius:15px;
    font-size:13px;
    font-weight:950;
    box-shadow:0 14px 24px rgba(0,191,99,.22);
    transition:transform .2s ease, box-shadow .2s ease;
}

.sell-link:hover,
.primary-btn:hover,
.search-btn:hover,
.interest-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 30px rgba(0,191,99,.26);
}

.mobile-menu-btn{
    display:none;
    width:46px;
    height:46px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    background:#fff;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    box-shadow:0 12px 28px rgba(15,23,42,.08);
}

.mobile-menu-btn span{
    width:20px;
    height:2px;
    border-radius:999px;
    background:#0b1220;
    transition:transform .22s ease, opacity .22s ease;
}

.market-hero{
    min-height:360px;
    padding:28px 72px 34px;
    display:grid;
    grid-template-columns:minmax(280px, .9fr) minmax(380px, 1.35fr);
    align-items:center;
    gap:24px;
    position:relative;
}

.hero-copy{
    position:relative;
    z-index:2;
}

.hero-copy h1{
    max-width:360px;
    font-size:clamp(44px, 5.4vw, 68px);
    line-height:.94;
    letter-spacing:-3px;
    color:#07111e;
    margin-bottom:20px;
}

.hero-copy p{
    max-width:370px;
    color:#3f4f65;
    font-size:15px;
    line-height:1.7;
    font-weight:600;
    margin-bottom:25px;
}

.primary-btn,
.search-btn,
.interest-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    cursor:pointer;
    background:var(--zc-primary);
    color:#fff;
    border-radius:13px;
    font-weight:950;
    transition:transform .2s ease, box-shadow .2s ease;
}

.primary-btn{
    min-height:51px;
    padding:0 25px;
    font-size:14px;
    box-shadow:0 12px 24px rgba(0,191,99,.18);
}

.hero-visual{
    min-height:350px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
}

.hero-model-wrap{
    width:min(860px, 100%);
    height:380px;
    position:relative;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:center;
    transform:translateX(-6px);
    filter:drop-shadow(0 30px 34px rgba(15,23,42,.20));
    cursor:grab;
}

.hero-model-wrap:active{
    cursor:grabbing;
}

.hero-model{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    position:absolute;
    inset:0;
    border-radius:0;
    background:transparent;
    transition:opacity .35s ease, transform .35s ease, filter .35s ease;
}

.hero-model{
    z-index:3;
    opacity:0;
    --poster-color:transparent;
    background:transparent;
}

.hero-model-loader{
    position:absolute;
    inset:0;
    z-index:2;
    display:grid;
    place-items:center;
    gap:10px;
    color:#0f5132;
    font-size:12px;
    font-weight:1000;
    text-transform:uppercase;
    letter-spacing:.8px;
    pointer-events:none;
    opacity:.86;
    transition:opacity .25s ease, transform .25s ease;
}

.hero-model-loader span{
    width:min(72%, 560px);
    height:105px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,255,255,.15), rgba(255,255,255,.78), rgba(255,255,255,.15));
    box-shadow:0 25px 55px rgba(15,23,42,.10);
    filter:blur(.2px);
    animation:loaderPulse 1.25s ease-in-out infinite alternate;
}

.hero-model-loader strong{
    margin-top:-54px;
    padding:10px 15px;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    box-shadow:0 12px 28px rgba(15,23,42,.08);
}

@keyframes loaderPulse{
    from{transform:scaleX(.92); opacity:.58;}
    to{transform:scaleX(1); opacity:.95;}
}

.hero-model-wrap.model-ready .hero-model{
    opacity:1;
}

.hero-model-wrap.model-ready .hero-model-loader{
    opacity:0;
    transform:translateY(8px);
}

.hero-model-wrap.is-loading .hero-model-loader{
    opacity:1;
}

.hero-3d-badge{
    position:absolute;
    right:22px;
    bottom:24px;
    z-index:5;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    color:#0f5132;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(255,255,255,.75);
    box-shadow:0 16px 34px rgba(15,23,42,.12);
    font-size:12px;
    font-weight:950;
    backdrop-filter:blur(14px);
}

.green-wave{
    position:absolute;
    inset:auto;
    pointer-events:none;
    border-radius:999px;
    filter:blur(12px);
    opacity:.65;
    z-index:1;
}

.green-wave--one{
    width:560px;
    height:135px;
    left:-32px;
    top:74px;
    background:linear-gradient(90deg, rgba(0,191,99,0), rgba(0,191,99,.28), rgba(0,191,99,0));
    transform:rotate(-14deg);
}

.green-wave--two{
    width:620px;
    height:160px;
    right:-48px;
    top:28px;
    background:linear-gradient(90deg, rgba(0,191,99,0), rgba(0,191,99,.20), rgba(0,191,99,0));
    transform:rotate(-20deg);
}

.filter-card{
    width:calc(100% - 104px);
    margin:-2px auto 34px;
    padding:20px;
    background:rgba(255,255,255,.92);
    border:1px solid var(--zc-line);
    border-radius:22px;
    box-shadow:var(--zc-shadow);
    position:relative;
    z-index:7;
    backdrop-filter:blur(16px);
}

.back-link{
    display:inline-flex;
    margin-bottom:13px;
    color:var(--zc-primary);
    font-size:14px;
    font-weight:950;
}

.filter-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr 1fr .95fr;
    gap:14px;
    align-items:end;
}

.field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.field span{
    color:#344054;
    font-size:12px;
    font-weight:950;
}

.field select,
.field input{
    width:100%;
    height:48px;
    border:1px solid #dbe4ef;
    border-radius:12px;
    outline:none;
    background:#fff;
    color:#101828;
    padding:0 14px;
    font-size:13px;
    font-weight:750;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.field select:focus,
.field input:focus{
    border-color:var(--zc-primary);
    box-shadow:0 0 0 4px rgba(0,191,99,.12);
}

.search-btn{
    min-height:48px;
    padding:0 22px;
    border-radius:12px;
    font-size:13px;
    box-shadow:0 12px 24px rgba(0,191,99,.16);
}

.results-section{
    width:calc(100% - 104px);
    margin:0 auto 34px;
}

.results-section h2{
    color:#101828;
    font-size:20px;
    letter-spacing:-.4px;
    margin:0 0 18px 8px;
}

.cars-list{
    display:grid;
    gap:22px;
}

.car-row{
    min-height:174px;
    display:grid;
    grid-template-columns:250px minmax(0, 1fr) 210px;
    gap:26px;
    align-items:center;
    padding:22px;
    background:#fff;
    border:1px solid var(--zc-line);
    border-radius:22px;
    box-shadow:0 14px 34px rgba(15,23,42,.06);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.car-row:hover{
    transform:translateY(-3px);
    border-color:rgba(0,191,99,.28);
    box-shadow:0 20px 45px rgba(15,23,42,.10);
}

.car-image{
    height:134px;
    display:block;
    position:relative;
    overflow:hidden;
    border-radius:14px;
    background:#eef4f8;
}

.car-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .35s ease;
}

.car-row:hover .car-image img{
    transform:scale(1.04);
}

.car-image span{
    position:absolute;
    left:12px;
    top:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:27px;
    padding:0 11px;
    border-radius:999px;
    background:#0f172a;
    color:#fff;
    font-size:11px;
    font-weight:950;
}

.car-info h3{
    color:#0b1220;
    font-size:20px;
    letter-spacing:-.3px;
    margin-bottom:9px;
}

.car-info p{
    color:#65758b;
    font-size:13px;
    line-height:1.6;
    max-width:520px;
    margin-bottom:14px;
}

.car-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.car-tags span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    color:#667085;
    background:#f1f5f9;
    border:1px solid #e8eef5;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}

.car-actions{
    min-height:132px;
    display:grid;
    grid-template-columns:1fr 42px;
    align-items:start;
    justify-items:end;
    text-align:right;
    column-gap:8px;
}

.heart{
    grid-column:2;
    grid-row:1 / span 2;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#9aa6b2;
    font-size:27px;
    cursor:pointer;
    transition:color .2s ease, background .2s ease, transform .2s ease;
}

.heart:hover{
    color:var(--zc-primary);
    background:#eafff3;
    transform:scale(1.05);
}

.car-actions strong{
    grid-column:1;
    color:var(--zc-primary);
    font-size:23px;
    line-height:1.1;
    font-weight:1000;
    white-space:nowrap;
}

.car-actions small{
    grid-column:1;
    color:#64748b;
    font-size:11px;
    font-weight:850;
    margin-top:-2px;
    white-space:nowrap;
}

.details-btn,
.interest-btn{
    grid-column:1 / span 2;
    justify-self:end;
    width:126px;
    min-height:42px;
    border-radius:11px;
    font-size:13px;
    font-weight:950;
}

.details-btn{
    margin-top:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1px solid #d9e2ec;
    color:#0b1220;
    transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.details-btn:hover{
    transform:translateY(-2px);
    border-color:var(--zc-primary);
    box-shadow:0 14px 24px rgba(15,23,42,.08);
}

.interest-btn{
    margin-top:6px;
}

.empty-state{
    text-align:center;
    padding:56px 20px;
    background:#fff;
    border:1px dashed #cad6e2;
    border-radius:22px;
    color:#64748b;
}

.empty-state h3{
    color:#0b1220;
    font-size:22px;
    margin-bottom:8px;
}

.empty-state p{
    margin-bottom:18px;
}

.market-footer{
    margin:26px 0 0;
    min-height:92px;
    padding:20px 64px;
    background:#111827;
    border-top:4px solid var(--zc-primary);
    color:#fff;
    display:grid;
    grid-template-columns:1fr 1.5fr 1fr;
    gap:28px;
    align-items:center;
    position:relative;
}

.footer-brand strong{
    display:block;
    color:var(--zc-primary);
    font-size:23px;
    letter-spacing:-.5px;
}

.footer-brand span,
.footer-points small,
.footer-phone span{
    display:block;
    color:#aab7c7;
    font-size:12px;
    font-weight:700;
}

.footer-points{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}

.footer-points span{
    color:#fff;
    font-size:13px;
    font-weight:900;
    line-height:1.35;
}

.footer-phone{
    text-align:right;
}

.footer-phone a{
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.model-credit{
    grid-column:1 / -1;
    color:#64748b;
    font-size:10px;
    line-height:1.3;
    opacity:.75;
    margin-top:-10px;
}

@media(max-width:1080px){
    .market-header,
    .market-hero{
        padding-left:38px;
        padding-right:38px;
    }

    .filter-card,
    .results-section{
        width:calc(100% - 76px);
    }

    .filter-grid{
        grid-template-columns:repeat(3, 1fr);
    }

    .car-row{
        grid-template-columns:210px minmax(0,1fr) 190px;
        gap:18px;
    }
}

@media(max-width:860px){
    .market-shell{
        width:100%;
        border:0;
        border-radius:0;
    }

    .market-header{
        min-height:74px;
        padding:14px 18px;
        grid-template-columns:auto auto;
        gap:12px;
    }

    .brand-logo{
        font-size:20px;
    }

    .mobile-menu-btn{
        display:inline-flex;
        justify-self:end;
    }

    .market-nav{
        position:absolute;
        left:18px;
        right:18px;
        top:calc(100% + 6px);
        display:grid;
        gap:8px;
        padding:12px;
        background:#111827;
        border:1px solid rgba(255,255,255,.12);
        border-radius:16px;
        box-shadow:0 18px 42px rgba(15,23,42,.22);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-8px);
        transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
        z-index:50;
    }

    .market-header.nav-open .market-nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }

    .market-nav a{
        width:100%;
        padding:13px 14px;
        border-radius:12px;
        color:#fff;
        background:rgba(255,255,255,.06);
        font-size:14px;
    }

    .market-nav a::after{
        display:none;
    }

    .market-nav a.active,
    .market-nav a:hover{
        color:#fff;
        background:var(--zc-primary);
    }

    .sell-link{
        display:none;
    }

    .market-header.nav-open .mobile-menu-btn span:nth-child(1){
        transform:translateY(7px) rotate(45deg);
    }

    .market-header.nav-open .mobile-menu-btn span:nth-child(2){
        opacity:0;
    }

    .market-header.nav-open .mobile-menu-btn span:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
    }

    .market-hero{
        min-height:auto;
        padding:30px 22px 22px;
        grid-template-columns:1fr;
        gap:16px;
    }

    .hero-copy h1{
        max-width:310px;
        font-size:48px;
        letter-spacing:-2px;
    }

    .hero-copy p{
        font-size:14px;
        max-width:100%;
    }

    .hero-visual{
        min-height:205px;
        margin-top:4px;
    }

    .hero-model-wrap{
        height:220px;
        width:100%;
        transform:none;
    }

    .hero-model{
        display:block;
        transform:scale(1.12) translateY(2px);
    }

    .hero-model-wrap.model-ready .hero-model{
        transform:scale(1.12) translateY(2px);
    }

    .hero-model-loader strong{
        font-size:10px;
        margin-top:-46px;
    }

    .hero-model-loader span{
        width:92%;
        height:82px;
    }

    .hero-3d-badge{
        display:inline-flex;
        right:10px;
        bottom:10px;
        min-height:28px;
        padding:0 10px;
        font-size:10px;
    }

    .green-wave--one,
    .green-wave--two{
        width:96%;
        left:2%;
        right:auto;
    }

    .filter-card,
    .results-section{
        width:calc(100% - 32px);
    }

    .filter-card{
        margin:8px auto 26px;
        padding:16px;
    }

    .filter-grid{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .search-btn{
        grid-column:1 / -1;
    }

    .results-section h2{
        margin-left:0;
        font-size:18px;
    }

    .car-row{
        grid-template-columns:155px minmax(0,1fr);
        gap:14px;
        padding:14px;
        align-items:start;
    }

    .car-image{
        height:128px;
    }

    .car-info h3{
        font-size:17px;
    }

    .car-info p{
        font-size:12px;
        margin-bottom:10px;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .car-tags{
        gap:6px;
    }

    .car-tags span{
        min-height:25px;
        padding:0 8px;
        font-size:10px;
    }

    .car-actions{
        grid-column:1 / -1;
        min-height:auto;
        display:grid;
        grid-template-columns:1fr auto auto;
        gap:8px;
        align-items:center;
        text-align:left;
        justify-items:start;
        border-top:1px solid #eef2f6;
        padding-top:12px;
    }

    .heart{
        grid-column:3;
        grid-row:1;
        justify-self:end;
        width:38px;
        height:38px;
        font-size:24px;
    }

    .car-actions strong{
        grid-column:1;
        grid-row:1;
        font-size:20px;
    }

    .car-actions small{
        grid-column:1;
        grid-row:2;
        margin:0;
    }

    .details-btn,
    .interest-btn{
        width:auto;
        min-width:104px;
        min-height:40px;
        grid-row:2;
        justify-self:end;
        margin:0;
    }

    .details-btn{
        grid-column:2;
    }

    .interest-btn{
        grid-column:3;
    }

    .market-footer{
        padding:22px 22px;
        grid-template-columns:1fr;
        gap:18px;
        text-align:left;
    }

    .footer-points{
        grid-template-columns:1fr;
        gap:11px;
    }

    .footer-phone{
        text-align:left;
    }
}

@media(max-width:520px){
    .market-header{
        padding:12px 14px;
    }

    .market-hero{
        padding:24px 16px 18px;
    }

    .hero-copy h1{
        font-size:40px;
    }

    .primary-btn{
        width:100%;
    }

    .filter-grid{
        grid-template-columns:1fr;
    }

    .filter-card,
    .results-section{
        width:calc(100% - 22px);
    }

    .car-row{
        grid-template-columns:1fr;
        padding:13px;
        border-radius:18px;
    }

    .car-image{
        height:210px;
        border-radius:14px;
    }

    .car-actions{
        grid-template-columns:1fr 1fr;
    }

    .heart{
        grid-column:2;
        justify-self:end;
    }

    .car-actions strong{
        grid-column:1;
    }

    .car-actions small{
        grid-column:1 / -1;
    }

    .details-btn,
    .interest-btn{
        width:100%;
        min-width:0;
        justify-self:stretch;
    }

    .details-btn{
        grid-column:1;
        grid-row:3;
    }

    .interest-btn{
        grid-column:2;
        grid-row:3;
    }
}

/* V24: 3D hero car camera flipped to correct side/front direction, then turns to front and returns smoothly */
@media (min-width: 861px){
    .market-hero{
        min-height:450px;
        padding-top:34px;
        padding-bottom:34px;
        grid-template-columns:minmax(300px, .78fr) minmax(660px, 1.6fr);
        overflow:hidden;
    }

    .hero-visual{
        min-height:410px;
        justify-content:flex-end;
        overflow:visible;
    }

    .hero-model-wrap{
        width:min(980px, 100%);
        height:420px;
        transform:translateX(-18px) translateY(18px);
        filter:drop-shadow(0 28px 24px rgba(15,23,42,.15));
    }

    .hero-model{
        object-position:center bottom;
    }

    .hero-model{
        transform:scale(1.03) translateY(4px);
    }

    .hero-model-wrap.model-ready .hero-model{
        opacity:1;
        transform:scale(1.03) translateY(4px);
    }

    .hero-3d-badge{
        right:34px;
        bottom:36px;
    }
}


/* V25: 3D car starts in a front-side angle, rotates to front, then returns. */
@media (min-width: 861px){
    .hero-model-wrap{
        width:min(900px, 100%);
        height:410px;
        transform:translateX(-4px) translateY(18px);
        filter:drop-shadow(0 24px 24px rgba(15,23,42,.14));
    }

    .hero-model{
        transform:scale(.94) translateY(6px);
    }

    .hero-model-wrap.model-ready .hero-model{
        opacity:1;
        transform:scale(.94) translateY(6px);
    }

    .hero-3d-badge{
        right:46px;
        bottom:32px;
    }
}


/* V27: no old static hero image. GLB is enabled on phone too with a light loading placeholder. */
.hero-fallback-car{
    display:none !important;
}

@media (max-width:860px){
    .hero-visual{
        min-height:250px;
        overflow:visible;
    }

    .hero-model-wrap{
        height:250px;
        width:112%;
        margin-left:-6%;
        transform:translateY(0);
        filter:drop-shadow(0 18px 18px rgba(15,23,42,.14));
    }

    .hero-model{
        display:block !important;
        opacity:0;
        transform:scale(1.05) translateY(0);
    }

    .hero-model-wrap.model-ready .hero-model{
        opacity:1;
        transform:scale(1.05) translateY(0);
    }
}

@media (max-width:520px){
    .hero-visual{
        min-height:220px;
    }

    .hero-model-wrap{
        width:128%;
        height:220px;
        margin-left:-14%;
    }

    .hero-model{
        transform:scale(1.08) translateY(0);
    }

    .hero-model-wrap.model-ready .hero-model{
        transform:scale(1.08) translateY(0);
    }
}


/* V29: removed the 3D preview badge beside the GLB model */
.hero-3d-badge{display:none!important;}


/* V30: phone 3D car centered and lifted away from the filters */
@media (max-width: 860px){
    .market-hero{
        padding-bottom: 34px;
    }

    .hero-visual{
        min-height: 285px;
        margin-top: 12px;
        margin-bottom: 28px;
        overflow: visible;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero-model-wrap{
        width: 106%;
        height: 280px;
        margin-left: -3%;
        transform: translateY(-8px);
        filter: drop-shadow(0 18px 18px rgba(15,23,42,.13));
    }

    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        transform: scale(.96) translateX(8px) translateY(-8px);
        object-position: center center;
    }
}

@media (max-width: 520px){
    .hero-visual{
        min-height: 285px;
        margin-top: 14px;
        margin-bottom: 34px;
    }

    .hero-model-wrap{
        width: 112%;
        height: 275px;
        margin-left: -6%;
        transform: translateY(-12px);
    }

    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        transform: scale(.90) translateX(14px) translateY(-12px);
    }
}


/* V31: phone GLB fixed - full car centered, no left crop */
@media (max-width: 860px){
    .market-hero{
        padding-bottom: 42px;
        overflow: hidden;
    }

    .hero-visual{
        min-height: 315px;
        margin-top: 16px;
        margin-bottom: 30px;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero-model-wrap{
        width: 100%;
        max-width: 100%;
        height: 305px;
        margin-left: 0;
        transform: none;
        filter: drop-shadow(0 18px 18px rgba(15,23,42,.12));
        overflow: visible;
    }

    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        width: 100%;
        height: 100%;
        transform: scale(.82) translateX(0) translateY(-2px) !important;
        object-position: center center;
    }

    .hero-model-loader span{
        width: 78%;
        height: 78px;
    }
}

@media (max-width: 520px){
    .hero-visual{
        min-height: 300px;
        margin-top: 18px;
        margin-bottom: 34px;
    }

    .hero-model-wrap{
        width: 100%;
        height: 290px;
        margin-left: 0;
        transform: none;
    }

    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        transform: scale(.78) translateX(0) translateY(-4px) !important;
    }
}

@media (max-width: 390px){
    .hero-visual{
        min-height: 285px;
    }

    .hero-model-wrap{
        height: 275px;
    }

    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        transform: scale(.74) translateX(0) translateY(-4px) !important;
    }
}


/* V32: phone GLB slightly bigger, still centered without crop */
@media (max-width: 860px){
    .hero-visual{
        min-height: 330px;
        margin-bottom: 30px;
    }
    .hero-model-wrap{
        height: 318px;
    }
    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        transform: scale(.88) translateX(0) translateY(-4px) !important;
        object-position: center center;
    }
}

@media (max-width: 520px){
    .hero-visual{
        min-height: 318px;
        margin-bottom: 34px;
    }
    .hero-model-wrap{
        height: 308px;
    }
    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        transform: scale(.84) translateX(0) translateY(-5px) !important;
    }
}

@media (max-width: 390px){
    .hero-visual{
        min-height: 306px;
    }
    .hero-model-wrap{
        height: 296px;
    }
    .hero-model,
    .hero-model-wrap.model-ready .hero-model{
        transform: scale(.80) translateX(0) translateY(-5px) !important;
    }
}
