
  :root{
    --me-black:#0a0a0a;
    --me-black-soft:#0d0d0d;
    --me-card:#161213;
    --me-card-2:#1c1516;
    --me-red:#e8202f;
    --me-red-light:#ff4d5a;
    --me-white:#f5f5f5;
    --me-gray:#9c9a9a;
    --me-gray-dim:#6f6d6d;
    --me-line:rgba(255,255,255,0.08);
    --me-chip:#232020;
  }
  *{box-sizing:border-box;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--me-black);
    color:var(--me-white);
  }
  h1,h2,h3,h4,.brand-font{
    font-family:'Oswald',sans-serif;
    letter-spacing:.02em;
    text-transform:uppercase;
  }
  .text-brass{color:var(--me-red);}
  .bg-triumph-black{background:var(--me-black);}

  /* NAVBAR */
  .navbar-triumph{
    background:var(--me-black);
    border-bottom:1px solid var(--me-line);
  }
  .navbar-triumph .navbar-brand img{height:38px;}
  .navbar-triumph .nav-link{
    color:#e8e6e6;
    font-family:'Oswald',sans-serif;
    font-size:.8rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin:0 .6rem;
  }
  .navbar-triumph .nav-link:hover{color:var(--me-red);}
  .icon-btn{
    color:#e8e6e6;
    position:relative;
    font-size:1rem;
    padding:.5rem .6rem;
    background:var(--me-chip);
    border-radius:50%;
    width:40px;height:40px;
    display:inline-flex;align-items:center;justify-content:center;
  }
  .icon-btn .badge{
    position:absolute;top:-4px;right:-4px;
    background:var(--me-red);
    color:#fff;
    font-size:.6rem;
    border-radius:50%;
    padding:.15rem .4rem;
  }

  /* HERO */
  .hero{
    background:
      radial-gradient(ellipse 900px 500px at 20% 20%, rgba(140,10,20,.35), transparent 60%),
      linear-gradient(160deg, #170a0b 0%, var(--me-black) 60%);
    color:var(--me-white);
    padding:6rem 0 3.5rem;
    position:relative;
    overflow:hidden;
  }
  .hero .eyebrow{
    letter-spacing:.25em;
    font-size:.72rem;
    color:var(--me-red);
    font-family:'Oswald',sans-serif;
    font-weight:600;
  }
  .hero h1{
    font-size:3.3rem;
    line-height:1.05;
    font-weight:700;
    color:#fff;
  }
  .hero h1 em{
    color:var(--me-red);
    font-style:normal;
  }
  .hero p.lead-text{color:var(--me-gray);}
  .btn-brass{
    background:var(--me-red);
    border:1px solid var(--me-red);
    color:#fff;
    font-family:'Oswald',sans-serif;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:600;
    font-size:.85rem;
    padding:.75rem 1.7rem;
    border-radius:999px;
  }
  .btn-brass:hover{background:var(--me-red-light);border-color:var(--me-red-light);color:#fff;}
  .btn-outline-cream{
    border:1px solid rgba(255,255,255,.35);
    color:var(--me-white);
    font-family:'Oswald',sans-serif;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:600;
    font-size:.85rem;
    padding:.75rem 1.7rem;
    border-radius:999px;
    background:transparent;
  }
  .btn-outline-cream:hover{border-color:var(--me-red);color:#fff;background:rgba(232,32,47,.12);}

  .stat-strip{
    background:var(--me-black);
    color:var(--me-white);
    border-bottom:1px solid var(--me-line);
  }
  .stat-strip .num{
    font-family:'Oswald',sans-serif;
    font-size:1.9rem;
    color:#fff;
    font-weight:700;
  }
  .stat-strip .lbl{
    font-size:.7rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--me-gray-dim);
  }

  /* CATEGORY ICON ROW */
  .cat-row{
    background:var(--me-black-soft);
    border-bottom:1px solid var(--me-line);
  }
  .cat-pill{
    border:none;
    color:var(--me-gray);
    background:transparent;
    font-family:'Inter',sans-serif;
    font-size:.85rem;
    padding:.5rem 1rem;
    display:flex;flex-direction:column;align-items:center;gap:.4rem;
  }
  .cat-pill i{font-size:1.1rem;}
  .cat-pill.active,.cat-pill:hover{color:#fff;}
  .cat-pill.active i,.cat-pill:hover i{color:var(--me-red);}

  /* BIKE CARDS */
  .section-heading .kicker{
    color:var(--me-red);
    font-family:'Oswald',sans-serif;
    letter-spacing:.2em;
    font-size:.72rem;
  }
  .section-heading h2{color:#fff;}
  .section-heading p{color:var(--me-gray);}
  .bike-card{
    background:var(--me-card);
    border:1px solid var(--me-line);
    border-radius:10px;
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
    height:100%;
  }
  .bike-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 34px -18px rgba(232,32,47,.35);
    border-color:rgba(232,32,47,.35);
  }
  .bike-card .img-wrap{
    height:210px;
    background:
      radial-gradient(ellipse at 30% 20%, rgba(140,10,20,.45), transparent 60%),
      var(--me-card-2);
    overflow:hidden;
    position:relative;
  }
  .bike-card .img-wrap img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .35s ease;
  }
  .bike-card:hover .img-wrap img{transform:scale(1.06);}
  .bike-card .cat-tag{
    position:absolute;top:.6rem;left:.6rem;
    background:rgba(10,10,10,.7);
    color:var(--me-red);
    font-family:'Oswald',sans-serif;
    font-size:.62rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    padding:.25rem .6rem;
    border-radius:3px;
    z-index:2;
  }
  .bike-card .wish-tag{
    position:absolute;top:.5rem;right:.5rem;
    width:30px;height:30px;
    background:rgba(10,10,10,.55);
    color:#fff;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:.8rem;
    z-index:2;
  }
  .bike-card .card-body{background:var(--me-card);}
  .bike-card .card-body h5{
    font-size:1.02rem;
    margin-bottom:.1rem;
    color:#fff;
    font-family:'Oswald',sans-serif;
    text-transform:uppercase;
  }
  .bike-card .tagline{
    font-size:.78rem;
    color:var(--me-gray);
    margin-bottom:.6rem;
  }
  .bike-card .spec-row{
    display:flex;gap:.4rem;flex-wrap:wrap;
    margin-bottom:.7rem;
  }
  .bike-card .spec-chip{
    background:var(--me-chip);
    color:#cfcccc;
    font-size:.68rem;
    padding:.25rem .55rem;
    border-radius:4px;
  }
  .bike-card .price{
    font-family:'Oswald',sans-serif;
    color:#fff;
    font-weight:700;
    font-size:1.2rem;
  }
  .bike-card .price-sub{
    font-size:.65rem;
    letter-spacing:.1em;
    color:var(--me-gray-dim);
    text-transform:uppercase;
    margin-bottom:.7rem;
  }
  .btn-add-cart{
    background:var(--me-red);
    color:#fff;
    font-family:'Oswald',sans-serif;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-size:.78rem;
    border:none;
    width:100%;
    padding:.65rem;
    border-radius:999px;
  }
  .btn-add-cart:hover{background:var(--me-red-light);color:#fff;}

  /* BOOKING */
  .booking-section{
    background:
      radial-gradient(ellipse 700px 400px at 80% 30%, rgba(140,10,20,.3), transparent 60%),
      var(--me-black-soft);
    color:var(--me-white);
    padding:4rem 0;
    border-top:1px solid var(--me-line);
    border-bottom:1px solid var(--me-line);
  }
  .booking-section p{color:var(--me-gray);}
  .booking-section .form-select,.booking-section .form-control{
    border-radius:6px;
    border:1px solid var(--me-line);
    padding:.75rem 1rem;
    background:var(--me-chip);
    color:#fff;
  }
  .booking-section .form-control::placeholder{color:var(--me-gray-dim);}
  .booking-section .form-select:focus,.booking-section .form-control:focus{
    background:var(--me-chip);color:#fff;border-color:var(--me-red);box-shadow:none;
  }

  /* FAQ */
  .accordion-item{
    background:var(--me-card);
    border:1px solid var(--me-line);
  }
  .accordion-button{
    font-family:'Oswald',sans-serif;
    text-transform:uppercase;
    font-size:.9rem;
    letter-spacing:.03em;
    background:var(--me-card);
    color:#fff;
  }
  .accordion-button:not(.collapsed){
    background:var(--me-card-2);
    color:var(--me-red);
    box-shadow:none;
  }
  .accordion-button::after{filter:invert(1);}
  .accordion-button:focus{box-shadow:none;}
  .accordion-body{background:var(--me-card);color:var(--me-gray);}
  #faq{background:var(--me-black);}
  .section-heading + .row .kicker{color:var(--me-red);}

  /* FOOTER */
  footer.site-footer{
    background:var(--me-black);
    color:var(--me-gray);
    padding:3.5rem 0 1.5rem;
    border-top:1px solid var(--me-line);
  }
  footer.site-footer h6{
    color:#fff;
    font-family:'Oswald',sans-serif;
    letter-spacing:.1em;
    font-size:.8rem;
  }
  footer.site-footer a{
    color:var(--me-gray);
    text-decoration:none;
  }
  footer.site-footer a:hover{color:var(--me-red);}

  /* CART OFFCANVAS */
  .offcanvas{background:var(--me-black);color:#fff;}
  .offcanvas-header{border-bottom:1px solid var(--me-line);}
  .btn-close{filter:invert(1);}
  .cart-item{
    display:flex;gap:.75rem;align-items:center;
    border-bottom:1px solid var(--me-line);padding:.75rem 0;
  }
  .cart-item img{width:64px;height:48px;object-fit:cover;border-radius:4px;}
  .offcanvas .text-muted{color:var(--me-gray)!important;}
  .offcanvas .border-top{border-color:var(--me-line)!important;}
  .toast-container{z-index:1080;}
