:root{--ink:#10231b;--forest:#0e3a2b;--green:#2da85d;--lime:#bdf264;--paper:#f5f7f3;--muted:#67736d;--line:#dce3dd;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.5}img{display:block;width:100%}button,a{font:inherit;color:inherit}button{cursor:pointer}.topbar{height:68px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;font-weight:700}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:var(--lime);font-size:.7rem;letter-spacing:.08em}.top-actions{display:flex;align-items:center;gap:18px}.top-actions a{text-decoration:none;font-weight:600;font-size:.85rem}.lang{border:1px solid var(--forest);background:white;border-radius:99px;padding:7px 12px;font-weight:700}.view{display:none}.view.active{display:block}.welcome{height:min(52vh,500px);min-height:340px;position:relative;overflow:hidden;background:#27483a}.welcome>img{height:100%;object-fit:cover}.welcome-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,30,21,.76),rgba(6,30,21,.12) 68%),linear-gradient(0deg,rgba(6,30,21,.35),transparent 55%)}.welcome-copy{position:absolute;left:clamp(24px,7vw,110px);top:50%;transform:translateY(-50%);color:#fff;max-width:750px}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:.73rem;color:#4f7565}.welcome .eyebrow{color:var(--lime)}h1,h2{font-family:'Fraunces',serif;letter-spacing:-.035em;line-height:1;margin:0}h1{font-size:clamp(3rem,6.5vw,6.2rem)}h2{font-size:clamp(2.5rem,5vw,4.8rem)}.welcome-copy>p:last-child{font-size:clamp(1rem,1.8vw,1.25rem);margin:20px 0 0}.portal{padding:22px clamp(18px,5vw,70px) 52px;display:grid;grid-template-columns:1fr 1fr 170px;gap:18px;max-width:1500px;margin:auto}.portal-card{height:310px;border:0;border-radius:var(--radius);overflow:hidden;position:relative;padding:0;text-align:left;box-shadow:0 9px 30px rgba(15,40,29,.11);transition:transform .2s ease,box-shadow .2s ease}.portal-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px rgba(15,40,29,.17)}.portal-card>img{height:100%;object-fit:cover}.bike-portal>img{object-fit:contain;background:#fff;padding:18px}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,28,19,.92),rgba(4,28,19,0) 72%)}.portal-copy{position:absolute;inset:auto 22px 20px;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:end}.portal-copy small{grid-column:1/-1;color:var(--lime);font-size:.7rem;font-weight:700;letter-spacing:.15em}.portal-copy strong{font-family:'Fraunces',serif;font-size:2rem;line-height:1.1}.portal-copy em{grid-column:1;font-style:normal;font-size:.86rem;opacity:.78;margin-top:6px}.portal-copy b{grid-column:2;grid-row:2/4;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--forest);font-size:1.25rem}.future-tile{border:1px dashed #aebbb3;border-radius:var(--radius);display:grid;place-items:center;align-content:center;text-align:center;color:#87928c;min-height:200px}.future-tile span{font-size:2rem}.future-tile p{font-size:.78rem;max-width:100px;margin:4px 0}.detail-view{padding-bottom:80px}.detail-head{padding:58px clamp(18px,6vw,90px) 40px;max-width:1500px;margin:auto}.detail-head>p:last-child{max-width:680px;color:var(--muted);font-size:1.05rem}.back{border:0;background:transparent;padding:0;margin-bottom:36px;color:var(--forest);font-weight:700}.bike-grid{padding:0 clamp(18px,5vw,70px);max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.bike-card{grid-column:span 2;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.bike-card:first-child,.bike-card:last-child{grid-column:span 3}.bike-image{height:290px;position:relative;background:#fff;border-bottom:1px solid #eef1ee}.bike-image img{height:100%;object-fit:contain;padding:18px}.type{position:absolute;left:15px;top:15px;background:#edf1ed;padding:6px 10px;border-radius:99px;font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.type.electric{background:var(--lime)}.type.road{background:#ccecff}.bike-body{padding:22px;display:flex;flex-direction:column;flex:1}.bike-title{display:flex;justify-content:space-between;gap:15px}.bike-title p{margin:0;color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.12em}.bike-title h3{margin:2px 0;font-size:1.4rem}.bike-title>strong{white-space:nowrap;font-size:1.25rem}.bike-title small{font-size:.7rem;color:var(--muted)}.bike-body>p{color:var(--muted);font-size:.9rem}.specs{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.specs span{padding:6px 9px;border-radius:99px;background:var(--paper);font-size:.74rem}.bike-card details{border-top:1px solid var(--line);margin-top:13px;padding-top:11px;font-size:.82rem}.note,.reserve{max-width:900px;margin:24px auto 0;border-radius:16px}.note{background:#e9eee9;padding:18px 22px}.reserve{background:var(--forest);color:white;text-align:center;padding:28px}.reserve h3{font-size:1.6rem;margin:0}.reserve p{opacity:.72}.reserve a{display:inline-flex;background:var(--lime);color:var(--forest);padding:12px 18px;border-radius:99px;text-decoration:none;font-weight:700}.route-view{background:#0d3125;color:white;min-height:calc(100vh - 68px)}.route-view .detail-head>p:last-child{color:rgba(255,255,255,.68)}.route-view .eyebrow{color:var(--lime)}.route-view .back{color:white}.filters{max-width:1500px;margin:0 auto 22px;padding:0 clamp(18px,5vw,70px);display:flex;gap:7px}.filters button{border:1px solid rgba(255,255,255,.2);background:transparent;color:white;border-radius:99px;padding:8px 15px}.filters button.active{background:var(--lime);color:var(--forest);border-color:var(--lime);font-weight:700}.route-grid{padding:0 clamp(18px,5vw,70px);max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.route-card{height:320px;border-radius:var(--radius);overflow:hidden;position:relative;color:white;text-decoration:none;box-shadow:0 9px 28px rgba(0,0,0,.2);transition:transform .2s ease}.route-card:hover{transform:translateY(-4px)}.route-card.hidden{display:none}.route-card>img{height:100%;object-fit:cover}.route-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,25,17,.96),rgba(3,25,17,.06) 75%)}.difficulty{position:absolute;top:16px;left:16px;padding:5px 9px;border-radius:99px;color:#173023;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:700}.difficulty.easy{background:#cdf3cf}.difficulty.medium{background:#ffe7a1}.difficulty.hard{background:#ffb9a9}.route-copy{position:absolute;left:20px;right:20px;bottom:19px}.route-copy h3{font-family:'Fraunces',serif;font-size:1.75rem;line-height:1;margin:0}.route-copy p{font-size:.84rem;opacity:.78;margin:7px 0 13px}.route-copy b{font-size:.78rem;color:var(--lime)}.route-card.wide{grid-column:span 3;height:280px}.route-help{text-align:center;color:rgba(255,255,255,.66);margin:28px auto 0;padding:0 20px}footer{padding:20px clamp(18px,5vw,70px);display:flex;justify-content:space-between;background:#081f17;color:rgba(255,255,255,.64);font-size:.8rem}footer a{color:inherit}@media(max-width:1050px){.portal{grid-template-columns:1fr 1fr}.future-tile{grid-column:1/-1;min-height:90px}.bike-card,.bike-card:first-child,.bike-card:last-child{grid-column:span 3}.route-grid{grid-template-columns:1fr 1fr}.route-card.wide{grid-column:span 2}}@media(max-width:700px){.topbar{height:62px}.top-actions>a{display:none}.brand span:last-child{font-size:.9rem}.welcome{height:44vh;min-height:330px}.welcome-copy{left:20px;right:20px}.portal{display:block;padding:14px 14px 35px}.portal-card{display:block;width:100%;height:245px;margin-bottom:13px}.future-tile{min-height:74px}.detail-head{padding:34px 16px 28px}.back{margin-bottom:28px}.bike-grid,.route-grid{display:block;padding:0 14px}.bike-card,.route-card{margin-bottom:14px}.route-card,.route-card.wide{height:300px}.bike-image{height:250px}.note,.reserve{margin:18px 14px 0}.filters{padding:0 14px;overflow:auto}.route-card.wide{grid-column:auto}footer{display:block;text-align:center}footer a{display:block;margin-top:4px}}
