/* Next Mile Moto v102 | Open Road design system */
:root{--nmm-ink:#0b2340;--nmm-navy:#0d2949;--nmm-accent:#f2bd12;--nmm-paper:#f3f6fa;--nmm-border:#dae3ed;--nmm-muted:#53667d;--nmm-round:19px}
html{scroll-behavior:smooth}
body{background:var(--nmm-paper);color:var(--nmm-ink);-webkit-font-smoothing:antialiased}
a,button{ -webkit-tap-highlight-color:transparent }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f2bd12!important;outline-offset:3px}
.nmm-shared-nav{background:#081c34!important;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 6px 20px rgba(6,20,38,.12)}
.nmm-nav-links a{border-radius:999px;padding:8px 11px!important;transition:background .2s,color .2s}
.nmm-nav-links a:hover,.nmm-nav-links a[aria-current=page]{background:rgba(255,255,255,.1)!important;color:#f2bd12!important}
.nmm-nav-toggle{border-radius:999px!important}
/* The journal's soft background, generous spacing and pill controls on the other pages */
main section:not(.hero):not(.ride-photos),main article,main aside{scroll-margin-top:90px}
main h1,main h2,main h3{letter-spacing:-.035em}
main .btn,main a.btn,main .button,main a.button,main button:not(.carousel-dot):not(.carousel-arrow):not(.nmm-nav-toggle):not(.nmm-gallery-control):not(.nmm-gallery-dots button):not(.ph-collection):not(.nmm-gallery-tile):not(.nmm-lb-btn),main input[type=submit]{border-radius:999px;transition:transform .2s,background-color .2s,box-shadow .2s}
main .btn:hover,main a.btn:hover,main a.button:hover{transform:translateY(-2px)}
main .card,main .ride-card,main .social,main .stat,main .post,main .feature,main .ph-card,main .invite-link{border-radius:var(--nmm-round);}
main .card,main .social,main .stat{box-shadow:0 8px 26px rgba(7,24,45,.04)}
main img{max-width:100%}
/* Content-page feature headings: keep underlying layout/functionality intact */
body:not(.nmm-home-v102) main>header:not(.hero),body:not(.nmm-home-v102) .ph-hero{border-radius:0 0 24px 24px}
body:not(.nmm-home-v102) main>header h1{letter-spacing:-.05em}
body:not(.nmm-home-v102) main .hero h1{letter-spacing:-.05em}
/* Homepage journal-style hero */
body.nmm-home-v102{background:var(--nmm-paper)}
.nmm-home-v102 .hero{background:var(--nmm-paper)!important;color:var(--nmm-ink)!important;isolation:isolate}
.nmm-home-v102 .hero:after{display:none}
.nmm-home-v102 .hero-grid{width:min(1160px,calc(100% - 36px));max-width:none;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:38px;min-height:unset;padding:64px 0 72px;align-items:center}
.nmm-home-v102 .hero .eyebrow{color:#8e6b00;font-size:12px;letter-spacing:.15em}
.nmm-home-v102 .hero h1{font-size:clamp(50px,5.1vw,76px);line-height:.98;text-transform:none;letter-spacing:-.058em;color:#0d2949;margin:22px 0}
.nmm-home-v102 .hero h1 span{color:#0d2949}.nmm-home-v102 .hero h1 span:after{content:'.';color:var(--nmm-accent)}
.nmm-home-v102 .hero .lead{color:#465a73;font-size:18px;max-width:540px}
.nmm-home-v102 .hero .btn{border-radius:999px;font-size:14px;min-height:46px}
.nmm-home-v102 .hero .btn.primary{background:var(--nmm-navy);color:white}
.nmm-home-v102 .hero .btn.secondary{border-color:#c7d3e0;color:var(--nmm-navy);background:#fff}
.nmm-home-v102 .hero .mile-counter{color:var(--nmm-ink)!important;background:#fff!important;border:1px solid #dce5ef!important;border-radius:16px!important;box-shadow:0 8px 32px rgba(7,24,45,.04)}
.nmm-home-v102 .hero .mile-counter span,.nmm-home-v102 .hero .mile-counter small{color:#4e637d!important}
.nmm-home-v102 .roadcard{border-radius:22px;min-height:545px;border:0;background:linear-gradient(0deg,rgba(5,24,45,.96) 0%,rgba(7,31,57,.86) 51%,rgba(9,36,64,.3) 100%),url('/assets/images/the-haunted-mile-group-2026.jpg') center/cover no-repeat;box-shadow:0 25px 65px rgba(7,24,45,.17)}
.nmm-home-v102 .roadlabel{top:26px;left:32px;right:32px}
.nmm-home-v102 .hero-carousel{padding:92px 34px 78px;align-items:flex-end}
.nmm-home-v102 .hero-slide h3{font-size:clamp(29px,3vw,42px);line-height:1.08}
.nmm-home-v102 .hero-slide h3 a:hover{text-decoration:underline;text-decoration-color:var(--nmm-accent)}
.nmm-home-v102 .hero-slide .slide-link,.nmm-home-v102 .slide-link.primary{border-radius:999px;padding:11px 17px;font-size:13px}
.nmm-home-v102 .carousel-controls{left:34px;right:34px;bottom:24px}
.nmm-home-v102 .carousel-arrow{width:38px;height:38px}
.nmm-home-v102 .section-kicker{letter-spacing:.12em}
.nmm-home-v102 .community-invite{background:#fff}
.nmm-home-v102 .invite-shell{border-radius:24px}
.nmm-home-v102 .invite-link{border-radius:18px}
.nmm-home-v102 .ride-card{background:white;border-radius:22px}
.nmm-home-v102 .ride-main{background:white}
.nmm-home-v102 .social,.nmm-home-v102 .card{border-radius:20px}
@media(max-width:900px){.nmm-home-v102 .hero-grid{grid-template-columns:1fr;gap:25px;padding:42px 0 48px}.nmm-home-v102 .hero h1{font-size:clamp(48px,10vw,68px)}.nmm-home-v102 .roadcard{min-height:500px}}
@media(max-width:540px){.nmm-home-v102 .hero-grid{width:min(100% - 30px,1160px);padding:34px 0 40px}.nmm-home-v102 .hero h1{font-size:48px}.nmm-home-v102 .hero .lead{font-size:16px}.nmm-home-v102 .roadcard{min-height:550px}.nmm-home-v102 .hero-carousel{padding:70px 22px 70px}.nmm-home-v102 .roadlabel{left:22px;right:22px}.nmm-home-v102 .carousel-controls{left:22px;right:22px}.nmm-home-v102 .hero-slide p{font-size:14px}.nmm-home-v102 .hero-slide img{max-height:130px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Long-distance journey cards and rider stat */
.nmm-home-v102 .nmm-rider-counter{display:inline-flex;align-items:center;gap:12px;vertical-align:middle;margin:12px 0 0 10px;padding:13px 16px;border:1px solid #dce5ef;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(7,24,45,.04)}
.nmm-home-v102 .nmm-rider-counter strong{font-size:28px;color:#0d2949;line-height:1}.nmm-home-v102 .nmm-rider-counter span{font-size:12px;font-weight:800;color:#53667d;max-width:140px}
.nmm-longdistance{padding:68px 0 75px;background:#f3f6fa;color:#0d2949}.nmm-distance-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.nmm-distance-head h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.055em;margin:10px 0}.nmm-distance-head .section-lead{max-width:750px;margin:0;color:#53667d}.nmm-distance-cta{white-space:nowrap;background:#0d2949!important;color:#fff!important;border-radius:999px!important;padding:12px 22px!important}.nmm-distance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.nmm-distance-card{background:white;border:1px solid #e0e7f0;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(4,24,44,.05);display:flex;flex-direction:column;min-width:0}.nmm-distance-card img{width:100%;height:165px;object-fit:cover;display:block}.nmm-distance-copy{padding:21px;display:flex;flex-direction:column;flex:1}.nmm-distance-copy>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#937100}.nmm-distance-copy h3{font-size:25px;line-height:1.1;letter-spacing:-.04em;margin:10px 0}.nmm-distance-copy p{font-size:14px;color:#53667d;line-height:1.5;margin:0 0 22px}.nmm-distance-meta{margin-top:auto;display:flex;flex-direction:column;gap:13px}.nmm-distance-meta b{color:#54657a;font-size:12px}.nmm-distance-meta a{color:#0d2949;font-weight:800;font-size:13px;text-decoration:underline;text-decoration-color:#f2bd12;text-underline-offset:4px}.nmm-distance-card-text{background:#0d2949;color:white;justify-content:end;min-height:355px}.nmm-distance-card-text .nmm-distance-copy{justify-content:end}.nmm-distance-card-text h3,.nmm-distance-card-text .nmm-distance-meta a{color:white}.nmm-distance-card-text .nmm-distance-copy p,.nmm-distance-card-text .nmm-distance-meta b{color:#c5d2e0}.nmm-distance-card-text .nmm-distance-copy>span{color:#f2bd12}
@media(max-width:1020px){.nmm-distance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nmm-distance-card-text{min-height:unset}.nmm-home-v102 .nmm-rider-counter{margin-left:0}}
@media(max-width:600px){.nmm-distance-head{align-items:stretch;flex-direction:column}.nmm-distance-grid{grid-template-columns:1fr}.nmm-distance-card img{height:220px}.nmm-longdistance{padding:48px 0}.nmm-home-v102 .nmm-rider-counter{display:flex;max-width:260px}}

/* v104 completed long-distance trip cards */
.nmm-distance-stat{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:18px 22px;border:1px solid #d9e4f0;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(6,25,48,.05);margin:22px 0;color:#102844}
.nmm-distance-stat strong{font-size:clamp(28px,4vw,38px);letter-spacing:-.04em;color:#b48600}
.nmm-distance-stat span{font-weight:650;max-width:400px;line-height:1.5}
.nmm-distance-note{font-size:13px!important;line-height:1.6;color:#53667d!important;margin:14px 0 4px}
.nmm-distance-quality{display:block;color:#61778d;font-size:12px;padding-top:9px}
.nmm-coming-soon{display:inline-block;color:#657b91;font-weight:750;font-size:13px}
.nmm-distance-photo-fallback{min-height:180px;background:linear-gradient(135deg,#0c2848,#173e61);color:#f6be16;display:flex;justify-content:center;align-items:center;flex-direction:column;font-weight:900;letter-spacing:.13em;text-align:center;line-height:2}
.nmm-distance-photo-fallback span{font-size:12px;letter-spacing:.2em;color:#e8edf4}
.nmm-completed-longdistance{margin-top:55px;padding:26px 0 12px;border-top:1px solid #d4e0ec}
.nmm-completed-longdistance h2{font-size:clamp(28px,4vw,41px);margin:8px 0 6px;color:#0c2848}
.nmm-completed-longdistance>p{color:#50677e;line-height:1.65}
.nmm-completed-longdistance .nmm-distance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:20px}
.nmm-completed-longdistance .nmm-distance-card{background:white;border:1px solid #dae4ee;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(8,30,55,.05)}
.nmm-completed-longdistance .nmm-distance-card>img{width:100%;height:180px;object-fit:cover;display:block}
.nmm-completed-longdistance .nmm-distance-copy{padding:17px 18px 18px;flex:1;display:flex;flex-direction:column}
.nmm-completed-longdistance .nmm-distance-copy>span:first-child{font-size:11px;color:#997000;letter-spacing:.1em;font-weight:850}
.nmm-completed-longdistance .nmm-distance-copy h3{font-size:23px;color:#0d2949;margin:9px 0}
.nmm-completed-longdistance .nmm-distance-copy p{font-size:14px;line-height:1.55;color:#50677e;margin:0 0 16px;flex:1}
.nmm-completed-longdistance .nmm-distance-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.nmm-completed-longdistance .nmm-distance-meta b{color:#0d2949;font-size:16px}
.nmm-completed-longdistance .nmm-distance-meta a{color:#a27600;font-size:13px;font-weight:800;text-decoration:none}
@media(max-width:620px){.nmm-completed-longdistance{margin-top:34px}.nmm-completed-longdistance .nmm-distance-grid{grid-template-columns:1fr}.nmm-distance-stat{padding:15px}}

/* v106: keep top navigation on one line; use mobile menu before items wrap. */
.nmm-shared-nav{padding:12px clamp(16px,2.3vw,36px)!important;gap:16px!important}
.nmm-shared-nav .nmm-nav-brand{flex:0 0 auto!important;min-width:0!important}
.nmm-shared-nav .nmm-nav-links{flex:0 1 auto!important;flex-wrap:nowrap!important;gap:clamp(2px,.55vw,10px)!important;white-space:nowrap!important;align-items:center!important}
.nmm-shared-nav .nmm-nav-links a{padding:7px clamp(5px,.6vw,9px)!important;font-size:12.5px!important;white-space:nowrap!important}
@media(max-width:1230px){
  .nmm-shared-nav{flex-wrap:wrap!important;justify-content:space-between!important}
  .nmm-shared-nav .nmm-nav-toggle{display:block!important}
  .nmm-shared-nav .nmm-nav-links{display:none!important;flex:0 0 100%!important;width:100%!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;white-space:normal!important}
  .nmm-shared-nav .nmm-nav-links.open{display:flex!important}
  .nmm-shared-nav .nmm-nav-links a{font-size:15px!important;padding:11px 8px!important}
}
@media(min-width:1231px){
  .nmm-shared-nav .nmm-nav-toggle{display:none!important}
  .nmm-shared-nav .nmm-nav-links{display:flex!important}
}
/* Gallery cards are image tiles, not buttons styled like action pills. */
main button.ph-collection,main .ph-collection{border-radius:15px!important;overflow:hidden!important}

/* v109: Photo tiles and lightbox controls are not action pills. */
main .nmm-gallery-grid button.nmm-gallery-tile {
  display:block!important;width:100%!important;aspect-ratio:4 / 3!important;
  padding:0!important; border:0!important; border-radius:12px!important;
  overflow:hidden!important;position:relative!important;background:#e9eef4!important;
  text-align:left!important;box-shadow:none!important;
}
main .nmm-gallery-grid button.nmm-gallery-tile img {
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;border-radius:0!important;
}
main button.nmm-lb-btn {border-radius:9px!important}
