  :root{
    --charcoal:#181b1c;
    --charcoal-2:#141617;
    --steel:#242a2c;
    --steel-2:#2f373a;
    --offwhite:#f1ede3;
    --paper:#ece7da;
    --rust:#c1502e;
    --rust-light:#d96a45;
    --rust-dark:#93361c;
    --rust-glow: rgba(193,80,46,0.35);
    --hazard:#e0ac2b;
    --gray-mid:#9aa2a3;
    --whatsapp:#25D366;
    --line: rgba(241,237,227,0.14);
    --line-strong: rgba(241,237,227,0.24);
    --radius: 3px;
    --radius-lg: 14px;
    --ease-out: cubic-bezier(.2,.7,.2,1);
    --ease-spring: cubic-bezier(.34,1.56,.64,1);
    --shadow-card: 0 18px 40px -22px rgba(0,0,0,0.7);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:
      radial-gradient(1200px 600px at 85% -8%, rgba(193,80,46,0.08), transparent 60%),
      var(--charcoal);
    color:var(--offwhite);
    font-family:'Inter',sans-serif;
    line-height:1.55;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  ::selection{background:var(--rust);color:#fff;}
  /* custom scrollbar */
  html{scrollbar-color:var(--rust) var(--charcoal-2);scrollbar-width:thin;}
  ::-webkit-scrollbar{width:11px;height:11px;}
  ::-webkit-scrollbar-track{background:var(--charcoal-2);}
  ::-webkit-scrollbar-thumb{background:linear-gradient(var(--rust),var(--rust-dark));border-radius:20px;border:3px solid var(--charcoal-2);}
  ::-webkit-scrollbar-thumb:hover{background:var(--rust-light);}
  /* thin rust progress bar driven by GSAP/scroll */
  .scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--rust),var(--hazard));z-index:200;pointer-events:none;}
  h1,h2,h3,h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.02em;line-height:1.05;}
  .mono{font-family:'IBM Plex Mono',monospace;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
  section{position:relative;}
  .tag-label{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--hazard);
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
  }
  .tag-label::before{content:"";width:8px;height:8px;background:var(--rust);display:inline-block;transform:rotate(45deg);}
  .btn{
    position:relative;
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    padding:15px 28px;
    font-family:'Oswald',sans-serif;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:14px;
    border:none;
    border-radius:var(--radius);
    cursor:pointer;
    overflow:hidden;
    transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out), background .2s ease, border-color .2s ease, color .2s ease;
  }
  /* moving sheen on hover */
  .btn::after{
    content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,0.28),transparent);
    transform:skewX(-18deg);transition:left .55s var(--ease-out);pointer-events:none;
  }
  .btn:hover::after{left:130%;}
  .btn-primary{background:linear-gradient(135deg,var(--rust-light),var(--rust) 55%,var(--rust-dark));color:#fff;box-shadow:0 10px 24px -12px var(--rust-glow);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px var(--rust-glow), 0 0 0 1px rgba(255,255,255,0.06) inset;}
  .btn-outline{background:transparent;color:var(--offwhite);border:1.5px solid var(--line-strong);}
  .btn-outline:hover{border-color:var(--hazard);color:var(--hazard);transform:translateY(-2px);}
  .btn:disabled{opacity:.65;cursor:not-allowed;transform:none;}
  .btn:focus-visible{outline:2px solid var(--hazard);outline-offset:3px;}
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:2px solid var(--hazard);outline-offset:2px;}

  /* ===== HEADER ===== */
  header{
    position:sticky;top:0;left:0;right:0;z-index:100;
    background:rgba(24,27,28,0.78);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    transition:background .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  header.scrolled{
    background:rgba(20,22,23,0.95);
    border-bottom-color:var(--line-strong);
    box-shadow:0 10px 30px -18px rgba(0,0,0,0.9);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 28px;max-width:1200px;margin:0 auto;
    gap:16px;
  }
  .logo{display:flex;align-items:center;gap:10px;font-family:'Oswald',sans-serif;font-weight:700;font-size:20px;letter-spacing:0.03em;text-transform:uppercase;flex-shrink:0;}
  .logo span{color:var(--rust);}
  .logo img{width:100px;height:auto;}
  .logo .bolt{width:26px;height:26px;border:2px solid var(--rust);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--rust);font-family:'IBM Plex Mono',monospace;}
  nav.links{display:flex;gap:32px;font-size:14px;font-weight:500;flex-wrap:wrap;}
  nav.links a{position:relative;padding:6px 0;color:var(--gray-mid);transition:color .15s;}
  nav.links a:hover{color:var(--offwhite);}
  .nav-right{display:flex;align-items:center;gap:18px;flex-shrink:0;}
  .phone-pill{
    display:flex;align-items:center;gap:8px;
    font-family:'IBM Plex Mono',monospace;font-size:13px;color: whitesmoke;
    white-space:nowrap;
  }
  .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
  .hamburger span{width:24px;height:2px;background:var(--offwhite);}
  .mobile-menu{display:none;flex-direction:column;gap:0;background:var(--steel);border-bottom:1px solid var(--line);}
  .mobile-menu a{padding:16px 28px;border-top:1px solid var(--line);font-size:15px;}
  .mobile-menu.open{display:flex;}

  /* ===== HERO ===== */
  .hero{
    padding:90px 0 70px;
    position: relative;
    border-bottom:1px solid var(--line);
  }
  .hero::after{
    content: '';
    inset: 0;
    position: absolute;
    opacity: 0.4;
    width: 100%;
    height: 100%;
    background-color: black;

  }
  .hero-grid{position: relative;z-index: 2;display:grid;grid-template-columns:1.15fr 0.85fr;gap:50px;align-items:center;}
  .hero h1{position:relative;z-index: 2;font-size:clamp(34px,5.4vw,68px);margin-bottom:20px;word-break:break-word;}
  .hero h1 em{position:relative;z-index: 2;font-style:normal;color:var(--rust);}
  .hero p.lead{position:relative;z-index: 2;font-size:17px;color:var(--gray-mid);max-width:520px;margin-bottom:32px;}
  .hero-ctas{position:relative;z-index: 2;display:flex;gap:16px;flex-wrap:wrap;margin-bottom:36px;}
  .hero-stats{position:relative;z-index: 2;display:flex;gap:36px;flex-wrap:wrap;}
  .hero-stats div{position:relative;z-index: 2;display:flex;flex-direction:column;}
  .hero-stats .num{position:relative;z-index: 2;font-family:'Oswald',sans-serif;font-size:30px;font-weight:700;color:var(--offwhite);}
  .hero-stats .lbl{position:relative;z-index: 2;font-size:12px;color:var(--gray-mid);text-transform:uppercase;letter-spacing:0.06em;}

  /* yard tag graphic */
  .yard-tag{
    background:rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(10px);
    border-top:1.5px solid rgba(255, 255, 255, 0.5);
    border-radius:6px;
    padding:26px;
    position:relative;
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.6);
  }
  .yard-tag::before{
    content:"";position:absolute;top:-9px;left:26px;width:18px;height:18px;
    background:var(--charcoal);border:1.5px solid var(--line);border-radius:50%;
  }
  .yard-tag .tt-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--line);padding-bottom:14px;margin-bottom:14px;flex-wrap:wrap;gap:8px;}
  .yard-tag .tt-head .stock{font-family:'IBM Plex Mono',monospace;color:var(--hazard);font-size:13px;}
  .yard-tag h3{font-size:26px;margin-bottom:4px;}
  .yard-tag .tt-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--gray-mid);padding:7px 0;border-bottom:1px solid var(--line);font-family:'IBM Plex Mono',monospace;}
  .yard-tag .tt-row span:last-child{color:var(--offwhite);text-align:right;}
  .yard-tag .tt-row:last-of-type{border-bottom:none;}
  .yard-tag .tt-price{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;}
  .yard-tag .tt-price .amt{font-family:'Oswald',sans-serif;font-size:32px;color:var(--rust);font-weight:700;}
  .yard-tag .tt-badge{background:var(--rust);color:var(--offwhite);font-family:'IBM Plex Mono',monospace;font-size:11px;padding:4px 9px;border-radius:2px;letter-spacing:0.05em;}

  /* ===== TICKER ===== */
  .ticker-strip{background:var(--rust);overflow:hidden;border-bottom:1px solid var(--line);}
  .ticker-track{display:flex;white-space:nowrap;animation:scroll-left 32s linear infinite;padding:11px 0;}
  .ticker-track span{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#fff2e8;margin-right:48px;letter-spacing:0.02em;}
  .ticker-track span b{color:#2c1006;background:#fff;padding:1px 6px;border-radius:2px;margin-right:6px;}
  @keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ===== SECTION GENERIC ===== */
  .section{padding:88px 0;}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-head h2{font-size:clamp(26px,3.6vw,44px);margin-bottom:16px;position:relative;padding-bottom:18px;}
  .section-head h2::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;background:linear-gradient(90deg,var(--rust),var(--hazard));border-radius:2px;}
  .section-head p{color:var(--gray-mid);font-size:16px;}
  .alt-bg{background:var(--steel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }

  .brands-section{padding:40px 0 20px;}
  .TITTLE{
    text-align:center;
    font-size:clamp(24px,3vw,34px);
    margin-bottom:44px;
    color: var(--offwhite);
    padding:0 20px;
    position:relative;
  }
  .TITTLE h2{display:inline-block;position:relative;padding-bottom:16px;}
  .TITTLE h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:70px;height:3px;background:linear-gradient(90deg,var(--rust),var(--hazard));border-radius:2px;}

  .brands-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:16px;
    padding: 28px;
    max-width:1200px;
    margin:0 auto;
}

.brand-card{
    position:relative;
    height:110px;
    border:1px solid var(--line);
    border-radius:14px;
    background:linear-gradient(160deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:10px;
    transition:transform .3s var(--ease-out),border-color .3s ease,box-shadow .3s ease,background .3s ease;
    padding:14px 10px;
    overflow:hidden;
}
.brand-card::before{
    content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease;
    background:radial-gradient(120px 80px at 50% 0%,var(--rust-glow),transparent 70%);
}
.brand-card:hover{border-color:var(--rust);transform:translateY(-4px);box-shadow:var(--shadow-card);}
.brand-card:hover::before{opacity:1;}

.brand-card img{
    /* these are chrome/metallic marks — they read best bright on the dark card */
    width:96px;
    height:54px;
    object-fit:contain;
    margin:0;
    filter:brightness(1.12) contrast(1.04);
    transition:transform .3s ease,filter .3s ease;
}
.brand-card:hover img{transform:scale(1.07);filter:brightness(1.22) contrast(1.06);}
/* KIA / Lexus ship with a baked-in white tile — round its corners so it doesn't read as a hard box */
.brand-card img[src*="kia"]{border-radius:8px;}

.brand-card h3{
    font-size:13px;
    font-weight:700;
    margin:0;
    text-align:center;
    letter-spacing:0.04em;
    color:var(--gray-mid);
    transition:color .3s ease;
}
.brand-card:hover h3{color:var(--offwhite);}

  /* ===== PART FINDER ===== */
  .finder{
    background:linear-gradient(160deg,rgba(47,55,58,0.9),rgba(24,27,28,0.9));
    backdrop-filter:blur(12px);
    border:1px solid var(--line-strong);
    border-top:1.5px solid rgba(255,255,255,0.16);
    border-radius:var(--radius-lg);
    padding:30px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr auto;
    gap:14px;
    align-items:end;
    margin-top:-46px;
    position:relative;
    z-index:5;
    box-shadow:0 40px 70px -30px rgba(0,0,0,0.7);
  }
  .field{display:flex;flex-direction:column;gap:8px;min-width:0;}
  .field label{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--gray-mid);font-family:'IBM Plex Mono',monospace;}
  .field select, .field input{
    background:var(--charcoal);
    border:1px solid var(--line);
    color:var(--offwhite);
    padding:12px 12px;
    border-radius:var(--radius);
    font-size:14px;
    font-family:'Inter',sans-serif;
    width:100%;
    min-width:0;
  }
  .field select:focus, .field input:focus{border-color:var(--rust);outline:none;}
  .finder .btn{height:46px;white-space:nowrap;}

  /* ===== SERVICES SWIPER (true carousel — one card = one slide, responsive slidesPerView) ===== */
  .services{
    width:95%;
    margin:60px auto;
    position:relative;
  }

  .title{
    text-align:center;
    font-size:40px;
    color:#fff;
    margin-bottom:40px;
  }

  .swiper{
    width:100%;
    padding:6px 64px 46px;
  }

  .swiper-wrapper{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
  }

  .swiper-slide{
    height:auto; /* let .card define the height so every slide matches */
    flex-shrink:0;
  }

  .card{
    position:relative;
    overflow:hidden;
    height:260px;
    width:100%;
    border-radius:16px;
    cursor:pointer;
    box-shadow:0 15px 35px rgba(0,0,0,.35);
    transition: transform .3s, box-shadow .3s;
    background:var(--steel-2);
    display:block;
    text-decoration:none;
    color:inherit;
  }
  .card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.45);}

  .card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
  }

  .card:hover img{
    transform:scale(1.12);
  }

  .overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.1) 60%);
  }

  .content{
    position:absolute;
    left:18px;
    right:18px;
    bottom:16px;
    color:#fff;
    z-index:5;
  }

  .content span{
    color:#ff9800;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.04em;
  }

  .content h3{
    margin:6px 0 2px;
    font-size:19px;
  }

  .content p{
    font-size:13.5px;
    line-height:1.5;
    color:rgba(255,255,255,0.85);
  }

  .swiper-pagination-bullet{background:var(--offwhite);opacity:.35;}
  .swiper-pagination-bullet-active{background:#ff6b00;opacity:1;}

  .swiper-button-next,
  .swiper-button-prev{
    color:#fff;
    background:#ff6b00;
    width:48px;
    height:48px;
    border-radius:50%;
    margin-top:-24px;
    transition:background .2s, color .2s;
  }

  .swiper-button-next::after,
  .swiper-button-prev::after{
    font-size:18px;
    font-weight:bold;
  }

  .swiper-button-next:hover,
  .swiper-button-prev:hover{
    background:#fff;
    color:#ff6b00;
  }

  .swiper-button-next.swiper-button-disabled,
  .swiper-button-prev.swiper-button-disabled{
    opacity:0.35;
  }

  /* ===== PROCESS ===== */
  .process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
  .pstep{padding:0 26px;position:relative;}
  .pstep:not(:last-child)::after{
    content:"";position:absolute;top:26px;right:-2px;width:100%;height:1px;background:repeating-linear-gradient(to right, var(--line) 0 6px, transparent 6px 12px);
  }
  .pstep .pnum{font-family:'Oswald',sans-serif;font-size:44px;font-weight:700;color:var(--steel-2);-webkit-text-stroke:1.5px var(--rust);color:transparent;margin-bottom:18px;}
  .pstep h3{font-size:17px;margin-bottom:10px;}
  .pstep p{font-size:14px;color:var(--gray-mid);}

  /* ===== INVENTORY ===== */
  .filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
  .filter-btn{
    background:transparent;border:1px solid var(--line);color:var(--gray-mid);
    padding:9px 18px;border-radius:20px;font-size:13px;font-family:'Inter',sans-serif;cursor:pointer;transition:.15s;
  }
  .filter-btn.active, .filter-btn:hover{border-color:var(--rust);color:var(--offwhite);background:rgba(193,80,46,0.1);}
  .inv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .inv-card{
    position:relative;
    background:var(--steel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;
    display:flex;flex-direction:column;transition:transform .25s var(--ease-out), border-color .25s ease, box-shadow .25s ease;
  }
  .inv-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--rust),var(--hazard));transform:scaleX(0);transform-origin:0 50%;transition:transform .3s var(--ease-out);z-index:3;}
  .inv-card:hover{transform:translateY(-6px);border-color:var(--rust);box-shadow:var(--shadow-card);}
  .inv-card:hover::before{transform:scaleX(1);}
  .inv-media{
    height:170px;background:linear-gradient(135deg,var(--steel-2),var(--charcoal));
    display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .inv-media img{width:100%;height:100%;object-fit: cover;transition:transform .5s var(--ease-out);}
  .inv-card:hover .inv-media img{transform:scale(1.08);}
  .inv-media .part-glyph{font-size:46px;opacity:0.5;}
  .inv-condition{position:absolute;top:12px;left:12px;background:var(--charcoal);border:1px solid var(--hazard);color:var(--hazard);font-family:'IBM Plex Mono',monospace;font-size:10px;padding:3px 8px;border-radius:2px;letter-spacing:0.05em;z-index:2;}
  .inv-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .inv-body .cat{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gray-mid);text-transform:uppercase;}
  .inv-body h3{font-size:17px;}
  .inv-body .fits{font-size:13px;color:var(--gray-mid);}
  .inv-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);gap:8px;flex-wrap:wrap;}
  .inv-foot .price{font-family:'Oswald',sans-serif;font-size:20px;color:var(--rust);font-weight:600;}
  .inv-foot .stockno{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gray-mid);}
  .mini-btn{background:var(--steel-2);border:1px solid var(--line);color:var(--offwhite);font-size:12px;padding:8px 14px;border-radius:var(--radius);cursor:pointer;font-family:'Inter',sans-serif;transition:.15s;}
  .mini-btn:hover{border-color:var(--rust);color:var(--rust);}
  .inv-media{position:relative;text-decoration:none;color:inherit;cursor:pointer;}
  .inv-photo-count{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.65);border:1px solid var(--line);color:var(--offwhite);font-family:'IBM Plex Mono',monospace;font-size:11px;padding:3px 9px;border-radius:20px;display:flex;align-items:center;gap:5px;z-index:2;}
  .inv-details-btn{
    display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
    margin-top:14px;padding:12px 16px;border-radius:var(--radius);
    background:transparent;border:1px solid var(--rust);color:var(--rust);
    font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.03em;text-transform:uppercase;
    cursor:pointer;transition:.2s ease;text-decoration:none;
  }
  .inv-details-btn:hover{background:var(--rust);color:var(--offwhite);}
  .inv-details-btn i{font-size:12px;}

  /* ===== SELL YOUR CAR / WRECKERS CTA ===== */
  .sell-banner{
    background:linear-gradient(120deg, var(--rust-dark), var(--rust));
    border-radius:10px;
    padding:56px 56px;
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:40px;
    align-items:center;
    position:relative;
    overflow:hidden;
  }
  .sell-banner::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border:26px solid rgba(255,255,255,0.08);border-radius:50%;}
  .sell-banner h2{font-size:clamp(24px,3.2vw,38px);color:#fff2e8;margin-bottom:14px;}
  .sell-banner p{color:rgba(255,242,232,0.85);margin-bottom:26px;max-width:440px;}
  .sell-form{background:rgba(0,0,0,0.22);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:12px;position:relative;z-index:2;}
  .sell-form input, .sell-form select{
    background:rgba(255,255,255,0.95);border:none;padding:12px 14px;border-radius:4px;font-family:'Inter',sans-serif;font-size:14px;color:#222;width:100%;
  }
  .sell-form .btn{background:var(--charcoal);color:#fff2e8;}
  .sell-form .btn:hover{background:#000;}

  /* ===== STATS BAND ===== */
  .stats-band{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .stat-item{padding:44px 20px;text-align:center;border-right:1px solid var(--line);}
  .stat-item:last-child{border-right:none;}
  .stat-item .num{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;color:var(--rust);}
  .stat-item .lbl{font-size:13px;color:var(--gray-mid);text-transform:uppercase;letter-spacing:0.06em;margin-top:6px;}

  /* ===== TESTIMONIALS ===== */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .testi{background:var(--steel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;position:relative;transition:transform .25s var(--ease-out),border-color .25s ease,box-shadow .25s ease;}
  .testi::before{content:"\201C";position:absolute;top:6px;right:20px;font-family:'Oswald',sans-serif;font-size:74px;line-height:1;color:var(--rust);opacity:.18;}
  .testi:hover{transform:translateY(-4px);border-color:var(--rust);box-shadow:var(--shadow-card);}
  .testi .stars{color:var(--hazard);letter-spacing:2px;margin-bottom:14px;font-size:14px;}
  .testi p{font-size:14.5px;color:var(--offwhite);margin-bottom:18px;}
  .testi .who{font-size:13px;color:var(--gray-mid);font-family:'IBM Plex Mono',monospace;display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px;flex-wrap:wrap;}

  /* ===== FAQ ===== */
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;color:var(--offwhite);
    padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;
    font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:0.02em;cursor:pointer;text-transform:none;
  }
  .faq-q .plus{font-family:'IBM Plex Mono',monospace;color:var(--rust);font-size:20px;transition:transform .2s;flex-shrink:0;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .faq-a p{padding:0 0 22px;color:var(--gray-mid);font-size:14.5px;max-width:760px;}

  /* ===== CONTACT ===== */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
  .info-block{display:flex;gap:16px;margin-bottom:26px;}
  .info-block .ic{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--rust);flex-shrink:0;}
  .info-block h4{font-size:15px;margin-bottom:4px;text-transform:none;}
  .info-block p, .info-block a{font-size:14px;color:var(--gray-mid);}
  .info-block a:hover{color:var(--rust);}
  .hours-table{width:100%;font-size:14px;margin-top:8px;}
  .hours-table td{padding:6px 0;border-bottom:1px solid var(--line);color:var(--gray-mid);}
  .hours-table td:last-child{text-align:right;color:var(--offwhite);font-family:'IBM Plex Mono',monospace;}
  .quote-form{background:var(--steel);border:1px solid var(--line);border-radius:8px;padding:32px;}
  .quote-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
  .quote-form label{font-size:11px;text-transform:uppercase;letter-spacing:0.07em;color:var(--gray-mid);font-family:'IBM Plex Mono',monospace;display:block;margin-bottom:7px;}
  .quote-form input, .quote-form select, .quote-form textarea{
    width:100%;background:var(--charcoal);border:1px solid var(--line);color:var(--offwhite);
    padding:12px;border-radius:var(--radius);font-family:'Inter',sans-serif;font-size:14px;
  }
  .quote-form textarea{resize:vertical;min-height:90px;}
  .full-row{margin-bottom:14px;}
  .form-msg{font-size:13px;margin-top:12px;font-family:'IBM Plex Mono',monospace;display:none;}
  .form-msg.show{display:block;color:var(--hazard);}

  /* ===== MAP ===== */
  .map-box{
    height:220px;border:1px solid var(--line);border-radius:6px;margin-top:30px;
    overflow:hidden;position:relative;
  }
  .map-box iframe{width:100%;height:100%;border:0;filter:grayscale(0.35) contrast(1.05);display:block;}

  /* ===== FOOTER ===== */
  footer{background:var(--steel);border-top:1px solid var(--line);padding:64px 0 26px;}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;margin-bottom:50px;}
  .footer-grid h4{font-size:13px;letter-spacing:0.08em;color:var(--gray-mid);margin-bottom:18px;}
  .footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .footer-grid ul a{font-size:14px;color:var(--offwhite);opacity:0.82;transition:opacity .15s;}
  .footer-grid ul a:hover{opacity:1;color:var(--rust);}
  .footer-about p{font-size:14px;color:var(--gray-mid);max-width:320px;margin:16px 0 20px;}
  .social-row{display:flex;gap:10px;flex-wrap:wrap;}
  .social-row a{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;}
  .social-row a:hover{border-color:var(--rust);color:var(--rust);}
  .newsletter{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;}
  .newsletter input{flex:1;min-width:140px;background:var(--charcoal);border:1px solid var(--line);color:var(--offwhite);padding:11px;border-radius:var(--radius);font-size:13px;}
  .footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:12.5px;color:var(--gray-mid);flex-wrap:wrap;gap:10px;}
  .footer-bottom a{color:var(--gray-mid);}
  .footer-bottom a:hover{color:var(--offwhite);}

  /* floating action buttons */
  .fab-stack{position:fixed;bottom:26px;right:26px;display:flex;flex-direction:column;gap:14px;z-index:90;align-items:flex-end;}
  .totop, .fab-whatsapp{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-size:18px;transition:opacity .2s, transform .15s;}
  .totop{background:var(--rust);color:#fff;opacity:0;pointer-events:none;}
  .totop.show{opacity:1;pointer-events:auto;}
  .fab-whatsapp{background:var(--whatsapp);color:#fff;font-size:24px;box-shadow:0 10px 24px -8px rgba(0,0,0,0.6);}
  .fab-whatsapp:hover, .totop:hover{transform:translateY(-3px);}

  @media (prefers-reduced-motion: reduce){
    .ticker-track{animation:none;}
    html{scroll-behavior:auto;}
    *{transition:none !important;}
  }

  /* ===== RESPONSIVE ===== */
  @media (max-width:1024px){
    .hero-grid{grid-template-columns:1fr;}
    .hero .yard-tag{max-width:460px;}
    .process{grid-template-columns:repeat(2,1fr);gap:36px 0;}
    .pstep:nth-child(2)::after{display:none;}
    .inv-grid{grid-template-columns:repeat(2,1fr);}
    .stats-band{grid-template-columns:repeat(2,1fr);}
    .stat-item:nth-child(2){border-right:none;}
    .testi-grid{grid-template-columns:1fr 1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .finder{grid-template-columns:1fr 1fr;margin-top:26px;}
    .brands-grid{grid-template-columns:repeat(4,1fr);}
    .swiper{padding:6px 52px 44px;}
  }
  @media (max-width:900px){
    nav.links{display:none;}
    .hamburger{display:flex;}
  }
  @media (max-width:720px){
    .hero{padding:52px 0 40px;}
    .hero p.lead{font-size:15.5px;}
    .hero-ctas{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:30px;}
    .hero-ctas .btn{width:100%;}
    .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;}
    .hero-stats .num{font-size:26px;}
    .process{grid-template-columns:1fr;}
    .pstep::after{display:none;}
    .inv-grid{grid-template-columns:1fr;}
    .stats-band{grid-template-columns:1fr 1fr;}
    .sell-banner{grid-template-columns:1fr;padding:34px 24px;}
    .quote-form .row{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;gap:30px;}
    .finder{grid-template-columns:1fr;}
    section.section{padding:56px 0;}
    .phone-pill{display:none;}
    .brands-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 12px;}
    .brand-card{height:96px;}
    .brand-card img{width:74px;height:42px;}
    .brand-card h3{font-size:11px;}
    .testi-grid{grid-template-columns:1fr;}
    .swiper{padding:4px 44px 40px;}
    .card{height:220px;}
    .swiper-button-next,.swiper-button-prev{width:40px;height:40px;margin-top:-20px;}
    .fab-stack{bottom:18px;right:16px;}
  }
  @media (max-width:480px){
    .wrap{padding:0 18px;}
    .hero h1{font-size:32px;}
    .hero p.lead{max-width:100%;}
    .hero-stats{grid-template-columns:1fr 1fr;gap:20px 16px;}
    .yard-tag{padding:18px;}
    .yard-tag h3{font-size:21px;}
    .brands-grid{grid-template-columns:repeat(2,1fr);}
    .swiper{padding:4px 8px 40px;}
    .card{height:200px;}
    .swiper-button-next,.swiper-button-prev{display:none;} /* dots + swipe gestures drive nav on very small screens */
    .nav{padding:14px 18px;}
    .logo img{width:80px;}
    .nav-right{gap:10px;}
  }



  /* ===== ACCESSIBILITY HELPERS ===== */
  .skip-link{
    position:fixed;top:-60px;left:12px;z-index:1000;
    background:var(--rust);color:#fff;padding:12px 18px;border-radius:var(--radius);
    font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:0.04em;
    transition:top .18s ease;
  }
  .skip-link:focus{top:12px;outline:2px solid var(--hazard);outline-offset:2px;}
  .visually-hidden{
    position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }

  /* ===== GLOBAL SUBTLE FADE-IN ON LOAD ===== */
  body{opacity:0;animation:pageFade .6s ease .05s forwards;}
  @keyframes pageFade{from{opacity:0;}to{opacity:1;}}

  /* ===== TOP STRIP BAR ===== */
  .topbar{
    background:var(--steel-2);
    border-bottom:1px solid var(--line);
    font-family:'IBM Plex Mono',monospace;
  }
  .topbar-inner{
    max-width:1200px;margin:0 auto;padding:9px 28px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    font-size:12.5px;color:var(--gray-mid);
  }
  .topbar-right{display:flex;align-items:center;gap:22px;}
  .tb-item{display:inline-flex;align-items:center;gap:7px;color:var(--gray-mid);transition:color .15s;white-space:nowrap;}
  .tb-item i{color:var(--hazard);font-size:12px;}
  a.tb-item:hover{color:var(--offwhite);}
  a.tb-item:hover i{color:var(--rust);}
  .tb-socials{display:inline-flex;gap:12px;padding-left:6px;border-left:1px solid var(--line);}
  .tb-socials a{color:var(--gray-mid);transition:color .15s;}
  .tb-socials a:hover{color:var(--rust);}
  @media (max-width:900px){
    .tb-hours,.tb-email{display:none;}
  }
  @media (max-width:560px){
    .topbar-inner{padding:8px 18px;font-size:11.5px;gap:10px;}
    .tb-address span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .tb-socials{display:none;}
  }

  /* ===== HERO SLIDER ===== */
  .hero{background:var(--charcoal);overflow:hidden;}
  .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
  .hero-bg-slide{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
    opacity:0;transform:scale(1.06);
    transition:opacity 1.1s ease;
    will-change:opacity,transform;
  }
  .hero-bg-slide.is-active{opacity:1;animation:heroKen 6.5s ease-out forwards;}
  @keyframes heroKen{from{transform:scale(1.06);}to{transform:scale(1.14);}}
  /* dark + rust wash so text stays readable over any photo */
  .hero::after{
    background:
      linear-gradient(90deg, rgba(12,13,14,0.88) 0%, rgba(12,13,14,0.6) 52%, rgba(12,13,14,0.35) 100%),
      radial-gradient(120% 100% at 100% 0%, rgba(193,80,46,0.22), transparent 55%);
    opacity:1;z-index:1;
  }
  /* subtle grain + top/bottom vignette layer over the hero photo */
  .hero-grain{
    position:absolute;inset:0;z-index:1;pointer-events:none;
    background-image:
      linear-gradient(180deg, rgba(24,27,28,0.35) 0%, transparent 22%, transparent 72%, rgba(24,27,28,0.9) 100%),
      radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size:100% 100%, 4px 4px;
    opacity:.5;mix-blend-mode:overlay;
  }
  /* ===== HERO LOAD-IN =====
     Staggered entrance that plays once on page load. Pure CSS so it starts
     with the first paint (no JS/GSAP dependency, no flash of unstyled copy).
     `backwards` fill only holds the *start* frame during the delay — once a
     step finishes the element returns to its normal styles, so hover
     transforms on the CTAs and the GSAP parallax on .hero-copy still work.
     Declared BEFORE .hero-anim so the slider's re-entrance wins on ties. */
  @keyframes heroLoadRise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
  @keyframes heroLoadRiseSm{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  @keyframes heroLoadCard{from{opacity:0;transform:translateY(34px) scale(.965);}to{opacity:1;transform:none;}}
  @keyframes heroLoadFade{from{opacity:0;}to{opacity:1;}}
  @keyframes heroLoadDots{from{opacity:0;transform:translateX(-14px);}to{opacity:1;transform:none;}}

  /* The first background slide fades itself in (main.js activates it once the
     photo has loaded), so the container is not animated on a timer here. */
  .hero-grain{animation:heroLoadFade 1.2s ease .45s backwards;}

  [data-hero-kicker]{animation:heroLoadRiseSm .7s cubic-bezier(.2,.7,.2,1) .22s backwards;}
  [data-hero-title]{animation:heroLoadRise .85s cubic-bezier(.2,.7,.2,1) .32s backwards;}
  [data-hero-lead]{animation:heroLoadRise .85s cubic-bezier(.2,.7,.2,1) .44s backwards;}
  .hero-ctas{animation:heroLoadRise .8s cubic-bezier(.2,.7,.2,1) .56s backwards;}
  .hero-stats > div{animation:heroLoadRiseSm .7s cubic-bezier(.2,.7,.2,1) backwards;}
  .hero-stats > div:nth-child(1){animation-delay:.66s;}
  .hero-stats > div:nth-child(2){animation-delay:.74s;}
  .hero-stats > div:nth-child(3){animation-delay:.82s;}
  .hero-stats > div:nth-child(4){animation-delay:.90s;}
  /* Dots are injected by main.js, so the entrance lives on the buttons —
     it then plays when they actually appear, whatever the network did. */
  .hero-dots button{animation:heroLoadDots .55s cubic-bezier(.2,.7,.2,1) backwards;}
  .hero-dots button:nth-child(1){animation-delay:.1s;}
  .hero-dots button:nth-child(2){animation-delay:.18s;}
  .hero-dots button:nth-child(3){animation-delay:.26s;}
  .hero-dots button:nth-child(4){animation-delay:.34s;}
  .hero-dots button:nth-child(n+5){animation-delay:.42s;}
  .hero .yard-tag{animation:heroLoadCard .9s cubic-bezier(.2,.7,.2,1) .5s backwards;}

  .hero-copy [data-hero-kicker],
  .hero-copy h1,
  .hero-copy p.lead{transition:none;}
  .hero-anim{animation:heroTextIn .7s cubic-bezier(.2,.7,.2,1) both;}
  @keyframes heroTextIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

  .hero-dots{
    position:relative;z-index:2;margin-top:34px;
    display:flex;gap:10px;
  }
  .hero-dots button{
    width:30px;height:4px;border:none;border-radius:2px;
    background:rgba(255,255,255,0.3);cursor:pointer;padding:0;
    transition:background .2s, width .2s;
  }
  .hero-dots button.active{background:var(--rust);width:44px;}
  .hero-dots button:hover{background:rgba(255,255,255,0.6);}

  /* ===== INVENTORY: show more / count ===== */
  .inv-count{
    text-align:center;margin-top:26px;
    font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--gray-mid);
    letter-spacing:0.04em;
  }
  .inv-actions{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:16px;}
  .inv-card{animation:invFade .4s ease both;}
  @keyframes invFade{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

  /* ===== SWIPER ARROWS (clearer hit area, sit centred on the cards) ===== */
  .swiper-button-next,.swiper-button-prev{
    top:calc(50% - 20px); /* offset for the 46px bottom padding so arrows centre on the cards */
    box-shadow:0 8px 20px -6px rgba(0,0,0,0.6);
  }

  /* ===== HONEYPOT (anti-spam; hidden from real users, off-screen not display:none so bots still fill it) ===== */
  .hp-field{
    position:absolute !important;left:-9999px !important;top:auto;
    width:1px;height:1px;opacity:0;pointer-events:none;
  }

  /* ===== SCROLL REVEAL ===== */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}

  @media (prefers-reduced-motion: reduce){
    body{opacity:1;animation:none;}
    .hero-bg-slide.is-active{animation:none;}
    .hero-anim{animation:none;}
    .hero-grain,
    [data-hero-kicker],
    [data-hero-title],
    [data-hero-lead],
    .hero-ctas,
    .hero-stats > div,
    .hero-dots button,
    .hero .yard-tag{animation:none;opacity:1;transform:none;}
    .reveal{opacity:1;transform:none;transition:none;}
    .inv-card{animation:none;}
  }
