:root {
  color-scheme: dark;
  --bg: #120d09;
  --bg-soft: #1c130d;
  --panel: rgba(255, 246, 232, 0.08);
  --panel-strong: rgba(255, 246, 232, 0.14);
  --text: #fff6e9;
  --muted: #d9bfa5;
  --rust: #d96c32;
  --sky: #9bd0ff;
  --lime: #d7f06b;
  --line: rgba(255, 246, 232, 0.16);
  --shadow: 0 26px 70px rgba(0,0,0,.42);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--text);background:radial-gradient(circle at 78% 2%,rgba(155,208,255,.2),transparent 25rem),radial-gradient(circle at 18% 18%,rgba(217,108,50,.35),transparent 32rem),linear-gradient(135deg,#120d09 0%,#20100b 46%,#0d1218 100%);min-height:100vh} body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 75%)} a{color:inherit} img{display:block;max-width:100%}.site-header,main,.footer{width:min(1280px,calc(100% - 32px));margin:0 auto}.nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:22px 0}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:850;letter-spacing:-.03em}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--rust),#f2ba5d);color:#1d0c05;box-shadow:0 10px 30px rgba(217,108,50,.32)}.nav-links{display:flex;gap:.5rem;flex-wrap:wrap}.nav-links a{text-decoration:none;color:var(--muted);padding:.65rem .9rem;border:1px solid transparent;border-radius:999px}.nav-links a:hover{color:var(--text);border-color:var(--line);background:rgba(255,255,255,.05)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,440px);gap:clamp(1.2rem,4vw,4rem);align-items:center;padding:clamp(2rem,8vw,6rem) 0 4rem}.hero-copy h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.88;letter-spacing:-.085em;margin:.35rem 0 1.2rem;max-width:900px}.lede{color:var(--muted);font-size:clamp(1.06rem,2vw,1.35rem);line-height:1.65;max-width:760px}.eyebrow{color:var(--lime);font-weight:850;letter-spacing:.15em;text-transform:uppercase;font-size:.76rem;margin:0 0 .8rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid var(--line);cursor:pointer}.button.primary{background:var(--text);color:#190d08;border-color:var(--text)}.button.ghost{color:var(--text);background:rgba(255,255,255,.06)}.hero-card{margin:0;padding:.72rem;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.04));border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(2.3deg)}.hero-card img{border-radius:26px;aspect-ratio:4/5;width:100%;object-fit:cover}.hero-card figcaption{color:var(--muted);font-size:.83rem;padding:.8rem .35rem .25rem}h2{font-size:clamp(2rem,4vw,4rem);line-height:.98;letter-spacing:-.06em;margin:0}.map-section,.ride-panel-section,.stats-section,.about-section{margin:3rem 0}.map-header,.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1.2rem;margin-bottom:1rem;flex-wrap:wrap}.map-controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end}.filter-group{display:grid;gap:.3rem}.filter-group label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.filter-group input,.filter-group select{min-height:42px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.24);color:var(--text);padding:.65rem .8rem;min-width:160px}.filter-group input{min-width:min(330px,80vw)}.map-container{position:relative;border:1px solid var(--line);background:var(--panel);border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.map{height:min(72vh,720px);min-height:520px;background:#0f1719}.leaflet-container{background:#0f1719;color:#111}.ride-pin span{display:block;border:3px solid rgba(18,13,9,.88);border-radius:999px;box-shadow:0 0 0 2px rgba(255,255,255,.22),0 8px 22px rgba(0,0,0,.55)}.map-legend{position:absolute;right:1rem;bottom:1rem;z-index:500;display:flex;gap:.75rem;flex-wrap:wrap;background:rgba(18,13,9,.82);border:1px solid var(--line);backdrop-filter:blur(12px);padding:.75rem;border-radius:18px}.legend-item{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.85rem}.legend-color{width:12px;height:12px;border-radius:999px;display:inline-block}.legend-color.ride{background:var(--rust)}.legend-color.ebike{background:var(--sky)}.legend-color.selected{background:#fff;border:2px solid var(--lime)}.popup{display:grid;gap:.28rem;min-width:220px}.popup strong{font-size:1rem}.popup span{color:#333}.popup em{display:block;color:#555;line-height:1.35}.popup button,.mini-button{border:0;border-radius:999px;background:#1b110c;color:#fff;padding:.45rem .7rem;font-weight:800;cursor:pointer}.ride-count{color:var(--muted);font-weight:800}.ride-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.ride-card{padding:1.15rem;border-radius:26px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,246,232,.11),rgba(255,246,232,.045));min-height:285px;display:flex;flex-direction:column;gap:.8rem}.ride-card.selected,.ride-card:hover{border-color:rgba(215,240,107,.52);background:var(--panel-strong)}.ride-card-top,.ride-footer{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.ride-type{border:1px solid;border-radius:999px;padding:.35rem .6rem;font-weight:900;font-size:.72rem}.ride-date,.ride-footer{color:var(--muted);font-size:.84rem}.ride-card h3{font-size:1.35rem;line-height:1.05;letter-spacing:-.04em;margin:.2rem 0}.ride-metrics{display:flex;flex-wrap:wrap;gap:.45rem}.ride-metrics span{background:rgba(0,0,0,.22);border:1px solid var(--line);border-radius:999px;padding:.35rem .55rem;color:var(--muted);font-size:.82rem}.ride-review{color:var(--muted);line-height:1.55;flex:1}.ride-review p{margin:0}.muted{color:rgba(217,191,165,.64)!important}.mini-button{background:rgba(255,255,255,.12);border:1px solid var(--line);font-size:.82rem}.list-note{grid-column:1/-1;text-align:center;color:var(--muted);padding:1rem}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:1rem}.stats-grid div{padding:1.15rem;border-radius:24px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:.25rem}.stats-grid strong{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.07em;color:var(--sky)}.stats-grid span{color:var(--muted)}.about-section{padding:clamp(1.3rem,4vw,2.4rem);border:1px solid var(--line);background:var(--panel);border-radius:32px;color:var(--muted);line-height:1.7}.about-section p{max-width:900px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.2rem 0 0;padding:0;list-style:none}.feature-list li{padding:1rem;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.05)}.demo-notice{color:var(--lime)!important;font-weight:800}.footer{display:flex;justify-content:space-between;gap:1rem;padding:3rem 0;color:var(--muted)}.footer a{text-decoration:none;color:var(--text)}.error{color:#ffb4a8}
@media(max-width:1050px){.ride-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-card{transform:none}.map{min-height:440px}.ride-grid,.feature-list{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.site-header,main,.footer{width:min(100% - 22px,1280px)}.nav{align-items:flex-start;flex-direction:column}.hero-copy h1{font-size:clamp(3rem,17vw,4.2rem)}.hero-actions .button{width:100%}.stats-grid{grid-template-columns:1fr}.footer{flex-direction:column}.filter-group input,.filter-group select{width:100%;min-width:0}.map-controls{width:100%}.filter-group{width:100%}}
