*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#202025;background:#fff}a{text-decoration:none;color:inherit}.topbar{display:flex;justify-content:space-between;gap:18px;background:#111;color:#fff;padding:9px clamp(18px,5vw,72px);font-size:13px}.main-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;padding:14px clamp(18px,5vw,72px);box-shadow:0 8px 28px rgba(0,0,0,.09)}.brand img{width:222px;max-width:43vw;display:block}.menu{display:flex;align-items:center;gap:22px;font-weight:800;text-transform:uppercase;font-size:14px}.menu a.active,.menu a:hover{color:#987865}.menu-item{position:relative;padding:22px 0}.dropdown{display:none;position:absolute;left:0;top:100%;min-width:230px;background:#fff;border-top:3px solid #987865;box-shadow:0 18px 44px rgba(0,0,0,.15)}.dropdown a{display:block;padding:13px 16px;border-bottom:1px solid #eee;white-space:nowrap}.menu-item:hover .dropdown{display:block}.search,.mobile-toggle{border:0;background:#987865;color:#fff;padding:12px 18px;font-weight:900;text-transform:uppercase}.mobile-toggle{display:none}.hero-slider{position:relative;min-height:680px;background:#111;overflow:hidden}.slide img{width:100%;height:680px;object-fit:cover;display:block}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.1),rgba(0,0,0,.48))}.slide-copy{position:absolute;z-index:2;left:clamp(18px,7vw,96px);top:50%;transform:translateY(-50%);max-width:650px;color:#fff}.slide-copy span,.eyebrow{display:block;margin-bottom:10px;color:#987865;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.slide-copy span{color:#fff}.slide-copy h1{margin:0 0 28px;font-size:clamp(42px,7vw,86px);line-height:.95}.slider-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:3}.slider-dots button{width:12px;height:12px;border-radius:50%;border:0;background:#fff;opacity:.65}.slider-dots .active{background:#987865;opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 22px;font-weight:900;text-transform:uppercase}.btn.red{background:#987865;color:#fff}.btn.dark{background:#111;color:#fff}.intro,.products-block,.services-block,.locations,.blog,.testimonials,.parts,.contact-section{padding:74px clamp(18px,5vw,80px)}.intro.single{display:grid;gap:34px}.intro-card{display:grid;grid-template-columns:48% 1fr;gap:42px;align-items:center;margin-bottom:34px}.intro-card.reverse{grid-template-columns:1fr 48%}.intro-card.reverse img{order:2}.intro-card img,.workshop img{width:100%;min-height:360px;object-fit:cover;box-shadow:0 22px 60px rgba(0,0,0,.13)}h2{margin:8px 0 14px;font-size:clamp(30px,5vw,54px);line-height:1.06}h3{font-size:22px;margin:0 0 12px}p{color:#666;line-height:1.7}.ride{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:90px clamp(18px,5vw,80px);background:#121212;color:#fff}.ride p{color:#cfcfcf}.ride-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.ride-tabs a,.parts-grid a{background:#fff;color:#111;padding:18px;font-weight:900}.meter-card{display:grid;gap:16px}.meter-card div{padding:26px;background:#987865;color:#fff}.meter-card b{display:block;font-size:44px}.meter-card span{text-transform:uppercase;font-weight:800}.section-head{text-align:center;max-width:760px;margin:0 auto 40px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-grid.large{grid-template-columns:repeat(3,1fr)}.product-grid article,.feature-boxes article,.blog-grid article{background:#fff;box-shadow:0 20px 54px rgba(0,0,0,.09);text-align:center;overflow:hidden}.product-grid img{width:100%;height:210px;object-fit:contain;padding:18px;background:#f5f5f5}.product-grid h3{padding:18px}.performance{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:90px clamp(18px,5vw,80px);background:#f5f5f5}.performance img{width:100%;min-height:430px;object-fit:cover}.feature-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:70px clamp(18px,5vw,80px)}.feature-boxes img,.blog-grid img{width:100%;height:240px;object-fit:cover}.feature-boxes article{padding-bottom:24px}.feature-boxes h3,.feature-boxes p{padding:0 22px}.service-layout{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:stretch;box-shadow:0 20px 60px rgba(0,0,0,.09)}.service-layout img{width:100%;height:100%;min-height:380px;object-fit:cover}.service-layout div{padding:38px;background:#fff}.parts{background:#111;color:#fff}.parts .eyebrow{color:#fff}.parts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.parts-grid a{text-align:center}.workshop{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding:76px clamp(18px,5vw,80px)}.location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.location-grid img{width:100%;height:240px;object-fit:cover}.blog{background:#f6f6f6}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-grid article{text-align:left}.blog-grid h3,.blog-grid span,.blog-grid a{display:block;padding:0 22px}.blog-grid span{margin-top:20px;color:#987865;font-weight:800}.blog-grid a{padding-bottom:24px;color:#987865;font-weight:900}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.testimonial-grid blockquote{margin:0;padding:34px;background:#fff;box-shadow:0 20px 54px rgba(0,0,0,.08);line-height:1.8;color:#555}.testimonial-grid b,.testimonial-grid span{display:block;margin-top:18px;color:#111}.brands{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:center;padding:34px clamp(18px,5vw,80px);background:#f5f5f5}.brands img{max-width:100%;margin:auto;filter:grayscale(1)}.inner-hero{padding:110px clamp(18px,5vw,80px);background:linear-gradient(90deg,#111,#987865);color:#fff;text-align:center}.inner-hero h1{margin:0 0 12px;font-size:clamp(42px,7vw,78px)}.inner-hero p{color:#fff}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:28px}.contact-grid article,.contact-form{padding:28px;background:#fff;box-shadow:0 20px 54px rgba(0,0,0,.08)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form textarea,.contact-form button{grid-column:1/-1}.contact-form input,.contact-form textarea{padding:14px;border:1px solid #ddd;font:inherit}.contact-form textarea{min-height:140px}footer{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:34px;background:#111;color:#fff;padding:58px clamp(18px,5vw,80px)}footer img{width:220px;background:#fff;padding:8px}footer p{color:#c9c9c9}.copyright{text-align:center;padding:18px;background:#080808;color:#ddd}@media(max-width:1000px){.menu{display:none}.mobile-toggle{display:block}.intro-card,.intro-card.reverse,.ride,.performance,.service-layout,.workshop,footer{grid-template-columns:1fr}.intro-card.reverse img{order:0}.product-grid,.product-grid.large,.location-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}.feature-boxes,.blog-grid{grid-template-columns:1fr}.brands{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.topbar{display:none}.brand img{width:180px}.hero-slider,.slide img{min-height:520px;height:520px}.product-grid,.product-grid.large,.parts-grid,.testimonial-grid,.location-grid,.contact-grid,.contact-form{grid-template-columns:1fr}.ride-tabs{grid-template-columns:1fr}}

/* Rohan requested section polish */
.intro-card:first-child img {
  border-radius: 18px 120px 18px 18px;
  clip-path: polygon(0 0, 94% 0, 100% 12%, 100% 100%, 8% 100%, 0 88%);
  border: 8px solid rgba(152, 120, 101, .18);
}
.workshop-video-card {
  background: linear-gradient(135deg, rgba(152,120,101,.10), rgba(152,120,101,.02));
  padding: 34px;
}
.workshop-video-card .video-shape {
  order: 2;
  min-height: 360px;
  overflow: hidden;
  border-radius: 120px 18px 18px 18px;
  clip-path: polygon(8% 0, 100% 0, 100% 86%, 92% 100%, 0 100%, 0 12%);
  box-shadow: 0 22px 60px rgba(0,0,0,.14);
}
.workshop-video-card video {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  display: block;
}
.btn.red,
.btn.dark,
.search,
.mobile-toggle {
  background: #987865;
}
.eyebrow,
.menu a.active,
.menu a:hover,
.blog-grid span,
.blog-grid a {
  color: #987865;
}


/* Requested typography only for the Welcome section */
.intro-card:first-child > div .eyebrow {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.18;
  color: #987865;
}
.intro-card:first-child > div h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.18;
  color: #111;
  text-transform: none;
}
.intro-card:first-child > div h2::first-line {
  color: #111;
}
.intro-card:first-child > div p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.72;
  color: #111;
}
.intro-card:first-child .btn {
  background: #987865;
}

/* Performance section rebuilt like the shared reference */
.performance-detailed {
  grid-template-columns: 40% 1fr;
  gap: 54px;
  align-items: stretch;
  background: #fff;
  padding-top: 70px;
  padding-bottom: 70px;
}
.performance-detailed .performance-image img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  display: block;
}
.performance-detailed .performance-copy {
  padding: 0;
  align-self: center;
}
.performance-detailed .eyebrow {
  font-size: 22px;
  font-weight: 800;
  color: #987865;
}
.performance-detailed h2 {
  max-width: 840px;
  font-size: 48px;
  font-weight: 900;
  line-height: 1.08;
  text-transform: uppercase;
  color: #232323;
}
.performance-detailed .performance-copy > p {
  max-width: 720px;
  font-size: 22px;
  line-height: 1.55;
  color: #111;
}
.performance-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 46px;
  margin-top: 56px;
}
.performance-features article {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 18px;
  align-items: start;
}
.performance-features .icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #f0efee;
  color: #333;
  font-size: 18px;
  font-weight: 900;
  border: 2px solid rgba(152,120,101,.18);
}
.performance-features h3 {
  margin: 0 0 12px;
  font-size: 30px;
  line-height: 1.1;
  color: #050505;
}
.performance-features p {
  margin: 0;
  font-size: 19px;
  line-height: 1.55;
  color: #111;
}
.feature-boxes {
  display: none;
}
@media (max-width: 1000px) {
  .performance-detailed {
    grid-template-columns: 1fr;
  }
  .performance-detailed .performance-image img {
    min-height: 360px;
  }
}
@media (max-width: 620px) {
  .performance-features {
    grid-template-columns: 1fr;
  }
  .performance-detailed h2 {
    font-size: 34px;
  }
  .intro-card:first-child > div h2 {
    font-size: 34px;
  }
}

/* Global typography requested */
h1,
h2,
.section-head h2,
.slide-copy h1,
.inner-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.18;
}
.eyebrow,
.section-head .eyebrow,
.slide-copy span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.18;
}
p,
.intro-card p,
.performance-detailed .performance-copy > p,
.performance-features p,
.service-layout p,
.workshop p,
.blog-grid p,
.inner-hero p,
.contact-grid p,
footer p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.7;
}

/* Services & Spares page */
.service-hero {
  position: relative;
  min-height: 620px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #111;
}
.service-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.66), rgba(0,0,0,.08));
}
.service-hero-content {
  position: relative;
  z-index: 2;
  max-width: 720px;
  padding: 90px clamp(22px, 7vw, 110px);
}
.service-hero-content span,
.service-section h2 {
  color: #987865;
}
.service-hero-content h1 {
  margin: 10px 0 18px;
  color: #111;
  font-size: 58px;
}
.service-hero-content p {
  max-width: 620px;
  color: #111;
}
.service-section {
  padding: 78px clamp(22px, 7vw, 110px);
  background: #fff;
}
.service-section.alt {
  background: #f8f8f8;
}
.service-section h2 {
  text-align: center;
  margin: 0 0 56px;
  font-size: 46px;
  font-weight: 700;
}
.service-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 58px;
  align-items: center;
}
.service-text p,
.service-section .lead,
.service-list li {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  line-height: 1.45;
  color: #050505;
}
.service-section .lead {
  max-width: 1450px;
  margin: 0 auto 58px;
}
.service-image,
.offered-image {
  position: relative;
  overflow: hidden;
  min-height: 380px;
  background: #e8e8ec;
  box-shadow: 0 18px 44px rgba(0,0,0,.08);
}
.service-image img,
.offered-image img {
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  display: block;
}
.shaped-right {
  border-radius: 12px 90px 12px 12px;
  clip-path: polygon(0 0, 88% 0, 100% 14%, 100% 100%, 0 100%);
}
.shaped-left {
  border-radius: 90px 12px 12px 12px;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%, 0 14%);
}
.gear-badge,
.tool-badge {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: #987865;
  color: #fff;
  font-weight: 900;
  font-size: 30px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.tool-badge {
  right: auto;
  left: 32px;
  background: #f0b423;
}
.service-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.service-list li {
  position: relative;
  padding-left: 34px;
  margin: 10px 0;
}
.service-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 12px;
  height: 12px;
  border: 5px solid #987865;
  border-radius: 50%;
}
.offered-image {
  border: 3px solid #987865;
  border-radius: 12px;
}
.service-cta {
  position: relative;
  min-height: 470px;
  display: grid;
  place-items: center;
  overflow: hidden;
  text-align: center;
  color: #fff;
}
.service-cta > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.42);
}
.service-cta div {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  padding: 50px 22px;
}
.service-cta h2 {
  color: #fff;
  font-size: 46px;
  margin-bottom: 24px;
}
.service-cta span {
  display: block;
  width: 170px;
  height: 4px;
  margin: 0 auto 24px;
  background: #987865;
  border-radius: 999px;
}
.service-cta p {
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
}
.btn.outline {
  color: #fff;
  border: 1px solid #fff;
  border-radius: 999px;
  min-width: 360px;
  margin-top: 34px;
  background: rgba(255,255,255,.08);
}
.service-care-visual {
  padding: 0;
  min-height: 470px;
  overflow: hidden;
  background: #fff;
}
.service-care-visual img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  opacity: .58;
}
@media (max-width: 900px) {
  .service-split {
    grid-template-columns: 1fr;
  }
  .reverse .service-image {
    order: 0;
  }
}
@media (max-width: 560px) {
  .service-hero-content h1,
  .service-section h2,
  .service-cta h2 {
    font-size: 36px;
  }
  .service-text p,
  .service-section .lead,
  .service-list li,
  .service-cta p {
    font-size: 18px;
  }
  .btn.outline {
    min-width: 0;
    width: 100%;
  }
}

/* Final global Playfair-style typography */
body,
button,
input,
textarea,
select,
a {
  font-family: Georgia, "Times New Roman", serif;
}
h1,
h2,
.section-head h2,
.slide-copy h1,
.inner-hero h1,
.service-hero-content h1,
.service-section h2,
.service-cta h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.18;
}
.eyebrow,
.section-head .eyebrow,
.slide-copy span,
.service-hero-content span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
}
p,
li,
blockquote,
.service-text p,
.service-section .lead,
.service-list li,
.service-cta p,
footer p,
footer a {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.68;
}

/* Compact visible services hero */
.service-hero {
  min-height: 460px;
}
.service-hero::after {
  background: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.78) 42%, rgba(0,0,0,.08) 100%);
}
.service-hero-content {
  padding-top: 72px;
  padding-bottom: 72px;
}
.service-hero-content h1,
.service-hero-content p {
  color: #111;
}

/* Premium footer with single Contact column */
.premium-footer {
  display: grid;
  grid-template-columns: 1.05fr .75fr 1.45fr;
  gap: 64px;
  background: radial-gradient(circle at 18% 0%, rgba(152,120,101,.22), transparent 34%), #121a27;
  color: #fff;
  padding: 72px clamp(22px, 6vw, 120px) 58px;
  border-top: 5px solid #987865;
}
.premium-footer img {
  width: 230px;
  max-width: 100%;
  padding: 10px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
}
.premium-footer h3 {
  margin: 0 0 24px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 600;
}
.premium-footer p,
.premium-footer a {
  color: rgba(255,255,255,.82);
}
.footer-links {
  display: grid;
  align-content: start;
  gap: 10px;
}
.footer-links a {
  display: block;
  color: rgba(255,255,255,.78);
}
.footer-links a:hover,
.footer-contact a {
  color: #c6a08a;
}
.footer-contact p {
  margin: 0 0 11px;
}
.social-links {
  display: flex;
  gap: 10px;
  margin-top: 22px;
}
.social-links a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #fff;
  background: #987865;
  font-size: 15px;
  font-weight: 700;
}
.copyright {
  background: #0c111a;
  color: rgba(255,255,255,.82);
  border-top: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 900px) {
  .premium-footer {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}
@media (max-width: 560px) {
  h1,
  h2,
  .section-head h2,
  .slide-copy h1,
  .inner-hero h1,
  .service-hero-content h1,
  .service-section h2,
  .service-cta h2 {
    font-size: 34px;
  }
  p,
  li,
  blockquote,
  .service-text p,
  .service-section .lead,
  .service-list li,
  .service-cta p,
  footer p,
  footer a {
    font-size: 18px;
  }
}

/* Footer address coverage and softer title weight */
h1,
h2,
.section-head h2,
.slide-copy h1,
.inner-hero h1,
.service-hero-content h1,
.service-section h2,
.service-cta h2 {
  font-weight: 600 !important;
}
.premium-footer {
  grid-template-columns: .85fr .6fr 1.9fr;
}
.premium-footer h3 {
  font-weight: 600 !important;
  letter-spacing: 0;
}
.address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px 28px;
}
.address-grid p {
  margin: 0;
}
.address-grid strong {
  color: #fff;
  font-weight: 600;
}
.footer-email {
  margin-top: 18px;
}
@media (max-width: 900px) {
  .premium-footer,
  .address-grid {
    grid-template-columns: 1fr;
  }
}

/* Honda reference video section and carousel */
.honda-ride-video-section {
  padding: 76px clamp(22px, 5vw, 80px);
  background: #fff;
}
.honda-ride-video-section h2 {
  text-align: center;
  margin: 0 0 44px;
}
.ride-video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  max-width: 1680px;
  margin: 0 auto;
}
.ride-video-card {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border-radius: 28px;
  color: #fff;
  background: #111;
}
.ride-video-card.ride-large {
  grid-row: span 2;
  min-height: 790px;
}
.ride-video-card video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ride-video-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.56), rgba(0,0,0,.22));
}
.ride-card-copy {
  position: relative;
  z-index: 2;
  max-width: 620px;
  padding: 62px;
}
.ride-card-copy span {
  display: inline-block;
  padding: 7px 24px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #987865;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}
.ride-card-copy h3 {
  margin: 18px 0;
  font-size: 40px;
  line-height: 1.12;
  color: #fff;
}
.ride-card-copy p {
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  line-height: 1.5;
}
.ride-card-copy a {
  display: inline-block;
  margin-top: 18px;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  font-weight: 800;
}
.ride-card-copy a::after {
  content: " ↗";
  color: #987865;
}
.honda-testimonial-carousel {
  background: #fff;
}
.testimonial-carousel {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  max-width: 1120px;
  margin: 0 auto;
}
.testimonial-track {
  position: relative;
  min-height: 260px;
  overflow: hidden;
}
.testimonial-track blockquote {
  position: absolute;
  inset: 0;
  display: none;
  margin: 0;
  padding: 44px 58px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(0,0,0,.10);
  border-left: 6px solid #987865;
}
.testimonial-track blockquote.active {
  display: block;
}
.testimonial-track b,
.testimonial-track span {
  display: block;
  margin-top: 18px;
}
.carousel-btn {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: #987865;
  color: #fff;
  font-size: 34px;
  cursor: pointer;
}
.testimonial-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}
.testimonial-dots button {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 50%;
  background: #ddd;
}
.testimonial-dots .active {
  background: #987865;
}
.brands {
  display: none !important;
}
.blog {
  display: none !important;
}
@media (max-width: 900px) {
  .ride-video-grid {
    grid-template-columns: 1fr;
  }
  .ride-video-card.ride-large {
    min-height: 480px;
  }
}
@media (max-width: 560px) {
  .ride-card-copy {
    padding: 34px;
  }
  .ride-card-copy h3 {
    font-size: 32px;
  }
  .testimonial-carousel {
    grid-template-columns: 1fr;
  }
  .carousel-btn {
    display: none;
  }
}

/* Dev1-style About page */
.about-hero {
  position: relative;
  min-height: 520px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #111;
}
.about-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .78;
}
.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.24), rgba(255,255,255,.18));
}
.about-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding: 90px clamp(22px, 7vw, 110px);
  color: #fff;
}
.about-hero-copy h1 {
  margin: 10px 0 18px;
  color: #fff;
}
.about-hero-copy p {
  max-width: 680px;
  color: #fff;
}
.about-story,
.about-facilities {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 62px;
  align-items: center;
  padding: 86px clamp(22px, 6vw, 110px);
  background: #fff;
}
.about-image-stack {
  position: relative;
  min-height: 500px;
}
.about-main-img,
.about-floating-img,
.about-facilities figure img,
.about-branch-grid img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.about-main-img {
  height: 500px;
  border-radius: 18px 120px 18px 18px;
  clip-path: polygon(0 0, 92% 0, 100% 12%, 100% 100%, 8% 100%, 0 88%);
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
}
.about-floating-img {
  position: absolute;
  right: -30px;
  bottom: -38px;
  width: 44%;
  height: 210px;
  border: 10px solid #fff;
  border-radius: 80px 14px 14px 14px;
  box-shadow: 0 20px 46px rgba(0,0,0,.18);
}
.about-story-copy h2,
.about-facilities h2,
.about-cta h2 {
  margin: 8px 0 18px;
  color: #111;
}
.about-story-copy p,
.about-facilities p,
.about-facilities li,
.about-legacy-grid p,
.about-branch-grid p,
.about-cta p {
  color: #111;
}
.about-story-copy .btn {
  margin-top: 18px;
}
.about-legacy,
.about-presence {
  padding: 82px clamp(22px, 6vw, 110px);
  background: #f7f7f7;
}
.about-legacy-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.about-legacy-grid article {
  min-height: 250px;
  padding: 30px;
  background: #fff;
  box-shadow: 0 22px 56px rgba(0,0,0,.08);
  border-top: 5px solid #987865;
}
.about-legacy-grid strong {
  display: block;
  margin-bottom: 16px;
  color: #987865;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 600;
}
.about-facilities {
  background: #fff;
}
.about-facilities ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 26px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.about-facilities li {
  position: relative;
  padding-left: 28px;
}
.about-facilities li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 10px;
  height: 10px;
  border: 4px solid #987865;
  border-radius: 50%;
}
.about-facilities figure {
  margin: 0;
  overflow: hidden;
  border-radius: 110px 16px 16px 16px;
  clip-path: polygon(10% 0, 100% 0, 100% 88%, 92% 100%, 0 100%, 0 12%);
  box-shadow: 0 24px 60px rgba(0,0,0,.14);
}
.about-facilities figure img {
  min-height: 430px;
}
.about-branch-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.about-branch-grid article {
  overflow: hidden;
  background: #fff;
  text-align: center;
  box-shadow: 0 22px 56px rgba(0,0,0,.08);
}
.about-branch-grid img {
  height: 270px;
}
.about-branch-grid h3 {
  margin: 24px 18px 8px;
  color: #111;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 600;
}
.about-branch-grid p {
  margin: 0 18px 28px;
}
.about-cta {
  position: relative;
  min-height: 430px;
  display: grid;
  place-items: center;
  overflow: hidden;
  text-align: center;
  color: #fff;
  background: #111;
}
.about-cta > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .48;
}
.about-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.38);
}
.about-cta div {
  position: relative;
  z-index: 2;
  max-width: 980px;
  padding: 54px 22px;
}
.about-cta h2,
.about-cta p {
  color: #fff;
}
@media (max-width: 1000px) {
  .about-story,
  .about-facilities,
  .about-legacy-grid,
  .about-branch-grid {
    grid-template-columns: 1fr;
  }
  .about-image-stack {
    min-height: auto;
  }
  .about-floating-img {
    position: relative;
    right: auto;
    bottom: auto;
    width: 82%;
    margin: -80px auto 0;
  }
}
@media (max-width: 560px) {
  .about-hero,
  .about-cta {
    min-height: 420px;
  }
  .about-main-img,
  .about-facilities figure img {
    height: 360px;
    min-height: 360px;
  }
  .about-facilities ul {
    grid-template-columns: 1fr;
  }
}

/* Screenshot-matched About sections */
.about-reference-page {
  background: #fff;
}
.about-ref-intro,
.about-ref-section {
  padding: 30px clamp(28px, 6vw, 104px) 34px;
}
.about-ref-heading {
  text-align: center;
  margin-bottom: 58px;
}
.about-ref-heading h1 {
  margin: 0 0 20px;
  color: #987865;
  font-size: 48px;
  font-weight: 600 !important;
  line-height: 1.15;
}
.about-ref-heading p {
  margin: 0;
  color: #000;
  font-size: 26px;
  line-height: 1.35;
  font-family: Arial, Helvetica, sans-serif;
}
.about-ref-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}
.about-ref-text,
.about-ref-panel {
  color: #000;
}
.about-ref-text p,
.about-ref-panel p {
  margin: 0 0 8px;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.34;
}
.about-justify p {
  text-align: justify;
  text-justify: inter-word;
  word-spacing: 9px;
}
.about-ref-figure {
  margin: 0;
  text-align: center;
}
.about-ref-figure img {
  width: 100%;
  height: 458px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}
.about-ref-figure figcaption {
  margin-top: 20px;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}
.about-ref-tinted {
  padding-top: 38px;
  padding-bottom: 40px;
}
.about-ref-panel {
  min-height: 458px;
  padding: 14px 14px 18px;
  background: #fbeeee;
}
.about-ref-closing {
  padding: 22px clamp(28px, 6vw, 104px) 78px;
  text-align: center;
}
.about-ref-closing h2 {
  margin: 0;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 34px;
  font-weight: 700 !important;
  line-height: 1.25;
}
@media (max-width: 1100px) {
  .about-ref-row {
    grid-template-columns: 1fr;
  }
  .reverse-mobile .about-ref-panel {
    order: 2;
  }
  .about-ref-text p,
  .about-ref-panel p {
    font-size: 23px;
    word-spacing: 3px;
  }
  .about-ref-figure img {
    height: 380px;
  }
}
@media (max-width: 560px) {
  .about-ref-intro,
  .about-ref-section,
  .about-ref-closing {
    padding-left: 20px;
    padding-right: 20px;
  }
  .about-ref-heading h1 {
    font-size: 36px;
  }
  .about-ref-heading p,
  .about-ref-text p,
  .about-ref-panel p {
    font-size: 19px;
    word-spacing: 0;
  }
  .about-ref-figure img {
    height: 280px;
  }
  .about-ref-figure figcaption,
  .about-ref-closing h2 {
    font-size: 25px;
  }
}

/* Honda QC1 EV detail page */
.product-link-card {
  display: block;
}
.qc1-page {
  background: #fff;
  color: #101010;
  --qc1-accent: #0067ff;
}
.qc1-hero,
.qc1-color-zone {
  background: linear-gradient(135deg, var(--qc1-bg), #fff 58%);
  transition: background .35s ease;
}
.qc1-hero {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  min-height: 720px;
  align-items: center;
  padding: 68px clamp(22px, 6vw, 110px);
  overflow: hidden;
}
.qc1-hero-copy {
  position: relative;
  z-index: 2;
}
.qc1-kicker {
  display: inline-block;
  margin-bottom: 16px;
  color: #987865;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.qc1-hero h1 {
  margin: 0;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(78px, 12vw, 170px);
  font-weight: 900 !important;
  line-height: .86;
  letter-spacing: 0;
}
.qc1-hero h2 {
  margin: 10px 0 22px;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(34px, 5vw, 70px);
  font-weight: 800 !important;
  line-height: 1;
}
.qc1-hero p,
.qc1-color-panel p,
.qc1-detail-section p,
.qc1-battery p,
.qc1-final-cta p {
  color: #151515;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 21px;
  line-height: 1.55;
}
.qc1-hero-bike img {
  width: 100%;
  max-height: 650px;
  object-fit: contain;
  filter: drop-shadow(0 38px 50px rgba(0,0,0,.22));
}
.qc1-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 34px 0;
}
.qc1-stats div,
.qc1-spec-grid div,
.qc1-detail-cards article,
.qc1-battery-grid article {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 18px 44px rgba(0,0,0,.08);
}
.qc1-stats div {
  padding: 22px;
  border-radius: 18px;
}
.qc1-stats strong {
  display: block;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 34px;
  font-weight: 900;
}
.qc1-stats span,
.qc1-spec-grid span {
  color: #5e5e5e;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
}
.qc1-book {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  min-height: 54px;
  padding: 14px 26px;
  border-radius: 999px;
  background: #987865;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
}
.qc1-color-zone {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items: center;
  padding: 78px clamp(22px, 6vw, 110px);
}
.qc1-color-visual {
  min-height: 520px;
  display: grid;
  place-items: center;
  border-radius: 40px;
  background: rgba(255,255,255,.4);
}
.qc1-color-visual img {
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  filter: drop-shadow(0 30px 42px rgba(0,0,0,.22));
  transition: opacity .2s ease, transform .25s ease;
}
.qc1-color-panel h2,
.qc1-feature-intro h2,
.qc1-detail-section h2,
.qc1-battery h2,
.qc1-specs h2,
.qc1-final-cta h2 {
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 48px;
  font-weight: 800 !important;
  line-height: 1.12;
}
.qc1-swatches {
  display: flex;
  gap: 12px;
  margin: 28px 0 18px;
  flex-wrap: wrap;
}
.qc1-swatches button {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 3px solid #fff;
  background: var(--swatch);
  box-shadow: 0 0 0 1px rgba(0,0,0,.2), 0 10px 18px rgba(0,0,0,.16);
  cursor: pointer;
}
.qc1-swatches button.active {
  box-shadow: 0 0 0 4px #987865, 0 12px 22px rgba(0,0,0,.18);
}
#qc1ColorName {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 8px 20px;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
}
.qc1-feature-intro,
.qc1-battery,
.qc1-specs {
  padding: 80px clamp(22px, 6vw, 110px);
}
.qc1-icon-grid,
.qc1-battery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.qc1-icon-grid article {
  min-height: 180px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 28px;
  background: #eef0f2;
}
.qc1-icon-grid span {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #fff;
  color: #987865;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
}
.qc1-icon-grid h3,
.qc1-detail-cards h3,
.qc1-battery-grid h3 {
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 800;
}
.qc1-detail-section {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 40px;
  align-items: center;
  padding: 82px clamp(22px, 6vw, 110px);
  background: #f6f7f9;
}
.qc1-detail-section.dark {
  background: #111827;
  color: #fff;
}
.qc1-detail-section.dark h2,
.qc1-detail-section.dark p,
.qc1-detail-section.dark .qc1-kicker {
  color: #fff;
}
.qc1-detail-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.qc1-detail-cards article,
.qc1-battery-grid article {
  padding: 30px;
  border-radius: 24px;
}
.qc1-detail-section.dark .qc1-detail-cards article {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.14);
}
.qc1-detail-section.dark .qc1-detail-cards h3,
.qc1-detail-section.dark .qc1-detail-cards p {
  color: #fff;
}
.qc1-battery-grid {
  grid-template-columns: repeat(3, 1fr);
}
.qc1-specs {
  background: #f5f5f5;
}
.qc1-spec-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.qc1-spec-grid div {
  padding: 24px;
  border-radius: 18px;
  background: #fff;
}
.qc1-spec-grid strong {
  display: block;
  margin-top: 8px;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  font-weight: 800;
}
.qc1-final-cta {
  padding: 86px clamp(22px, 6vw, 110px);
  text-align: center;
  background: linear-gradient(135deg, #101820, #0067ff);
  color: #fff;
}
.qc1-final-cta h2,
.qc1-final-cta p {
  color: #fff;
}
@media (max-width: 1000px) {
  .qc1-hero,
  .qc1-color-zone,
  .qc1-detail-section {
    grid-template-columns: 1fr;
  }
  .qc1-stats,
  .qc1-icon-grid,
  .qc1-battery-grid,
  .qc1-spec-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .qc1-hero {
    min-height: auto;
  }
  .qc1-stats,
  .qc1-icon-grid,
  .qc1-detail-cards,
  .qc1-battery-grid,
  .qc1-spec-grid {
    grid-template-columns: 1fr;
  }
  .qc1-color-visual {
    min-height: 320px;
  }
  .qc1-color-panel h2,
  .qc1-feature-intro h2,
  .qc1-detail-section h2,
  .qc1-battery h2,
  .qc1-specs h2,
  .qc1-final-cta h2 {
    font-size: 34px;
  }
}

/* Final website-wide Playfair-style typography override */
:root {
  --site-playfair: Georgia, "Times New Roman", serif;
}
html,
body,
button,
input,
textarea,
select,
a,
span,
strong,
li,
p,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6,
figcaption {
  font-family: var(--site-playfair) !important;
  letter-spacing: 0 !important;
}
h1,
h2,
.section-head h2,
.slide-copy h1,
.inner-hero h1,
.service-hero-content h1,
.service-section h2,
.service-cta h2,
.about-ref-heading h1,
.about-ref-closing h2,
.qc1-hero h1,
.qc1-hero h2,
.qc1-color-panel h2,
.qc1-feature-intro h2,
.qc1-detail-section h2,
.qc1-battery h2,
.qc1-specs h2,
.qc1-final-cta h2 {
  font-size: 40px !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
}
h3,
.eyebrow,
.section-head .eyebrow,
.slide-copy span,
.service-hero-content span,
.qc1-kicker,
.about-ref-heading p,
.about-ref-figure figcaption,
.qc1-icon-grid h3,
.qc1-detail-cards h3,
.qc1-battery-grid h3,
.about-legacy-grid strong,
.premium-footer h3 {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}
p,
li,
blockquote,
.service-text p,
.service-section .lead,
.service-list li,
.service-cta p,
.about-ref-text p,
.about-ref-panel p,
.about-story-copy p,
.about-facilities p,
.about-facilities li,
.about-legacy-grid p,
.about-branch-grid p,
.about-cta p,
.qc1-hero p,
.qc1-color-panel p,
.qc1-detail-section p,
.qc1-battery p,
.qc1-final-cta p,
.qc1-spec-grid strong,
.qc1-stats span,
footer p,
footer a {
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.68 !important;
}
.menu,
.menu a,
.dropdown a,
.search,
.mobile-toggle,
.btn,
.qc1-book,
.ride-card-copy span,
.ride-card-copy a,
#qc1ColorName,
.qc1-stats strong {
  font-family: var(--site-playfair) !important;
}
@media (max-width: 560px) {
  h1,
  h2,
  .section-head h2,
  .slide-copy h1,
  .inner-hero h1,
  .service-hero-content h1,
  .service-section h2,
  .service-cta h2,
  .about-ref-heading h1,
  .about-ref-closing h2,
  .qc1-hero h1,
  .qc1-hero h2,
  .qc1-color-panel h2,
  .qc1-feature-intro h2,
  .qc1-detail-section h2,
  .qc1-battery h2,
  .qc1-specs h2,
  .qc1-final-cta h2 {
    font-size: 34px !important;
  }
  h3,
  .eyebrow,
  .section-head .eyebrow,
  .slide-copy span,
  .service-hero-content span,
  .qc1-kicker,
  .about-ref-heading p,
  .about-ref-figure figcaption,
  .qc1-icon-grid h3,
  .qc1-detail-cards h3,
  .qc1-battery-grid h3,
  .about-legacy-grid strong,
  .premium-footer h3 {
    font-size: 20px !important;
  }
  p,
  li,
  blockquote,
  .service-text p,
  .service-section .lead,
  .service-list li,
  .service-cta p,
  .about-ref-text p,
  .about-ref-panel p,
  .about-story-copy p,
  .about-facilities p,
  .about-facilities li,
  .about-legacy-grid p,
  .about-branch-grid p,
  .about-cta p,
  .qc1-hero p,
  .qc1-color-panel p,
  .qc1-detail-section p,
  .qc1-battery p,
  .qc1-final-cta p,
  .qc1-spec-grid strong,
  .qc1-stats span,
  footer p,
  footer a {
    font-size: 18px !important;
  }
}

/* Home branch image slider and global description color */
.home-branch-slider {
  min-height: min(52vw, 720px);
  height: min(52vw, 720px);
  background: #111;
}
.home-branch-slider .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .7s ease;
}
.home-branch-slider .slide.active {
  opacity: 1;
  pointer-events: auto;
}
.home-branch-slider .slide::after {
  display: none;
}
.home-branch-slider .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main p,
main li,
main blockquote,
main .description,
main .lead,
main .service-section .lead,
main .service-text p,
main .service-list li,
main .about-ref-text p,
main .about-ref-panel p,
main .qc1-hero p,
main .qc1-color-panel p,
main .qc1-detail-section p,
main .qc1-battery p,
main .qc1-final-cta p {
  color: #5f6670 !important;
}
@media (max-width: 700px) {
  .home-branch-slider {
    min-height: 360px;
    height: 360px;
  }
  .home-branch-slider .slide img {
    object-position: center;
  }
}

/* Icon refresh and quick-service carousel section */
.performance-features .feature-icon {
  background: #f2f1ef !important;
  border: 2px solid #ddd8d4 !important;
  color: #222 !important;
  font-size: 0 !important;
}
.performance-features .feature-icon svg {
  width: 40px;
  height: 40px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.quick-service-showcase {
  background: #fff;
  padding: 76px clamp(22px, 5vw, 80px);
}
.quick-service-showcase .section-head h2 {
  color: #202025;
}
.quick-service-layout {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 44px;
  align-items: stretch;
  max-width: 1640px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.08);
}
.quick-service-carousel {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: #f4f4f4;
}
.quick-service-carousel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .65s ease;
}
.quick-service-carousel img.active {
  opacity: 1;
}
.quick-service-dots {
  position: absolute;
  left: 32px;
  bottom: 28px;
  display: flex;
  gap: 10px;
  z-index: 2;
}
.quick-service-dots button {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  box-shadow: 0 0 0 1px rgba(0,0,0,.2);
  cursor: pointer;
}
.quick-service-dots button.active {
  background: #987865;
}
.quick-service-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 54px;
}
.quick-service-content h3 {
  margin: 10px 0 18px;
  color: #111;
  font-size: 40px !important;
  font-weight: 600 !important;
  line-height: 1.18 !important;
}
.quick-service-content p,
.quick-service-content li {
  color: #5f6670 !important;
}
.quick-service-content ul {
  margin: 18px 0 26px;
  padding: 0;
  list-style: none;
}
.quick-service-content li {
  position: relative;
  margin: 10px 0;
  padding-left: 28px;
}
.quick-service-content li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #987865;
}
@media (max-width: 1000px) {
  .quick-service-layout {
    grid-template-columns: 1fr;
  }
  .quick-service-carousel {
    min-height: 420px;
  }
}
@media (max-width: 560px) {
  .quick-service-content {
    padding: 30px;
  }
  .quick-service-content h3 {
    font-size: 34px !important;
  }
}

/* About page cinematic motion hero */
.about-motion-hero {
  position: relative;
  min-height: 660px;
  overflow: hidden;
  display: grid;
  align-items: center;
  background: #111;
}
.about-motion-hero img {
  position: absolute;
  inset: -3%;
  width: 106%;
  height: 106%;
  object-fit: cover;
  object-position: center;
  transform-origin: center;
  animation: aboutHeroMotion 12s ease-in-out infinite alternate;
}
.about-motion-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.78) 34%, rgba(255,255,255,.18) 60%, rgba(0,0,0,.08) 100%);
  z-index: 1;
}
.about-motion-copy {
  position: relative;
  z-index: 2;
  max-width: 650px;
  padding: 90px clamp(24px, 7vw, 112px);
}
.about-motion-copy h1 {
  margin: 10px 0 18px;
  color: #111;
}
.about-motion-copy p {
  color: #5f6670 !important;
  max-width: 560px;
}
@keyframes aboutHeroMotion {
  0% { transform: scale(1.02) translate3d(0, 0, 0); }
  100% { transform: scale(1.08) translate3d(-24px, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .about-motion-hero img {
    animation: none;
  }
}
@media (max-width: 700px) {
  .about-motion-hero {
    min-height: 520px;
  }
  .about-motion-overlay {
    background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.72) 58%, rgba(255,255,255,.25) 100%);
  }
}

/* Final requested polish */
:root { --rohan-brown: #987865; --rohan-desc: #5f6670; }
main p, .section-text p, .about-reference-page p, .services-page p, .qc1-page p, .feature-item p, .quick-service-copy p, .service-card p { color: var(--rohan-desc) !important; }
h1, .section-title, .about-reference-page h1, .services-page h1, .qc1-page h1 { font-family: Georgia, "Times New Roman", serif !important; font-size: 40px !important; font-weight: 600 !important; line-height: 1.18 !important; letter-spacing: 0 !important; }
h2, h3, .subtitle, .eyebrow, .section-kicker, .about-reference-page h2, .services-page h2, .qc1-page h2 { font-family: Georgia, "Times New Roman", serif !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.honda-ride-video-section .ride-card-copy h3, .honda-ride-video-section .ride-card-copy p, .honda-ride-video-section .ride-card-copy a { color: #fff !important; }
.honda-ride-video-section .ride-card-copy span { color: #fff !important; border-color: rgba(255,255,255,.78); background: rgba(152,120,101,.92); }

.main-header { position: sticky; top: 0; z-index: 60; }
.products-mega-item { position: static; }
.products-mega { position: absolute; top: 100%; left: clamp(18px, 4vw, 72px); right: clamp(18px, 4vw, 72px); display: none; grid-template-columns: 300px 1fr; gap: 34px; min-height: 390px; padding: 34px 44px; background: rgba(255,255,255,.98); box-shadow: 0 28px 70px rgba(15,20,28,.18); border: 1px solid rgba(152,120,101,.16); z-index: 80; }
.products-mega-item:hover .products-mega, .products-mega-item:focus-within .products-mega { display: grid; }
.mega-sidebar { border-right: 1px solid rgba(15,20,28,.12); display: flex; flex-direction: column; }
.mega-sidebar a { color: #080808 !important; font-size: 26px !important; font-weight: 600 !important; padding: 22px 10px 22px 0; border-bottom: 1px solid rgba(15,20,28,.12); display: flex; justify-content: space-between; align-items: center; }
.mega-sidebar a.active { color: #987865 !important; }
.mega-products { display: flex; align-items: flex-start; gap: 68px; padding: 10px 0 0 10px; flex-wrap: wrap; }
.mega-product-card { display: grid; gap: 12px; color: #080808 !important; font-size: 24px !important; font-weight: 500 !important; }
.mega-product-card img { width: 230px; height: 125px; object-fit: contain; transition: transform .25s ease; }
.mega-product-card:hover img { transform: translateY(-4px) scale(1.03); }
.mega-view-all { align-self: center; margin-top: 120px; background: #987865; color: #fff !important; padding: 18px 44px; border-radius: 999px; font-size: 22px !important; font-weight: 600 !important; box-shadow: 0 14px 30px rgba(213,0,0,.18); }

.service-hero { overflow: hidden; }
.service-hero > img { inset: -3%; width: 106%; height: 106%; animation: serviceHeroMotion 12s ease-in-out infinite alternate; transform-origin: center; }
@keyframes serviceHeroMotion { from { transform: scale(1.02) translate3d(-1.2%, 0, 0); } to { transform: scale(1.08) translate3d(1.2%, -1%, 0); } }

.about-motion-copy .btn { margin-top: 22px; }
.btn.brown { background: var(--rohan-brown); color: #fff !important; border-color: var(--rohan-brown); }
.about-form-modal { position: fixed; inset: 0; z-index: 100; display: none; place-items: center; padding: 24px; background: rgba(8,12,18,.62); backdrop-filter: blur(8px); }
.about-form-modal.is-open { display: grid; }
.about-form-dialog { width: min(520px, 100%); background: #fff; border-radius: 28px 8px 28px 8px; padding: 34px; box-shadow: 0 30px 90px rgba(0,0,0,.35); position: relative; }
.about-form-dialog h2 { margin: 8px 0 22px; color: #111; }
.about-form-close { position: absolute; top: 14px; right: 16px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: #f1ece9; color: #111; font-size: 24px; cursor: pointer; }
.about-hero-form { display: grid; gap: 14px; }
.about-hero-form input, .about-hero-form select, .about-hero-form textarea { width: 100%; border: 1px solid rgba(17,17,17,.14); border-radius: 10px; padding: 14px 16px; font: 400 17px Georgia, "Times New Roman", serif; color: #111; background: #fafafa; }
.about-hero-form textarea { min-height: 110px; resize: vertical; }

.quick-service-carousel { border-radius: 36px 120px 36px 12px; clip-path: polygon(0 0, 92% 0, 100% 14%, 100% 100%, 9% 100%, 0 86%); overflow: hidden; }
.quick-service-carousel img { width: 100%; height: 100%; object-fit: cover; }
.home-workshop-image img, .workshop-media img, .service-visual img { border-radius: 120px 24px 120px 24px; clip-path: polygon(8% 0,100% 0,100% 86%,92% 100%,0 100%,0 14%); }

.qc1-page { --qc1-accent: var(--rohan-brown); font-family: Georgia, "Times New Roman", serif !important; }
.qc1-hero-custom { min-height: 720px; position: relative; overflow: hidden; display: flex; align-items: center; padding: 120px clamp(26px, 7vw, 120px); background: #0e1013; }
.qc1-hero-custom .qc1-hero-bg { position: absolute; inset: -3%; width: 106%; height: 106%; object-fit: cover; animation: qc1HeroMotion 13s ease-in-out infinite alternate; transform-origin: center right; }
.qc1-hero-custom .qc1-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.36) 42%, rgba(0,0,0,.05) 78%); }
.qc1-hero-custom .qc1-hero-content { position: relative; z-index: 2; max-width: 560px; color: #fff; }
.qc1-hero-custom .qc1-kicker { color: #fff !important; background: rgba(152,120,101,.9); border-radius: 999px; padding: 8px 18px; display: inline-block; }
.qc1-hero-custom h1, .qc1-hero-custom p { color: #fff !important; }
.qc1-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.qc1-page .qc1-book, .qc1-page .qc1-cta, .qc1-page .qc1-spec-tab.active, .qc1-page .qc1-colour-pill, .qc1-page .qc1-final-cta .btn { background: var(--rohan-brown) !important; border-color: var(--rohan-brown) !important; }
.qc1-page .qc1-kicker, .qc1-page .qc1-section-kicker, .qc1-page .qc1-price, .qc1-page .qc1-feature-icon { color: var(--rohan-brown) !important; }
.qc1-page .qc1-swatch.active { outline-color: var(--rohan-brown) !important; }
.qc1-page .qc1-final-cta { background: linear-gradient(135deg, #161616, #987865) !important; }
@keyframes qc1HeroMotion { from { transform: scale(1.01) translate3d(-1%, 0, 0); } to { transform: scale(1.07) translate3d(1.4%, -1%, 0); } }

@media (max-width: 900px) { .products-mega { left: 12px; right: 12px; grid-template-columns: 1fr; max-height: 78vh; overflow: auto; } .mega-sidebar { border-right: 0; } .mega-products { gap: 22px; } .qc1-hero-custom { min-height: 620px; padding-top: 92px; } }


/* QC1 and menu requested final corrections */
.products-mega { background: #fff !important; border-top: 3px solid var(--rohan-brown); }
.mega-sidebar a.active { color: var(--rohan-brown) !important; }
.mega-products.single { align-items: center; gap: 52px; min-height: 260px; }
.mega-products.single .mega-product-card img { width: 260px; height: 150px; }
.mega-products.single .mega-view-all { background: var(--rohan-brown) !important; margin-top: 30px; }

.qc1-reference-hero { padding: 56px clamp(28px, 5vw, 74px) 34px; background: #fff; overflow: hidden; }
.qc1-reference-copy { max-width: 1180px; margin: 0 auto 28px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 24px; }
.qc1-reference-copy .qc1-kicker { color: var(--rohan-brown) !important; background: transparent; padding: 0; border-radius: 0; font-size: 22px; }
.qc1-reference-copy h1 { color: #1d2631 !important; margin: 6px 0 8px; }
.qc1-reference-copy p { color: var(--rohan-desc) !important; margin: 0; }
.qc1-reference-copy .btn { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.qc1-reference-image { max-width: 1600px; margin: 0 auto; overflow: hidden; border-radius: 0 58px 0 58px; clip-path: polygon(2% 0, 100% 0, 98% 100%, 0 100%); box-shadow: 0 22px 70px rgba(20, 30, 40, .12); }
.qc1-reference-image img { display: block; width: 100%; height: clamp(360px, 44vw, 600px); object-fit: cover; object-position: center; animation: qc1ReferenceMotion 13s ease-in-out infinite alternate; transform-origin: center; }
.qc1-reference-stats { max-width: 820px; margin: 36px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; text-align: center; }
.qc1-reference-stats strong { display: block; font-family: Georgia, "Times New Roman", serif; color: #031d3a; font-size: 40px; font-weight: 500; line-height: 1.1; }
.qc1-reference-stats span { display: block; margin-top: 10px; color: #031d3a; font-size: 24px; }
@keyframes qc1ReferenceMotion { from { transform: scale(1.01) translate3d(-.6%, 0, 0); } to { transform: scale(1.045) translate3d(.8%, -.4%, 0); } }

.qc1-main-features-reference { padding: 68px clamp(24px, 5vw, 70px) 86px !important; background: #fff !important; }
.qc1-main-features-reference .section-head h2 { color: #1d2631 !important; font-weight: 500 !important; font-size: 40px !important; }
.qc1-main-features-reference .section-head p { color: #1d2631 !important; font-size: 22px !important; }
.qc1-official-features { background: #eceff2; margin-top: 52px; min-height: 296px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 22px; padding: 40px 54px; }
.qc1-official-features article { text-align: center; display: grid; gap: 28px; justify-items: center; }
.qc1-official-features .feature-line-icon { width: 92px; height: 70px; display: grid; place-items: center; color: #6f7f92; font-size: 52px; line-height: 1; font-family: Georgia, "Times New Roman", serif; }
.qc1-official-features h3 { color: #031d3a !important; font-size: 28px !important; font-weight: 400 !important; line-height: 1.2; margin: 0; }

.service-cta h2, .service-cta p, .service-cta a { color: #fff !important; }
.service-cta .btn.outline { border-color: #fff !important; }
.service-cta span { background: var(--rohan-brown) !important; }
.qc1-page .btn.brown, .qc1-page .qc1-book { background: var(--rohan-brown) !important; border-color: var(--rohan-brown) !important; color: #fff !important; }

@media (max-width: 900px) {
  .qc1-reference-copy { grid-template-columns: 1fr; }
  .qc1-reference-copy .btn { grid-column: auto; grid-row: auto; justify-self: start; }
  .qc1-reference-stats, .qc1-official-features { grid-template-columns: 1fr; }
  .qc1-reference-stats strong { font-size: 32px; }
}


/* QC1 banner text hero update */
.qc1-banner-text-hero { padding: 34px clamp(14px, 2.6vw, 42px) 34px; background: #fff; }
.qc1-banner-text-hero .qc1-reference-image { position: relative; max-width: 1720px; border-radius: 0 72px 0 72px; clip-path: polygon(0 0, 96% 0, 100% 10%, 100% 100%, 3% 100%, 0 90%); box-shadow: 0 20px 70px rgba(18, 34, 48, .12); }
.qc1-banner-text-hero .qc1-reference-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.72) 27%, rgba(255,255,255,.18) 55%, rgba(255,255,255,0) 78%); pointer-events: none; }
.qc1-banner-text-hero .qc1-reference-image img { height: clamp(470px, 42vw, 720px); object-position: center; filter: saturate(1.04) contrast(1.02); }
.qc1-banner-overlay { position: absolute; z-index: 2; left: clamp(26px, 5vw, 86px); top: 50%; transform: translateY(-50%); max-width: 520px; }
.qc1-banner-overlay .qc1-kicker { color: var(--rohan-brown) !important; font-size: 24px; text-transform: uppercase; background: rgba(255,255,255,.74); padding: 8px 0; }
.qc1-banner-overlay h1 { color: #1d2631 !important; font-size: clamp(46px, 5vw, 82px) !important; margin: 12px 0 20px; }
.qc1-banner-overlay p { color: #3f4650 !important; font-size: 23px !important; line-height: 1.62 !important; margin-bottom: 28px; }
.qc1-banner-overlay .btn { background: var(--rohan-brown) !important; color: #fff !important; border-color: var(--rohan-brown) !important; }
.qc1-banner-text-hero .qc1-reference-stats { margin-top: 36px; }

@media (max-width: 900px) {
  .qc1-banner-text-hero .qc1-reference-image::after { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.72), rgba(255,255,255,.18)); }
  .qc1-banner-overlay { top: 28px; transform: none; right: 24px; max-width: none; }
  .qc1-banner-overlay p { font-size: 19px !important; line-height: 1.45 !important; }
}


/* Requested title weight and QC1 360 explorer */
h1, h2, .section-title, .section-head h2, .intro-card h2, .about-reference-page h1, .about-reference-page h2, .services-page h1, .services-page h2, .qc1-page h1, .qc1-page h2 { font-weight: 500 !important; }
.qc1-ride-explorer { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(420px, 1.1fr); gap: clamp(28px, 4vw, 68px); align-items: stretch; padding: 78px clamp(24px, 5vw, 82px); background: #fff; }
.qc1-feature-stack { display: grid; gap: 22px; }
.qc1-feature-stack article { background: #eceff2; padding: clamp(28px, 4vw, 54px); min-height: 170px; display: grid; align-content: center; border-radius: 2px; }
.qc1-feature-stack h3 { font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(30px, 3vw, 42px) !important; font-weight: 400 !important; line-height: 1.18; color: #1d2631 !important; margin: 0 0 18px; }
.qc1-feature-stack p { font-family: Georgia, "Times New Roman", serif !important; font-size: 24px !important; font-weight: 400 !important; line-height: 1.55; color: #1d2631 !important; margin: 0; }
.qc1-rotation-panel { background: linear-gradient(135deg, #fbfbfa, #f0ebe8); border: 1px solid rgba(152,120,101,.18); border-radius: 0 72px 0 72px; padding: clamp(28px, 4vw, 54px); display: grid; align-content: center; text-align: center; overflow: hidden; box-shadow: 0 24px 70px rgba(18, 28, 42, .10); }
.qc1-rotation-panel h2 { color: #1d2631 !important; margin: 10px 0 26px; }
.qc1-rotation-stage { position: relative; min-height: clamp(330px, 34vw, 500px); display: grid; place-items: center; perspective: 1200px; cursor: grab; user-select: none; touch-action: none; }
.qc1-rotation-stage.is-dragging { cursor: grabbing; }
.qc1-rotation-stage img { width: min(92%, 760px); max-height: 430px; object-fit: contain; transform: rotateY(var(--spin, 0deg)); transform-style: preserve-3d; transition: transform .08s linear, filter .2s ease; filter: drop-shadow(0 30px 28px rgba(0,0,0,.18)); position: relative; z-index: 2; backface-visibility: visible; }
.qc1-rotation-stage::before { content: ""; position: absolute; width: min(82%, 620px); height: 58%; border-radius: 50%; background: radial-gradient(ellipse, rgba(152,120,101,.12), rgba(152,120,101,0) 66%); transform: translateY(42%); }
.rotation-shadow { position: absolute; bottom: 18%; width: min(70%, 540px); height: 28px; background: radial-gradient(ellipse, rgba(0,0,0,.22), rgba(0,0,0,0) 72%); filter: blur(6px); z-index: 1; }
.rotation-badge { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 3; width: 86px; height: 86px; border-radius: 50%; border: 1px solid rgba(255,255,255,.72); background: rgba(152,120,101,.88); color: #fff; font: 500 24px Georgia, "Times New Roman", serif; box-shadow: 0 18px 34px rgba(152,120,101,.28); }
.rotation-hint { color: #5f6670 !important; font-size: 21px !important; margin: 10px 0 0; }
@media (max-width: 980px) { .qc1-ride-explorer { grid-template-columns: 1fr; } .qc1-rotation-stage { min-height: 360px; } }
@media (max-width: 620px) { .qc1-feature-stack h3 { font-size: 30px !important; } .qc1-feature-stack p { font-size: 20px !important; } .rotation-badge { width: 72px; height: 72px; font-size: 20px; } }



/* QC1 360 layout replacement polish */
.qc1-ride-explorer { display: block !important; padding: 78px clamp(22px, 5vw, 84px) 92px !important; background: #f4f6f8 !important; }
.qc1-rotation-panel { max-width: 1120px; margin: 0 auto; text-align: center; background: #fbfaf8 !important; border: 1px solid rgba(152,120,101,.22); border-radius: 0 90px 0 0 !important; padding: clamp(40px, 5vw, 78px) clamp(24px, 5vw, 70px) 44px !important; box-shadow: 0 22px 70px rgba(18, 28, 42, .08); }
.qc1-rotation-panel .qc1-kicker { display: block; color: var(--rohan-brown) !important; font-size: 25px !important; text-transform: uppercase; margin-bottom: 20px; }
.qc1-rotation-panel h2 { color: #1d2631 !important; font-size: clamp(42px, 5vw, 64px) !important; font-weight: 500 !important; line-height: 1.15 !important; margin: 0; }
.qc1-rotation-subtitle { color: #5f6670 !important; font-size: 22px !important; line-height: 1.5 !important; max-width: 680px; margin: 18px auto 26px !important; }
.qc1-rotation-stage { min-height: clamp(420px, 38vw, 560px) !important; align-items: center !important; justify-items: center !important; }
.qc1-rotation-stage img { width: min(82%, 760px) !important; max-height: 470px !important; margin: 0 auto !important; object-fit: contain !important; }
.rotation-badge { bottom: 20px !important; }
.rotation-hint { color: #5f6670 !important; font-size: 20px !important; margin-top: 2px !important; }
.qc1-feature-stack.compact-cards { max-width: 1040px; margin: 44px auto 0; display: grid !important; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 28px; }
.qc1-feature-stack.compact-cards article { background: #fff !important; min-height: 250px !important; padding: 40px 38px !important; border-radius: 26px !important; align-content: center !important; box-shadow: 0 22px 60px rgba(18,28,42,.10); border: 1px solid rgba(18,28,42,.06); }
.qc1-feature-stack.compact-cards h3 { font-size: 30px !important; font-weight: 400 !important; margin-bottom: 24px !important; color: #050505 !important; }
.qc1-feature-stack.compact-cards p { font-size: 27px !important; line-height: 1.5 !important; color: #5f6670 !important; }
.qc1-reference-stats { border-top: 1px solid rgba(152,120,101,.08); padding-top: 24px; }
@media (max-width: 760px) { .qc1-feature-stack.compact-cards { grid-template-columns: 1fr; } .qc1-rotation-panel { border-radius: 0 54px 0 0 !important; } .qc1-feature-stack.compact-cards p { font-size: 22px !important; } }


/* Comfort convenience slider and contact page polish */
.qc1-comfort-showcase { background: #f4f6f8; padding: 78px clamp(22px, 5vw, 82px) 84px; }
.qc1-comfort-head { max-width: 1500px; margin: 0 auto 52px; }
.qc1-comfort-head h2 { color: #1d2631 !important; font-size: clamp(44px, 5vw, 64px) !important; font-weight: 400 !important; margin: 0 0 24px; }
.qc1-comfort-head p { color: #031d3a !important; font-size: 23px !important; line-height: 1.5 !important; max-width: 1500px; margin: 0; }
.qc1-comfort-slider { max-width: 1560px; min-height: 520px; margin: 0 auto; background: #e9ecef; display: grid; grid-template-columns: 56px minmax(280px, .82fr) minmax(420px, 1.08fr) 56px; align-items: center; gap: 28px; padding: 54px 36px; position: relative; }
.qc1-comfort-slide-copy { padding-left: clamp(12px, 5vw, 90px); }
.qc1-comfort-slide-copy h3 { font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(38px, 4vw, 48px) !important; font-weight: 400 !important; color: #1d2631 !important; margin: 0 0 24px; }
.qc1-comfort-slide-copy p { color: #1d2631 !important; font-size: 25px !important; line-height: 1.45 !important; margin: 0; }
.qc1-comfort-slide-image { display: grid; place-items: center; }
.qc1-comfort-slide-image img { width: min(100%, 680px); height: clamp(260px, 28vw, 410px); object-fit: cover; object-position: center; box-shadow: 0 18px 48px rgba(18,28,42,.10); }
.qc1-comfort-arrow { width: 48px; height: 48px; border: 0; background: transparent; color: #1d2631; font-size: 56px; line-height: 1; cursor: pointer; }
.qc1-comfort-dots { position: absolute; left: 50%; bottom: 50px; transform: translateX(-50%); display: flex; gap: 12px; }
.qc1-comfort-dots span { width: 11px; height: 11px; border-radius: 50%; background: #c8cacc; }
.qc1-comfort-dots span.active { background: #1d2631; }
.qc1-feature-stack.compact-cards { max-width: 1280px !important; margin: 54px auto 0 !important; }
.qc1-ride-explorer { padding-top: 70px !important; }
.qc1-ride-explorer .qc1-rotation-panel { max-width: 1040px !important; }

.contact-hero { background: linear-gradient(135deg, #f7f4f1, #fff); }
.premium-contact-page { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(320px, 440px); gap: 34px; align-items: start; }
.full-contact-grid { grid-template-columns: repeat(2, minmax(250px, 1fr)) !important; gap: 22px; }
.full-contact-grid article { background: #fff; border-radius: 18px; box-shadow: 0 18px 44px rgba(18,28,42,.08); border: 1px solid rgba(152,120,101,.14); }
.full-contact-grid a { color: var(--rohan-brown); }
.premium-contact-form { background: #fff; border-radius: 22px; box-shadow: 0 18px 50px rgba(18,28,42,.10); border: 1px solid rgba(152,120,101,.16); }
.premium-contact-form h2 { margin: 0 0 18px; color: #1d2631 !important; font-weight: 400 !important; }
@media (max-width: 980px) { .qc1-comfort-slider { grid-template-columns: 42px 1fr 42px; } .qc1-comfort-slide-image { grid-column: 2; } .qc1-comfort-slide-copy { grid-column: 2; padding-left: 0; } .premium-contact-page, .full-contact-grid { grid-template-columns: 1fr !important; } }



/* Activa110 and final menu polish */
.products-mega { border-radius: 0 0 8px 8px; }
.scooter-mega-grid { display: grid !important; grid-template-columns: minmax(220px, .75fr) repeat(4, minmax(135px, 1fr)); align-items: stretch; gap: 20px; padding: 8px 0 0 4px; }
.mega-copy { background: linear-gradient(135deg, rgba(152,120,101,.12), rgba(255,255,255,.92)); border: 1px solid rgba(152,120,101,.2); padding: 24px; display: grid; align-content: center; gap: 12px; }
.mega-copy span { color: var(--rohan-brown); font-family: Georgia, "Times New Roman", serif; font-size: 21px; }
.mega-copy strong { color: #1d2631; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; line-height: 1.24; text-transform: none; }
.scooter-mega-grid .mega-product-card { border: 1px solid rgba(152,120,101,.16); background: #fff; padding: 18px; place-items: center; text-align: center; transition: box-shadow .25s ease, transform .25s ease; }
.scooter-mega-grid .mega-product-card:hover { box-shadow: 0 18px 42px rgba(18,28,42,.12); transform: translateY(-3px); }
.scooter-mega-grid .mega-product-card img { width: 100%; max-width: 190px; height: 118px; }
.scooter-mega-grid .mega-product-card span { color: #1d2631; font-family: Georgia, "Times New Roman", serif; }
.qc1-comfort-showcase { background: #f4f6f8 !important; }
.qc1-comfort-head { max-width: 1120px !important; text-align: center; }
.qc1-comfort-head p { margin: 0 auto !important; }
.qc1-comfort-cards { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.qc1-comfort-cards article { min-height: 260px; background: #fff; border: 1px solid rgba(152,120,101,.16); box-shadow: 0 18px 46px rgba(18,28,42,.08); padding: clamp(28px, 4vw, 48px); display: grid; align-content: center; text-align: center; }
.qc1-comfort-cards h3 { color: #1d2631 !important; font-family: Georgia, "Times New Roman", serif !important; font-size: clamp(28px, 3vw, 38px) !important; font-weight: 400 !important; line-height: 1.18; }
.qc1-comfort-cards p { color: #1d2631 !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 23px !important; line-height: 1.45 !important; }
.qc1-page .qc1-final-cta { position: relative; isolation: isolate; background: linear-gradient(rgba(12,12,12,.72), rgba(12,12,12,.72)), url("../images/qc1-banner.webp") center/cover no-repeat !important; min-height: 390px; display: grid; place-items: center; align-content: center; overflow: hidden; }
.qc1-page .qc1-final-cta::before { content: ""; position: absolute; inset: -6%; z-index: -1; background: inherit; animation: qc1CtaMotion 12s ease-in-out infinite alternate; }
@keyframes qc1CtaMotion { from { transform: scale(1.02) translate3d(-1%, 0, 0); } to { transform: scale(1.08) translate3d(1.5%, -1%, 0); } }
.qc1-page .qc1-final-cta h2, .qc1-page .qc1-final-cta p { color: #fff !important; text-shadow: 0 3px 18px rgba(0,0,0,.45); }
.activa-page { background: #fff; }
.activa-hero { position: relative; min-height: 680px; overflow: hidden; background: #111; }
.activa-hero video { width: 100%; height: 680px; object-fit: cover; display: block; }
.activa-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.18), rgba(0,0,0,.48)); }
.activa-hero-overlay { position: absolute; z-index: 2; left: clamp(22px, 7vw, 96px); top: 50%; transform: translateY(-50%); max-width: 650px; color: #fff; }
.activa-hero-overlay h1 { margin: 6px 0 22px; color: #fff !important; font-size: clamp(46px, 7vw, 82px) !important; }
.activa-hero-overlay p { color: #fff !important; font-size: 23px !important; }
.activa-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #e8e2de; }
.activa-stats div { background: #fff; padding: 32px clamp(18px, 4vw, 54px); text-align: center; }
.activa-stats strong { display: block; color: #1d2631; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 40px); font-weight: 500; }
.activa-stats span { color: var(--rohan-brown); font-weight: 800; text-transform: uppercase; }
.activa-feature-section { padding: 78px clamp(22px, 5vw, 82px); }
.activa-feature-section.soft { background: #f6f4f2; }
.activa-card-grid, .activa-split { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.activa-card-grid.safety, .activa-split { grid-template-columns: repeat(4, 1fr); }
.activa-card-grid article, .activa-split div { background: #fff; border: 1px solid rgba(152,120,101,.16); box-shadow: 0 18px 46px rgba(18,28,42,.08); padding: 32px; }
.activa-card-grid h3, .activa-split h3 { color: #1d2631 !important; font-family: Georgia, "Times New Roman", serif !important; font-weight: 400 !important; line-height: 1.22; }
.activa-card-grid p, .activa-split p { color: #5f6670 !important; font-size: 21px !important; }
.activa-final-cta { padding: 86px clamp(22px, 6vw, 110px); text-align: center; background: linear-gradient(135deg, #161616, #987865); color: #fff; }
.activa-final-cta h2, .activa-final-cta p { color: #fff !important; }
@media (max-width: 1000px) { .scooter-mega-grid, .qc1-comfort-cards, .activa-card-grid, .activa-card-grid.safety, .activa-split, .activa-stats { grid-template-columns: 1fr; } .activa-hero, .activa-hero video { min-height: 560px; height: 560px; } }

/* Final compact polish requested */
.products-mega { grid-template-columns: 240px 1fr !important; min-height: 320px !important; padding: 28px 36px !important; }
.mega-sidebar a { font-size: 22px !important; padding: 18px 10px 18px 0 !important; }
.scooter-mega-grid { grid-template-columns: minmax(190px, .75fr) repeat(4, minmax(120px, 1fr)) !important; gap: 16px !important; }
.scooter-mega-grid .mega-product-card { min-height: 190px; }
.scooter-mega-grid .mega-product-card img { max-width: 165px !important; height: 100px !important; }
.scooter-mega-grid .mega-product-card span { font-size: 20px !important; }
.mega-copy { padding: 20px !important; }
.mega-copy span { font-size: 18px !important; }
.mega-copy strong { font-size: 21px !important; }
.qc1-comfort-showcase { padding: 62px clamp(22px, 5vw, 76px) 70px !important; }
.qc1-comfort-head { margin-bottom: 34px !important; }
.qc1-comfort-head h2 { font-size: clamp(32px, 4vw, 44px) !important; margin-bottom: 16px !important; }
.qc1-comfort-head p { font-size: 19px !important; line-height: 1.45 !important; max-width: 860px !important; }
.qc1-comfort-cards { gap: 20px !important; max-width: 1180px !important; }
.qc1-comfort-cards article { min-height: 220px !important; padding: 30px 28px !important; }
.qc1-comfort-cards h3 { font-size: clamp(25px, 2.4vw, 32px) !important; margin-bottom: 14px !important; }
.qc1-comfort-cards p { font-size: 19px !important; line-height: 1.42 !important; }
.qc1-rotation-panel h2 { font-size: clamp(32px, 4vw, 44px) !important; }
.qc1-ride-explorer { padding-top: 56px !important; padding-bottom: 68px !important; }
.activa-hero { min-height: 620px !important; }
.activa-hero video { height: 620px !important; }
.activa-hero-overlay h1 { font-size: clamp(40px, 6vw, 68px) !important; }
.activa-hero-overlay p { font-size: 20px !important; max-width: 560px; }
.activa-stats div { padding: 26px clamp(18px, 4vw, 42px) !important; }
.activa-stats strong { font-size: clamp(25px, 2.6vw, 34px) !important; }
.activa-feature-section { padding: 62px clamp(22px, 5vw, 76px) !important; }
.activa-page .section-head h2 { font-size: clamp(32px, 4vw, 44px) !important; }
.activa-page .section-head p { font-size: 19px !important; line-height: 1.45 !important; }
.activa-card-grid article, .activa-split div { padding: 28px !important; }
.activa-card-grid h3, .activa-split h3 { font-size: 24px !important; }
.activa-card-grid p, .activa-split p { font-size: 18px !important; line-height: 1.45 !important; }
.activa-know-ride { padding: 66px clamp(22px, 5vw, 82px); background: #fff; }
.activa-spec-layout { max-width: 1380px; margin: 0 auto; display: grid; grid-template-columns: 230px 1fr; gap: clamp(24px, 4vw, 58px); align-items: start; }
.activa-variant-panel { position: relative; padding-top: 8px; }
.activa-variant-panel span { color: #5f6670; display: block; margin-bottom: 18px; font-size: 16px; }
.activa-variant-panel button { width: 100%; border: 0; background: #fff; color: #0b0b0d; display: flex; justify-content: space-between; align-items: center; font-size: 20px; font-weight: 800; padding: 12px 4px 18px; }
.activa-variant-list { background: #fff; border: 1px solid rgba(18,28,42,.16); box-shadow: 0 18px 40px rgba(18,28,42,.12); border-radius: 6px; overflow: hidden; }
.activa-variant-list a { display: block; padding: 14px 20px; color: #101010; font-size: 20px; border-bottom: 1px solid rgba(18,28,42,.18); }
.activa-variant-list a:last-child { border-bottom: 0; }
.activa-variant-list a.active { background: #fff1ee; }
.activa-spec-tabs { background: #f4f4f4; border-radius: 999px; padding: 10px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 42px; }
.activa-spec-tabs button { border: 0; background: transparent; border-radius: 999px; padding: 18px 16px; color: #111; font-size: 18px; line-height: 1.25; cursor: pointer; }
.activa-spec-tabs button.active { background: #fff; color: #987865; font-weight: 900; box-shadow: 0 10px 28px rgba(18,28,42,.06); }
.activa-spec-content { display: grid; grid-template-columns: minmax(320px, .95fr) minmax(340px, .75fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.activa-spec-bike img { width: 100%; max-height: 430px; object-fit: contain; filter: drop-shadow(0 24px 24px rgba(0,0,0,.14)); }
.activa-spec-content dl { margin: 0; max-height: 390px; overflow: auto; padding-right: 18px; }
.activa-spec-content dl::-webkit-scrollbar { width: 8px; }
.activa-spec-content dl::-webkit-scrollbar-thumb { background: #777; border-radius: 999px; }
.activa-spec-content dl div { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 12px 0; border-bottom: 1px solid #ececec; color: #59616b; font-size: 20px; }
.activa-spec-content dt { font-weight: 500; }
.activa-spec-content dd { margin: 0; font-weight: 600; }
.activa-360-showcase { background: radial-gradient(circle at 22% 70%, #66b5ea 0, #0d5791 34%, #07365f 72%); padding: 42px clamp(18px, 5vw, 80px) 56px; overflow: hidden; }
.activa-360-stage { max-width: 1160px; min-height: 540px; margin: 0 auto; display: grid; place-items: center; position: relative; }
.activa-360-stage img { width: min(82vw, 820px); max-height: 430px; object-fit: contain; filter: drop-shadow(0 32px 26px rgba(0,0,0,.28)); }
.activa-360-stage button { width: 82px; height: 82px; border-radius: 50%; border: 1px solid rgba(255,255,255,.72); background: rgba(152,120,101,.84); color: #fff; font: 500 24px Georgia, "Times New Roman", serif; margin-top: -34px; }
.activa-colors { display: flex; gap: 14px; margin: 18px 0 12px; }
.activa-colors span { width: 20px; height: 20px; border-radius: 50%; background: var(--dot); border: 1px solid rgba(255,255,255,.72); box-shadow: 0 0 0 1px rgba(0,0,0,.25); }
.activa-colors span.active { box-shadow: 0 0 0 3px rgba(255,255,255,.78); }
.activa-360-stage strong { background: #fff; color: #333; padding: 12px 22px; border-radius: 999px; font-size: 18px; box-shadow: 0 12px 28px rgba(0,0,0,.15); }
.activa-final-cta { padding: 68px clamp(22px, 6vw, 100px) !important; }
@media (max-width: 1000px) { .products-mega { grid-template-columns: 1fr !important; } .activa-spec-layout, .activa-spec-content { grid-template-columns: 1fr; } .activa-spec-tabs { grid-template-columns: 1fr 1fr; border-radius: 28px; } .activa-card-grid.safety, .activa-split { grid-template-columns: repeat(2, 1fr) !important; } .activa-360-stage { min-height: 430px; } }
@media (max-width: 620px) { .activa-card-grid.safety, .activa-split { grid-template-columns: 1fr !important; } .activa-spec-tabs { grid-template-columns: 1fr; } .activa-spec-content dl div { font-size: 17px; } }

/* QC1 accessories and contact image final pass */
.qc1-accessories { padding: 74px clamp(22px, 5vw, 82px); background: #e9e5e3; }
.qc1-accessories .section-head h2 { color: #987865 !important; font-size: clamp(32px, 4vw, 46px) !important; text-transform: uppercase; }
.qc1-accessories .section-head p { font-size: 19px !important; color: #4c4c4c !important; }
.qc1-accessory-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(240px, 1fr)); gap: 6px; }
.qc1-accessory-grid article { background: #eeeae8; border: 3px solid #fff; display: grid; grid-template-rows: 1fr auto; min-height: 320px; text-align: center; }
.qc1-accessory-grid img { width: 100%; height: 250px; object-fit: contain; background: #fff; padding: 18px; }
.qc1-accessory-grid h3 { color: #111 !important; font-family: Arial, Helvetica, sans-serif !important; font-size: 21px !important; font-weight: 800 !important; line-height: 1.22; padding: 18px 18px 20px; margin: 0; }
.contact-image-panel { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 5vw, 68px); align-items: center; padding: 58px clamp(22px, 5vw, 82px); background: #f7f4f1; }
.contact-image-panel img { width: 100%; min-height: 360px; object-fit: cover; box-shadow: 0 22px 58px rgba(18,28,42,.12); }
.contact-image-panel h2 { color: #1d2631 !important; font-size: clamp(32px, 4vw, 44px) !important; margin: 8px 0 14px; }
.contact-image-panel p { color: #5f6670 !important; font-size: 20px !important; line-height: 1.5 !important; }
.activa-variant-list a { cursor: pointer; }
.activa-spec-tabs button { transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
@media (max-width: 980px) { .qc1-accessory-grid, .contact-image-panel { grid-template-columns: 1fr; } .qc1-accessory-grid img { height: 230px; } }

/* Contact supplied Activa image polish */
.contact-image-panel img[src*='activa110-blue-side-contact'] { object-fit: contain !important; background: linear-gradient(135deg, #fff, #f3eeeb); padding: clamp(22px, 4vw, 54px); min-height: 320px; }


/* Visible contact menu scooter image */
.contact-mini-menu { min-width: 260px; padding: 16px; text-align: center; }
.contact-mini-menu img { width: 220px; height: 120px; object-fit: contain; display: block; margin: 0 auto 10px; background: #f7f4f1; }
.contact-mini-menu span { color: #1d2631; font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 700; text-transform: none; }
.contact-image-panel img[src*='activa110-blue-side-contact'] { object-fit: contain !important; background: linear-gradient(135deg, #fff, #f3eeeb); padding: clamp(22px, 4vw, 54px); min-height: 340px; }
@media (max-width: 1000px) { .contact-mini-menu { display: none !important; } }


/* Activa supplied bike visible section */
.activa-supplied-bike { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(24px, 5vw, 64px); align-items: center; padding: 58px clamp(22px, 5vw, 82px); background: linear-gradient(135deg, #f8f5f2, #fff); }
.activa-supplied-copy h2 { color: #1d2631 !important; font-size: clamp(32px, 4vw, 44px) !important; margin: 8px 0 14px; }
.activa-supplied-copy p { color: #5f6670 !important; font-size: 19px !important; line-height: 1.45 !important; }
.activa-supplied-bike img { width: 100%; object-fit: contain; filter: drop-shadow(0 26px 24px rgba(18,28,42,.16)); }
.activa-spec-bike img[src*='activa110-blue-side-contact'], .activa-360-stage img[src*='activa110-blue-side-contact'] { width: min(92%, 760px) !important; object-fit: contain !important; }
@media (max-width: 900px) { .activa-supplied-bike { grid-template-columns: 1fr; text-align: center; } }

/* Dio110 page and product 360 controls */
.custom-product-mega .mega-panel-wrap { min-width: 0; }
.custom-product-mega .mega-panel { display: none; align-items: stretch; gap: 20px; grid-template-columns: minmax(190px,.75fr) repeat(4,minmax(120px,1fr)); }
.custom-product-mega .mega-panel.active { display: grid; }
.custom-product-mega:has(.mega-cat[data-cat="ev"]:hover) .mega-panel, .custom-product-mega:has(.mega-cat[data-cat="motorcycle"]:hover) .mega-panel, .custom-product-mega:has(.mega-cat[data-cat="scooters"]:hover) .mega-panel { display: none; }
.custom-product-mega:has(.mega-cat[data-cat="ev"]:hover) .mega-panel[data-panel="ev"], .custom-product-mega:has(.mega-cat[data-cat="motorcycle"]:hover) .mega-panel[data-panel="motorcycle"], .custom-product-mega:has(.mega-cat[data-cat="scooters"]:hover) .mega-panel[data-panel="scooters"] { display: grid; }
.custom-product-mega .mega-cat:hover, .custom-product-mega .mega-cat.active { color: var(--rohan-brown) !important; }
.product-360-showcase { padding: 44px clamp(18px,5vw,80px) 56px; background: var(--product-bg, linear-gradient(135deg,#0e4773,#0a365c)); transition: background .35s ease; overflow: hidden; }
.product-360-stage { max-width: 1180px; min-height: 560px; margin: 0 auto; display: grid; place-items: center; position: relative; cursor: grab; user-select: none; touch-action: none; }
.product-360-stage.is-dragging { cursor: grabbing; }
.product-360-image { width: min(84vw, 850px); max-height: 440px; object-fit: contain; filter: drop-shadow(0 34px 28px rgba(0,0,0,.30)); transform: rotateY(var(--spin, 0deg)); transition: transform .08s linear, opacity .18s ease; }
.product-360-badge { width: 82px; height: 82px; border-radius: 50%; border: 1px solid rgba(255,255,255,.75); background: rgba(152,120,101,.88); color: #fff; font: 500 24px Georgia, "Times New Roman", serif; margin-top: -30px; z-index: 2; }
.product-color-dots { display: flex; gap: 14px; align-items: center; justify-content: center; margin: 18px 0 12px; }
.product-color-dots button { width: 21px; height: 21px; border-radius: 50%; border: 1px solid rgba(255,255,255,.78); background: var(--dot); box-shadow: 0 0 0 1px rgba(0,0,0,.25); cursor: pointer; }
.product-color-dots button.active { box-shadow: 0 0 0 3px rgba(255,255,255,.86), 0 0 0 5px rgba(0,0,0,.18); }
.product-color-name { background: #fff; color: #333; padding: 12px 22px; border-radius: 999px; font-size: 18px; box-shadow: 0 12px 28px rgba(0,0,0,.16); }
.dio-page { background: #fff; }
.dio-hero { position: relative; min-height: 620px; display: grid; align-items: center; padding: 90px clamp(22px,6vw,96px); color: #fff; overflow: hidden; background: #111; }
.dio-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .82; }
.dio-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.2), rgba(0,0,0,.5)); }
.dio-hero > div { position: relative; z-index: 2; max-width: 620px; }
.dio-hero h1 { color: #fff !important; font-size: clamp(48px,7vw,86px) !important; margin: 8px 0 20px; }
.dio-hero p { color: #fff !important; font-size: 22px !important; max-width: 560px; }
.dio-features { padding: 72px clamp(22px,5vw,82px); background: #fff; }
.dio-features.soft { background: #f6f4f2; }
.dio-feature-grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.dio-feature-grid article { background: #fff; border: 1px solid rgba(152,120,101,.15); box-shadow: 0 18px 44px rgba(18,28,42,.08); text-align: center; padding: 24px; }
.dio-feature-grid img { width: 100%; height: 180px; object-fit: contain; margin-bottom: 16px; }
.dio-feature-grid h3 { color: #1d2631 !important; font-family: Georgia,"Times New Roman",serif !important; font-size: 24px !important; font-weight: 500 !important; }
.dio-feature-grid p { color: #5f6670 !important; font-size: 18px !important; line-height: 1.45 !important; }
.dio-spec-tabs { grid-template-columns: repeat(6,1fr) !important; }
.dio-know-ride .activa-spec-bike img { max-height: 440px; object-fit: contain; }
@media (max-width:1100px) { .custom-product-mega .mega-panel, .custom-product-mega .mega-panel.active { grid-template-columns: 1fr 1fr; } .dio-feature-grid { grid-template-columns: repeat(2,1fr); } .dio-spec-tabs { grid-template-columns: repeat(2,1fr) !important; border-radius: 28px; } }
@media (max-width:640px) { .custom-product-mega .mega-panel, .custom-product-mega .mega-panel.active, .dio-feature-grid { grid-template-columns: 1fr; } .product-360-stage { min-height: 420px; } .dio-hero { min-height: 520px; } }

/* Contact nav always visible */
.main-header { gap: 14px !important; }
.menu { gap: clamp(12px, 1.55vw, 22px) !important; flex: 1 1 auto; justify-content: center; min-width: 0; }
.menu > a, .menu > .menu-item > a { white-space: nowrap; }
.contact-nav-link { display: inline-flex !important; color: #202025; }
.contact-nav-link.active, .contact-nav-link:hover { color: #987865 !important; }
.search { padding: 10px 14px !important; flex: 0 0 auto; }
@media (max-width: 1180px) { .menu { gap: 12px !important; font-size: 13px !important; } .brand img { width: 190px !important; } }



/* Hide removed 360 badge */
.product-360-badge { display: none !important; }
.product-color-dots button { cursor: pointer; }
.product-color-dots button.active { transform: scale(1.18); box-shadow: 0 0 0 4px rgba(255,255,255,.68), 0 10px 20px rgba(0,0,0,.18); }
.product-360-image { transition: opacity .16s ease, transform .18s ease; }
.product-360-stage.is-dragging .product-360-image { transform: perspective(1200px) rotateY(var(--spin, 0deg)) scale(1.01); }

/* Final visible contact menu override */
.main-header .menu > a.contact-nav-link,
.main-header .menu a[href="contact.html"].contact-nav-link {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center;
  flex: 0 0 auto;
}
.main-header .menu {
  display: flex !important;
  flex-wrap: nowrap;
}
.main-header .search { padding: 9px 12px !important; }
@media (max-width: 1260px) {
  .main-header { padding-left: 20px !important; padding-right: 20px !important; }
  .main-header .brand img { width: 168px !important; }
  .main-header .menu { gap: 10px !important; font-size: 12px !important; }
}

/* Final product colour controls */
.product-color-dots { position: relative; z-index: 5; }
.product-color-dots button { pointer-events: auto; }
.product-360-badge { display: none !important; }

/* Dio video hero */
.dio-video-hero {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  background: #111;
}
.dio-video-hero .dio-hero-video,
.dio-video-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.dio-video-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.28), rgba(0,0,0,.36));
  z-index: 1;
}
.dio-video-hero .dio-hero-copy,
.dio-video-hero > div {
  position: relative;
  z-index: 2;
}
@media (max-width: 640px) {
  .dio-video-hero { min-height: 520px; }
}

/* Separate model pages */
.model-hero {
  position: relative;
  min-height: 610px;
  display: grid;
  align-items: center;
  padding: 90px clamp(18px, 6vw, 112px);
  overflow: hidden;
  background: #111;
  color: #fff;
}
.model-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .58;
  filter: saturate(.95);
}
.model-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.24), rgba(0,0,0,.5));
}
.model-hero > div {
  position: relative;
  z-index: 2;
  max-width: 680px;
}
.model-hero h1 {
  margin: 0 0 18px;
  font: 500 clamp(58px, 8vw, 112px)/.94 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}
.model-hero p {
  color: #fff;
  font: 600 clamp(20px, 2.1vw, 30px)/1.45 Georgia, "Times New Roman", serif;
}
.model-feature-section,
.model-comfort-section,
.model-accessories,
.model-specs {
  padding: 74px clamp(18px, 5vw, 80px);
}
.model-card-grid,
.accessory-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.model-card-grid article,
.accessory-card-grid article {
  background: #fff;
  border: 1px solid #ece4df;
  box-shadow: 0 18px 45px rgba(20,20,20,.08);
  text-align: center;
  padding: 28px 24px;
}
.model-card-grid h3,
.accessory-card-grid h3,
.model-split h3 {
  font: 600 26px/1.16 Georgia, "Times New Roman", serif;
  color: #202833;
}
.model-card-grid p,
.model-split p,
.accessory-card-grid p {
  font-size: 17px;
  line-height: 1.55;
}
.model-split {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.model-split > div {
  background: #fff;
  border: 1px solid #ece4df;
  padding: 28px 22px;
  text-align: center;
}
.model-specs {
  background: #f7f5f3;
}
.model-spec-layout {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(320px, 1fr);
  gap: 44px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}
.model-spec-layout img {
  width: 100%;
  max-height: 430px;
  object-fit: contain;
}
.model-spec-layout dl {
  margin: 0;
  background: #fff;
  border: 1px solid #e7ddd7;
  box-shadow: 0 18px 45px rgba(20,20,20,.08);
  padding: 22px 28px;
}
.model-spec-layout dl div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  border-bottom: 1px solid #eee;
  padding: 15px 0;
}
.model-spec-layout dl div:last-child { border-bottom: 0; }
.model-spec-layout dt {
  font: 500 22px/1.2 Georgia, "Times New Roman", serif;
  color: #4d5968;
}
.model-spec-layout dd {
  margin: 0;
  font-weight: 800;
  color: #987865;
}
.accessory-card-grid article { padding: 18px 18px 24px; }
.accessory-card-grid img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  background: #f8f8f8;
  padding: 14px;
  margin-bottom: 16px;
}
@media (max-width: 980px) {
  .model-card-grid,
  .accessory-card-grid,
  .model-split,
  .model-spec-layout { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .model-hero { min-height: 520px; }
  .model-card-grid,
  .accessory-card-grid,
  .model-split,
  .model-spec-layout { grid-template-columns: 1fr; }
}


/* Official scooter pages */
.model-video-hero {
  position: relative;
  min-height: 660px;
  display: grid;
  align-items: center;
  padding: 92px clamp(18px, 6vw, 112px);
  overflow: hidden;
  background: #111;
  color: #fff;
}
.model-video-hero video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.model-video-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.24), rgba(0,0,0,.42));
  z-index: 1;
}
.model-video-hero > div {
  position: relative;
  z-index: 2;
  max-width: 710px;
}
.model-video-hero h1 {
  margin: 0 0 18px;
  font: 500 clamp(58px, 8vw, 112px)/.94 Georgia, "Times New Roman", serif;
}
.model-video-hero p {
  color: #fff;
  font: 600 clamp(20px, 2.1vw, 30px)/1.45 Georgia, "Times New Roman", serif;
}
.official-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.official-feature-grid article {
  background: #fff;
  border: 1px solid #ece4df;
  box-shadow: 0 18px 45px rgba(20,20,20,.08);
  padding: 18px 18px 26px;
  text-align: center;
}
.official-feature-grid img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  background: #f7f7f7;
  margin-bottom: 18px;
}
.official-feature-grid h3 {
  font: 600 26px/1.14 Georgia, "Times New Roman", serif;
  color: #202833;
}
.custom-product-mega a[href],
.product-link-card[href] {
  cursor: pointer;
  position: relative;
  z-index: 5;
  pointer-events: auto;
}
.custom-product-mega .mega-product-card img {
  object-fit: contain;
}
@media (max-width: 900px) {
  .official-feature-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .model-video-hero { min-height: 520px; }
  .official-feature-grid { grid-template-columns: 1fr; }
}

/* Mega menu fit and clickable polish */
.custom-product-mega {
  width: min(94vw, 1540px) !important;
  max-width: 1540px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  overflow: hidden !important;
}
.custom-product-mega .mega-panel-wrap { min-width: 0; overflow: hidden; }
.custom-product-mega .mega-panel,
.custom-product-mega .mega-panel.active {
  gap: clamp(12px, 1.3vw, 22px) !important;
  grid-template-columns: minmax(190px, .85fr) repeat(4, minmax(135px, 1fr)) !important;
}
.custom-product-mega .mega-product-card { min-width: 0; padding: 18px 12px !important; }
.custom-product-mega .mega-product-card img { max-width: 100%; height: 126px !important; object-fit: contain !important; }
.custom-product-mega .mega-product-card span { font-size: clamp(18px, 1.8vw, 26px) !important; white-space: nowrap; }
@media (max-width: 980px) {
  .custom-product-mega { width: 96vw !important; }
  .custom-product-mega .mega-panel,
  .custom-product-mega .mega-panel.active { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* QC1-style scooter product pages final */
.scooter-qc-page {
  background: #fff;
  color: #101010;
  font-family: Georgia, "Times New Roman", serif !important;
}
.scooter-qc-page .model-video-frame {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  min-height: clamp(420px, 44vw, 610px);
  border-radius: 0 58px 0 58px;
  clip-path: polygon(2% 0, 100% 0, 98% 100%, 0 100%);
  box-shadow: 0 22px 70px rgba(20, 30, 40, .14);
  background: #111;
}
.scooter-qc-page .model-video-frame video {
  display: block;
  width: 100%;
  height: clamp(420px, 44vw, 610px);
  object-fit: cover;
  animation: qc1ReferenceMotion 13s ease-in-out infinite alternate;
  transform-origin: center;
}
.scooter-qc-page .qc1-banner-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(34px, 6vw, 86px);
  background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.34) 45%, rgba(0,0,0,.08) 78%);
  color: #fff;
}
.scooter-qc-page .qc1-banner-overlay h1,
.scooter-qc-page .qc1-banner-overlay p,
.scooter-qc-page .qc1-banner-overlay .qc1-kicker { color: #fff !important; }
.scooter-qc-page .qc1-banner-overlay h1 { font-size: clamp(46px, 8vw, 96px) !important; margin: 8px 0 14px; }
.scooter-qc-page .qc1-banner-overlay p { max-width: 620px; font-size: clamp(18px, 2vw, 27px) !important; line-height: 1.42; }
.scooter-qc-page .qc1-reference-stats { max-width: 840px; }
.scooter-color-zone {
  background: var(--product-bg, linear-gradient(135deg,#eaf5ff,#fff 58%)) !important;
  transition: background .32s ease;
}
.scooter-color-zone .qc1-color-visual { cursor: grab; }
.scooter-color-zone .qc1-color-visual.is-dragging { cursor: grabbing; }
.scooter-color-zone .product-360-image {
  width: min(92%, 850px);
  max-height: 540px;
  object-fit: contain;
  filter: drop-shadow(0 34px 28px rgba(0,0,0,.24));
}
.scooter-color-zone .qc1-color-panel { background: rgba(255,255,255,.58); border: 1px solid rgba(255,255,255,.42); padding: 34px; }
.scooter-color-zone .product-color-name {
  display: inline-flex;
  margin-top: 18px;
  background: #fff;
  color: #1d2631;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 20px;
  box-shadow: 0 12px 28px rgba(0,0,0,.14);
}
.scooter-qc-page .qc1-official-features article { background: #fff; border: 1px solid #eee3dd; box-shadow: 0 22px 52px rgba(20,20,20,.08); }
.scooter-qc-page .feature-line-icon { color: var(--rohan-brown) !important; border-color: rgba(152,120,101,.28); }
.model-comfort-cards { background: #eef0f2 !important; padding: 56px clamp(24px, 5vw, 70px) 84px !important; }
.model-comfort-cards .qc1-comfort-head h2 { color: #1d2631 !important; font-size: clamp(38px, 6vw, 78px) !important; }
.model-comfort-cards .qc1-comfort-cards article {
  background: #fff;
  min-height: 290px;
  border: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.model-comfort-cards .qc1-comfort-cards h3 { font-size: clamp(30px, 3vw, 48px) !important; color: #031d3a !important; }
.model-comfort-cards .qc1-comfort-cards p { color: #031d3a !important; font-size: clamp(18px, 1.6vw, 25px) !important; }
.model-media-detail .media-cards article { overflow: hidden; }
.model-media-detail .media-cards img,
.model-feature-media .qc1-battery-grid img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 18px;
}
.model-feature-media .qc1-battery-grid article { overflow: hidden; }
.model-qc-specs {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) 1.2fr;
  gap: 40px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}
.model-qc-specs > img {
  width: 100%;
  max-height: 430px;
  object-fit: contain;
  filter: drop-shadow(0 22px 24px rgba(0,0,0,.16));
}
.scooter-qc-page .qc1-accessory-grid article { border-radius: 0; border: 1px solid #ece4df; box-shadow: 0 18px 45px rgba(20,20,20,.08); }
.scooter-qc-page .qc1-accessory-grid img { height: 220px; object-fit: contain; background: #f8f8f8; padding: 14px; }
@media (max-width: 900px) {
  .model-qc-specs { grid-template-columns: 1fr; }
  .scooter-qc-page .qc1-banner-overlay { padding: 30px; }
}

/* QC1-style bike pages final */
.bike-qc-hero .bike-hero-image {
  background: #f6f3f1;
}
.bike-qc-hero .bike-hero-image > img {
  display: block;
  width: 100%;
  height: clamp(420px, 44vw, 610px);
  object-fit: contain;
  padding: clamp(36px, 6vw, 84px);
  background: radial-gradient(circle at 72% 46%, rgba(152,120,101,.24), transparent 38%), #f7f4f1;
}
.bike-qc-page .qc1-banner-overlay {
  background: linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.22) 46%, rgba(0,0,0,.03) 82%);
}

/* Model get to know ride section */
.model-know-ride {
  padding: 72px clamp(18px, 5vw, 86px) 92px;
  background: #fff;
  color: #111;
}
.model-know-ride .section-head { margin-bottom: 38px; }
.model-know-ride .section-head h2 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(32px, 3.2vw, 44px) !important;
  font-weight: 800 !important;
  color: #000 !important;
  text-transform: none;
}
.model-know-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 38px;
  max-width: 1320px;
  margin: 0 auto;
  align-items: start;
}
.model-variant-panel {
  padding-top: 10px;
  font-family: Arial, Helvetica, sans-serif;
}
.model-variant-panel > span {
  display: block;
  color: #5b6470;
  font-size: 16px;
  margin-bottom: 18px;
}
.model-variant-button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 0;
  background: #fff;
  color: #000;
  font-weight: 800;
  font-size: 22px;
  padding: 4px 0 18px;
  cursor: pointer;
}
.model-variant-list {
  display: none;
  width: 100%;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 18px 34px rgba(0,0,0,.12);
}
.model-variant-panel.open .model-variant-list,
.model-variant-panel:hover .model-variant-list { display: block; }
.model-variant-list a {
  display: block;
  padding: 15px 20px;
  font-size: 22px;
  color: #000;
  border-bottom: 1px solid #ddd;
}
.model-variant-list a:last-child { border-bottom: 0; }
.model-variant-list a.active { background: #fff0ed; color: #000; }
.model-spec-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 0;
  background: #f4f4f4;
  border-radius: 46px;
  padding: 10px;
  margin-bottom: 46px;
  overflow: hidden;
}
.model-spec-tabs button {
  border: 0;
  background: transparent;
  color: #000;
  min-height: 64px;
  border-radius: 38px;
  font: 500 20px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
  padding: 10px 16px;
}
.model-spec-tabs button.active {
  background: #fff;
  color: #d90000;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(0,0,0,.04);
}
.model-spec-content {
  display: grid;
  grid-template-columns: minmax(330px, 1fr) minmax(360px, .85fr);
  gap: clamp(34px, 6vw, 86px);
  align-items: center;
}
.model-spec-bike {
  min-height: 420px;
  display: flex;
  align-items: end;
  justify-content: center;
  overflow: hidden;
}
.model-spec-bike img {
  width: min(100%, 620px);
  max-height: 460px;
  object-fit: contain;
  filter: drop-shadow(0 20px 20px rgba(0,0,0,.12));
}
.model-spec-list {
  margin: 0;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 34px;
  font-family: Arial, Helvetica, sans-serif;
  scrollbar-width: auto;
}
.model-spec-list div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 22px;
  border-bottom: 1px solid #eee;
  padding: 13px 0;
}
.model-spec-list dt,
.model-spec-list dd {
  margin: 0;
  color: #5c6570;
  font-size: 21px;
  line-height: 1.2;
}
.model-spec-list dd { font-weight: 500; text-align: right; }
@media (max-width: 1100px) {
  .model-know-layout { grid-template-columns: 1fr; }
  .model-spec-tabs { grid-template-columns: repeat(2, 1fr); border-radius: 28px; }
  .model-spec-content { grid-template-columns: 1fr; }
  .model-spec-bike { min-height: 280px; }
}
@media (max-width: 620px) {
  .model-spec-tabs { grid-template-columns: 1fr; }
  .model-spec-list dt,
  .model-spec-list dd { font-size: 18px; }
}

/* Hero text crop fix final */
.scooter-qc-page .qc1-reference-hero.model-qc-hero {
  padding-top: clamp(28px, 4vw, 52px) !important;
  overflow: visible !important;
}
.scooter-qc-page .qc1-banner-text-hero .qc1-reference-image.model-video-frame,
.scooter-qc-page .model-video-frame {
  overflow: hidden !important;
  clip-path: none !important;
  border-radius: 0 58px 0 58px !important;
  min-height: clamp(520px, 46vw, 680px) !important;
}
.scooter-qc-page .qc1-banner-text-hero .qc1-reference-image.model-video-frame::after {
  display: none !important;
}
.scooter-qc-page .model-video-frame video {
  height: clamp(520px, 46vw, 680px) !important;
}
.scooter-qc-page .model-video-frame .qc1-banner-overlay {
  inset: 0 !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: clamp(56px, 6.5vw, 104px) clamp(34px, 7vw, 116px) clamp(46px, 5vw, 78px) !important;
  background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.44) 37%, rgba(0,0,0,.12) 72%, rgba(0,0,0,.04) 100%) !important;
}
.scooter-qc-page .model-video-frame .qc1-banner-overlay h1 {
  margin-top: 0 !important;
  font-size: clamp(42px, 6vw, 82px) !important;
  line-height: 1.05 !important;
  max-width: 680px !important;
}
.scooter-qc-page .model-video-frame .qc1-banner-overlay p {
  max-width: min(640px, 46vw) !important;
  font-size: clamp(20px, 2.25vw, 34px) !important;
  line-height: 1.62 !important;
  margin: 0 0 28px !important;
  overflow-wrap: anywhere;
}
.scooter-qc-page .model-video-frame .qc1-banner-overlay .qc1-book {
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  .scooter-qc-page .model-video-frame .qc1-banner-overlay p { max-width: 86vw !important; font-size: 20px !important; line-height: 1.45 !important; }
  .scooter-qc-page .model-video-frame .qc1-banner-overlay { padding: 42px 26px !important; }
}



/* Activa110 final requested visual fixes */
.activa-accessories-carousel-section .section-head h2,
.activa-accessories-carousel-section h3,
.activa-spec-section .section-head h2 {
  color: #111 !important;
}
.activa-accessories-carousel-section .section-head p {
  color: #555 !important;
}
.accessory-carousel {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 56px;
}
.accessory-carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px;
  overflow: hidden;
  scroll-behavior: smooth;
}
.accessory-carousel-track article {
  background: #fff;
  border: 1px solid #e8e2df;
  box-shadow: 0 18px 42px rgba(35, 28, 24, .08);
  text-align: center;
}
.accessory-carousel-track img {
  width: 100%;
  height: 300px;
  object-fit: contain;
  padding: 22px;
  background: #f8f7f6;
}
.accessory-carousel-track h3 {
  min-height: 88px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 18px;
  font-weight: 600;
  line-height: 1.25;
}
.accessory-carousel-btn {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #987865;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}
.accessory-carousel-prev { left: 4px; }
.accessory-carousel-next { right: 4px; }
.accessory-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}
.accessory-carousel-dots button {
  width: 10px;
  height: 10px;
  border: 1px solid #987865;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.accessory-carousel-dots button.active {
  width: 28px;
  background: #987865;
}
.activa-motion-cta {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  display: grid;
  place-items: center;
  background: #3c302b !important;
}
.activa-motion-cta video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.activa-motion-cta:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(28, 22, 19, .68), rgba(28, 22, 19, .38), rgba(28, 22, 19, .72));
}
.activa-motion-cta-copy {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 28px;
}
.activa-motion-cta .qc1-book,
.activa-final-cta .qc1-book,
.btn.red {
  background: #987865 !important;
  color: #fff !important;
}
.activa-spec-tabs {
  grid-template-columns: repeat(6, 1fr) !important;
}
.activa-spec-tabs button,
.model-spec-tabs button {
  font-weight: 500 !important;
}
.activa-spec-tabs button.active,
.model-spec-tabs button.active,
.dio-spec-tabs button.active {
  color: #987865 !important;
  font-weight: 600 !important;
}
.qc1-detail-section.dark,
.qc1-detail-section.dark h2,
.qc1-detail-section.dark h3,
.qc1-detail-section.dark p,
.qc1-detail-section.dark .qc1-kicker,
.qc1-detail-section.dark .qc1-detail-cards h3,
.qc1-detail-section.dark .qc1-detail-cards p {
  color: #fff !important;
}
@media (max-width: 1100px) {
  .accessory-carousel-track { grid-auto-columns: calc((100% - 24px) / 2); }
}
@media (max-width: 720px) {
  .accessory-carousel { padding: 0 42px; }
  .accessory-carousel-track { grid-auto-columns: 100%; }
  .accessory-carousel-track img { height: 240px; }
  .activa-spec-tabs { grid-template-columns: repeat(2, 1fr) !important; }
}
/* Activa110 DLX SMART final fixes */
.activa-variant-list {
  display: none !important;
}
.activa-variant-panel.open .activa-variant-list,
.activa-variant-panel:hover .activa-variant-list {
  display: block !important;
}
.activa-variant-list a.active {
  background: rgba(152, 120, 101, .14) !important;
}
.activa-spec-tabs button.active,
.activa-spec-tabs button[aria-selected="true"],
.model-spec-tabs button.active,
.dio-spec-tabs button.active,
.qc1-spec-tab.active {
  color: #987865 !important;
  background: #fff !important;
  font-weight: 600 !important;
}
.activa-motion-cta:after {
  background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.58), rgba(0,0,0,.82)) !important;
}
.qc1-page .qc1-final-cta {
  background: linear-gradient(rgba(0,0,0,.84), rgba(0,0,0,.84)), url("../images/qc1-banner.webp") center/cover no-repeat !important;
}
.qc1-page .qc1-final-cta::before {
  filter: brightness(.7) !important;
}
.qc1-page .qc1-final-cta h2,
.qc1-page .qc1-final-cta p,
.qc1-page .qc1-final-cta .qc1-book {
  position: relative;
  z-index: 2;
}
/* Hide Activa spec scrollbar line */
.activa-spec-content dl,
#activaSpecList,
#activa125SpecList,
.model-spec-list {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.activa-spec-content dl::-webkit-scrollbar,
#activaSpecList::-webkit-scrollbar,
#activa125SpecList::-webkit-scrollbar,
.model-spec-list::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
.activa-spec-content dl::-webkit-scrollbar-thumb,
#activaSpecList::-webkit-scrollbar-thumb,
#activa125SpecList::-webkit-scrollbar-thumb,
.model-spec-list::-webkit-scrollbar-thumb {
  background: transparent !important;
}
/* Dio110 final carousel color specs fixes */
#dioSpecList {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
#dioSpecList::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
.dio-know-ride .dio-spec-tabs button.active,
.dio-know-ride .activa-spec-tabs button.active {
  color: #987865 !important;
  background: #fff !important;
  font-weight: 600 !important;
}
.dio-360.product-360-showcase {
  background: var(--product-bg, linear-gradient(135deg,#2b2b2b,#8d8d8d)) !important;
  transition: background .25s ease !important;
}
.dio-360 .product-360-image {
  transition: opacity .18s ease, transform .18s ease !important;
}

/* Gallery WebP showcase */
.gallery-showcase {
  background: #fff;
}
.gallery-showcase .section-head {
  margin-bottom: 30px;
}
.gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.gallery-grid article {
  overflow: hidden;
  background: #f5f5f5;
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .08);
}
.gallery-grid img {
  width: 100%;
  height: 310px;
  object-fit: cover;
  display: block;
  transition: transform .28s ease;
}
.gallery-grid article:hover img {
  transform: scale(1.035);
}
@media (max-width: 1000px) {
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gallery-grid img {
    height: 280px;
  }
}
@media (max-width: 560px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .gallery-grid img {
    height: 250px;
  }
}

/* Page image heroes and categorized products */
.image-hero {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  isolation: isolate;
}
.image-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(12, 12, 12, .78), rgba(70, 44, 32, .44));
}
.products-hero {
  background-image: url('../images/gallery/rohan-gallery-26.webp');
}
.gallery-hero {
  background-image: url('../images/gallery/rohan-gallery-19.webp');
}
.categorized-products {
  display: grid;
  gap: 38px;
}
.product-category {
  display: grid;
  gap: 18px;
}
.product-category-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.product-category-head span {
  color: #987865;
  font-weight: 900;
  text-transform: uppercase;
}
.product-category-head h2 {
  margin: 0;
  font-size: clamp(26px, 3vw, 38px);
}
.category-product-grid.product-grid.large {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1000px) {
  .category-product-grid.product-grid.large {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .product-category-head {
    display: block;
  }
  .category-product-grid.product-grid.large {
    grid-template-columns: 1fr;
  }
}

/* Shine100 official reference page and lighter spec headings */
.activa-know-ride .section-head h2,
.model-know-ride .section-head h2,
.qc1-specs .section-head h2,
.shine-specs .section-head h2 {
  font-weight: 600 !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  text-transform: none;
}
.shine100-page {
  background: #fff;
}
.shine-hero {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(320px, 1.1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  min-height: 620px;
  padding: 78px clamp(18px, 6vw, 96px);
  background: linear-gradient(135deg, #171717, #6f5a4b 58%, #f2eee9 58%);
  overflow: hidden;
}
.shine-hero-copy {
  color: #fff;
  max-width: 600px;
}
.shine-hero-copy h1 {
  margin: 0 0 18px;
  font-size: clamp(54px, 8vw, 112px);
  line-height: .92;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
}
.shine-hero-copy p {
  color: rgba(255,255,255,.86);
}
.shine-hero-bike img {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
  filter: drop-shadow(0 30px 28px rgba(0,0,0,.24));
}
.shine-feature-section {
  padding: 78px clamp(18px, 5vw, 80px);
}
.shine-feature-section.soft {
  background: #f6f4f1;
}
.shine-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.shine-feature-grid article {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  padding: 24px;
  min-height: 190px;
  box-shadow: 0 18px 42px rgba(0,0,0,.07);
}
.shine-feature-grid img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  background: #f5f5f5;
  margin-bottom: 18px;
}
.shine-feature-grid h3 {
  font-size: 24px;
  font-weight: 600;
}
.shine-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  padding: 84px clamp(18px, 5vw, 80px);
  background: #111;
  color: #fff;
}
.shine-split p {
  color: rgba(255,255,255,.78);
}
.shine-split img {
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  background: #fff;
}
.shine-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.shine-chip-list span {
  padding: 10px 14px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
  font-weight: 700;
}
.shine-specs .activa-spec-tabs button {
  pointer-events: none;
}
@media (max-width: 1000px) {
  .shine-hero,
  .shine-split {
    grid-template-columns: 1fr;
  }
  .shine-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .shine-hero {
    min-height: auto;
    padding-top: 54px;
  }
  .shine-feature-grid {
    grid-template-columns: 1fr;
  }
}

/* Shine100 media refinements */
.shine-video-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 620px;
  padding: 86px clamp(18px, 6vw, 108px);
  background: #111;
  isolation: isolate;
}
.shine-hero-video {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shine-video-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(8, 8, 8, .74), rgba(20, 20, 20, .26), rgba(8, 8, 8, .18));
}
.shine-video-hero .shine-hero-copy h1,
.shine100-page h1,
.shine100-page h2,
.shine100-page h3 {
  font-weight: 500 !important;
}
.shine-video-hero .shine-hero-copy {
  max-width: 560px;
}
.shine-video-hero .shine-hero-copy p {
  color: rgba(255, 255, 255, .88);
}
.shine-tech-grid article {
  padding: 0;
  overflow: hidden;
}
.shine-tech-grid article img {
  height: 260px;
  margin: 0;
  object-fit: cover;
  background: #eee;
}
.shine-tech-grid article h3,
.shine-tech-grid article p {
  padding-left: 22px;
  padding-right: 22px;
}
.shine-tech-grid article p {
  padding-bottom: 22px;
}
.shine-design-bike {
  display: grid;
  place-items: center;
  min-height: 420px;
  padding: clamp(20px, 3vw, 44px);
  background: radial-gradient(circle at 42% 52%, rgba(255, 255, 255, .22), rgba(255, 255, 255, .03) 58%, transparent 70%);
}
.shine-design-bike img {
  width: min(100%, 760px);
  max-height: 430px;
  object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 26px 24px rgba(0,0,0,.38));
}
.shine-spec-panel {
  max-width: 1180px;
  margin: 0 auto;
}
.shine-spec-content {
  grid-template-columns: minmax(280px, .9fr) minmax(340px, .8fr);
}
.shine-spec-bike img {
  max-height: 420px;
  object-fit: contain;
}
.shine-spec-tabs {
  max-width: 320px;
  margin: 0 auto 34px;
}
@media (max-width: 760px) {
  .shine-video-hero {
    min-height: 520px;
    align-items: end;
  }
  .shine-tech-grid article img {
    height: 220px;
  }
}

/* Shine/Livo final refinements */
.shine100-page .shine-hero-copy h1,
.shine100-page .section-head h2,
.shine100-page .shine-split h2,
.shine100-page .activa-final-cta h2,
.shine100-page .shine-feature-grid h3,
.shine100-page .shine-chip-list span,
.shine100-page .qc1-book,
.shine100-page .btn {
  font-weight: 500 !important;
}
.shine100-page .shine-hero-copy h1 {
  font-size: clamp(46px, 7vw, 88px) !important;
}
.shine100-page .section-head h2,
.shine100-page .shine-split h2,
.shine100-page .activa-final-cta h2 {
  font-size: clamp(30px, 4.5vw, 52px) !important;
}
.shine100-page .shine-split p,
.shine100-page .activa-final-cta p,
.shine100-page .shine-motion-cta p {
  color: #fff !important;
}
.shine-tech-grid article img {
  height: 300px;
  object-fit: cover;
  object-position: center;
}
.shine-tech-grid article:nth-child(1) img {
  object-fit: cover;
  object-position: center;
}
.shine-tech-grid article:nth-child(2) img,
.shine-tech-grid article:nth-child(3) img {
  object-position: center;
}
.shine-motion-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 360px;
  background: #111;
  color: #fff;
}
.shine-motion-cta > video {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shine-motion-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.38));
}
.shine-motion-cta > div {
  position: relative;
  z-index: 1;
}
.shine-design-bike img,
.shine-spec-bike img {
  image-rendering: auto;
}
.category-product-grid article img[src*="livo"] {
  object-fit: contain;
}

/* Shine100 tabbed specs */
.shine100-tabbed-specs {
  background: #fff;
  padding: 76px clamp(18px, 5vw, 72px) 64px;
  overflow: hidden;
}
.shine100-tabbed-specs .section-head h2 {
  font-size: clamp(34px, 5vw, 66px) !important;
  font-weight: 500 !important;
  line-height: 1.08;
  letter-spacing: 0;
}
.shine100-tabs {
  max-width: 1120px;
  margin: 0 auto 54px;
  background: #f5f5f5;
  border-radius: 999px;
  display: flex;
  gap: 8px;
  padding: 10px;
  justify-content: space-between;
  overflow-x: auto;
}
.shine100-tabs button {
  border: 0;
  background: transparent;
  border-radius: 999px;
  padding: 16px 24px;
  font-size: 20px;
  font-weight: 500;
  color: #000;
  white-space: nowrap;
  cursor: pointer;
}
.shine100-tabs button.active {
  background: #fff;
  color: #987865;
  font-weight: 600 !important;
}
.shine100-spec-content {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(360px, .86fr);
  gap: clamp(28px, 6vw, 82px);
  align-items: center;
  max-width: 1220px;
  margin: 0 auto;
}
.shine100-spec-bike {
  min-height: 420px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  overflow: visible;
}
.shine100-spec-bike img {
  width: min(720px, 58vw);
  max-width: none;
  object-fit: contain;
  transform: translateX(-14%);
  filter: drop-shadow(0 20px 18px rgba(0, 0, 0, .16));
}
.shine100-spec-list {
  max-height: 390px;
  overflow-y: auto;
  padding-right: 24px;
}
.shine100-spec-list div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  padding: 11px 0;
  border-bottom: 1px solid #eee;
}
.shine100-spec-list dt,
.shine100-spec-list dd {
  font-family: Arial, sans-serif;
  font-size: 22px;
  line-height: 1.25;
  color: #5b6470;
  margin: 0;
}
.shine100-spec-list dd {
  text-align: right;
  font-weight: 500;
}
@media (max-width: 900px) {
  .shine100-tabs {
    justify-content: flex-start;
    margin-bottom: 34px;
  }
  .shine100-tabs button {
    font-size: 16px;
    padding: 13px 18px;
  }
  .shine100-spec-content {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .shine100-spec-bike {
    min-height: 250px;
  }
  .shine100-spec-bike img {
    width: min(620px, 118vw);
    transform: translateX(-18%);
  }
  .shine100-spec-list {
    max-height: none;
    padding-right: 0;
  }
  .shine100-spec-list dt,
  .shine100-spec-list dd {
    font-size: 17px;
  }
}
/* Honda testimonial card redesign */
.honda-testimonial-cards {
  background: #ddd;
  padding: 72px clamp(18px, 5vw, 70px);
}
.honda-testimonial-cards .section-head {
  margin-bottom: 34px;
}
.honda-testimonial-cards .section-head h2 {
  color: #111;
  font-weight: 600;
}
.testimonial-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  max-width: 1460px;
  margin: 0 auto;
}
.testimonial-review-card {
  background: #fff;
  border-radius: 28px;
  padding: 48px 50px 38px;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .06);
}
.testimonial-review-card .quote-mark {
  color: #987865;
  font-family: Arial, sans-serif;
  font-size: 76px;
  line-height: .65;
  font-weight: 900;
  margin-bottom: 24px;
}
.testimonial-review-card h3 {
  font-family: Arial, sans-serif;
  font-size: clamp(24px, 2.1vw, 32px);
  line-height: 1.2;
  margin: 0 0 16px;
  color: #000;
  font-weight: 700;
}
.testimonial-review-card .rating {
  font-family: Arial, sans-serif;
  font-size: 15px;
  color: #666;
  margin: 0 0 34px;
}
.testimonial-review-card .rating span {
  color: #f7b500;
  letter-spacing: 1px;
}
.testimonial-review-card p:not(.rating) {
  font-family: Arial, sans-serif;
  font-size: 22px;
  line-height: 1.28;
  color: #000;
  margin: 0 0 34px;
}
.testimonial-review-card b {
  font-family: Arial, sans-serif;
  font-size: 20px;
  color: #000;
  margin-top: auto;
}
@media (max-width: 1020px) {
  .testimonial-card-grid {
    grid-template-columns: 1fr;
  }
  .testimonial-review-card {
    min-height: auto;
    padding: 36px 28px;
  }
  .testimonial-review-card p:not(.rating) {
    font-size: 18px;
  }
}
/* Unicorn and SP125 product page polish */
.bike-image-hero {
  min-height: 640px;
  background: linear-gradient(135deg, #171312 0%, #4d3c34 46%, #f4f1ed 46%, #fff 100%);
  overflow: hidden;
}
.bike-image-hero .shine-hero-bike {
  display: grid;
  place-items: center;
  min-height: 520px;
}
.bike-image-hero .shine-hero-bike img {
  width: min(820px, 55vw);
  max-height: 540px;
  object-fit: contain;
  background: #fff;
  padding: 24px;
  box-shadow: 0 24px 54px rgba(0, 0, 0, .14);
}
.text-only-grid article {
  min-height: 210px;
}
.bike-tabbed-specs .shine100-spec-bike img {
  background: transparent;
}
@media (max-width: 900px) {
  .bike-image-hero {
    min-height: auto;
    background: linear-gradient(180deg, #211b19 0%, #5d493e 55%, #f7f4f0 55%, #fff 100%);
  }
  .bike-image-hero .shine-hero-bike {
    min-height: 280px;
  }
  .bike-image-hero .shine-hero-bike img {
    width: min(620px, 94vw);
    padding: 14px;
  }
}
/* Readability round cards brown cleanup */
.products-hero p,
.shine100-page .shine-hero-copy p {
  display: none !important;
}
.shine-feature-grid article,
.product-grid article,
.testimonial-review-card,
.contact-grid article,
.contact-form,
.blog-grid article,
.feature-boxes article {
  border-radius: 18px !important;
  overflow: hidden;
}
.shine-tech-grid article {
  border-radius: 18px !important;
}
.shine-tech-grid img,
.shine-feature-grid img {
  width: 100% !important;
  height: 345px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block;
}
.shine-tech-grid article:nth-child(2) img,
.shine-tech-grid article:nth-child(3) img {
  object-position: center center !important;
}
.shine100-tabs button.active,
.testimonial-review-card .quote-mark {
  color: #987865 !important;
}
.shine100-spec-list {
  scrollbar-width: none;
}
.shine100-spec-list::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
* {
  scrollbar-color: #987865 #f3f0ec;
}
/* Shine100 360 brown colour view */
.shine100-360-section {
  min-height: 720px;
  background: radial-gradient(circle at 30% 78%, rgba(236, 210, 190, .28), transparent 28%), linear-gradient(115deg, #8b6b58 0%, #4f3d34 46%, #211815 100%);
  display: grid;
  place-items: center;
  padding: 54px clamp(18px, 5vw, 80px) 42px;
  overflow: hidden;
}
.shine100-360-stage {
  position: relative;
  width: min(1180px, 100%);
  min-height: 610px;
  display: grid;
  place-items: center;
}
.shine100-360-stage img {
  width: min(880px, 82vw);
  max-height: 500px;
  object-fit: contain;
  mix-blend-mode: normal;
  filter: drop-shadow(0 34px 26px rgba(0, 0, 0, .35));
}
.shine100-360-badge {
  position: absolute;
  left: 50%;
  bottom: 88px;
  transform: translateX(-50%);
  width: 90px;
  height: 90px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(72, 60, 58, .86);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: 500;
  box-shadow: 0 18px 35px rgba(0, 0, 0, .25);
}
.shine100-360-badge::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 12px;
  border-bottom: 2px solid #fff;
  border-radius: 50%;
  bottom: 24px;
}
.shine100-colour-dots {
  position: absolute;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  display: flex;
  gap: 14px;
  align-items: center;
}
.shine100-colour-dots span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .72);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .22);
}
.shine100-colour-dots .active {
  outline: 3px solid rgba(255, 255, 255, .86);
}
.shine100-colour-dots .brown { background: #987865; }
.shine100-colour-dots .blue { background: #167fc1; }
.shine100-colour-dots .gray { background: #878986; }
.shine100-colour-dots .teal { background: #058b8c; }
.shine100-colour-dots .orange { background: #d86f35; }
.shine100-colour-name {
  position: absolute;
  left: 50%;
  bottom: -16px;
  transform: translateX(-50%);
  background: #fff;
  color: #3e332e;
  border-radius: 999px;
  padding: 12px 28px;
  font-family: Arial, sans-serif;
  font-size: 18px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, .16);
}
.quick-service-content h3 {
  font-weight: 500 !important;
  line-height: 1.08;
}
@media (max-width: 760px) {
  .shine100-360-section { min-height: 520px; }
  .shine100-360-stage { min-height: 430px; }
  .shine100-360-stage img { width: 106vw; }
  .shine100-360-badge { width: 72px; height: 72px; font-size: 22px; bottom: 72px; }
}
/* Requested lighter service and about headings */
.about-ref-heading h1,
.service-section h2,
.service-cta h2,
.quick-service-content h3,
.service-hero-content h1 {
  font-size: clamp(28px, 3.8vw, 42px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}
.service-section h2 {
  margin-bottom: 34px !important;
}
.service-list {
  gap: 12px !important;
}
.service-list li {
  padding-left: 34px !important;
  font-size: clamp(17px, 1.65vw, 24px) !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
}
.service-list li::before {
  width: 12px !important;
  height: 12px !important;
  border-width: 3px !important;
  top: .58em !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: .82;
}
@media (max-width: 760px) {
  .about-ref-heading h1,
  .service-section h2,
  .service-cta h2,
  .quick-service-content h3,
  .service-hero-content h1 {
    font-size: 28px !important;
  }
}

.hornet20-360-section.sp-bg-red .product-360-stage img,
.unicorn-360-section.sp-bg-red .product-360-stage img {
  filter: sepia(.35) saturate(1.55) hue-rotate(320deg) brightness(.96) !important;
}

.hornet20-360-section.sp-bg-gray .product-360-stage img,
.unicorn-360-section.sp-bg-gray .product-360-stage img {
  filter: grayscale(.85) contrast(1.05) brightness(.92) !important;
}

.hornet20-360-section.sp-bg-blue .product-360-stage img {
  filter: hue-rotate(180deg) saturate(1.25) brightness(.96) !important;
}

.hornet20-360-section.sp-bg-black .product-360-stage img,
.unicorn-360-section.sp-bg-black .product-360-stage img {
  filter: none !important;
}

/* Hornet2.0 and Unicorn colour sections */
.hornet20-360-section,
.unicorn-360-section {
  min-height: 640px !important;
}

.hornet20-360-section .product-360-stage img,
.unicorn-360-section .product-360-stage img {
  width: min(820px, 82vw) !important;
  max-height: 450px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
}

.product-accessories-carousel-section {
  padding: 72px 5vw !important;
  background: #f7f4f1 !important;
}

@media (max-width: 760px) {
  .hornet20-360-section,
  .unicorn-360-section {
    min-height: 530px !important;
  }

  .hornet20-360-section .product-360-stage img,
  .unicorn-360-section .product-360-stage img {
    width: 96vw !important;
    max-height: 330px !important;
  }
}
/* Shine100 360 reference-style cleanup */
.shine100-360-section {
  min-height: 680px !important;
  background: linear-gradient(180deg, #7d604f 0%, #4d3a32 100%) !important;
  padding: 42px clamp(18px, 5vw, 80px) 54px !important;
}
.shine100-360-stage {
  min-height: 580px !important;
  width: min(1280px, 100%) !important;
}
.shine100-360-stage img {
  width: min(880px, 78vw) !important;
  max-height: 440px !important;
  object-fit: contain !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 32px 28px rgba(0, 0, 0, .32)) !important;
}
.shine100-360-badge {
  bottom: 86px !important;
  background: rgba(64, 50, 46, .88) !important;
}
.shine100-colour-dots {
  bottom: 36px !important;
}
.shine100-colour-name {
  display: none !important;
}
@media (max-width: 760px) {
  .shine100-360-section { min-height: 500px !important; }
  .shine100-360-stage { min-height: 400px !important; }
  .shine100-360-stage img { width: 100vw !important; max-height: 310px !important; }
}
/* Interactive Shine100 360 controls */
.shine100-360-stage {
  perspective: 1100px;
  cursor: grab;
}
.shine100-360-stage:active {
  cursor: grabbing;
}
.shine100-360-stage img {
  transform: rotateY(var(--shine-rotate, 0deg)) !important;
  transform-style: preserve-3d;
  transition: transform .25s ease, filter .25s ease;
}
.shine100-360-stage.spinning img,
.shine100-360-badge.spinning + .shine100-colour-dots {
  pointer-events: none;
}
.shine100-360-stage.spinning img {
  animation: shineSpinOnce 1.15s ease-in-out;
}
@keyframes shineSpinOnce {
  0% { transform: rotateY(0deg) scale(1); }
  50% { transform: rotateY(180deg) scale(.96); }
  100% { transform: rotateY(360deg) scale(1); }
}
.shine100-colour-dots button {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .72);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .22);
  padding: 0;
  cursor: pointer;
}
.shine100-colour-dots button.active {
  outline: 3px solid rgba(255, 255, 255, .86);
}
.shine100-colour-dots .brown { background: #987865; }
.shine100-colour-dots .blue { background: #167fc1; }
.shine100-colour-dots .gray { background: #878986; }
.shine100-colour-dots .teal { background: #058b8c; }
.shine100-colour-dots .orange { background: #d86f35; }
.shine100-360-section.colour-brown { background: linear-gradient(180deg, #7d604f 0%, #4d3a32 100%) !important; }
.shine100-360-section.colour-blue { background: linear-gradient(180deg, #184e78 0%, #0e354f 100%) !important; }
.shine100-360-section.colour-gray { background: linear-gradient(180deg, #777977 0%, #404343 100%) !important; }
.shine100-360-section.colour-teal { background: linear-gradient(180deg, #087a79 0%, #064848 100%) !important; }
.shine100-360-section.colour-orange { background: linear-gradient(180deg, #a9653e 0%, #5d3a2a 100%) !important; }
.shine100-360-section.colour-brown .shine100-360-stage img { filter: drop-shadow(0 32px 28px rgba(0, 0, 0, .32)) !important; }
.shine100-360-section.colour-blue .shine100-360-stage img { filter: hue-rotate(178deg) saturate(1.28) brightness(.92) drop-shadow(0 32px 28px rgba(0, 0, 0, .32)) !important; }
.shine100-360-section.colour-gray .shine100-360-stage img { filter: grayscale(.95) contrast(.95) brightness(.9) drop-shadow(0 32px 28px rgba(0, 0, 0, .32)) !important; }
.shine100-360-section.colour-teal .shine100-360-stage img { filter: hue-rotate(130deg) saturate(1.15) brightness(.88) drop-shadow(0 32px 28px rgba(0, 0, 0, .32)) !important; }
.shine100-360-section.colour-orange .shine100-360-stage img { filter: sepia(.55) hue-rotate(330deg) saturate(1.35) brightness(.94) drop-shadow(0 32px 28px rgba(0, 0, 0, .32)) !important; }
.shine-accessories-section {
  padding: 72px 3vw 84px;
  background: #f7f4f1;
}
.shine-accessory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  max-width: 1320px;
  margin: 34px auto 0;
}
.shine-accessory-grid article {
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(53, 38, 31, 0.12);
  border: 1px solid rgba(126, 99, 82, 0.14);
}
.shine-accessory-grid img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  display: block;
  background: #fff;
}
.shine-accessory-grid h3 {
  min-height: 78px;
  margin: 0;
  padding: 18px 16px 20px;
  color: #191919;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.02rem;
  line-height: 1.25;
  font-weight: 600;
  text-align: center;
}
@media (max-width: 980px) {
  .shine-accessory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .shine-accessory-grid { grid-template-columns: 1fr; }
  .shine-accessory-grid img { height: 220px; }
}
/* Shine100 carousel, smaller specs title, and working colour dots */
.shine100-tabbed-specs .section-head h2 {
  font-size: clamp(2.1rem, 5vw, 4.5rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}
.shine100-360-section.colour-brown { background: linear-gradient(180deg, #7d604f 0%, #4d3a32 100%) !important; }
.shine100-360-section.colour-blue { background: linear-gradient(180deg, #174f79 0%, #0d354f 100%) !important; }
.shine100-360-section.colour-gray { background: linear-gradient(180deg, #777977 0%, #404343 100%) !important; }
.shine100-360-section.colour-teal { background: linear-gradient(180deg, #087a79 0%, #064848 100%) !important; }
.shine100-360-section.colour-orange { background: linear-gradient(180deg, #a9653e 0%, #5d3a2a 100%) !important; }
.shine100-360-section.colour-brown .shine100-360-stage img { filter: drop-shadow(0 28px 28px rgba(0, 0, 0, .3)) !important; }
.shine100-360-section.colour-blue .shine100-360-stage img { filter: hue-rotate(178deg) saturate(1.28) brightness(.92) drop-shadow(0 28px 28px rgba(0, 0, 0, .3)) !important; }
.shine100-360-section.colour-gray .shine100-360-stage img { filter: grayscale(.95) contrast(.95) brightness(.9) drop-shadow(0 28px 28px rgba(0, 0, 0, .3)) !important; }
.shine100-360-section.colour-teal .shine100-360-stage img { filter: hue-rotate(130deg) saturate(1.15) brightness(.88) drop-shadow(0 28px 28px rgba(0, 0, 0, .3)) !important; }
.shine100-360-section.colour-orange .shine100-360-stage img { filter: sepia(.55) hue-rotate(330deg) saturate(1.35) brightness(.94) drop-shadow(0 28px 28px rgba(0, 0, 0, .3)) !important; }
.shine100-colour-dots button { pointer-events: auto !important; cursor: pointer !important; }
.shine-accessories-carousel {
  padding: 56px 4vw 72px !important;
  background: #ebe6e2 !important;
}
.shine-accessories-carousel .section-head h2 {
  font-size: clamp(2rem, 4.2vw, 3.6rem) !important;
  font-weight: 500 !important;
}
.shine-carousel-wrap {
  position: relative;
  max-width: 1480px;
  margin: 28px auto 0;
  padding: 0 52px;
}
.shine-accessory-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.shine-accessory-track::-webkit-scrollbar { display: none; }
.shine-accessory-track article {
  scroll-snap-align: start;
  overflow: hidden;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  border: 1px solid rgba(126, 99, 82, 0.14);
}
.shine-accessory-track img {
  width: 100%;
  height: 245px;
  object-fit: contain;
  display: block;
  padding: 18px;
  background: #fff;
}
.shine-accessory-track h3 {
  min-height: 92px;
  margin: 0;
  padding: 20px 18px;
  color: #080808;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 1.7vw, 1.75rem);
  line-height: 1.15;
  font-weight: 500;
  text-align: center;
  background: #fff;
}
.shine-carousel-arrow {
  position: absolute;
  top: 43%;
  transform: translateY(-50%);
  z-index: 2;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: #a47f68;
  color: #fff;
  font-size: 2.1rem;
  line-height: 1;
  cursor: pointer;
}
.shine-carousel-arrow.prev { left: 0; }
.shine-carousel-arrow.next { right: 0; }
.shine-carousel-dots {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}
.shine-carousel-dots button {
  width: 12px;
  height: 12px;
  border: 1px solid #a47f68;
  border-radius: 999px;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.shine-carousel-dots button.active {
  width: 36px;
  background: #a47f68;
}
@media (max-width: 900px) {
  .shine-carousel-wrap { padding: 0 36px; }
  .shine-accessory-track { grid-auto-columns: calc((100% - 18px) / 2); gap: 18px; }
}
@media (max-width: 600px) {
  .shine-carousel-wrap { padding: 0 28px; }
  .shine-accessory-track { grid-auto-columns: 100%; }
  .shine-accessory-track img { height: 210px; }
}
/* Livo 3 colour showcase and transparent motorcycle imagery */
.livo-360-section {
  min-height: 620px !important;
  background: linear-gradient(180deg, #245f8d 0%, #102b42 100%) !important;
}
.livo-360-section .shine100-360-stage img {
  width: min(78vw, 980px) !important;
  max-height: 470px !important;
  object-fit: contain;
}
.livo-360-section.livo-colour-gray { background: linear-gradient(180deg, #2c688f 0%, #17344e 100%) !important; }
.livo-360-section.livo-colour-blue { background: linear-gradient(180deg, #0f6faa 0%, #07395f 100%) !important; }
.livo-360-section.livo-colour-orange { background: linear-gradient(180deg, #9b5f45 0%, #4a2f27 100%) !important; }
.livo-360-section.livo-colour-gray .shine100-360-stage img { filter: drop-shadow(0 30px 28px rgba(0, 0, 0, .34)) !important; }
.livo-360-section.livo-colour-blue .shine100-360-stage img { filter: hue-rotate(12deg) saturate(1.18) brightness(.96) drop-shadow(0 30px 28px rgba(0, 0, 0, .34)) !important; }
.livo-360-section.livo-colour-orange .shine100-360-stage img { filter: sepia(.45) hue-rotate(330deg) saturate(1.42) brightness(.94) drop-shadow(0 30px 28px rgba(0, 0, 0, .34)) !important; }
.livo-colour-dots button:nth-child(n+4) { display: none !important; }
.livo-colour-name {
  max-width: max-content;
  margin: 12px auto 0;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: #2b2b2b;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
}
.livo-tabbed-specs .section-head h2 {
  font-size: clamp(2rem, 5vw, 4.25rem) !important;
  font-weight: 500 !important;
}
.livo-tabbed-specs .shine100-spec-bike img,
.livo-page .shine-feature-grid img,
.livo-page .shine-design-bike img,
.category-product-grid img[src*="transparent"],
.mega-product-card img[src*="transparent"] {
  background: transparent !important;
}
.product-link-card img[src*="transparent"],
.mega-product-card img[src*="transparent"] {
  object-fit: contain !important;
  mix-blend-mode: normal !important;
}
@media (max-width: 700px) {
  .livo-360-section { min-height: 500px !important; }
  .livo-360-section .shine100-360-stage img { width: 100vw !important; max-height: 330px !important; }
}
/* Shine100 dots final colour fix */
.shine100-page:not(.livo-page) .shine100-360-section.colour-brown { background: linear-gradient(180deg, #7d604f 0%, #4d3a32 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-blue { background: linear-gradient(180deg, #174f79 0%, #0d354f 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-gray { background: linear-gradient(180deg, #777977 0%, #404343 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-teal { background: linear-gradient(180deg, #087a79 0%, #064848 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-orange { background: linear-gradient(180deg, #a9653e 0%, #5d3a2a 100%) !important; }
.shine100-page:not(.livo-page) .shine100-colour-dots button { pointer-events: auto !important; cursor: pointer !important; }
/* Shine100 final direct colour-image swap */
.shine100-page:not(.livo-page) .shine100-360-section .shine100-360-stage img {
  filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .34)) !important;
}
.shine100-page:not(.livo-page) .shine100-360-section.colour-brown { background: linear-gradient(180deg, #7d604f 0%, #4d3a32 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-blue { background: linear-gradient(180deg, #1f6f9c 0%, #0e3c5b 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-gray { background: linear-gradient(180deg, #8a8d8d 0%, #474a4a 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-teal { background: linear-gradient(180deg, #0b8788 0%, #064849 100%) !important; }
.shine100-page:not(.livo-page) .shine100-360-section.colour-orange { background: linear-gradient(180deg, #b66b3d 0%, #653727 100%) !important; }
/* Livo technology, footer care number, and contact branch cards */
.livo-page .livo-tech-section .section-head h2 {
  font-size: clamp(2rem, 4vw, 3.4rem) !important;
  font-weight: 500 !important;
}
.livo-page .livo-tech-grid {
  max-width: 1220px;
  margin: 0 auto;
}
.livo-page .livo-tech-grid article {
  border-radius: 18px;
  overflow: hidden;
}
.livo-page .livo-tech-grid img {
  height: 265px !important;
  object-fit: cover !important;
  padding: 0 !important;
  background: #111 !important;
}
.livo-page .livo-tech-grid h3 {
  font-size: 1.18rem !important;
  font-weight: 600 !important;
}
.livo-tabbed-specs .section-head h2 {
  font-size: clamp(2rem, 4.6vw, 4rem) !important;
  font-weight: 500 !important;
}
.footer-care-number {
  margin: 18px 0 8px;
  color: #fff !important;
  font-size: 1rem;
  line-height: 1.4;
}
.footer-care-number span {
  display: block;
  color: #c9c9c9;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.footer-care-number a {
  color: #987865;
  font-weight: 700;
}
.contact-branch-cards {
  padding: 70px clamp(18px, 4vw, 58px);
  background: #fff;
}
.branch-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 1450px;
  margin: 0 auto;
}
.branch-card-grid article {
  min-height: 300px;
  padding: 26px 30px;
  border: 1px solid rgba(152, 120, 101, .78);
  border-radius: 10px;
  background: #fff;
}
.branch-card-grid h3 {
  margin: 0 0 22px;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.4rem);
  line-height: 1.04;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}
.branch-card-grid h3 span {
  display: inline-block;
  margin-left: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #987865;
  color: #fff;
  font-size: .78rem;
  vertical-align: middle;
}
.branch-card-grid p {
  margin: 8px 0;
  color: #000;
  font-size: clamp(1rem, 1.55vw, 1.35rem);
  line-height: 1.42;
}
.branch-card-grid a {
  color: #987865;
}
.connect-with-us {
  padding: 48px clamp(18px, 5vw, 80px) 76px;
  text-align: center;
  background: #fff;
}
.connect-with-us h2 {
  margin: 0 0 34px;
  color: #987865;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 800;
}
.connect-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 22px;
  max-width: 1060px;
  margin: 0 auto;
}
.connect-card-grid a {
  min-height: 104px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #fff;
  color: #987865;
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
  font-size: clamp(1.4rem, 2.4vw, 2.2rem);
  font-weight: 800;
}
@media (max-width: 860px) {
  .branch-card-grid { grid-template-columns: 1fr; }
  .connect-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .connect-card-grid { grid-template-columns: 1fr; }
  .branch-card-grid article { padding: 22px; }
}
/* Final Livo heading size trim */
.livo-tabbed-specs .section-head h2,
.livo-page .livo-tech-section .section-head h2 {
  font-size: clamp(1.9rem, 4vw, 3.25rem) !important;
  font-weight: 500 !important;
}
/* Final Livo tech image uniqueness and direct colour swap */
.livo-page .livo-tech-grid img {
  height: 265px !important;
  object-fit: cover !important;
  padding: 0 !important;
}
.livo-360-section .shine100-360-stage img {
  filter: drop-shadow(0 32px 30px rgba(0, 0, 0, .34)) !important;
}
/* Final compact footer, original social icons, and common contact icons */
.premium-footer {
  gap: 36px;
  padding: 44px 6% 38px;
  font-size: 0.9rem;
}

.premium-footer .footer-about > img {
  width: 175px !important;
  max-width: 100%;
}

.premium-footer h3 {
  font-size: 1.02rem !important;
  margin-bottom: 14px;
}

.premium-footer p,
.premium-footer a {
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
}

.premium-footer .footer-about p {
  max-width: 250px;
}

.footer-care-number {
  margin-top: 16px !important;
  gap: 4px !important;
}

.footer-care-number span {
  font-size: 0.66rem !important;
  letter-spacing: 0.05em !important;
}

.footer-care-number a,
.footer-email a {
  font-size: 0.92rem !important;
}

.premium-footer .social-links {
  gap: 10px;
  margin-top: 16px;
}

.premium-footer .social-links a {
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.premium-footer .social-links img {
  width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  object-fit: contain !important;
}

.connect-with-us {
  padding: 38px 6% 52px !important;
}

.connect-with-us h2 {
  font-size: clamp(1.75rem, 3vw, 2.55rem) !important;
  font-weight: 600 !important;
  margin-bottom: 26px !important;
}

.connect-card-grid {
  max-width: 1180px;
  gap: 20px;
}

.connect-card-grid a {
  min-height: 108px !important;
  border-radius: 10px !important;
  font-size: 0 !important;
}

.connect-card-grid a img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

@media (max-width: 900px) {
  .premium-footer {
    gap: 26px;
    padding: 34px 5% 32px;
  }

  .connect-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Slightly larger footer text */
.premium-footer {
  font-size: 1rem;
}

.premium-footer h3 {
  font-size: 1.14rem !important;
}

.premium-footer p,
.premium-footer a {
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

.footer-care-number span {
  font-size: 0.75rem !important;
}

.footer-care-number a,
.footer-email a {
  font-size: 1.04rem !important;
}

/* Contact top hero image */
.contact-photo-hero {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: flex-end;
  padding: 72px 6%;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}

.contact-photo-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}

.contact-photo-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 24, 34, .82), rgba(18, 24, 34, .42), rgba(18, 24, 34, .14));
  z-index: -1;
}

.contact-photo-hero div {
  max-width: 720px;
}

.contact-photo-hero span {
  display: block;
  color: #d0a88f;
  font-size: .9rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px;
}

.contact-photo-hero h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  font-weight: 600;
}

.contact-photo-hero p {
  margin: 0;
  max-width: 620px;
  color: rgba(255,255,255,.9);
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1.45;
}

.livo-colour-dots button,
.shine100-colour-dots button {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative;
  z-index: 5;
}

@media (max-width: 700px) {
  .contact-photo-hero {
    min-height: 340px;
    padding: 54px 24px;
  }
}

/* CB125 Hornet page */
.cb125-hero {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background: #111820;
}

.cb125-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.cb125-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 16, 21, .88), rgba(12, 16, 21, .38), rgba(12, 16, 21, .08));
  z-index: 1;
}

.cb125-hero .shine-hero-copy {
  position: relative;
  z-index: 2;
  color: #fff;
}

.cb125-hero .shine-hero-copy h1,
.cb125-hero .shine-hero-copy p {
  color: #fff;
}

.cb125-360-section {
  min-height: 680px;
  background: linear-gradient(180deg, #15191d 0%, #272a2d 100%) !important;
}

.cb125-360-section.cb125-colour-black { background: linear-gradient(180deg, #17191d 0%, #070808 100%) !important; }
.cb125-360-section.cb125-colour-red { background: linear-gradient(180deg, #163d68 0%, #6e1f22 100%) !important; }
.cb125-360-section.cb125-colour-yellow { background: linear-gradient(180deg, #17446c 0%, #69642b 100%) !important; }
.cb125-360-section.cb125-colour-blue { background: linear-gradient(180deg, #115d90 0%, #0a2e49 100%) !important; }

.cb125-360-stage img {
  width: min(760px, 82vw) !important;
  max-height: 430px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 34px 28px rgba(0, 0, 0, .38)) !important;
}

.cb125-colour-dots .cb125-black { background: #111; }
.cb125-colour-dots .cb125-red { background: #b51f28; }
.cb125-colour-dots .cb125-yellow { background: #d9c93b; }
.cb125-colour-dots .cb125-blue { background: #1072aa; }

.cb125-colour-name {
  color: #202025;
  background: #fff;
  border-radius: 999px;
  padding: 10px 22px;
  display: inline-block;
  margin-top: 10px;
}

.cb125-feature-grid img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 8px 8px 0 0;
}

.cb125-page .shine-feature-grid article {
  overflow: hidden;
  border-radius: 10px;
}

.cb125-final-cta {
  position: relative;
  overflow: hidden;
}

.cb125-final-cta > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.cb125-final-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(25, 28, 33, .62);
  z-index: 1;
}

.cb125-final-cta > div {
  position: relative;
  z-index: 2;
}

@media (max-width: 800px) {
  .cb125-hero { min-height: 520px; }
  .cb125-360-section { min-height: 560px; }
  .cb125-360-stage img { width: 105vw !important; max-height: 330px !important; }
}

/* product-bike-page shared pages */
.product-model-hero .shine-hero-copy p{max-width:560px;margin:12px 0 22px;color:#fff;font-size:clamp(17px,2vw,24px);line-height:1.45}.product-360-section{min-height:650px;transition:background .35s ease}.product-360-section.sp-bg-red{background:linear-gradient(180deg,#953743 0%,#451b20 100%)!important}.product-360-section.sp-bg-gray{background:linear-gradient(180deg,#7c8283 0%,#3d4243 100%)!important}.product-360-section.sp-bg-blue{background:linear-gradient(180deg,#235e86 0%,#102f48 100%)!important}.product-360-section.sp-bg-black{background:linear-gradient(180deg,#2c2f33 0%,#0b0c0d 100%)!important}.product-360-stage img{width:min(820px,86vw)!important;max-height:430px!important;object-fit:contain!important;filter:drop-shadow(0 32px 30px rgba(0,0,0,.36))!important}.product-colour-dots button{background:var(--dot)!important}.product-feature-grid img{width:100%;height:230px;object-fit:cover;border-radius:8px 8px 0 0}.product-feature-grid article{overflow:hidden}.product-tabbed-specs .shine100-spec-list div{grid-template-columns:minmax(170px,1fr) minmax(160px,1fr)}@media(max-width:800px){.product-360-section{min-height:540px}.product-360-stage img{width:106vw!important;max-height:330px!important}.product-model-hero .shine-hero-copy p{font-size:16px}}

/* Final Livo variant font and colour fix */
.livo-tabbed-specs .section-head h2{font-size:clamp(42px,5vw,76px)!important;line-height:1.02!important}.livo-variant-selector{width:min(230px,90vw);margin:0 auto 28px;display:flex;flex-direction:column;gap:10px;font-family:Arial,sans-serif;color:#555}.livo-variant-selector label{font-size:16px}.livo-variant-selector select{appearance:auto;width:100%;border:1px solid #ddd;border-radius:6px;background:#fff;color:#111;font-size:20px;padding:14px 16px;box-shadow:0 10px 24px rgba(0,0,0,.08)}.livo-360-section.livo-colour-red{background:linear-gradient(180deg,#805f4f 0%,#5a3d33 100%)!important}.livo-360-section.livo-colour-blue{background:linear-gradient(180deg,#2b6f96 0%,#153a58 100%)!important}.livo-360-section.livo-colour-orange{background:linear-gradient(180deg,#7f5648 0%,#4a3028 100%)!important}.livo-colour-dots button{display:inline-flex!important;pointer-events:auto!important;cursor:pointer!important}.livo-colour-dots .red{background:#b71925!important}.livo-colour-dots .blue{background:#1d78b0!important}.livo-colour-dots .orange{background:#e36f35!important}.livo-360-section .shine100-360-stage img{transition:opacity .22s ease,transform .22s ease;width:min(760px,82vw)!important;max-height:430px!important;object-fit:contain!important}@media(max-width:800px){.livo-tabbed-specs .section-head h2{font-size:38px!important}.livo-variant-selector select{font-size:18px}.livo-360-section .shine100-360-stage img{width:104vw!important;max-height:330px!important}}

/* Livo scooter-style variant placement */
.livo-tabbed-specs > .livo-variant-selector{display:none!important}
.livo-showcase-controls{display:flex;justify-content:center;margin-top:18px}
.livo-360-section .livo-variant-selector{width:min(190px,76vw);margin:0;color:#fff;gap:8px;align-items:flex-start}
.livo-360-section .livo-variant-selector label{color:#fff;font-size:14px;line-height:1}
.livo-360-section .livo-variant-selector select{font-size:18px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:#fff;color:#1f1f23;box-shadow:0 12px 24px rgba(0,0,0,.18)}
@media(max-width:800px){.livo-showcase-controls{margin-top:14px}.livo-360-section .livo-variant-selector select{font-size:16px;padding:9px 13px}}

/* Livo variant stays with specifications, not above the title */
.livo-tabbed-specs > .livo-variant-selector{display:flex!important;width:min(230px,90vw);margin:0 0 22px 3vw;color:#555}
.livo-tabbed-specs > .livo-variant-selector label{color:#555;font-size:16px}
.livo-tabbed-specs > .livo-variant-selector select{border-radius:6px;border:1px solid #ddd;background:#fff;color:#111;font-size:20px;padding:14px 16px}

/* Final requested font and contact hero colour fixes */
.shine100-tabbed-specs .section-head h2,
.livo-tabbed-specs .section-head h2,
.product-tabbed-specs .section-head h2 {
  font-size: clamp(34px, 4.2vw, 60px) !important;
  line-height: 1.05 !important;
}

.contact-photo-hero,
.contact-photo-hero span,
.contact-photo-hero h1,
.contact-photo-hero p {
  color: #fff !important;
}

.contact-photo-hero p {
  opacity: 1 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.45);
}

@media (max-width: 800px) {
  .shine100-tabbed-specs .section-head h2,
  .livo-tabbed-specs .section-head h2,
  .product-tabbed-specs .section-head h2 {
    font-size: 32px !important;
  }
}

/* Final clear motorcycle images */
.shine100-page .shine100-360-stage img,
.shine100-page .product-360-stage img,
.shine100-page .cb125-360-stage img,
.shine100-page .livo-360-stage img {
  filter: none !important;
  opacity: 1 !important;
  image-rendering: auto !important;
  transform: none !important;
}

.shine100-page .shine100-360-stage.spinning img,
.shine100-page .product-360-stage.spinning img,
.shine100-page .cb125-360-stage.spinning img,
.shine100-page .livo-360-stage.spinning img {
  filter: none !important;
}

.shine100-page .shine100-360-stage,
.shine100-page .product-360-stage,
.shine100-page .cb125-360-stage,
.shine100-page .livo-360-stage {
  transform: none !important;
}

.shine100-page .shine100-360-section .shine100-360-stage img,
.shine100-page .product-360-section .product-360-stage img,
.shine100-page .cb125-360-section .cb125-360-stage img,
.shine100-page .livo-360-section .livo-360-stage img {
  width: min(860px, 82vw) !important;
  max-height: 470px !important;
  object-fit: contain !important;
}

.shine100-colour-dots .red { background: #b71925 !important; }
.shine100-360-section.colour-red { background: linear-gradient(180deg, #b3282d 0%, #4e1417 100%) !important; }

/* Shine125 colour changing section */
.shine125-360-section {
  min-height: 650px;
  background: linear-gradient(180deg, #1f6f9f 0%, #123a59 100%) !important;
}
.shine125-360-section.colour-blue { background: linear-gradient(180deg, #2b78a8 0%, #153d5e 100%) !important; }
.shine125-360-section.colour-red { background: linear-gradient(180deg, #b3282d 0%, #4e1417 100%) !important; }
.shine125-360-section.colour-gray { background: linear-gradient(180deg, #7c8283 0%, #3d4243 100%) !important; }
.shine125-360-section.colour-black { background: linear-gradient(180deg, #2c2f33 0%, #0b0c0d 100%) !important; }
.shine125-colour-dots .blue { background: #1d78b0 !important; }
.shine125-colour-dots .red { background: #b71925 !important; }
.shine125-colour-dots .gray { background: #858c8d !important; }
.shine125-colour-dots .black { background: #111 !important; }
.shine125-360-section .shine100-360-stage img {
  width: min(760px, 82vw) !important;
  max-height: 430px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Clear interactive motorcycle 360 view */
.bike-product-page .shine100-360-section,
.bike-product-page .livo-360-section,
.bike-product-page .cb125-360-section,
.bike-product-page .product-360-section {
  overflow: hidden !important;
}

.bike-product-page .shine100-360-stage,
.bike-product-page .livo-360-stage,
.bike-product-page .cb125-360-stage,
.bike-product-page .product-360-stage {
  cursor: grab !important;
  perspective: 1200px !important;
  touch-action: none !important;
  user-select: none !important;
}

.bike-product-page .shine100-360-stage.is-dragging,
.bike-product-page .livo-360-stage.is-dragging,
.bike-product-page .cb125-360-stage.is-dragging,
.bike-product-page .product-360-stage.is-dragging {
  cursor: grabbing !important;
}

.bike-product-page .shine100-360-stage img,
.bike-product-page .livo-360-stage img,
.bike-product-page .cb125-360-stage img,
.bike-product-page .product-360-stage img,
.bike-product-page .product-360-image {
  filter: none !important;
  opacity: 1 !important;
  image-rendering: auto !important;
  transform: perspective(1200px) translate3d(var(--pan-x, 0px), var(--pan-y, 0px), 0) rotateY(var(--spin, 0deg)) scale(var(--zoom, 1)) !important;
  transform-origin: center center !important;
  transition: transform .06s linear !important;
  will-change: transform !important;
}

.bike-product-page .shine100-360-stage.is-zoomed,
.bike-product-page .livo-360-stage.is-zoomed,
.bike-product-page .cb125-360-stage.is-zoomed,
.bike-product-page .product-360-stage.is-zoomed {
  cursor: move !important;
}

/* Product accessory and variant sections */
.product-accessories-section {
  padding: 72px 6vw;
  background: #f7f5f3;
}

.product-accessories-section .section-head {
  margin-bottom: 28px;
}

.product-accessory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.product-accessory-grid article {
  background: #fff;
  border: 1px solid rgba(160, 122, 101, .2);
  border-radius: 10px;
  box-shadow: 0 18px 42px rgba(24, 28, 33, .08);
  overflow: hidden;
}

.product-accessory-grid img {
  width: 100%;
  height: 240px;
  object-fit: contain;
  background: #f1efed;
  display: block;
}

.product-accessory-grid h3 {
  margin: 0;
  padding: 18px 20px 22px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.15;
}

.product-variant-selector {
  width: min(240px, 90vw);
  margin: 0 0 24px 3vw;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #555;
}

.product-variant-selector label {
  font-size: 16px;
}

.product-variant-selector select {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 7px;
  background: #fff;
  color: #111;
  font-size: 20px;
  padding: 14px 16px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}

.sp160-tabbed-specs .section-head h2,
.sp125-tabbed-specs .section-head h2 {
  font-size: clamp(34px, 4.2vw, 60px) !important;
  line-height: 1.05 !important;
}

@media (max-width: 900px) {
  .product-accessory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .product-accessory-grid {
    grid-template-columns: 1fr;
  }

  .product-accessories-section {
    padding: 52px 5vw;
  }

  .product-variant-selector {
    margin-left: 0;
  }
}

/* Shine100 final: clearer 360 image and accessories after CTA */
.shine100-page:not(.shine125-page):not(.livo-page) .shine100-360-section {
  min-height: 620px !important;
}

.shine100-page:not(.shine125-page):not(.livo-page) .shine100-360-section .shine100-360-stage img {
  width: min(760px, 76vw) !important;
  max-height: 420px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
}

.shine100-page:not(.shine125-page):not(.livo-page) .shine-accessories-carousel {
  padding-top: 64px !important;
}

@media (max-width: 760px) {
  .shine100-page:not(.shine125-page):not(.livo-page) .shine100-360-section {
    min-height: 520px !important;
  }

  .shine100-page:not(.shine125-page):not(.livo-page) .shine100-360-section .shine100-360-stage img {
    width: 94vw !important;
    max-height: 320px !important;
  }
}

/* Honda official-style motorcycle 360 sections */
.bike-product-page .shine100-360-section,
.bike-product-page .livo-360-section,
.bike-product-page .cb125-360-section,
.bike-product-page .product-360-section {
  min-height: 650px !important;
  display: grid !important;
  place-items: center !important;
  padding: 56px 16px 34px !important;
  overflow: hidden !important;
}

.bike-product-page .shine100-360-stage,
.bike-product-page .livo-360-stage,
.bike-product-page .cb125-360-stage,
.bike-product-page .product-360-stage {
  width: min(1120px, 100%) !important;
  min-height: 540px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  cursor: default !important;
  touch-action: auto !important;
  user-select: auto !important;
  perspective: none !important;
  gap: 14px !important;
}

.bike-product-page .shine100-360-stage img,
.bike-product-page .livo-360-stage img,
.bike-product-page .cb125-360-stage img,
.bike-product-page .product-360-stage img {
  width: min(850px, 86vw) !important;
  max-height: 430px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: opacity .18s ease !important;
  image-rendering: auto !important;
}

.bike-product-page .shine100-360-badge {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 86px !important;
  height: 86px !important;
  margin-top: -46px !important;
  border-radius: 50% !important;
  background: rgba(66, 52, 48, .88) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 30px !important;
  line-height: 1 !important;
  z-index: 3 !important;
}

.bike-product-page .shine100-colour-dots,
.bike-product-page .product-colour-dots,
.bike-product-page .cb125-colour-dots,
.bike-product-page .livo-colour-dots {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 8px 0 0 !important;
  z-index: 4 !important;
}

.bike-product-page .shine100-colour-dots button,
.bike-product-page .product-colour-dots button,
.bike-product-page .cb125-colour-dots button,
.bike-product-page .livo-colour-dots button {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, .88) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .22) !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.bike-product-page .shine100-colour-dots button.active,
.bike-product-page .product-colour-dots button.active,
.bike-product-page .cb125-colour-dots button.active,
.bike-product-page .livo-colour-dots button.active {
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(0, 0, 0, .24) !important;
}

.bike-product-page .shine100-colour-name,
.bike-product-page .product-colour-name,
.bike-product-page .cb125-colour-name,
.bike-product-page .livo-colour-name {
  display: inline-block !important;
  width: auto !important;
  max-width: calc(100vw - 32px) !important;
  margin: 10px auto 0 !important;
  padding: 10px 24px !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #252529 !important;
  font: 500 16px/1.25 Arial, Helvetica, sans-serif !important;
  text-align: center !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .12) !important;
  z-index: 4 !important;
}

@media (max-width: 760px) {
  .bike-product-page .shine100-360-section,
  .bike-product-page .livo-360-section,
  .bike-product-page .cb125-360-section,
  .bike-product-page .product-360-section {
    min-height: 540px !important;
    padding: 42px 12px 26px !important;
  }

  .bike-product-page .shine100-360-stage,
  .bike-product-page .livo-360-stage,
  .bike-product-page .cb125-360-stage,
  .bike-product-page .product-360-stage {
    min-height: 460px !important;
  }

  .bike-product-page .shine100-360-stage img,
  .bike-product-page .livo-360-stage img,
  .bike-product-page .cb125-360-stage img,
  .bike-product-page .product-360-stage img {
    width: 96vw !important;
    max-height: 320px !important;
  }

  .bike-product-page .shine100-360-badge {
    width: 72px !important;
    height: 72px !important;
    margin-top: -38px !important;
    font-size: 24px !important;
  }
}

/* Motorcycle-only 360 rotation restored */
.bike-product-page .shine100-360-stage,
.bike-product-page .livo-360-stage,
.bike-product-page .cb125-360-stage,
.bike-product-page .product-360-stage {
  cursor: grab !important;
  touch-action: none !important;
  user-select: none !important;
  perspective: 1200px !important;
}

.bike-product-page .shine100-360-stage.is-dragging,
.bike-product-page .livo-360-stage.is-dragging,
.bike-product-page .cb125-360-stage.is-dragging,
.bike-product-page .product-360-stage.is-dragging {
  cursor: grabbing !important;
}

.bike-product-page .shine100-360-stage img,
.bike-product-page .livo-360-stage img,
.bike-product-page .cb125-360-stage img,
.bike-product-page .product-360-stage img {
  transform: perspective(1200px) translate3d(var(--pan-x, 0px), var(--pan-y, 0px), 0) rotateY(var(--spin, 0deg)) scale(var(--zoom, 1)) !important;
  transform-style: preserve-3d !important;
  backface-visibility: visible !important;
  transition: transform .08s linear, opacity .18s ease !important;
}

/* Motorcycle-only: keep Honda-style controls visible and clear */
.bike-product-page .shine100-360-badge {
  flex: 0 0 auto !important;
  margin-top: -34px !important;
  margin-bottom: 12px !important;
  pointer-events: none !important;
}

.bike-product-page .shine100-colour-dots,
.bike-product-page .product-colour-dots,
.bike-product-page .cb125-colour-dots,
.bike-product-page .livo-colour-dots {
  flex: 0 0 auto !important;
  min-height: 32px !important;
  margin: 0 auto 8px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.bike-product-page .shine100-colour-dots button,
.bike-product-page .product-colour-dots button,
.bike-product-page .cb125-colour-dots button,
.bike-product-page .livo-colour-dots button {
  display: inline-block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.bike-product-page .shine100-colour-name,
.bike-product-page .product-colour-name,
.bike-product-page .cb125-colour-name,
.bike-product-page .livo-colour-name {
  flex: 0 0 auto !important;
  margin-top: 0 !important;
}

/* Final motorcycle 3D viewer: clear bike and always-visible colour controls */
.bike-product-page .shine100-360-section,
.bike-product-page .livo-360-section,
.bike-product-page .cb125-360-section,
.bike-product-page .product-360-section {
  min-height: 640px !important;
  padding: 34px 16px 118px !important;
  position: relative !important;
}

.bike-product-page .shine100-360-stage,
.bike-product-page .livo-360-stage,
.bike-product-page .cb125-360-stage,
.bike-product-page .product-360-stage {
  min-height: 488px !important;
  gap: 0 !important;
}

.bike-product-page .shine100-360-stage::before,
.bike-product-page .livo-360-stage::before,
.bike-product-page .cb125-360-stage::before,
.bike-product-page .product-360-stage::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 95px !important;
  width: min(620px, 68vw) !important;
  height: 48px !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;
  background: radial-gradient(ellipse, rgba(0, 0, 0, .32), rgba(0, 0, 0, 0) 70%) !important;
  filter: blur(2px) !important;
  z-index: 0 !important;
}

.bike-product-page .shine100-360-stage img,
.bike-product-page .livo-360-stage img,
.bike-product-page .cb125-360-stage img,
.bike-product-page .product-360-stage img {
  position: relative !important;
  z-index: 1 !important;
  width: min(880px, 86vw) !important;
  max-height: 400px !important;
  filter: drop-shadow(0 34px 28px rgba(0, 0, 0, .24)) !important;
  will-change: transform !important;
}

.bike-product-page .shine100-360-badge {
  position: absolute !important;
  left: 50% !important;
  bottom: 118px !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  z-index: 5 !important;
}

.bike-product-page .shine100-colour-dots,
.bike-product-page .product-colour-dots,
.bike-product-page .cb125-colour-dots,
.bike-product-page .livo-colour-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 74px !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  min-width: max-content !important;
  margin: 0 !important;
  z-index: 8 !important;
}

.bike-product-page .shine100-colour-name,
.bike-product-page .product-colour-name,
.bike-product-page .cb125-colour-name,
.bike-product-page .livo-colour-name {
  position: absolute !important;
  left: 50% !important;
  bottom: 18px !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  z-index: 7 !important;
}

@media (max-width: 760px) {
  .bike-product-page .shine100-360-section,
  .bike-product-page .livo-360-section,
  .bike-product-page .cb125-360-section,
  .bike-product-page .product-360-section {
    min-height: 520px !important;
    padding-bottom: 112px !important;
  }

  .bike-product-page .shine100-360-stage,
  .bike-product-page .livo-360-stage,
  .bike-product-page .cb125-360-stage,
  .bike-product-page .product-360-stage {
    min-height: 390px !important;
  }

  .bike-product-page .shine100-360-stage img,
  .bike-product-page .livo-360-stage img,
  .bike-product-page .cb125-360-stage img,
  .bike-product-page .product-360-stage img {
    width: 94vw !important;
    max-height: 300px !important;
  }

  .bike-product-page .shine100-360-badge {
    bottom: 108px !important;
  }

  .bike-product-page .shine100-colour-dots,
  .bike-product-page .product-colour-dots,
  .bike-product-page .cb125-colour-dots,
  .bike-product-page .livo-colour-dots {
    bottom: 68px !important;
  }
}

/* Final clear motorcycle viewer: controls below bike, no overlap */
.bike-product-page .shine100-360-section,
.bike-product-page .livo-360-section,
.bike-product-page .cb125-360-section,
.bike-product-page .product-360-section {
  min-height: 640px !important;
  padding: 38px 16px 46px !important;
  overflow: visible !important;
}

.bike-product-page .shine100-360-stage,
.bike-product-page .livo-360-stage,
.bike-product-page .cb125-360-stage,
.bike-product-page .product-360-stage {
  min-height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding-bottom: 0 !important;
}

.bike-product-page .shine100-360-stage::before,
.bike-product-page .livo-360-stage::before,
.bike-product-page .cb125-360-stage::before,
.bike-product-page .product-360-stage::before {
  bottom: 142px !important;
  width: min(560px, 62vw) !important;
  height: 36px !important;
}

.bike-product-page .shine100-360-stage img,
.bike-product-page .livo-360-stage img,
.bike-product-page .cb125-360-stage img,
.bike-product-page .product-360-stage img {
  width: min(720px, 74vw) !important;
  max-height: 320px !important;
  filter: drop-shadow(0 24px 20px rgba(0, 0, 0, .22)) !important;
}

.bike-product-page .shine100-360-badge {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 76px !important;
  height: 76px !important;
  margin: 0 0 10px !important;
  font-size: 27px !important;
}

.bike-product-page .shine100-colour-dots,
.bike-product-page .product-colour-dots,
.bike-product-page .cb125-colour-dots,
.bike-product-page .livo-colour-dots {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  min-height: 34px !important;
  margin: 0 auto 10px !important;
  padding: 2px 0 !important;
}

.bike-product-page .shine100-colour-name,
.bike-product-page .product-colour-name,
.bike-product-page .cb125-colour-name,
.bike-product-page .livo-colour-name {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 2px auto 0 !important;
}

@media (max-width: 760px) {
  .bike-product-page .shine100-360-section,
  .bike-product-page .livo-360-section,
  .bike-product-page .cb125-360-section,
  .bike-product-page .product-360-section {
    min-height: 520px !important;
    padding: 34px 10px 34px !important;
  }

  .bike-product-page .shine100-360-stage img,
  .bike-product-page .livo-360-stage img,
  .bike-product-page .cb125-360-stage img,
  .bike-product-page .product-360-stage img {
    width: 86vw !important;
    max-height: 250px !important;
  }

  .bike-product-page .shine100-360-badge {
    width: 66px !important;
    height: 66px !important;
    margin-top: 0 !important;
    font-size: 23px !important;
  }
}
