
  :root{
    --bg:#0a0a0c;
    --bg-alt:#111114;
    --card:#161619;
    --line:#26262b;
    --red:#E2222A;
    --red-dark:#B5171E;
    --muted:#9a9aa2;
  }
  body{
    background:var(--bg);
    color:#fff;
    font-family:'Inter', sans-serif;
  }
  h1,h2,h3,h4,.display-font{
    font-family:'Oswald', sans-serif;
    text-transform:uppercase;
    letter-spacing:.01em;
  }
  a{text-decoration:none;}
  .text-red{color:var(--red) !important;}
  .bg-red{background:var(--red) !important;}
  .btn-red{background:var(--red); border-color:var(--red); color:#fff; font-weight:600; text-transform:uppercase; font-size:.8rem; letter-spacing:.03em;}
  .btn-red:hover{background:var(--red-dark); border-color:var(--red-dark); color:#fff;}
  .btn-outline-red{border:1.5px solid #fff; color:#fff; background:none; font-weight:600; text-transform:uppercase; font-size:.8rem; letter-spacing:.03em;}
  .btn-outline-red:hover{border-color:var(--red); color:var(--red); background:none;}
  .eyebrow{
    font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--red);
  }

  /* Navbar */
  .navbar{background:var(--bg) !important; border-bottom:1px solid var(--line);}
  .navbar-brand{font-family:'Oswald'; font-weight:700; letter-spacing:.03em; font-size:1.15rem;}
  .navbar-brand span{color:var(--red);}
  .nav-link{color:#e6e6e9 !important; font-weight:600; font-size:.8rem; text-transform:uppercase; letter-spacing:.03em;}
  .nav-link:hover{color:var(--red) !important;}
  .icon-btn{
    width:40px; height:40px; border-radius:50%; border:1px solid var(--line);
    display:inline-flex; align-items:center; justify-content:center; color:#fff; background:none; position:relative;
  }
  .icon-btn:hover{border-color:var(--red); color:var(--red);}
  .cart-badge{
    position:absolute; top:-6px; right:-6px; background:var(--red); color:#fff;
    font-size:.65rem; width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  }

  /* Hero */
  .hero{
    background:
      radial-gradient(900px 400px at 85% -10%, rgba(226,34,42,.16), transparent 60%),
      var(--bg);
    padding-top:70px;
  }
  .hero .display{font-size:clamp(2.6rem,6vw,4.6rem); font-weight:700; line-height:1.02; margin-bottom:1rem;}
  .hero p.lead{color:var(--muted); max-width:520px; font-size:1.02rem;}
  .speedo-wrap{
    aspect-ratio:1/1; max-width:340px; margin-left:auto; display:flex; align-items:center; justify-content:center;
    border:1px dashed var(--line); border-radius:50%;
  }
  .speedo-wrap i{font-size:6rem; color:var(--red); opacity:.85;}
  .stats-strip{border-top:1px solid var(--line); background:var(--bg-alt);}
  .stats-strip .stat-num{font-family:'Oswald'; font-weight:700; font-size:1.7rem;}
  .stats-strip .stat-lbl{font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}
  .stats-strip .col{border-right:1px solid var(--line);}
  .stats-strip .col:last-child{border-right:none;}

  /* category strip */
  .cat-strip{background:var(--bg-alt); border-bottom:1px solid var(--line);}
  .cat-item{text-align:center; padding:1.6rem 0.5rem; cursor:pointer; transition:.2s;}
  .cat-item i{font-size:1.7rem; color:var(--muted); margin-bottom:.5rem; display:block;}
  .cat-item span{font-size:.8rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em;}
  .cat-item:hover i, .cat-item:hover span{color:var(--red);}

  /* Tabs */
  .filter-tab{
    background:none; border:1.5px solid var(--line); color:#dcdce0; border-radius:100px;
    padding:.5rem 1.2rem; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  }
  .filter-tab.active{background:var(--red); border-color:var(--red); color:#fff;}
  .filter-tab:hover:not(.active){border-color:var(--red); color:var(--red);}

  /* Cards */
  .bike-card{background:var(--card); border:1px solid var(--line); border-radius:10px; overflow:hidden; height:100%;}
  .bike-card .media{position:relative; aspect-ratio:4/3; background:linear-gradient(160deg,#2a0e12,#120a0c); overflow:hidden;}
  .bike-card .media img{width:100%; height:100%; object-fit:cover;}
  .badge-cat{position:absolute; top:10px; left:10px; background:var(--red); font-size:.65rem; text-transform:uppercase; letter-spacing:.05em; font-weight:700; padding:.35rem .6rem;}
  .wish-btn{position:absolute; top:10px; right:10px; width:32px; height:32px; border-radius:50%; background:rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.2); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.85rem;}
  .bike-card .card-body h3{font-size:1.15rem; margin-bottom:.15rem;}
  .bike-card .card-body .tag{color:var(--muted); font-size:.82rem; margin-bottom:.75rem;}
  .spec-pill{background:#1e1e23; border:1px solid var(--line); color:#d5d5da; font-size:.7rem; padding:.3rem .55rem; border-radius:5px;}
  .price-tag{font-family:'Oswald'; font-weight:700; font-size:1.25rem;}
  .price-sub{font-size:.68rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em;}

  /* Story / signature */
  .story-band{
    background:linear-gradient(120deg,#1c0a0d,#0a0a0c 60%);
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .stripe-block{
    height:170px; border-radius:14px;
    background:linear-gradient(90deg,#1c5eaa 0 33%, #5b2a7a 33% 66%, #c8102e 66% 100%);
  }

  /* Booking */
  .booking-card{background:var(--card); border:1px solid var(--line); border-radius:12px;}
  .form-control, .form-select{
    background:#1a1a1e; border:1px solid var(--line); color:#fff;
  }
  .form-control:focus, .form-select:focus{
    background:#1a1a1e; color:#fff; border-color:var(--red); box-shadow:0 0 0 .2rem rgba(226,34,42,.2);
  }
  .form-control::placeholder{color:#75757c;}

  /* Accordion */
  .accordion-item{background:var(--card); border:1px solid var(--line);}
  .accordion-button{background:var(--card); color:#fff; font-weight:600;}
  .accordion-button:not(.collapsed){background:var(--card); color:var(--red); box-shadow:none;}
  .accordion-button::after{filter:invert(1);}
  .accordion-body{color:var(--muted);}

  /* Footer */
  footer{background:var(--bg-alt); border-top:1px solid var(--line);}
  footer h6{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted);}
  footer a{color:#c9c9cf;}
  footer a:hover{color:var(--red);}
  .footer-bottom{border-top:1px solid var(--line); font-size:.78rem; color:var(--muted);}

  /* Offcanvas cart */
  .offcanvas{background:var(--bg-alt); color:#fff;}
  .offcanvas-header{border-bottom:1px solid var(--line);}
  .cart-item img{width:60px; height:60px; object-fit:cover; border-radius:6px; background:#1e1e23;}
  .cart-item{border-bottom:1px solid var(--line);}
  .btn-close{filter:invert(1);}

  .toast{background:var(--card); color:#fff; border:1px solid var(--line);}
