:root{color-scheme:light;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-wordmark: "Bebas Neue", Impact, "Arial Narrow", sans-serif;font-family:var(--font-sans);font-size:16px;line-height:1.6;--bg: #ffffff;--surface: #ffffff;--text: #3f3338;--muted: #786072;--border: rgba(202, 63, 104, .14);--accent: #ca3f68;--accent-hover: #a83255;--focus: #a83255;--radius: 8px;--site-title-size: clamp(1.45rem, 2.85vw, 1.85rem);--wordmark-size: clamp(2.125rem, 4.5vw, 2.875rem)}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}.skip-link{position:absolute;left:.5rem;top:-100px;z-index:1000;padding:.5rem .75rem;background:var(--accent);color:#fff;font-weight:600;text-decoration:none;border-radius:8px}.skip-link:focus{top:.5rem;outline:2px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{max-width:51rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.container{padding:0 1.5rem}}.site-header{padding:2rem 0 1.5rem;background:var(--surface)}.brand{font-family:var(--font-wordmark);color:var(--accent);text-decoration:none;font-size:var(--wordmark-size);font-weight:400;line-height:1;letter-spacing:.06em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}a{color:var(--accent);text-underline-offset:.12em;text-decoration:none}a:focus-visible,.brand:focus-visible,.filter-chip:focus-visible,.button-primary:focus-visible,.ride-card-hit:focus-visible{outline:2px solid var(--focus);outline-offset:2px}main:focus{outline:none}.ride-grid{display:grid;gap:1.5rem;padding:.5rem 0 4rem}@media(max-width:639px){.site-header{padding:1.25rem 0 .5rem}.ride-grid{margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem)}.ride-card,.ride-card-hit,.ride-preview-media,.ride-preview-fallback{border-radius:0}}.ride-card{position:relative;border:none;border-radius:var(--radius);padding:1.5rem;background:var(--surface);box-shadow:0 1px 4px #0000000f;transition:box-shadow .15s ease}.ride-card-hit{position:absolute;inset:0;z-index:1;border-radius:var(--radius);text-decoration:none}.ride-card-body{position:relative;z-index:0}.ride-card-body>:first-child{margin:-1.5rem -1.5rem 1.25rem}.ride-preview-media{position:relative;aspect-ratio:232 / 90;background:#eceae8;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.ride-preview-image{display:block;width:100%;height:100%;object-fit:cover}.ride-preview-attribution{position:absolute;right:0;bottom:0;padding:.1rem .32rem;font-size:.55rem;line-height:1.25;color:#141414eb;background:#ffffffb3;border-radius:5px 0 0;box-shadow:0 0 0 1px #0000000f}.ride-preview-fallback{display:grid;place-items:center;aspect-ratio:232 / 90;border-radius:var(--radius) var(--radius) 0 0;background:#f6f6f6;color:var(--muted);font-size:.9rem}.ride-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin:.75rem 0 0;color:var(--muted);font-size:.95rem}.ride-meta--stats{margin:0;flex-wrap:nowrap;gap:0;color:var(--text);font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;line-height:1.35}.ride-meta--stats .ride-meta-icon{width:1.2em;height:1.2em;flex-shrink:0;opacity:.9}.ride-meta--stats>.ride-meta-stat:not(:last-child):after{content:"·";margin:0 .55rem;color:var(--muted);font-weight:500}.ride-card .ride-meta--stats{margin-top:.2rem;font-size:1.05rem}.ride-card-summary{margin:.65rem 0 0;line-height:1.65}@media(max-width:520px){.ride-card .ride-meta--stats{flex-wrap:wrap;gap:.2rem .65rem}.ride-card .ride-meta--stats>.ride-meta-stat:not(:last-child):after{content:none;margin:0}}.ride-meta-stat{display:inline-flex;align-items:center;gap:.35rem}.ride-meta-climb-ft{color:var(--muted);font-weight:500;font-size:.9em}.ride-meta-icon{width:1.05em;height:1.05em;flex-shrink:0}.ride-detail{padding:2rem 0 4rem}.ride-detail-lead{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1.5rem}.ride-detail-copy{flex:1 1 auto;min-width:0}.ride-detail-actions{flex:0 0 auto}.ride-detail-copy h1{font-size:var(--site-title-size);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:.4rem}.ride-detail .ride-meta--stats{font-size:clamp(1.0625rem,2.2vw,1.1875rem);margin:0 0 .75rem}.ride-detail-summary{margin:1.25rem 0 0;font-size:1.125rem;line-height:1.65;color:var(--text)}.button-primary{display:inline-block;text-decoration:none;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:999px;padding:.55rem 1rem;min-height:44px;font-weight:600;line-height:1.2}.ride-map{width:100%;height:540px;border:none;border-radius:var(--radius);overflow:hidden;margin:0 0 .5rem;background:#f6f6f6;box-shadow:0 1px 4px #0000000f}@media(min-width:768px){.ride-map{height:620px}}.map-status{margin:0 0 .75rem;color:var(--muted);font-size:.92rem}.ride-map.leaflet-container .leaflet-bottom.leaflet-right .leaflet-control{margin-bottom:0;margin-right:0}.ride-map .leaflet-control-attribution{font-size:.65rem;line-height:1.25;margin:0!important;padding:.15rem .4rem;color:#141414eb!important;background:#ffffffb3!important;border-radius:5px 0 0;box-shadow:0 0 0 1px #0000000f}.ride-map .leaflet-control-attribution a{color:#0f0f0ff2!important}.catalog-controls{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:2rem 0 1.25rem}@media(max-width:639px){.catalog-controls{padding:.65rem 0 1rem;gap:1.15rem}}.filter-group{display:grid;gap:.5rem}.filter-label{color:var(--muted);font-size:.9rem}.filter-options{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{border:1px solid var(--border);border-radius:999px;background:var(--surface);padding:.5rem .85rem;min-height:44px;color:var(--text);font:inherit;font-size:.9rem;line-height:1.2;cursor:pointer}.filter-chip.is-active{border-color:var(--accent);background:var(--accent);color:#fff}@media(hover:hover)and (pointer:fine){.ride-card:hover{box-shadow:0 4px 14px #00000014}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}.filter-chip:hover{border-color:#ca3f6873}}.catalog-count{color:var(--muted);margin:0 0 1rem;font-size:.95rem}.ride-card.is-hidden{display:none}.ride-card-title{font-size:clamp(1.0625rem,2vw,1.25rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin:0 0 .5rem;color:var(--text)}@media(max-width:640px){.ride-detail-lead{flex-direction:column;gap:1rem}.ride-map{height:440px}}
