 :root {
      --black: #050505;
      --matte: #090909;
      --graphite: #141414;
      --carbon: #1e1e1e;
      --red: #ff1f2d;
      --white: #f7f7f2;
      --titanium: #d7d7cf;
      --smoke: #a7a7a0;
      --line: rgba(255, 255, 255, .12);
  }

  * {
      box-sizing: border-box;
  }

  html {
      scroll-behavior: smooth;
      background: var(--black);
  }

  body {
      margin: 0;
      background: radial-gradient(circle at 20% 8%, rgba(255, 31, 45, .14), transparent 30rem), linear-gradient(180deg, #050505, #0b0b0b 40%, #050505);
      color: var(--white);
      font-family: Inter, "Helvetica Neue", Arial, sans-serif;
      overflow-x: hidden;
  }

  a {
      color: inherit;
      text-decoration: none;
  }

  img,
  video,
  iframe {
      display: block;
      max-width: 100%;
  }

  h1,
  h2,
  h3 {
      font-family: "Bebas Neue", Oswald, sans-serif;
      font-weight: 400;
      letter-spacing: 0;
      margin: 0;
      text-transform: uppercase;
  }

  button,
  select,
  input {
      font: inherit;
  }

  .nav {
      align-items: center;
      backdrop-filter: blur(20px);
      background: rgba(5, 5, 5, .86);
      border-bottom: 1px solid var(--line);
      display: flex;
      height: 80px;
      justify-content: space-between;
      left: 0;
      padding: 0 clamp(20px, 5vw, 72px);
      position: fixed;
      right: 0;
      top: 0;
      z-index: 50;
  }

  .brand {
      align-items: center;
      display: flex;
      gap: 12px;
  }

  .mark {
      background: var(--red);
      box-shadow: 0 0 40px rgba(255, 31, 45, .28);
      display: grid;
      font-weight: 900;
      height: 42px;
      place-items: center;
      width: 42px;
  }

  .brand strong {
      display: block;
      font-family: "Bebas Neue";
      font-size: 32px;
      line-height: .8;
  }

  .brand small {
      color: var(--smoke);
      display: block;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .32em;
      margin-top: 4px;
      text-transform: uppercase;
  }

  .nav-links {
      display: flex;
      gap: 18px;
  }

  .nav-link {
      color: var(--titanium);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .14em;
      padding: 30px 0;
      position: relative;
      text-transform: uppercase;
  }

  .dropdown {
      background: rgba(20, 20, 20, .97);
      border: 1px solid var(--line);
      box-shadow: 0 24px 80px rgba(0, 0, 0, .45);
      left: 0;
      min-width: 220px;
      opacity: 0;
      padding: 10px;
      pointer-events: none;
      position: absolute;
      top: 100%;
      transform: translateY(10px);
      transition: .2s;
  }

  .nav-link:hover {
      color: var(--red);
  }

  .nav-link:hover .dropdown {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0);
  }

  .dropdown span {
      border-bottom: 1px solid rgba(255, 255, 255, .06);
      color: var(--smoke);
      display: block;
      padding: 12px;
  }

  .button,
  .button-red,
  .button-shell {
      align-items: center;
      border: 1px solid rgba(255, 255, 255, .16);
      display: inline-flex;
      font-size: 12px;
      font-weight: 900;
      gap: 10px;
      justify-content: center;
      letter-spacing: .18em;
      min-height: 48px;
      overflow: hidden;
      padding: 0 20px;
      position: relative;
      text-align: center;
      text-transform: uppercase;
      transition: .22s ease;
  }

  .button-red {
      background: var(--red);
      border-color: var(--red);
      box-shadow: 0 0 40px rgba(255, 31, 45, .28);
      color: white;
  }

  .button-shell {
      background: rgba(255, 255, 255, .045);
      color: var(--white);
      backdrop-filter: blur(16px);
  }

  .button:hover,
  .button-red:hover,
  .button-shell:hover {
      border-color: var(--red);
      transform: translateY(-2px);
  }

  .shimmer::before,
  .sweep::before {
      background: linear-gradient(110deg, transparent, rgba(255, 255, 255, .26), transparent);
      content: "";
      inset: 0;
      position: absolute;
      transform: translateX(-120%);
      transition: .65s ease;
  }

  .shimmer:hover::before,
  .sweep:hover::before {
      transform: translateX(120%);
  }

  .hero {
      min-height: 100vh;
      overflow: hidden;
      position: relative;
  }

  .hero video {
      height: 100%;
      inset: 0;
      object-fit: cover;
      opacity: 1;
      position: absolute;
      width: 100%;
  }

  .hero::after {
      background: linear-gradient(90deg, rgba(5, 5, 5, .94), rgba(5, 5, 5, .52) 48%, rgba(5, 5, 5, .88)), linear-gradient(180deg, transparent, #050505 94%);
      content: "";
      inset: 0;
      position: absolute;
  }

  .hero-inner {
      align-items: center;
      display: flex;
      min-height: 100vh;
      padding: 130px clamp(20px, 5vw, 72px) 150px;
      position: relative;
      z-index: 2;
  }

  .kicker {
      border: 1px solid rgba(255, 31, 45, .42);
      color: var(--red);
      display: inline-flex;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .28em;
      margin-bottom: 22px;
      padding: 10px 14px;
      text-transform: uppercase;
  }

  h1 {
      font-size: clamp(76px, 15vw, 178px);
      line-height: .78;
      max-width: 980px;
  }

  .hero p {
      color: var(--titanium);
      font-size: clamp(18px, 2vw, 25px);
      font-weight: 600;
      margin: 30px 0 0;
  }

  .actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 34px;
  }

  .trust {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(3, 1fr);
      margin: -112px auto 0;
      max-width: 1180px;
      padding: 0 20px 40px;
      position: relative;
      z-index: 4;
  }

  .glass {
      backdrop-filter: blur(22px);
      background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .035));
      border: 1px solid var(--line);
      box-shadow: 0 24px 80px rgba(0, 0, 0, .42);
  }

  .trust .glass {
      align-items: center;
      display: flex;
      font-size: 13px;
      font-weight: 900;
      gap: 12px;
      letter-spacing: .1em;
      padding: 18px;
      text-transform: uppercase;
  }

  .check {
      background: var(--red);
      display: grid;
      height: 30px;
      place-items: center;
      width: 30px;
  }

  section {
      padding: clamp(72px, 8vw, 128px) clamp(20px, 5vw, 72px);
  }

  .section-title {
      margin: 0 auto 50px;
      max-width: 760px;
      text-align: center;
  }

  .section-title h2 {
      font-size: clamp(52px, 7vw, 92px);
      line-height: .92;
      margin-top: 12px;
  }

  .section-title p,
  .muted {
      color: var(--smoke);
      line-height: 1.7;
  }

  .grid {
      display: grid;
      gap: 14px;
      margin: 0 auto;
      max-width: 1180px;
  }

  .machine-wrap {
      display: grid;
      gap: 24px;
      grid-template-columns: .95fr 1.05fr;
      margin: 0 auto;
      max-width: 1180px;
  }

  .bike-grid {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(2, 1fr);
  }

  .bike-btn {
      background: transparent;
      color: white;
      cursor: pointer;
      min-height: 112px;
      padding: 20px;
      text-align: left;
  }

  .bike-btn.active {
      background: var(--red);
      border-color: var(--red);
      box-shadow: 0 0 40px rgba(255, 31, 45, .28);
  }

  .bike-btn small,
  .meta {
      color: var(--smoke);
      display: block;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .2em;
      text-transform: uppercase;
  }

  .bike-btn strong {
      display: block;
      font-family: Oswald;
      font-size: 26px;
      margin-top: 10px;
      text-transform: uppercase;
  }

  .summary {
      padding: 28px;
  }

  .summary h3 {
      font-size: 42px;
      line-height: 1;
  }

  .mini-stats {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(2, 1fr);
      margin-top: 22px;
  }

  .mini-stats div,
  .reason,
  .process-card {
      background: rgba(0, 0, 0, .28);
      border: 1px solid rgba(255, 255, 255, .1);
      padding: 18px;
  }

  .marquee {
      border-block: 1px solid var(--line);
      overflow: hidden;
      padding: 24px 0;
      white-space: nowrap;
  }

  .marquee-track {
      animation: slide 24s linear infinite;
      display: inline-flex;
      gap: 44px;
  }

  .marquee span {
      color: var(--titanium);
      font-size: 24px;
      font-weight: 900;
      letter-spacing: .22em;
      text-transform: uppercase;
  }

  @keyframes slide {
      from {
          transform: translateX(0);
      }

      to {
          transform: translateX(-50%);
      }
  }

  .categories {
      grid-template-columns: repeat(5, 1fr);
  }

  .tile {
      min-height: 158px;
      padding: 22px;
      position: relative;
      transition: .25s ease;
  }

  .tile:hover,
  .product:hover,
  .bundle:hover,
  .service:hover {
      transform: translateY(-8px);
  }

  .tile b {
      color: var(--red);
      display: block;
      font-size: 24px;
      margin-bottom: 30px;
  }

  .tile h3,
  .service h3 {
      font-size: 28px;
      line-height: 1;
  }

  .band {
      background: var(--matte);
  }

  .filters {
      margin: 0 auto 22px;
      max-width: 1180px;
      padding: 18px;
  }

  .filter-grid {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(5, 1fr);
      margin-top: 18px;
  }

  label {
      color: var(--titanium);
      display: grid;
      font-size: 11px;
      font-weight: 900;
      gap: 8px;
      letter-spacing: .18em;
      text-transform: uppercase;
  }

  select,
  input {
      background: rgba(5, 5, 5, .78);
      border: 1px solid rgba(255, 255, 255, .14);
      color: white;
      min-height: 46px;
      padding: 0 12px;
  }

  .products {
      grid-template-columns: repeat(3, 1fr);
  }

  .product {
      background: var(--graphite);
      border: 1px solid rgba(255, 255, 255, .1);
      overflow: hidden;
      transition: .25s ease;
  }

  .product-media {
      aspect-ratio: 4 / 3;
      overflow: hidden;
      position: relative;
  }

  .product-media img {
      height: 100%;
      object-fit: cover;
      opacity: .86;
      transition: .6s ease;
      width: 100%;
  }

  .product:hover img {
      opacity: 1;
      transform: scale(1.08);
  }

  .badge {
      background: var(--red);
      font-size: 10px;
      font-weight: 900;
      left: 14px;
      letter-spacing: .16em;
      padding: 9px 10px;
      position: absolute;
      text-transform: uppercase;
      top: 14px;
  }

  .tags {
      bottom: 14px;
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      left: 14px;
      position: absolute;
      right: 14px;
  }

  .tags span {
      background: rgba(0, 0, 0, .72);
      font-size: 10px;
      font-weight: 900;
      padding: 6px 8px;
      text-transform: uppercase;
  }

  .product-body {
      padding: 22px;
  }

  .product h3,
  .bundle h3 {
      font-size: 32px;
      line-height: 1;
  }

  .price {
      border-top: 1px solid rgba(255, 255, 255, .1);
      font-weight: 900;
      margin-top: 18px;
      padding-top: 18px;
  }

  .bundles {
      grid-template-columns: repeat(5, 1fr);
  }

  .bundle,
  .service {
      padding: 24px;
      transition: .25s ease;
  }

  .bundle ul {
      color: var(--smoke);
      margin: 18px 0 0;
      padding-left: 18px;
  }

  .bundle-info {
      display: grid;
      gap: 8px;
      grid-template-columns: 1fr 1fr;
      margin: 20px 0;
  }

  .bundle-info span {
      border: 1px solid rgba(255, 255, 255, .1);
      font-size: 11px;
      font-weight: 900;
      padding: 12px;
      text-transform: uppercase;
  }

  .booking-wrap,
  .why-wrap,
  .showcase,
  .location-wrap {
      display: grid;
      gap: 28px;
      grid-template-columns: .9fr 1.1fr;
      margin: 0 auto;
      max-width: 1180px;
  }

  .booking-form {
      padding: 28px;
      position: sticky;
      top: 100px;
  }

  .form-grid {
      display: grid;
      gap: 14px;
      grid-template-columns: 1fr 1fr;
  }

  .services {
      grid-template-columns: repeat(5, 1fr);
  }

  .icon {
      background: var(--red);
      display: grid;
      height: 50px;
      margin-bottom: 30px;
      place-items: center;
      width: 50px;
  }

  .process {
      grid-template-columns: repeat(4, 1fr);
  }

  .process-card b {
      color: var(--red);
      display: block;
      font-family: "Bebas Neue";
      font-size: 62px;
      line-height: .8;
  }

  .why {
      background: linear-gradient(135deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 10px), radial-gradient(circle at 50% 0%, rgba(255, 31, 45, .18), transparent 34%);
  }

  .why h2,
  .booking-wrap h2 {
      font-size: clamp(58px, 8vw, 104px);
      line-height: .92;
  }

  .reasons {
      display: grid;
      gap: 14px;
      grid-template-columns: repeat(2, 1fr);
  }

  .transform {
      display: grid;
      gap: 18px;
      grid-template-columns: 1.25fr .75fr;
      margin: 0 auto;
      max-width: 1180px;
  }

  .transform-main {
      min-height: 460px;
      overflow: hidden;
      position: relative;
  }

  .transform-main img {
      height: 100%;
      min-height: 460px;
      object-fit: cover;
      opacity: .75;
      width: 100%;
  }

  .columns {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      inset: 0;
      position: absolute;
  }

  .columns div {
      align-items: end;
      border-right: 1px solid rgba(255, 255, 255, .15);
      display: flex;
      padding: 18px;
  }

  .columns span {
      background: rgba(0, 0, 0, .72);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .15em;
      padding: 9px;
      text-transform: uppercase;
  }

  .transform-list {
      display: grid;
      gap: 12px;
  }

  .transform-btn {
      background: transparent;
      color: white;
      cursor: pointer;
      padding: 20px;
      text-align: left;
  }

  .transform-btn.active {
      background: var(--red);
      border-color: var(--red);
  }

  .video {
      grid-template-columns: 1.35fr .65fr;
  }

  .video video {
      border: 1px solid rgba(255, 255, 255, .1);
      height: 420px;
      object-fit: cover;
      width: 100%;
  }

  .notes {
      display: grid;
      gap: 14px;
  }

  .note {
      padding: 22px;
  }

  .reviews-track {
      animation: slide 24s linear infinite;
      display: flex;
      gap: 18px;
      width: max-content;
  }

  .review {
      flex: 0 0 400px;
      padding: 28px;
  }

  .review h3 {
      font-size: 34px;
      line-height: 1;
  }

  .address {
      padding: 32px;
  }

  .address h2 {
      font-size: 66px;
      line-height: .9;
  }

  .map {
      border: 1px solid rgba(255, 255, 255, .1);
      filter: grayscale(1) invert(.9) contrast(1.25);
      min-height: 430px;
      width: 100%;
  }

  footer {
      background: #000;
      border-top: 1px solid rgba(255, 255, 255, .1);
      display: grid;
      gap: 32px;
      grid-template-columns: 1fr 1.2fr .8fr;
      padding: 48px clamp(20px, 5vw, 72px);
  }

  footer h2 {
      font-size: 52px;
  }

  .footer-links {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(5, 1fr);
  }

  .float {
      bottom: 18px;
      display: grid;
      gap: 10px;
      position: fixed;
      right: 18px;
      z-index: 40;
  }

  .float a {
      background: var(--red);
      box-shadow: 0 0 34px rgba(255, 31, 45, .28);
      display: grid;
      height: 50px;
      place-items: center;
      width: 50px;
  }

  .mobile-bar {
      display: none;
  }

  .empty {
      border: 1px solid rgba(255, 31, 45, .4);
      margin: 22px auto 0;
      max-width: 1180px;
      padding: 24px;
      text-align: center;
  }

  /* --- bike brand/category selector --- */
  .brand-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 auto 18px;
      max-width: 1180px;
  }

  .brand-tab {
      background: rgba(255, 255, 255, .045);
      border: 1px solid rgba(255, 255, 255, .16);
      color: var(--titanium);
      cursor: pointer;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .12em;
      padding: 10px 16px;
      text-transform: uppercase;
  }

  .brand-tab.active {
      background: var(--red);
      border-color: var(--red);
      color: white;
  }

  .bike-grid-scroll {
      max-height: 560px;
      overflow-y: auto;
      padding-right: 6px;
  }

  .bike-grid-scroll::-webkit-scrollbar {
      width: 6px;
  }

  .bike-grid-scroll::-webkit-scrollbar-thumb {
      background: rgba(255, 255, 255, .18);
  }

  .bike-btn .cat-tag {
      color: var(--red);
      display: block;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      margin-top: 6px;
      text-transform: uppercase;
  }

  .nav-bike-groups {
      columns: 3;
      column-gap: 18px;
      padding: 10px;
      width: 560px;
  }

  .nav-bike-groups .group {
      break-inside: avoid;
      margin-bottom: 14px;
  }

  .nav-bike-groups .group-label {
      color: var(--red);
      display: block;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .14em;
      margin-bottom: 6px;
      text-transform: uppercase;
  }

  .nav-bike-groups .group span {
      border-bottom: none;
      color: var(--smoke);
      display: block;
      font-size: 12px;
      padding: 4px 0;
  }

  /* --- credentials / team --- */
  .cred-strip {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(4, 1fr);
      margin: 0 auto 56px;
      max-width: 1180px;
  }

  .cred-strip .glass {
      padding: 20px;
      text-align: center;
  }

  .cred-strip .glass b {
      color: var(--red);
      display: block;
      font-family: "Bebas Neue";
      font-size: 40px;
      line-height: 1;
  }

  .cred-strip .glass span {
      color: var(--smoke);
      display: block;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .14em;
      margin-top: 8px;
      text-transform: uppercase;
  }

  .team-grid {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(2, 1fr);
      margin: 0 auto;
      max-width: 1180px;
  }

  .team-card {
      overflow: hidden;
  }

  .team-photo {
      aspect-ratio: 1;
      overflow: hidden;
      position: relative;
  }

  .team-photo img {
      height: 100%;
      object-fit: cover;
      width: 100%;
  }

  .team-body {
      padding: 22px;
  }

  .team-body h3 {
      font-size: 26px;
      line-height: 1;
  }

  .team-role {
      color: var(--red);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .16em;
      margin-top: 8px;
      text-transform: uppercase;
  }

  .team-certs {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 14px;
  }

  .team-certs span {
      background: rgba(255, 255, 255, .06);
      border: 1px solid var(--line);
      font-size: 10px;
      font-weight: 900;
      padding: 6px 9px;
      text-transform: uppercase;
  }

  .guarantee-band {
      align-items: center;
      display: flex;
      gap: 16px;
      justify-content: center;
      margin-top: 46px;
      padding: 22px;
      text-align: center;
  }

  .guarantee-band p {
      color: var(--titanium);
      font-size: 14px;
      line-height: 1.7;
      margin: 0;
      max-width: 760px;
  }

  @media (max-width: 900px) {

      .cred-strip,
      .team-grid {
          grid-template-columns: 1fr 1fr;
      }
  }

  @media (max-width: 640px) {

      .cred-strip,
      .team-grid {
          grid-template-columns: 1fr;
      }

      .guarantee-band {
          flex-direction: column;
      }
  }

  /* --- reveal on scroll --- */
  .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .7s ease, transform .7s ease;
  }

  .reveal.in {
      opacity: 1;
      transform: translateY(0);
  }

  /* --- wishlist --- */
  .wish-btn {
      align-items: center;
      background: rgba(0, 0, 0, .55);
      border: 1px solid rgba(255, 255, 255, .25);
      cursor: pointer;
      display: grid;
      height: 38px;
      place-items: center;
      position: absolute;
      right: 14px;
      top: 14px;
      width: 38px;
      z-index: 2;
  }

  .wish-btn.active {
      background: var(--red);
      border-color: var(--red);
  }

  .wishlist-btn {
      align-items: center;
      background: rgba(255, 255, 255, .045);
      border: 1px solid rgba(255, 255, 255, .16);
      cursor: pointer;
      display: inline-flex;
      gap: 8px;
      height: 48px;
      padding: 0 16px;
      position: relative;
  }

  .wishlist-btn:hover {
      border-color: var(--red);
  }

  .wishlist-count {
      background: var(--red);
      border-radius: 50%;
      display: grid;
      font-size: 11px;
      font-weight: 900;
      height: 20px;
      place-items: center;
      position: absolute;
      right: -8px;
      top: -8px;
      width: 20px;
  }

  /* --- inner circle / retention --- */
  .circle-wrap {
      align-items: center;
      display: grid;
      gap: 28px;
      grid-template-columns: 1.1fr .9fr;
      margin: 0 auto;
      max-width: 1180px;
      padding: 40px;
  }

  .circle-form {
      display: flex;
      flex-direction: column;
      gap: 12px;
  }

  .circle-form-row {
      display: flex;
      gap: 10px;
  }

  .circle-form-row input {
      flex: 1;
  }

  @media (max-width: 900px) {
      .circle-wrap {
          grid-template-columns: 1fr;
          text-align: center;
      }

      .circle-form-row {
          flex-direction: column;
      }
  }

  /* --- usefulness additions --- */
  .cart-btn {
      align-items: center;
      background: rgba(255, 255, 255, .045);
      border: 1px solid rgba(255, 255, 255, .16);
      cursor: pointer;
      display: inline-flex;
      gap: 8px;
      height: 48px;
      padding: 0 16px;
      position: relative;
  }

  .cart-btn:hover {
      border-color: var(--red);
  }

  .cart-count {
      background: var(--red);
      border-radius: 50%;
      display: grid;
      font-size: 11px;
      font-weight: 900;
      height: 20px;
      place-items: center;
      position: absolute;
      right: -8px;
      top: -8px;
      width: 20px;
  }

  .cart-overlay {
      background: rgba(0, 0, 0, .7);
      inset: 0;
      opacity: 0;
      pointer-events: none;
      position: fixed;
      transition: .25s;
      z-index: 90;
  }

  .cart-overlay.open {
      opacity: 1;
      pointer-events: auto;
  }

  .cart-panel {
      background: var(--matte);
      border-left: 1px solid var(--line);
      bottom: 0;
      display: flex;
      flex-direction: column;
      max-width: 92vw;
      padding: 26px;
      position: fixed;
      right: 0;
      top: 0;
      transform: translateX(100%);
      transition: .3s ease;
      width: 420px;
      z-index: 91;
  }

  .cart-overlay.open .cart-panel {
      transform: translateX(0);
  }

  .cart-head {
      align-items: center;
      display: flex;
      justify-content: space-between;
      margin-bottom: 18px;
  }

  .cart-close {
      background: transparent;
      border: 1px solid var(--line);
      color: white;
      cursor: pointer;
      height: 36px;
      width: 36px;
  }

  .cart-items {
      display: flex;
      flex-direction: column;
      gap: 12px;
      overflow-y: auto;
  }

  .cart-item {
      border: 1px solid var(--line);
      display: grid;
      gap: 4px;
      grid-template-columns: 1fr auto;
      padding: 14px;
  }

  .cart-item h4 {
      font-family: Oswald;
      font-size: 16px;
      margin: 0;
      text-transform: none;
  }

  .cart-item .muted {
      font-size: 12px;
      margin: 0;
  }

  .cart-item .qty-row {
      align-items: center;
      display: flex;
      gap: 8px;
      margin-top: 6px;
  }

  .cart-item .qty-row button {
      background: rgba(255, 255, 255, .08);
      border: 1px solid var(--line);
      color: white;
      cursor: pointer;
      height: 26px;
      width: 26px;
  }

  .cart-remove {
      background: transparent;
      border: none;
      color: var(--smoke);
      cursor: pointer;
      font-size: 11px;
      text-decoration: underline;
      text-transform: uppercase;
  }

  .cart-empty {
      color: var(--smoke);
      padding: 30px 0;
      text-align: center;
  }

  .cart-footer {
      border-top: 1px solid var(--line);
      margin-top: 16px;
      padding-top: 16px;
  }

  .cart-total {
      display: flex;
      font-weight: 900;
      justify-content: space-between;
      margin-bottom: 14px;
  }

  .badges {
      display: grid;
      gap: 10px;
      grid-template-columns: repeat(6, 1fr);
      margin: 0 auto;
      max-width: 1180px;
  }

  .badges .glass {
      align-items: center;
      display: flex;
      flex-direction: column;
      font-size: 10px;
      font-weight: 900;
      gap: 8px;
      letter-spacing: .08em;
      padding: 14px 8px;
      text-align: center;
      text-transform: uppercase;
  }

  .field-full {
      grid-column: 1 / -1;
  }

  .conditional {
      display: none;
  }

  .conditional.show {
      display: grid;
  }

  .checkbox-row {
      align-items: center;
      display: flex;
      gap: 10px;
  }

  .checkbox-row input {
      height: 18px;
      width: 18px;
  }

  .pincode-box {
      align-items: end;
      display: flex;
      gap: 10px;
      margin: 26px auto 0;
      max-width: 1180px;
  }

  .pincode-box label {
      flex: 1;
  }

  .pincode-result {
      color: var(--red);
      font-size: 13px;
      font-weight: 700;
      margin-top: 12px;
      max-width: 1180px;
  }

  .faq {
      display: grid;
      gap: 10px;
      margin: 0 auto;
      max-width: 860px;
  }

  .faq details {
      border: 1px solid var(--line);
      padding: 18px 20px;
  }

  .faq summary {
      cursor: pointer;
      font-family: Oswald;
      font-size: 17px;
      font-weight: 600;
      list-style: none;
      text-transform: none;
  }

  .faq summary::-webkit-details-marker {
      display: none;
  }

  .faq summary::after {
      content: "+";
      float: right;
  }

  .faq details[open] summary::after {
      content: "−";
  }

  .faq p {
      color: var(--smoke);
      line-height: 1.7;
      margin: 12px 0 0;
  }

  .hours {
      display: grid;
      gap: 4px;
      margin-top: 14px;
  }

  .hours div {
      color: var(--smoke);
      display: flex;
      font-size: 13px;
      justify-content: space-between;
  }

  .hours strong {
      color: var(--white);
  }

  .req-type-note {
      background: rgba(255, 31, 45, .08);
      border-left: 3px solid var(--red);
      font-size: 13px;
      margin-top: 4px;
      padding: 10px 12px;
  }

  @media (max-width: 900px) {
      .badges {
          grid-template-columns: repeat(3, 1fr);
      }
  }

  @media (max-width: 640px) {
      .badges {
          grid-template-columns: repeat(2, 1fr);
      }

      .cart-panel {
          width: 100%;
      }

      .pincode-box {
          flex-direction: column;
          align-items: stretch;
      }
  }

  /* --- media: photos + videos --- */
  .transform-thumbs {
      display: grid;
      gap: 8px;
      grid-template-columns: repeat(4, 1fr);
      margin-top: 10px;
  }

  .transform-thumbs button {
      aspect-ratio: 1;
      background: rgba(255, 255, 255, .05);
      border: 1px solid var(--line);
      cursor: pointer;
      overflow: hidden;
      padding: 0;
  }

  .transform-thumbs button.active {
      border-color: var(--red);
  }

  .transform-thumbs img {
      height: 100%;
      object-fit: cover;
      opacity: .7;
      width: 100%;
  }

  .transform-thumbs button.active img,
  .transform-thumbs button:hover img {
      opacity: 1;
  }

  .changes-panel {
      background: rgba(0, 0, 0, .35);
      border: 1px solid var(--line);
      margin-top: 16px;
      padding: 20px;
  }

  .changes-panel h4 {
      color: var(--red);
      font-family: Oswald;
      font-size: 13px;
      letter-spacing: .12em;
      margin: 0 0 6px;
      text-transform: uppercase;
  }

  .changes-panel p {
      color: var(--titanium);
      font-size: 14px;
      line-height: 1.6;
      margin: 0 0 14px;
  }

  .changes-panel p:last-child {
      margin-bottom: 0;
  }

  .video-grid {
      display: grid;
      gap: 20px;
      grid-template-columns: repeat(2, 1fr);
      margin: 0 auto;
      max-width: 1180px;
  }

  .video-card {
      overflow: hidden;
  }

  .video-card video,
  .video-card .video-placeholder {
      aspect-ratio: 16/9;
      background: #000;
      display: block;
      object-fit: cover;
      width: 100%;
  }

  .video-placeholder {
      align-items: center;
      background-size: cover;
      background-position: center;
      display: flex;
      justify-content: center;
      position: relative;
  }

  .video-placeholder::after {
      background: rgba(0, 0, 0, .35);
      content: "";
      inset: 0;
      position: absolute;
  }

  .video-placeholder .play {
      align-items: center;
      background: var(--red);
      border-radius: 50%;
      display: flex;
      height: 60px;
      justify-content: center;
      position: relative;
      width: 60px;
      z-index: 1;
  }

  .video-body {
      padding: 20px 22px;
  }

  .video-body h3 {
      font-size: 26px;
      line-height: 1.05;
      margin-bottom: 8px;
  }

  .gallery-strip {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(4, 1fr);
      margin: 0 auto;
      max-width: 1180px;
  }

  .gallery-strip figure {
      aspect-ratio: 1;
      margin: 0;
      overflow: hidden;
      position: relative;
  }

  .gallery-strip img {
      height: 100%;
      object-fit: cover;
      transition: .5s ease;
      width: 100%;
  }

  .gallery-strip figure:hover img {
      transform: scale(1.08);
  }

  .gallery-strip figcaption {
      background: linear-gradient(0deg, rgba(0, 0, 0, .85), transparent);
      bottom: 0;
      color: white;
      font-size: 11px;
      font-weight: 900;
      left: 0;
      letter-spacing: .1em;
      padding: 26px 12px 10px;
      position: absolute;
      right: 0;
      text-transform: uppercase;
  }

  .media-note {
      color: var(--smoke);
      font-size: 12px;
      margin: 14px auto 0;
      max-width: 1180px;
  }

  @media (max-width: 900px) {
      .video-grid {
          grid-template-columns: 1fr;
      }

      .gallery-strip {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  @media (max-width: 640px) {
      .transform-thumbs {
          grid-template-columns: repeat(4, 1fr);
      }
  }

  @media (max-width: 1180px) {
      .nav-links {
          display: none;
      }

      .bundles,
      .services {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  @media (max-width: 900px) {

      .trust,
      .categories,
      .products,
      .filter-grid,
      .machine-wrap,
      .booking-wrap,
      .why-wrap,
      .showcase,
      .location-wrap,
      .transform,
      .video,
      footer {
          grid-template-columns: 1fr 1fr;
      }

      .machine-wrap,
      .booking-wrap,
      .why-wrap,
      .showcase,
      .location-wrap,
      .transform,
      .video,
      footer {
          grid-template-columns: 1fr;
      }

      .process {
          grid-template-columns: repeat(2, 1fr);
      }
  }

  @media (max-width: 640px) {

      .trust,
      .categories,
      .products,
      .bundles,
      .services,
      .filter-grid,
      .bike-grid,
      .mini-stats,
      .form-grid,
      .reasons,
      .process,
      .footer-links {
          grid-template-columns: 1fr;
      }

      h1 {
          font-size: 78px;
      }

      .hero-inner {
          padding-bottom: 150px;
      }

      .float {
          display: none;
      }

      .mobile-bar {
          backdrop-filter: blur(18px);
          background: rgba(0, 0, 0, .9);
          border-top: 1px solid var(--line);
          bottom: 0;
          display: grid;
          gap: 8px;
          grid-template-columns: 1fr 1fr;
          left: 0;
          padding: 12px;
          position: fixed;
          right: 0;
          z-index: 45;
      }
  }


  /* heart icon start*/
  /* alex rohit gupta */

  .heart-icon{
    color: #fff;
    font-size: 18px;
}

.wishlist-btn{
    color: #fff;
}

.cart-icon{
    color: #fff;
    font-size: 18px;
}

.cart-btn{
    color: #fff;
}
