
/* ===== Consolidated from v23.23.css ===== */
/* Shortmile website v23.23 foundational patch
   Brand normalization, safer mobile spacing, accessible focus states, and bike-range comparison polish. */
:root{
  --brand:#FF6A13;
  --brand-dark:#D95700;
  --brand-hover:#E65A00;
  --brand-shadow:rgba(255,106,19,.24);
}

:focus-visible{
  outline:3px solid rgba(255,106,19,.72);
  outline-offset:3px;
  border-radius:8px;
}

.btn,.nav-cta,.mobile-cta,.submit-btn,.next-action,.role-card,.dropdown-panel a{
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease;
}

.btn-primary,.nav-cta,.mobile-menu .mobile-cta,.submit-btn-primary,.next-action-app,.menu-featured-link{
  background:#FF6A13!important;
}

.btn-primary:hover,.nav-cta:hover,.mobile-menu .mobile-cta:hover,.submit-btn-primary:hover,.next-action-app:hover,.menu-featured-link:hover{
  background:#E65A00!important;
}

.product-card.dark.featured{
  border-color:#FF6A13!important;
  box-shadow:0 18px 50px rgba(255,106,19,.12)!important;
}

.range-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:18px;
}
.range-table{
  width:100%;
  border-collapse:separate;
}
.range-table th:first-child,.range-table tbody th{
  font-weight:900;
}

.product-card .product-card-actions .btn{
  min-height:48px;
}

.model-spec-copy p,.range-hero p,.premium-note p,.story-card p{
  text-wrap:pretty;
}

@media(max-width:900px){
  .nav-inner{
    grid-template-columns:auto auto;
    justify-content:space-between;
  }
  .range-hero-grid,.model-spec-grid{
    grid-template-columns:1fr!important;
  }
  .range-hero-grid{
    gap:22px!important;
  }
  .premium-note{
    max-width:none;
  }
}

@media(max-width:760px){
  .container{
    width:min(100% - 24px,1240px);
  }
  .nav-inner{
    padding:10px 0;
  }
  .brand img{
    height:36px;
  }
  .section{
    padding:56px 0;
  }
  .section-title{
    font-size:clamp(34px,10vw,46px);
    line-height:1.03;
  }
  .section-sub{
    font-size:16px;
    line-height:1.62;
  }
  .eyebrow{
    font-size:11px;
    padding:9px 13px;
  }
  .btn,.nav-cta{
    min-height:48px;
  }
  .hero-actions{
    width:100%;
  }
  .hero-actions .btn{
    width:100%;
  }
  .product-range-grid{
    gap:16px!important;
  }
  .product-card{
    border-radius:22px!important;
  }
  .product-card .product-visual{
    margin-bottom:12px;
  }
  .product-card h3{
    font-size:clamp(30px,10vw,42px)!important;
  }
  .spec-chip-row{
    gap:8px!important;
  }
  .spec-chip{
    font-size:12px!important;
    padding:8px 10px!important;
  }
  .range-table{
    min-width:780px;
  }
  .mobile-menu a{
    min-height:48px;
    display:flex;
    align-items:center;
  }
}

@media(max-width:420px){
  .container{
    width:min(100% - 20px,1240px);
  }
  .section{
    padding:48px 0;
  }
  .hero h1{
    font-size:44px!important;
  }
  .bike-hero-text h1,.model-spec-copy h1{
    font-size:clamp(38px,14vw,58px)!important;
  }
}


/* ===== Consolidated from v23.24.css ===== */
/* Shortmile website v23.24 visual cleanup patch
   Bike-range readability, onboarding icon consistency, pilot/ripple contrast, and lighter e-bike education. */

/* Bike cards: keep Jara premium but align the illustration panel with Esin/Sisu. */
.product-card.dark .product-visual{
  background:linear-gradient(145deg,#fff3e8,#ffffff)!important;
  border-color:#f0dfce!important;
  box-shadow:inset 0 0 0 1px rgba(255,106,19,.04);
}
.product-card.dark .product-visual svg{filter:none!important;}
.product-card.dark.featured{background:#1a1917!important;}
.product-card.dark.featured .product-card-tag{background:rgba(255,106,19,.18)!important;color:#FF6A13!important;}

/* Bike comparison table: orange header and vertical column demarcation. */
.range-table-wrap{border-color:rgba(255,106,19,.18)!important;box-shadow:0 20px 48px rgba(18,18,18,.07)!important;}
.range-table{border-collapse:separate!important;border-spacing:0!important;}
.range-table th{
  background:#FF6A13!important;
  color:#111!important;
  border-bottom:1px solid rgba(0,0,0,.14)!important;
  letter-spacing:.045em!important;
}
.range-table th:first-child{border-top-left-radius:16px;}
.range-table th:last-child{border-top-right-radius:16px;}
.range-table th+th,.range-table td+td{border-left:1px solid rgba(26,25,23,.13)!important;}
.range-table tbody th{background:#fff8f2!important;color:#1a1917!important;}
.range-table tbody th{
  padding:18px 16px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid #eee5db;
  font:900 14px/1.45 'Outfit',system-ui,sans-serif;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.range-table tbody th+td{border-left:1px solid rgba(26,25,23,.13)!important;}
.range-table td a{color:#D95700;font-weight:800;}
.story-grid{display:none!important;}

/* Four-step flow: one consistent orange system with clearer ownership/bike icons. */
.steps-grid .steps-connector{
  background:linear-gradient(90deg,rgba(255,106,19,.72),rgba(255,106,19,.18),rgba(255,106,19,.18),rgba(255,106,19,.72))!important;
}
.steps-grid > div:not(.steps-connector) > div:first-child{
  background:#FF6A13!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(255,106,19,.20)!important;
}
.steps-grid > div:not(.steps-connector) > div:first-child svg,
.steps-grid > div:not(.steps-connector) > div:first-child svg *{
  stroke:#fff!important;
}
.steps-grid > div:not(.steps-connector) > div:nth-child(2){color:#FF6A13!important;}

/* Pilot map: improve contrast and prevent ash-on-black text. */
.map-section{background:#151412!important;}
.map-section img,.pilot-map-image{
  mix-blend-mode:normal!important;
  filter:contrast(1.18) brightness(1.12)!important;
}
.map-card p,.map-stat span,.map-card .pilot-city-list{color:#f4f0ea!important;}
.map-stat{border-top-color:rgba(255,255,255,.14)!important;}
.map-stat-icon{background:rgba(255,106,19,.14)!important;}
.map-stat-icon svg,.map-stat-icon svg *{stroke:#FF6A13!important;}
.pilot-city-list{display:inline-flex;gap:8px;align-items:center;margin-top:16px;font-size:13px;font-style:italic;font-weight:800;}
.pilot-city-list::before{content:'Active pilot:';font-style:normal;color:#FF6A13;font-weight:900;}

/* Ripple strip: orange key metrics, white supporting labels. */
.ripple-strip{background:#151412!important;padding:44px 32px!important;}
.ripple-strip .ripple-num{color:#FF6A13!important;}
.ripple-strip .ripple-label{color:#fff!important;font-weight:800!important;}
.ripple-strip .ripple-arrow{color:rgba(255,106,19,.42)!important;}
.ripple-strip .ripple-step:nth-of-type(5){
  border:1px solid rgba(255,106,19,.22);
  border-radius:18px;
  background:rgba(255,106,19,.08);
}
.ripple-kicker{font-family:'Outfit',sans-serif;font-size:13px;color:#c9c2b8!important;font-weight:800;text-transform:uppercase;letter-spacing:.1em;}

/* Lighter, more visual e-bike education section. */
.ebike-visual-section{padding:68px 0;background:linear-gradient(180deg,#fff 0%,#f5f1ea 100%);border-top:1px solid #e7ded2;}
.ebike-visual-head{text-align:center;margin:0 auto 34px;max-width:760px;}
.ebike-visual-head .section-title{font-size:clamp(28px,3.5vw,46px);}
.ebike-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1050px;margin:0 auto 22px;}
.flow-card{background:#fff;border:1px solid #eadfd2;border-radius:18px;padding:22px 18px;box-shadow:0 14px 32px rgba(18,18,18,.04);position:relative;overflow:hidden;}
.flow-card::before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:#FF6A13;}
.flow-icon{width:42px;height:42px;border-radius:13px;background:#fff3e8;color:#FF6A13;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.flow-icon svg{width:22px;height:22px;stroke:currentColor;}
.flow-card h3{font-family:'Outfit',sans-serif;font-size:17px;font-weight:900;letter-spacing:-.02em;margin:0 0 8px;color:#1a1917;}
.flow-card p{font-size:13px;line-height:1.55;color:#5f6672;margin:0;}
.flow-chip{display:inline-flex;margin-top:14px;padding:6px 10px;border-radius:999px;background:#fff3e8;color:#D95700;font:800 11px 'Outfit',sans-serif;}
.ecosystem-visual{max-width:1050px;margin:0 auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:16px;align-items:stretch;}
.eco-panel{background:#fff;border:1px solid #eadfd2;border-radius:20px;padding:22px;box-shadow:0 14px 32px rgba(18,18,18,.04);}
.eco-panel.shortmile-panel{border-color:rgba(255,106,19,.28);box-shadow:0 18px 42px rgba(255,106,19,.08);}
.eco-panel h3{font-family:'Outfit',sans-serif;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;color:#1a1917;}
.eco-panel.shortmile-panel h3{color:#FF6A13;}
.eco-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.eco-list li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.45;color:#3e403f;}
.eco-mark{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:900 14px 'Outfit',sans-serif;}
.eco-mark.no{background:#f3ede5;color:#6b655c;}
.eco-mark.yes{background:#fff3e8;color:#FF6A13;}
.eco-summary{margin-top:18px;padding:14px 16px;border-radius:16px;background:#fff3e8;color:#3a2b20;font-weight:800;font-size:14px;line-height:1.5;}

@media(max-width:900px){
  .ebike-flow{grid-template-columns:1fr 1fr;}
  .ecosystem-visual{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .range-table th,.range-table td{min-width:170px;}
  .range-table th:first-child,.range-table td:first-child{min-width:130px;position:sticky;left:0;z-index:1;}
  .range-table th:first-child{z-index:2;}
  .steps-grid{grid-template-columns:1fr!important;gap:28px!important;}
  .steps-grid .steps-connector{display:none!important;}
  .steps-grid > div:not(.steps-connector){display:grid;grid-template-columns:72px 1fr;text-align:left!important;gap:16px;align-items:start;padding:0!important;}
  .steps-grid > div:not(.steps-connector) > div:first-child{margin:0!important;grid-row:1 / span 3;}
  .steps-grid > div:not(.steps-connector) > div:nth-child(2){margin-bottom:2px!important;}
  .ripple-strip{padding:38px 18px!important;}
  .ripple-strip .ripple-step{padding:12px 14px;}
  .ebike-visual-section{padding:52px 0;}
  .ebike-flow{grid-template-columns:1fr;}
  .flow-card{padding:20px 18px;}
}


/* ===== Consolidated from v23.25.css ===== */
/* Shortmile website v23.25 real Jara product image patch
   Adds the transparent Jara asset to the range card and Jara spec page. */

.product-visual.product-photo-visual{
  padding:10px 12px!important;
  background:linear-gradient(145deg,#fff7ef,#ffffff)!important;
  border-color:rgba(255,106,19,.18)!important;
}
.product-photo-visual picture,
.product-photo-visual img{
  display:block;
  width:100%;
  height:100%;
}
.product-photo-visual img{
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 14px 16px rgba(26,25,23,.16));
}
.product-card.dark .product-photo-visual{
  box-shadow:inset 0 0 0 1px rgba(255,106,19,.06),0 12px 28px rgba(0,0,0,.12)!important;
}
.product-card.dark .product-photo-visual img{
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.24));
}

.bike-hero-illust.jara-real-bike{
  position:relative;
  max-width:620px;
  margin:0 auto;
  padding:24px;
  border-radius:32px;
  background:linear-gradient(145deg,#fff7ef 0%,#ffffff 70%);
  border:1px solid rgba(255,106,19,.18);
  box-shadow:0 28px 70px rgba(26,25,23,.10);
}
.bike-hero-illust.jara-real-bike::before{
  content:'';
  position:absolute;
  inset:18px;
  border-radius:26px;
  background:radial-gradient(circle at 44% 72%,rgba(255,106,19,.16),transparent 42%);
  pointer-events:none;
}
.jara-real-bike picture,
.jara-real-bike img{
  position:relative;
  display:block;
  width:100%;
  height:auto;
}
.jara-real-bike img{
  filter:drop-shadow(0 22px 24px rgba(26,25,23,.24));
}
.jara-image-note{
  position:absolute;
  right:22px;
  bottom:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(26,25,23,.88);
  color:#fff;
  font:800 11px 'Outfit',system-ui,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.jara-image-note::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:#FF6A13;
  box-shadow:0 0 0 4px rgba(255,106,19,.16);
}

@media(max-width:900px){
  .bike-hero-illust.jara-real-bike{order:-1;max-width:520px;padding:18px;border-radius:26px;}
  .jara-image-note{right:16px;bottom:14px;font-size:10px;}
}
@media(max-width:760px){
  .product-visual.product-photo-visual{height:150px!important;padding:8px!important;}
  .bike-hero-illust.jara-real-bike{padding:14px;border-radius:22px;}
  .bike-hero-illust.jara-real-bike::before{inset:12px;border-radius:18px;}
  .jara-image-note{position:relative;right:auto;bottom:auto;margin:10px auto 0;justify-content:center;width:max-content;max-width:100%;}
}


/* ===== Consolidated from v23.26.css ===== */
/* Shortmile website v23.26 bike-photo integration patch
   Adds approved Esin and Sisu product images and aligns model detail visuals. */

/* Real Esin/Sisu images on model cards */
.product-visual.product-photo-visual.esin-photo-visual,
.product-visual.product-photo-visual.sisu-photo-visual{
  background:linear-gradient(145deg,#fff8f1 0%,#ffffff 74%)!important;
}
.product-visual.product-photo-visual.esin-photo-visual img,
.product-visual.product-photo-visual.sisu-photo-visual img{
  filter:drop-shadow(0 16px 18px rgba(26,25,23,.18));
}

/* Real product image treatment for Esin/Sisu spec-page heroes */
.model-visual-card.real-bike-visual{
  position:relative;
  background:linear-gradient(145deg,#fff7ef 0%,#ffffff 72%);
  border:1px solid rgba(255,106,19,.18);
  box-shadow:0 28px 70px rgba(26,25,23,.10);
}
.model-visual-card.real-bike-visual::before{
  content:'';
  position:absolute;
  inset:18px;
  border-radius:26px;
  background:radial-gradient(circle at 44% 72%,rgba(255,106,19,.16),transparent 42%);
  pointer-events:none;
}
.model-visual-card.real-bike-visual .model-visual-inner{
  position:relative;
  background:linear-gradient(145deg,#fff8f1,#ffffff);
  border:1px solid rgba(255,106,19,.14);
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.model-bike-photo picture,
.model-bike-photo img{
  position:relative;
  display:block;
  width:100%;
  height:auto;
}
.model-bike-photo img{
  max-height:340px;
  object-fit:contain;
  filter:drop-shadow(0 22px 24px rgba(26,25,23,.20));
}
.model-image-note{
  position:absolute;
  right:22px;
  bottom:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(26,25,23,.88);
  color:#fff;
  font:800 11px 'Outfit',system-ui,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.model-image-note::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:#FF6A13;
  box-shadow:0 0 0 4px rgba(255,106,19,.16);
}

@media(max-width:900px){
  .model-visual-card.real-bike-visual{order:-1;max-width:520px;margin:0 auto;}
}
@media(max-width:760px){
  .product-visual.product-photo-visual.esin-photo-visual,
  .product-visual.product-photo-visual.sisu-photo-visual{height:150px!important;}
  .model-visual-card.real-bike-visual .model-visual-inner{min-height:240px;padding:18px;}
  .model-bike-photo img{max-height:250px;}
  .model-image-note{position:relative;right:auto;bottom:auto;margin:10px auto 0;justify-content:center;width:max-content;max-width:100%;}
}


/* ===== Consolidated from v23.27.css ===== */
/* Shortmile website v23.27 homepage/partner routing patch
   Removes duplicated homepage bike cards, adds real Jara hero image, improves pilot map labels, and routes Partners into Impact. */

/* Homepage hero real Jara asset */
.hero-illust.hero-real-bike{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:430px;
  padding:18px;
  background:radial-gradient(circle at 50% 70%,rgba(255,106,19,.12),transparent 48%);
}
.hero-real-bike picture,
.hero-real-bike img{
  display:block;
  width:100%;
  height:auto;
}
.hero-real-bike img{
  max-width:620px;
  margin:0 auto;
  object-fit:contain;
  filter:drop-shadow(0 28px 30px rgba(26,25,23,.24));
  transform:translateX(2%);
}

/* Compact homepage bike-range CTA, replacing duplicate model cards. */
.bike-range-cta-section{
  padding:52px 0;
  background:linear-gradient(180deg,#f6f2ea 0%,#fff 100%);
  border-top:1px solid rgba(26,25,23,.06);
  border-bottom:1px solid rgba(26,25,23,.06);
}
.bike-range-cta-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:30px 34px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(255,106,19,.18);
  box-shadow:0 18px 44px rgba(26,25,23,.06);
}
.bike-range-cta-card .eyebrow{margin-bottom:10px;}
.bike-range-cta-card h2{
  margin:0;
  font-family:'Outfit',system-ui,sans-serif;
  font-size:clamp(28px,3.3vw,44px);
  line-height:1;
  letter-spacing:-.045em;
  color:#1a1917;
}
.bike-range-cta-card p{
  margin:12px 0 0;
  max-width:690px;
  color:#5f6672;
  font-size:16px;
  line-height:1.65;
}
.bike-range-cta-card .btn{flex:0 0 auto;}

/* Pilot map overlay labels: clearer Lagos/Ibadan text, no dependence on tiny bitmap text. */
.pilot-map-wrap{
  position:relative;
  width:min(100%,560px);
  margin:0 auto;
  display:block;
}
.pilot-map-wrap .pilot-map-image{
  display:block;
  max-width:560px!important;
  width:100%!important;
  height:auto!important;
  mix-blend-mode:normal!important;
}
.pilot-map-label{
  position:absolute;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(26,25,23,.86);
  border:1px solid rgba(255,106,19,.55);
  color:#fff;
  font:900 13px 'Outfit',system-ui,sans-serif;
  letter-spacing:.01em;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.pilot-map-label .pin-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#FF6A13;
  box-shadow:0 0 0 4px rgba(255,106,19,.22);
}
.pilot-map-label-lagos{left:21.5%;top:63.2%;}
.pilot-map-label-ibadan{left:28%;top:56.2%;}
.pilot-city-list{color:#fff!important;}

/* Partner section inside Impact. */
.partners-section#partner{
  background:#fff;
  border-top:1px solid #e7ded2;
  border-bottom:1px solid #e7ded2;
}
.partners-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 30px;
}
.partners-action{
  text-align:center;
  margin-top:28px;
}
.partners-section#partner .partner-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.partners-section#partner .partner-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,106,19,.28);
  box-shadow:0 18px 38px rgba(26,25,23,.07);
}

@media(max-width:980px){
  .hero-illust.hero-real-bike{min-height:330px;order:-1;padding:6px 0 8px;}
  .hero-real-bike img{max-width:520px;transform:none;}
  .bike-range-cta-card{align-items:flex-start;flex-direction:column;}
}
@media(max-width:760px){
  .hero-illust.hero-real-bike{min-height:250px;padding:0;margin-bottom:12px;}
  .hero-real-bike img{max-width:380px;filter:drop-shadow(0 18px 22px rgba(26,25,23,.20));}
  .bike-range-cta-section{padding:38px 0;}
  .bike-range-cta-card{padding:24px 20px;border-radius:22px;}
  .bike-range-cta-card .btn{width:100%;justify-content:center;}
  .pilot-map-label{font-size:12px;padding:5px 8px;}
  .pilot-map-label-lagos{left:18%;top:64%;}
  .pilot-map-label-ibadan{left:27%;top:55%;}
}


/* ===== Consolidated from v23.28.css ===== */
/* Shortmile Website v23.28 */

/* Harmonise Jara range card with Esin and Sisu. */
.product-card.product-card-jara{background:#fff;color:#1a1917;border:1px solid #eee5db;box-shadow:0 18px 42px rgba(18,18,18,.05);}
.product-card.product-card-jara .product-card-tag{background:#fff3e8;color:#FF6A13;}
.product-card.product-card-jara .subtitle{color:#4f4a43;}
.product-card.product-card-jara p{color:#4f4a43;}
.product-card.product-card-jara .spec-chip{background:#fbf8f3;border-color:#e8ddd0;color:#1a1917;}
.product-visual.product-photo-visual.jara-photo-visual{background:linear-gradient(145deg,#fff3e8,#ffffff)!important;border-color:#f0dfce!important;}
.product-visual.product-photo-visual.jara-photo-visual img{max-width:82%;height:auto;display:block;}

/* Slightly improve photo framing across bike cards. */
.product-visual.product-photo-visual.esin-photo-visual img,
.product-visual.product-photo-visual.sisu-photo-visual img{max-width:80%;height:auto;display:block;}

/* Cover duplicate embedded city labels in the bitmap map, then use clean overlay labels only. */
.pilot-map-wrap::after{content:'';position:absolute;z-index:2;left:6%;bottom:14%;width:24%;height:17%;background:#1a1917;border-radius:18px;box-shadow:0 0 0 2px #1a1917;}
.pilot-map-label-lagos{left:21.5%;top:63.2%;}
.pilot-map-label-ibadan{left:28%;top:56.2%;}

/* Lease-pricing CTA links inside comparison table. */
.range-table td a{font-weight:800;}

/* Mobile tuning. */
@media(max-width:760px){
  .product-visual.product-photo-visual.jara-photo-visual img{max-width:78%;}
  .pilot-map-wrap::after{left:4.5%;bottom:12.8%;width:25%;height:18%;}
  .pilot-map-label-lagos{left:19.2%;top:63.8%;}
  .pilot-map-label-ibadan{left:28.5%;top:56%;}
}


/* ===== Consolidated from v23.29.css ===== */
/* Shortmile Website v23.29
   Esin/Sisu charging-time completion and pilot-map reset. */

/* Remove the v23.28 map mask and the v23.27 overlay-label system.
   The original map asset already contains one Lagos and one Ibadan label. */
.map-section{background:#000!important;}
.pilot-map-wrap{width:min(100%,620px)!important;background:#000!important;}
.pilot-map-wrap::after{content:none!important;display:none!important;}
.pilot-map-label{display:none!important;}
.pilot-map-wrap .pilot-map-image{
  max-width:620px!important;
  width:100%!important;
  filter:contrast(1.12) brightness(1.08)!important;
}

/* Keep the technical specification grid balanced after adding charging time. */
.tech-table .tech-cell:last-child{border-bottom-right-radius:12px;}

@media(max-width:760px){
  .pilot-map-wrap{max-width:560px!important;}
  .pilot-map-wrap .pilot-map-image{max-width:560px!important;}
}


/* ===== Consolidated from v23.30.css ===== */
/* Shortmile Website v23.30 — Nigeria-first mobile layout and concise comparison specs */

html,body{width:100%;max-width:100%;overflow-x:clip;}
.nav,.contact-section,.footer-wrap,main,section{width:100%;max-width:100%;}
.container,.wide-shell{max-width:100%;}
.contact-inner>* ,.footer-grid-wide>* ,.nav-inner>*{min-width:0;}
.field input,.field textarea,.contact-panel{min-width:0;max-width:100%;}

.mobile-model-compare{display:none;}
.mobile-compare-guide{display:none;}
.comparison-caption{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.range-table thead th small{
  display:block;
  margin-top:4px;
  font-size:10px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:none;
  opacity:.78;
}
.compare-model-name{
  display:block;
  font-size:15px;
  line-height:1;
  letter-spacing:.02em;
}

@media(max-width:900px){
  .container{width:calc(100% - 24px)!important;}
  .wide-shell{width:calc(100% - 24px)!important;max-width:1480px!important;}
  .nav-inner{grid-template-columns:minmax(0,1fr) auto!important;}
  .brand{min-width:0;}
  .brand img{max-width:min(230px,70vw);height:auto!important;}
  .nav-links,.nav-dropdown,.nav-cta{display:none!important;}
  .hamburger{display:block!important;}

  .universal-contact .contact-inner{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;}
  .universal-contact .contact-left,.universal-contact .contact-panel{width:100%;max-width:100%;}
  .universal-contact .contact-left h2{font-size:clamp(34px,10vw,54px)!important;}
  .universal-contact .role-grid{grid-template-columns:1fr 1fr!important;}
  .form-grid{grid-template-columns:minmax(0,1fr)!important;}

  .footer-grid-wide{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;padding:42px 0 30px!important;}
  .footer-intro{grid-column:auto!important;padding-right:0!important;max-width:100%!important;}
  .footer-brand-image{height:auto!important;width:min(100%,360px)!important;}
  .footer-copy{max-width:100%!important;}
  .footer-bottom{flex-direction:column!important;align-items:flex-start!important;gap:14px!important;}
  .footer-bottom-links{width:100%;gap:16px!important;}
}

@media(max-width:760px){
  .section{padding:44px 0!important;}
  .section-title{font-size:clamp(32px,10vw,44px)!important;}
  .section-sub{font-size:16px!important;}
  .mobile-compare-guide{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:0 0 10px;
    color:#5f6672;
    font:800 11px 'Outfit',system-ui,sans-serif;
    letter-spacing:.035em;
    text-transform:uppercase;
  }
  .mobile-compare-guide strong{
    color:#D95700;
    text-align:right;
  }
  .range-table-wrap{
    display:block!important;
    position:relative;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    scrollbar-color:#FF6A13 #f1e8df;
    border-radius:16px;
    box-shadow:0 18px 38px rgba(18,18,18,.09)!important;
  }
  .range-table-wrap::-webkit-scrollbar{height:7px;}
  .range-table-wrap::-webkit-scrollbar-track{background:#f1e8df;}
  .range-table-wrap::-webkit-scrollbar-thumb{background:#FF6A13;border-radius:999px;}
  .range-table{
    width:506px!important;
    min-width:506px!important;
    table-layout:fixed;
  }
  .range-table th,.range-table td{
    min-width:0!important;
    padding:13px 10px!important;
    font-size:12px!important;
    line-height:1.42;
    overflow-wrap:anywhere;
  }
  .range-table thead th{
    position:sticky;
    top:0;
    z-index:2;
    vertical-align:middle;
  }
  .range-table thead th:first-child,
  .range-table tbody th{
    position:sticky;
    left:0;
    width:92px;
    z-index:3;
    box-shadow:1px 0 0 rgba(26,25,23,.14),8px 0 16px rgba(26,25,23,.04);
  }
  .range-table thead th:first-child{
    z-index:4;
    background:#FF6A13!important;
  }
  .range-table thead th:not(:first-child),
  .range-table td{
    width:138px;
  }
  .range-table tbody th{
    font:800 11px 'Outfit',system-ui,sans-serif;
    text-align:left;
    vertical-align:top;
  }
  .range-table tbody tr:nth-child(even) td{background:#fffcf9;}
  .range-table td a{display:inline-block;line-height:1.3;}
  .mobile-model-compare{display:none!important;}
  .mobile-model-card{background:#fff;border:1px solid #eadfd2;border-radius:20px;padding:20px 18px;box-shadow:0 14px 32px rgba(18,18,18,.05);}
  .mobile-model-kicker{color:#D95700;font:900 11px 'Outfit',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;}
  .mobile-model-card h3{font-family:'Outfit',system-ui,sans-serif;font-size:30px;line-height:1;margin:0 0 16px;letter-spacing:-.035em;}
  .mobile-model-card dl{display:grid;gap:0;margin:0;}
  .mobile-model-card dl>div{display:grid;grid-template-columns:minmax(105px,.82fr) minmax(0,1.18fr);gap:12px;padding:11px 0;border-top:1px solid #eee5db;}
  .mobile-model-card dt{font:800 13px 'Outfit',system-ui,sans-serif;color:#1a1917;}
  .mobile-model-card dd{margin:0;color:#4f5660;font-size:13px;line-height:1.45;overflow-wrap:anywhere;}
  .mobile-model-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px;}
  .mobile-model-actions .btn{width:100%;padding:14px 16px;}
  .product-card,.contact-panel,.tech-toggle,.model-visual-card{max-width:100%;overflow:hidden;}
  .universal-contact .role-grid{grid-template-columns:minmax(0,1fr)!important;}
  .email-block{grid-template-columns:48px minmax(0,1fr)!important;padding:14px!important;}
  .email-block strong{font-size:15px!important;overflow-wrap:anywhere;}
}

@media(max-width:420px){
  .container,.wide-shell{width:calc(100% - 20px)!important;}
  .mobile-model-card dl>div{grid-template-columns:1fr;gap:4px;}
  .brand img{max-width:220px;}
}

@media(max-width:900px){
  .footer-wrap,.universal-footer,.contact-section,.nav{overflow-x:hidden!important;}
  .footer-links a,.footer-copy,.contact-left p,.field label{overflow-wrap:anywhere;}
  .contact-actions{display:grid!important;grid-template-columns:1fr!important;width:100%;}
  .contact-actions .btn,.contact-actions button{width:100%!important;}
}


/* ===== Consolidated from v23.31.css ===== */
/* Shortmile Website v23.31 — concise spec cards and fully visible product images */

/* Product-range card rhythm and alignment. */
.product-range-grid{
  align-items:stretch!important;
}
.product-range-grid .product-card{
  height:100%;
}
.product-range-grid .product-visual.product-photo-visual{
  height:205px!important;
  min-height:205px!important;
  padding:16px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.product-range-grid .product-photo-visual picture{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.product-range-grid .product-photo-visual img,
.product-range-grid .product-photo-visual.jara-photo-visual img,
.product-range-grid .product-photo-visual.esin-photo-visual img,
.product-range-grid .product-photo-visual.sisu-photo-visual img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.product-range-grid .product-card h3{
  margin-top:0!important;
}
.product-range-grid .product-card .subtitle{
  min-height:54px!important;
}
.product-range-grid .product-card > p{
  min-height:92px!important;
  margin-bottom:18px!important;
}
.product-range-grid .product-card .spec-chip-row{
  min-height:78px!important;
  align-content:flex-start!important;
  margin-bottom:24px!important;
}

/* Keep concise spec-card descriptions visually balanced. */
.spec-grid .spec-card .spec-copy{
  max-width:100%;
}

@media(max-width:1100px){
  .product-range-grid .product-visual.product-photo-visual{
    height:190px!important;
    min-height:190px!important;
  }
  .product-range-grid .product-card .subtitle,
  .product-range-grid .product-card > p,
  .product-range-grid .product-card .spec-chip-row{
    min-height:0!important;
  }
}

@media(max-width:760px){
  .product-range-grid .product-visual.product-photo-visual{
    height:190px!important;
    min-height:190px!important;
    padding:14px!important;
  }
  .product-range-grid .product-card .subtitle,
  .product-range-grid .product-card > p,
  .product-range-grid .product-card .spec-chip-row{
    min-height:0!important;
  }
}


/* ===== Consolidated from v23.32.css ===== */
/* Shortmile Website v23.32 — visible build/version tracking. */
.site-version-link{
  color:#8f887d!important;
  font-size:13px;
  font-weight:600!important;
  letter-spacing:.01em;
  text-decoration:none;
  white-space:nowrap;
}
.site-version-link:hover,
.site-version-link:focus-visible{color:#FF6A13!important;}
.footer-bottom-links{flex-wrap:wrap;align-items:center;}

.release-wrap{padding:72px 0 96px;background:linear-gradient(180deg,#f7f3ec 0%,#fff 100%);}
.release-shell{max-width:900px;margin:0 auto;}
.release-card{background:#fff;border:1px solid #eadfd2;border-radius:28px;padding:48px;box-shadow:0 22px 60px rgba(26,25,23,.08);}
.release-eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff1e7;color:#D95700;font:800 12px 'Outfit',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.release-card h1{font-family:'Outfit',system-ui,sans-serif;font-size:clamp(42px,7vw,72px);line-height:.95;letter-spacing:-.055em;margin:22px 0 16px;color:#111;}
.release-lede{max-width:720px;font-size:18px;line-height:1.7;color:#5f6672;margin:0;}
.release-current{margin:34px 0 26px;padding:24px;border-radius:20px;background:#1a1917;color:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.release-field{min-width:0;}
.release-field small{display:block;margin-bottom:7px;color:#aaa298;font:800 11px 'Outfit',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.release-field strong,.release-field code{display:block;color:#fff;font-family:'Outfit',system-ui,sans-serif;font-size:17px;font-weight:800;overflow-wrap:anywhere;}
.release-field.featured{grid-column:1/-1;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12);}
.release-field.featured strong{font-size:32px;color:#FF6A13;}
.release-section{padding-top:28px;margin-top:28px;border-top:1px solid #eee4d8;}
.release-section h2{font-family:'Outfit',system-ui,sans-serif;font-size:26px;letter-spacing:-.03em;margin:0 0 12px;color:#111;}
.release-section p,.release-section li{font-size:16px;line-height:1.7;color:#4f5358;}
.release-section ul{margin:12px 0 0;padding-left:22px;}
.release-check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin-top:16px;padding:16px 18px;border-radius:16px;background:#fff8f2;border:1px solid rgba(255,106,19,.18);}
.release-check strong{color:#D95700;font-family:'Outfit',system-ui,sans-serif;}
.release-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
.release-actions a{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:12px;font-family:'Outfit',system-ui,sans-serif;font-weight:800;text-decoration:none;}
.release-actions .primary{background:#FF6A13;color:#fff;}
.release-actions .secondary{background:#fff;color:#111;border:1px solid #ded5c9;}
@media(max-width:760px){
  .site-version-link{white-space:normal;}
  .release-wrap{padding:48px 0 72px;}
  .release-card{padding:28px 20px;border-radius:22px;}
  .release-current{grid-template-columns:1fr;padding:20px;}
  .release-field.featured{grid-column:auto;}
  .release-actions{display:grid;grid-template-columns:1fr;}
  .release-actions a{width:100%;}
}



/* ===== Shortmile Website v23.34 — content-frozen responsive baseline ===== */
:root{--sm-orange:#FF6A13;--sm-ink:#1a1917;--sm-cream:#f5f1ea;}
html,body{width:100%;max-width:100%;overflow-x:hidden!important;}
*,*::before,*::after{box-sizing:border-box;}
img,svg,video,canvas{max-width:100%;}
main,section,header,footer,.nav,.contact-section,.footer-wrap{max-width:100%;}
.container,.wide-shell{min-width:0;}

/* Clean vector pilot map: no bitmap masks, duplicate labels, or inherited image filters. */
.map-section{background:#151412!important;overflow:hidden;}
.pilot-map-wrap{position:relative!important;width:min(100%,680px)!important;max-width:680px!important;margin:0 auto!important;background:transparent!important;}
.pilot-map-wrap::after{content:none!important;display:none!important;}
.pilot-map-wrap .pilot-map-image{display:block!important;width:100%!important;max-width:680px!important;height:auto!important;filter:none!important;mix-blend-mode:normal!important;background:transparent!important;opacity:1!important;}
.pilot-map-label{display:none!important;}
.map-card h2{line-height:.95!important;}

/* Standardised product canvases: full bike visible with consistent whitespace. */
.product-range-grid .product-visual.product-photo-visual{height:220px!important;min-height:220px!important;padding:12px 16px!important;overflow:hidden!important;}
.product-range-grid .product-photo-visual picture{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.product-range-grid .product-photo-visual img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;}
.product-range-grid .product-card{display:flex!important;flex-direction:column!important;height:100%!important;}
.product-range-grid .product-card-actions{margin-top:auto!important;}

/* v23.68: use the supplied full-canvas bike portraits in the side-by-side range cards. */
.product-range-grid .product-visual.range-comparison-bike{padding:0!important;border-color:rgba(13,13,13,.14)!important;background:#555!important;}
.product-range-grid .product-visual.range-comparison-bike picture{overflow:hidden!important;}
.product-range-grid .product-visual.range-comparison-bike img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;transform:scale(1.06);filter:none!important;}
html[data-theme="dark"] .product-range-grid .product-visual.range-comparison-bike{border-color:rgba(255,255,255,.13)!important;background:#3f3f3f!important;}

/* Mobile layout hardening. */
@media(max-width:900px){
  .map-grid{grid-template-columns:minmax(0,1fr)!important;gap:26px!important;}
  .map-card{max-width:680px;margin:0 auto;width:100%;}
  .pilot-map-wrap{max-width:600px!important;}
  .footer-grid-wide,.universal-contact .contact-inner{grid-template-columns:minmax(0,1fr)!important;}
  .footer-grid-wide>* ,.universal-contact .contact-inner>*{min-width:0!important;max-width:100%!important;}
}
@media(max-width:760px){
  .container,.wide-shell{width:calc(100% - 24px)!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;}
  .nav-inner{width:100%!important;max-width:100%!important;}
  .brand img{width:auto!important;max-width:min(220px,68vw)!important;height:auto!important;}
  .product-range-grid .product-visual.product-photo-visual{height:200px!important;min-height:200px!important;padding:10px!important;}
  .footer-grid-wide{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;}
  .footer-col,.footer-intro,.footer-links,.footer-bottom,.footer-bottom-links{width:100%!important;max-width:100%!important;min-width:0!important;}
  .footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;}
  .footer-bottom-links{display:flex!important;flex-wrap:wrap!important;gap:14px 18px!important;}
  .contact-panel,.contact-left,.role-grid,.form-grid,.field,input,textarea,select,button{max-width:100%!important;min-width:0!important;}
  .pilot-map-wrap{max-width:100%!important;}
}
@media(max-width:420px){
  .container,.wide-shell{width:calc(100% - 20px)!important;}
  .product-range-grid .product-visual.product-photo-visual{height:180px!important;min-height:180px!important;}
}

/* ===== v23.39 production hardening ===== */
.skip-link{position:fixed;top:12px;left:12px;z-index:100000;transform:translateY(-180%);background:#0D0D0D;color:#fff;padding:12px 16px;border:2px solid #FF6A13;border-radius:10px;font-weight:800;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.skip-link:focus{transform:translateY(0)}
[aria-current="page"]{text-decoration-thickness:2px;text-underline-offset:5px}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.7;transform:none!important}
form[aria-busy="true"]{cursor:progress}
.form-status[role="status"]:focus,#formStatus:focus,#flexFormStatus:focus{outline:3px solid rgba(255,106,19,.72);outline-offset:3px}
.role-card[aria-pressed="true"]{border-color:rgba(255,106,19,.9);background:rgba(255,106,19,.12);box-shadow:0 0 0 1px rgba(255,106,19,.25) inset}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ===== v23.39 layout refinements ===== */
.bike-range-cta-card{align-items:center}
.bike-range-cta-card > div{max-width:760px}
.bike-range-cta-card h2{margin-bottom:0}


/* ===== Shortmile Website v23.47 — light neutral map + shop visual consistency ===== */
/* Impact pilot map: remove the legacy black block and use the same neutral editorial family as the Blog. */
.map-section{
  background:linear-gradient(180deg,#f1efea 0%,#e7e3dc 100%)!important;
  border-top:1px solid #ddd6cb!important;
  border-bottom:1px solid #ddd6cb!important;
}
.pilot-map-wrap{background:transparent!important;}
.pilot-map-wrap .pilot-map-image{filter:none!important;mix-blend-mode:normal!important;}
.map-card{
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(201,193,183,.82)!important;
  border-radius:28px!important;
  padding:30px!important;
  box-shadow:0 18px 42px rgba(18,18,18,.06)!important;
}
.map-card h2{color:#171513!important;}
.map-card p,.map-stat span,.map-card .pilot-city-list,.pilot-city-list{color:#5f5953!important;}
.map-stat{border-top-color:#d9d2c9!important;}
.map-stat strong{color:#171513!important;}
.map-stat-icon{background:#fff3e8!important;border:1px solid rgba(255,106,19,.16)!important;}
.map-stat-icon svg,.map-stat-icon svg *{stroke:#FF6A13!important;}
.pilot-city-list::before{color:#D95700!important;}

/* Shop: lighten the primary inventory surface while preserving one dark bulk/fleet CTA as visual emphasis. */
#catalog{
  background:linear-gradient(180deg,#f7f4ef 0%,#f0ece6 100%)!important;
  padding-bottom:72px!important;
  border-top:1px solid #e6dfd6!important;
  border-bottom:1px solid #e6dfd6!important;
}
.catalog-shell{
  background:rgba(255,255,255,.72)!important;
  border:1px solid #ded6cc!important;
  box-shadow:0 18px 42px rgba(18,18,18,.06)!important;
}
.catalog-shell::before{
  background:radial-gradient(900px 320px at 10% -10%,rgba(255,106,19,.09),transparent 58%)!important;
}
.catalog-shell .section-label{color:#D95700!important;}
.catalog-headline{color:#171513!important;}
.catalog-subtitle{color:#625d57!important;}
.group-header{background:#f5f1eb!important;border:1px solid #e1d9cf!important;box-shadow:none!important;}
.rows{border-top-color:#ddd6cd!important;}
.catalog-row{border-bottom-color:#ddd6cd!important;}
.row-title{color:#171513!important;}
.row-note{color:#6b655e!important;}
.row-cta{background:#fff!important;border-color:rgba(255,106,19,.32)!important;}
.row-cta:hover{background:#fff6ef!important;}

@media(max-width:900px){
  .map-card{padding:24px!important;}
}
@media(max-width:760px){
  #catalog{padding-bottom:48px!important;}
  .catalog-shell{border-radius:20px!important;}
  .map-card{border-radius:22px!important;padding:22px!important;}
}

/* v23.68 final range-card override: supplied square portraits fill their own canvases. */
.product-range-grid .product-visual.range-comparison-bike{padding:0!important;border-color:rgba(13,13,13,.14)!important;background:#555!important;}
.product-range-grid .product-visual.range-comparison-bike picture{overflow:hidden!important;}
.product-range-grid .product-visual.range-comparison-bike img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;transform:scale(1.06)!important;filter:none!important;}
html[data-theme="dark"] .product-range-grid .product-visual.range-comparison-bike{border-color:rgba(255,255,255,.13)!important;background:#3f3f3f!important;}
