:root {
   --rental-blue: #174de5;
   --rental-ink: #16263b;

}

body.light-theme {
   background: #fafaf7 !important;
   color: var(--rental-ink) !important;

}

.fluid-bg-container, .gooey-nav-container {
   display: none !important;

}

.modern-transparent-nav {
   background: #fff !important;
   border-bottom: 1px solid #e0e5ea;
   box-shadow: none !important;

}

.storefront {
   font-family: system-ui, sans-serif;

}

.storefront h1 {
   font-size: clamp(2.8rem, 6vw, 5.5rem);
   font-weight: 750;
   line-height: 1.03;
   letter-spacing: -.045em;
   margin: 1.2rem 0;

}

.storefront h2 {
   font-size: clamp(1.7rem, 3.3vw, 2.6rem);
   font-weight: 700;
   letter-spacing: -.03em;
   max-width: 760px;

}

.storefront h3, .rental-card h3 {
   font-size: 1.35rem;
   font-weight: 700;

}

.eyebrow {
   font-size: .75rem;
   letter-spacing: .12em;
   font-weight: 700;
   color: #3156a0;
   text-transform: uppercase;

}

.rental-hero {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 4rem;
   padding-top: 5rem;
   padding-bottom: 5rem;
   align-items: center;

}

.hero-copy {
   max-width: 600px;
   font-size: 1.15rem;
   line-height: 1.75;
   color: #526175;

}

.hero-photo {
   background: #edf1f5;
   border-radius: 24px;
   overflow: hidden;
   position: relative;

}

.hero-photo img {
   width: 100%;
   height: 450px;
   object-fit: contain;

}

.photo-caption {
   padding: 1rem 1.5rem;
   margin: 0;
   background: white;

}

.photo-placeholder {
   min-height: 250px;
   padding: 2rem;
   text-align: center;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   background: #edf1f5;
   color: #53647b;

}

.photo-placeholder[hidden], img[hidden] {
   display: none !important;

}

.photo-placeholder i {
   font-size: 4rem;
   margin-bottom: 1rem;

}

.rental-actions {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 1rem;

}

.storefront .btn, .rental-card .btn {
   border-radius: 9px;
   padding: .85rem 1.2rem;
   font-weight: 600;

}

.storefront .btn-primary, .rental-card .btn-primary {
   background: var(--rental-blue);
   border-color: var(--rental-blue);

}

.rental-section {
   padding-top: 4rem;
   padding-bottom: 4rem;

}

.section-intro {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 2rem;

}

.fleet-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 1.5rem;

}

.rental-card, .rental-panel {
   background: white;
   border: 1px solid #dfe5ec;
   border-radius: 16px;
   overflow: hidden;

}

.rental-card-photo img {
   width: 100%;
   height: 240px;
   object-fit: contain;
   background: #edf1f5;

}

.rental-card-body, .rental-panel {
   padding: 1.5rem;

}

.rental-price {
   font-size: 1.3rem;
   font-weight: 750;

}

.rental-price span {
   font-size: .9rem;
   font-weight: 400;
   color: #526175;

}

.process-section {
   background: #eef3fa;

}

.step-number {
   display: block;
   font-size: 2.4rem;
   color: #3156a0;
   margin-bottom: 1rem;

}

.rental-panel li {
   margin-bottom: .7rem;

}

.rental-footer {
   padding-top: 2rem;
   padding-bottom: 2rem;
   display: flex;
   justify-content: space-between;
   gap: 1rem;

}

.rental-footer div {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;

}

a:focus-visible, button:focus-visible {
   outline: 3px solid #174de5;
   outline-offset: 4px;

}

.skip-link {
   position: absolute;
   top: -80px;
   left: 16px;
   z-index: 9999;
   background: white;
   padding: 12px;

}

.skip-link:focus {
   top: 8px;

}

@media (max-width: 991px) {
   .rental-hero {
   gap: 2rem;

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

}

}

@media (max-width: 640px) {
   .rental-hero {
   grid-template-columns: 1fr;
   padding-top: 2rem;
   padding-bottom: 2rem;

}
 .hero-photo img {
   height: 300px;

}
 .fleet-grid {
   grid-template-columns: 1fr;

}
 .section-intro, .rental-footer {
   align-items: flex-start;
   flex-direction: column;

}
 .rental-section {
   padding-top: 2.5rem;
   padding-bottom: 2.5rem;

}

}

@media (prefers-reduced-motion: reduce) {
   *, *::before, *::after {
   animation: none !important;
   transition: none !important;
   scroll-behavior: auto !important;

}

}

.bike-detail-title {
   background: none !important;
   -webkit-text-fill-color: #16263b !important;
   color: #16263b !important;

}

.chatbot-toggle, .chatbot-header, .user-message, .book-now-btn {
   background: #174de5 !important;

}

@media (max-width: 640px) {
   .chatbot-container {
   right: 12px !important;
   bottom: 12px !important;

}
 .chatbot-window {
   width: min(350px, calc(100vw - 24px)) !important;
   max-height: 75vh;

}

}

/* EasyMoto: editorial layouts, dimensional art, and motion with accessible fallbacks. */
html{
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
.modern-transparent-nav{
  position:sticky!important;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(16px)
}
.modern-transparent-nav .container-fluid{
  max-width:1320px
}
.storefront{
  overflow:hidden
}
.storefront h1{
  font-size:clamp(3.2rem,6vw,6.2rem);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:800
}
.storefront h1 em{
  color:#2454e6;
  font-style:normal
}
.rental-hero{
  gap:2.5rem;
  padding-top:4rem;
  padding-bottom:4rem;
  grid-template-columns:1fr 1.15fr
}
.hero-editorial{
  position:relative;
  z-index:1
}
.hero-copy{
  font-size:1.1rem;
  max-width:570px
}
.hero-note{
  font-size:.85rem;
  margin-top:1.6rem;
  color:#526175
}
.live-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#2454e6;
  margin-right:8px;
  box-shadow:0 0 0 5px #2454e61a
}
.ride-scene{
  position:relative;
  margin:0;
  perspective:1000px;
  transform-style:preserve-3d;
  transition:transform .3s ease;
  isolation:isolate
}
.ride-scene>img{
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:30px;
  box-shadow:0 25px 70px #17387626
}
.ride-scene figcaption{
  font-size:.65rem;
  color:#576679;
  margin:14px 8px
}
.scene-badge{
  position:absolute;
  left:-20px;
  bottom:70px;
  padding:18px 24px;
  background:#fffffff0;
  backdrop-filter:blur(12px);
  border:1px solid #fff;
  border-radius:16px;
  box-shadow:0 14px 35px #193b6b22;
  transform:translateZ(30px);
  animation:float-ride 6s ease-in-out infinite
}
.scene-badge span{
  display:block;
  font-size:.62rem;
  letter-spacing:.12em;
  color:#45617f;
  margin-bottom:5px
}
.scene-badge strong{
  font-size:1rem
}
.ride-strip{
  background:#172842;
  color:white;
  padding:23px 0;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.12em
}
.ride-strip>.container{
  display:flex;
  justify-content:space-between;
  gap:20px
}
.rental-section{
  padding-top:6rem;
  padding-bottom:6rem
}
.section-intro{
  align-items:end;
  margin-bottom:1.5rem
}
.section-label,.terms-note{
  color:#58677c;
  font-size:.9rem
}
.text-link{
  white-space:nowrap;
  font-weight:600
}
.rental-card{
  border:1px solid #e1e7ef;
  border-radius:22px;
  overflow:hidden;
  transition:transform .25s,box-shadow .25s;
  background:#fff
}
.rental-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 45px #243f7014
}
.rental-card-photo{
  background:#eff3f8
}
.rental-card-photo img{
  transition:transform .4s
}
.rental-card:hover img{
  transform:scale(1.035)
}
.rental-card-body{
  padding:1.6rem
}
.rental-card .rental-actions{
  gap:.7rem;
  font-size:.8rem
}
.journey-section{
  background:#eaf0fc
}
.journey-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3rem;
  margin-top:3rem
}
.journey-icon{
  display:flex;
  width:70px;
  height:70px;
  border-radius:20px;
  align-items:center;
  justify-content:center;
  font-size:2.5rem;
  background:#fff;
  color:#2454e6;
  margin-bottom:2rem;
  box-shadow:0 10px 25px #2449760d
}
.journey-grid p{
  line-height:1.8;
  color:#526175
}
.document-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin-top:2rem
}
.document-card{
  padding:2.5rem;
  border:1px solid #dbe4f0;
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#f2f6ff)
}
.document-tag{
  font-size:.67rem;
  letter-spacing:.12em;
  color:#2454e6;
  display:block;
  margin-bottom:1.5rem;
  font-weight:700
}
.document-card ul{
  list-style:none;
  padding:0;
  margin:1.5rem 0 0
}
.document-card li{
  padding:12px 0 12px 26px;
  border-bottom:1px solid #e1e8f2;
  position:relative;
  font-size:.95rem
}
.document-card li:before{
  content:'✓';
  position:absolute;
  left:0;
  color:#2454e6
}
.terms-note{
  margin-top:1.6rem;
  line-height:1.8
}
.faq-section{
  background:#f0f3f8
}
.faq-layout{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:5rem
}
.faq-layout label{
  font-size:.8rem;
  font-weight:600;
  margin:1.5rem 0 .6rem
}
.faq-item{
  border-bottom:1px solid #d5dfec;
  padding:1.3rem 0
}
.faq-item summary{
  font-weight:600;
  cursor:pointer;
  font-size:1rem;
  line-height:1.6
}
.faq-item p{
  color:#526175;
  line-height:1.8;
  margin:1rem 0
}
.faq-category{
  font-size:.65rem;
  color:#3156a0;
  letter-spacing:.1em;
  text-transform:uppercase
}
.contact-section{
  background:#2454e6;
  color:#fff;
  padding:5rem 0;
  border-radius:40px 40px 0 0
}
.contact-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:4rem
}
.contact-section h2{
  font-size:clamp(3rem,5vw,5rem);
  line-height:1.04;
  margin-bottom:2rem
}
.contact-section .eyebrow{
  color:#dbe7ff
}
.contact-details a{
  color:white
}
.contact-details p{
  line-height:1.8
}
.rental-footer{
  padding:2rem 12px;
  gap:1rem;
  flex-wrap:wrap
}
.rental-footer>div{
  display:flex;
  gap:1.2rem;
  flex-wrap:wrap
}
.reveal-active{
  animation:reveal-ride .7s ease both
}
.google-review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem
}
.google-review-grid blockquote{
  white-space:pre-line;
  max-height:250px;
  overflow:auto
}
.google-review-grid img{
  width:36px;
  height:36px;
  border-radius:50%;
  margin-right:8px
}
.google-attribution{
  margin:1.5rem 0;
  font-size:.85rem
}
.google-attribution img{
  width:70px;
  height:auto
}
.faq-item[hidden]{
  display:none
}
.btn:focus-visible,a:focus-visible,summary:focus-visible{
  outline:3px solid #edb625;
  outline-offset:4px
}
@keyframes float-ride{
  50%{
  transform:translateY(-9px) translateZ(30px)
}

}
@keyframes reveal-ride{
  from{
  opacity:.5;
  transform:translateY(20px)
}
to{
  opacity:1;
  transform:translateY(0)
}

}
@media(max-width:991px){
  .rental-hero{
  grid-template-columns:1fr;
  gap:3rem
}
.hero-editorial{
  max-width:650px
}
.ride-scene{
  max-width:750px
}
.scene-badge{
  left:15px
}
.faq-layout{
  grid-template-columns:1fr;
  gap:2rem
}
.journey-grid{
  gap:1.5rem
}
.google-review-grid{
  grid-template-columns:1fr 1fr
}

}
@media(max-width:600px){
  .rental-section{
  padding:3.5rem 0
}
.rental-hero{
  padding-top:2.5rem;
  padding-bottom:2.5rem
}
.ride-strip>.container{
  flex-direction:column;
  gap:12px
}
.journey-grid,.document-grid,.contact-grid,.google-review-grid{
  grid-template-columns:1fr
}
.document-card{
  padding:1.5rem
}
.contact-section{
  padding:3.5rem 0
}
.scene-badge{
  bottom:45px;
  padding:12px 16px
}
.scene-badge strong{
  font-size:.85rem
}
.section-intro{
  align-items:start;
  gap:1.2rem;
  flex-direction:column
}
.rental-footer{
  font-size:.8rem
}
.ride-scene>img{
  border-radius:20px
}

}
@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto
}
*,*:before,*:after{
  animation:none!important;
  transition:none!important
}
.ride-scene{
  transform:none!important
}

}

.google-maps-credit{
  font-family:Arial,sans-serif;
  font-style:normal;
  font-weight:400;
  font-size:14px;
  letter-spacing:normal;
  white-space:nowrap;
  color:#5e5e5e
}

.google-attribution img.google-maps-credit{
  height:18px;
  width:auto;
  margin:10px 10px 5px
}

/* Editorial type: one readable heading, revealed in three timed lines. */
.hero-title { margin-top: 0 !important; }
.hero-line { display: block; overflow: hidden; padding: 0 .05em .08em 0; margin-bottom: -.08em; }
.hero-line > span, .hero-line > em { display: block; animation: hero-typeset 900ms cubic-bezier(.2,.7,.2,1) both; }
.hero-line:nth-child(2) > span { animation-delay: 130ms; }
.hero-line:nth-child(3) > em { animation-delay: 260ms; }
@keyframes hero-typeset { from { transform: translateY(105%) rotate(2deg); } to { transform: translateY(0) rotate(0); } }
.desktop-masthead { display: none; }
.nav-icon { margin-right: .4rem; }
.fleet-track { position: relative; display: flex; gap: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding: 28px 10px 38px; scrollbar-width: none; -ms-overflow-style: none; perspective: 1400px; }
.fleet-track::-webkit-scrollbar { display: none; }
a, a:visited, a:hover, a:focus, a:active { text-decoration: none !important; }
.fleet-viewport { position: relative; }
.fleet-slide-hint { position: absolute; left: 0; top: 28px; bottom: 38px; z-index: 1; display: flex; flex-direction: column; justify-content: center; gap: 1.8rem; width: calc((100% - max(310px, 36%)) / 2 - 1rem); padding: clamp(1.25rem, 2.5vw, 2.5rem); margin: 0; border: 1px solid #d5e1ff; border-radius: 24px; background: linear-gradient(145deg, #edf3ff, #f8faff); color: #17345d; font-size: clamp(2rem, 3.4vw, 3.25rem); font-weight: 750; letter-spacing: -.045em; line-height: 1.12; pointer-events: none; }
.fleet-slide-hint i { color: #2454e6; font-size: clamp(2.75rem, 4.5vw, 4.5rem); }
.fleet-viewport.has-scrolled .fleet-slide-hint { visibility: hidden; }
@media (max-width: 991px) {
  .fleet-slide-hint { top: 0; bottom: auto; left: 10px; width: auto; padding: 0; border: 0; border-radius: 0; background: none; flex-direction: row; align-items: center; gap: .6rem; font-size: 1rem; letter-spacing: 0; line-height: 1.4; }
  .fleet-slide-hint br { display: none; }
  .fleet-slide-hint i { font-size: 1rem; }
  .fleet-viewport .fleet-track { padding-top: 52px; }
}
.fleet-track .rental-card { flex: 0 0 36%; min-width: 310px; scroll-snap-align: center; transform: scale(.96); transition: transform .45s ease, box-shadow .45s ease; }
.fleet-track .rental-card.is-featured-slide { transform: scale(1); box-shadow: 0 20px 40px #17387624; border-color: #b7c9ef; }
.fleet-track .rental-card:focus-within { outline: 2px solid #2454e6; outline-offset: 2px; }
.fleet-track .rental-card-photo img { height: 235px; object-fit: contain; }
.fleet-track .rental-card-body { padding: 1.25rem; }
.fleet-track .rental-card-body > p.text-secondary { font-size: .8rem; }
.fleet-carousel-tools { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; margin-top: .5rem; }
.fleet-carousel-tools[hidden] { display: none; }
.fleet-position { margin: 0; font-size: .8rem; color: #526175; }
.fleet-carousel-tools > div { display: flex; gap: .6rem; }
.fleet-carousel-tools button { border: 1px solid #d5dfef; background: #fff; color: #17345d; border-radius: 50%; width: 44px; height: 44px; transition: background .2s, color .2s; }
.fleet-carousel-tools button:hover:not(:disabled) { background: #2454e6; color: white; }
.fleet-carousel-tools button:disabled { opacity: .35; }
.social-brand-icon { width: 28px; height: 28px; object-fit: contain; }
.rental-footer > div > a { display: inline-flex; align-items: center; gap: .45rem; }
.storefront .fas.fa-arrow-up-right-from-square { font-size: .72em; margin-left: .25em; }
.journey-icon > i { font-size: 1.7rem; }
.availability-dialog { width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 2.5rem; border: 1px solid #d9e2f0; border-radius: 24px; color: #16263b; background: #fff; box-shadow: 0 30px 100px #07173340; }
.availability-dialog:not([open]) { display: none; }
.availability-dialog::backdrop { background: #0e234b88; backdrop-filter: blur(6px); }
.availability-dialog h2 { font-size: 1.9rem; letter-spacing: -.04em; font-weight: 700; }
.dialog-close { position: absolute; right: 16px; top: 12px; border: 0; background: #f0f4fb; border-radius: 50%; width: 34px; height: 34px; color: #16263b; }
.date-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.date-fields label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .5rem; }
#availability-result[hidden] { display: none; }
#availability-result { border-top: 1px solid #d9e2f0; padding-top: 1.2rem; margin-top: 1.5rem; }
.availability-page { max-width: 700px; }
.availability-page h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 750; letter-spacing: -.04em; }
@media (min-width: 992px) {
  html { scroll-padding-top: 25px; }
  body.light-theme { padding-bottom: 115px; }
  .desktop-masthead { display: none; }
  .desktop-masthead img { width: 180px; height: auto; }
  .desktop-masthead > a:last-child { color: #526175; font-size: .85rem; text-decoration: none; }
  .navigation-shell { height: 104px; padding-top: 16px; }
  .modern-transparent-nav { position: relative !important; top: auto !important; bottom: auto; left: auto; transform: none; margin: 0 auto; width: calc(100% - 96px); max-width: 1140px; padding: 10px 14px !important; border-radius: 24px; border: 1px solid #ffffff !important; background: #fffffff2 !important; box-shadow: 0 12px 55px #11285730 !important; }
  .modern-transparent-nav.is-floating { position: fixed !important; bottom: 22px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 180px); animation: dock-arrival .35s both; }
  .modern-transparent-nav .container-fluid { padding: 0; flex-wrap: nowrap; }
  .modern-transparent-nav .navbar-brand { margin: 0 14px 0 0; }
  .modern-transparent-nav .navbar-brand img { height: 32px !important; }
  .modern-transparent-nav .navbar-nav { align-items: center; gap: 2px; }
  .modern-transparent-nav .modern-nav-item { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 9px 11px !important; border-radius: 14px; font-size: .74rem; white-space: nowrap; }
  .modern-transparent-nav .modern-nav-item:hover, .modern-transparent-nav .modern-nav-item:focus-visible { background: #e9efff; color: #2454e6 !important; }
  .modern-transparent-nav .nav-icon { margin: 0; font-size: 1.05rem; }
  .modern-transparent-nav .dropdown-menu { top: 100%; bottom: auto; }
  .modern-transparent-nav.is-floating .dropdown-menu { top: auto; bottom: calc(100% + 18px); }
  .modern-transparent-nav #userDropdown { max-width: 130px; }
  .modern-transparent-nav #userDropdown img { width: 24px !important; height: 24px !important; }
  .rental-hero { padding-top: 2.5rem; }
}
@keyframes dock-arrival { from { opacity: 0; translate: 0 25px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 991px) {
  .navigation-shell { position: sticky; top: 0; z-index: 1030; }
  .modern-transparent-nav { top: 0 !important; bottom: auto; left: auto; transform: none; width: auto; border-radius: 0; }
  .fleet-track .rental-card { flex-basis: 48%; }
}
@media (max-width: 600px) {
  .fleet-track .rental-card { flex-basis: 87%; min-width: 0; }
  .fleet-track { gap: .7rem; padding-left: 0; padding-right: 0; }
  .fleet-track .rental-card-body { padding: 1.1rem; }
  .fleet-position { font-size: .72rem; }
  .availability-dialog { padding: 2.5rem 1.4rem 1.5rem; }
  .date-fields { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-line > span, .hero-line > em, .modern-transparent-nav { animation: none !important; }
  .fleet-track { scroll-behavior: auto; }
  .fleet-track .rental-card { transform: none !important; transition: none; }
}
@media (min-width: 992px) {
  .fleet-track .rental-card { transform: rotateY(var(--slide-angle, 0deg)) scale(.96); }
  .fleet-track .rental-card.is-featured-slide { transform: rotateY(0deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) { .fleet-track .rental-card { transform: none !important; } }
/* End spacing lets the first and last card reach the same centered position. */
.fleet-track::before, .fleet-track::after { content: ''; flex: 0 0 max(0px, calc((100% - max(310px, 36%)) / 2 - 1.2rem)); }
@media (max-width: 991px) { .fleet-track::before, .fleet-track::after { flex-basis: max(0px, calc((100% - max(310px, 48%)) / 2 - 1.2rem)); } }
@media (max-width: 600px) { .fleet-track::before, .fleet-track::after { flex-basis: max(0px, calc(6.5% - .7rem)); } }
@media (max-width: 600px) { .rental-section.container { padding-left: 12px; padding-right: 12px; } }
@media (min-width: 992px) { .modern-transparent-nav #userDropdown span { max-width: 110px; overflow: hidden; text-overflow: ellipsis; } }
