body.ride-page { padding:0; background:var(--avenra-warm-white); }
.ride-page *, .ride-page *::before, .ride-page *::after { box-sizing:border-box; }
.ride-page [hidden] { display:none !important; }
.ride-page :where(button,input,select) { font:inherit; }
.ride-page :where(button,summary){cursor:pointer;}
.ride-page :where(button,a,summary,input,select):focus-visible { outline:3px solid #1387b2; outline-offset:3px; }
.ride-hero { background:#16181b; color:white; position:relative; isolation:isolate; overflow:hidden; }
.ride-hero-photo { position:absolute; inset:0 0 0 auto; width:67%; height:100%; object-fit:cover; object-position:50% 48%; z-index:-2; }
.ride-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#141619 8%,#141619 28%,rgba(20,22,25,.94) 35%,rgba(20,22,25,.58) 51%,rgba(20,22,25,.02) 76%),linear-gradient(0deg,rgba(9,12,15,.25),transparent 48%); }
.ride-hero-inner { width:min(100% - 72px,1200px); margin:auto; min-height:clamp(560px,80svh,830px); display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:clamp(98px,13vh,140px) 0 clamp(54px,8vh,100px); }
.ride-switch { display:inline-flex; padding:4px; border:1px solid #ffffff60; border-radius:80px; background:#16181abf; }
.ride-switch button { background:transparent; border:0; border-radius:80px; font-size:14px; font-weight:750; padding:10px 25px; min-height:44px; color:white; }
.ride-switch button[aria-pressed=true] { background:white; color:#111; }
.ride-headline { width:min(48%,530px); margin-top:44px; }
.ride-kicker { text-transform:uppercase; font-size:11px; font-weight:750; letter-spacing:.15em; margin:0 0 15px; }
.ride-hero h1 { color:white; font-size:clamp(52px,6.8vw,100px); letter-spacing:-.065em; line-height:.99; margin:0; }
.ride-deck { font-size:clamp(17px,1.45vw,23px); line-height:1.5; color:#f2f2f2; max-width:395px; margin:20px 0 28px; }
.ride-button,.ride-secondary { display:inline-flex; align-items:center; justify-content:center; gap:16px; background:#101215; border:1px solid #101215; border-radius:99px; text-decoration:none; font-weight:700; color:white; line-height:1.25; min-height:46px; padding:12px 24px; }
.ride-button:hover { background:#292e33; color:white; }
.ride-white,.ride-white:hover,.ride-secondary { background:white; color:#121416; border-color:#d1d5d8; }
.ride-button:disabled,.ride-month button:disabled { background:#e6e8e9; border-color:transparent; color:#606870; cursor:default; }
.ride-booking { padding:clamp(35px,6vw,84px) 0 44px; scroll-margin-top:70px; }
.ride-layout,.ride-press,.ride-after { width:min(100% - 64px,1160px); margin-inline:auto; }
.ride-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(28px,6vw,88px); align-items:start; }
.ride-bike { position:sticky; top:100px; }
.ride-bike-copy { max-width:450px; }
.ride-bike h2,.ride-panel h2 { color:#101215; margin:0 0 12px; letter-spacing:-.05em; line-height:1.07; font-size:clamp(30px,3.6vw,56px); }
.ride-bike-copy>p:last-child,.ride-panel section>p,.ride-press>p { font-size:16px; line-height:1.55; color:#454d54; }
.ride-bike img { width:100%; aspect-ratio:1.75; display:block; object-fit:cover; object-position:50% 49%; border-radius:22px; margin-top:26px; }
.ride-panel { padding:clamp(22px,3.2vw,46px); background:white; border:1px solid #dcdfe0; border-radius:24px; }
.ride-panel h2 { font-size:clamp(27px,2.5vw,38px); margin:0 0 24px; }
.ride-progress { display:flex; gap:10px; list-style:none; padding:0; margin:0 0 27px; }
.ride-progress li { flex:1; font-size:12px; font-weight:650; padding:10px 0; color:#656d72; border-top:2px solid #d5d9db; }
.ride-progress li[aria-current] { border-color:#121416; color:#121416; }
.ride-fields { display:grid; gap:15px; min-width:0; }
.ride-field { display:grid; gap:6px; color:#262b30; font-size:14px; font-weight:650; min-width:0; }
.ride-field input,.ride-field select { color:#14171b; background:#fff; width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid #bbc2c7; border-radius:9px; font-weight:400; font-size:16px; }
.ride-lookup { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
.ride-secondary { font-size:14px; padding-inline:16px; }
.ride-text-button { padding:4px 0; width:fit-content; background:none; border:0; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:3px; color:#2e536a; }
.ride-small, .ride-panel section>p.ride-small { font-size:13px; color:#56616a; line-height:1.5; margin:18px 0; }
.ride-small a,.ride-after a { color:inherit; text-underline-offset:3px; }
.ride-message { font-size:14px; line-height:1.45; color:#222; margin:10px 0 15px; }
.ride-message:empty { display:none; }
.ride-calendar { border:1px solid #d9dcde; border-radius:14px; padding:14px; margin:20px 0; }
.ride-month,.ride-actions,.ride-press summary,.ride-after { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ride-month { margin-bottom:16px; text-transform:capitalize; }
.ride-month button { background:#f4f5f5; border:0; color:#16191d; font-size:21px; border-radius:50%; width:40px; height:40px; }
.ride-week,.ride-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; gap:3px; }
.ride-week { font-size:12px; font-weight:600; margin:8px 0; color:#59636a; }
.ride-days button { border:0; background:#f2f3f3; border-radius:8px; color:#14171b; min-height:38px; }
.ride-days button:disabled { color:#92999d; background:white; cursor:default; }
.ride-days button[aria-pressed=true] { background:#101215; color:white; }
.ride-press { margin-top:44px; padding:22px 0; border-block:1px solid #d4d8da; }
.ride-press summary { list-style:none; font-size:clamp(18px,2vw,24px); font-weight:650; }
.ride-press summary::-webkit-details-marker { display:none; }
.ride-press[open] summary span { transform:rotate(45deg); }
.ride-press form { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; margin:20px 0; }
.ride-press form button { justify-self:start; align-self:end; }
.ride-after { justify-content:flex-start; flex-wrap:wrap; gap:20px; font-size:14px; font-weight:600; padding-top:22px; }
@media(max-width:760px){
 .ride-hero-inner { width:100%; min-height:clamp(555px,84svh,770px); padding:95px 24px 36px; align-items:center; }
 .ride-hero-photo { width:100%; object-position:50% 40%; }
 .ride-hero::after { background:linear-gradient(180deg,rgba(10,12,15,.19) 0%,rgba(10,12,15,.08) 34%,rgba(10,12,15,.66) 58%,#101215 100%); }
 .ride-headline { width:min(100%,450px); text-align:center; }
 .ride-deck { margin:14px auto 22px; }
 .ride-layout,.ride-press,.ride-after { width:calc(100% - 32px); }
 .ride-layout { display:flex; flex-direction:column; gap:20px; }
 .ride-bike { position:static; width:100%; display:grid; grid-template-columns:minmax(0,1fr) 100px; gap:12px; align-items:center; }
 .ride-bike img { aspect-ratio:1; margin:0; border-radius:14px; }
 .ride-bike-copy>p:last-child { display:none; }
 .ride-bike h2 { font-size:25px; }
 .ride-kicker { margin-bottom:8px; }
 .ride-panel { width:100%; }
 .ride-press { margin-top:28px; }
 .ride-press form { grid-template-columns:1fr; }
}
@media(max-width:380px){.ride-panel{padding:18px 14px}.ride-lookup{grid-template-columns:1fr}.ride-lookup button{justify-self:start}.ride-calendar{padding:9px}.ride-actions{gap:4px}.ride-button{padding-inline:17px}}
