/* Approved VeloVault homepage, scoped to keep marketplace and account screens intact. */
.vv-home-page{background:#fff;color:#111}
.vv-home-topbar{height:36px;background:#111;clip-path:polygon(0 0,100% 0,100% 12px,47% 12px,37% 100%,0 100%)}
.vv-home-hero{position:relative;isolation:isolate;overflow:hidden;background:#fff;min-height:clamp(580px,46.5vw,704px)}
.vv-home-art{position:absolute;right:0;bottom:0;width:56.6%;z-index:-1;line-height:0}
.vv-home-bike{display:block;width:100%;height:auto;overflow:visible}
.vv-home-outline,.vv-tire-shadows{pointer-events:none}
.vv-home-bike-position{transform:none}
.vv-outline-mobile{display:none}
@media(min-width:761px) and (max-width:1099px){.vv-outline-desktop{stroke:url(#vv-outline-fade-tablet)}}
.vv-home-brand{animation:vv-home-logo 1.35s steps(1,end) infinite}
.vv-home-brand[data-logo="trek"]{animation-delay:-.9s}
.vv-home-brand[data-logo="canyon"]{animation-delay:-.45s}
@keyframes vv-home-logo{0%{opacity:1}33.333333%{opacity:0}100%{opacity:0}}
.vv-home-art[data-paused="true"] .vv-home-brand{animation-play-state:paused}
.vv-home-copy{width:min(1360px,calc(100% - 144px));margin:auto;padding:98px 0 100px;pointer-events:none}
.vv-home-copy>*{pointer-events:auto}
.vv-home-eyebrow{font-size:11px;font-weight:750;letter-spacing:2.2px;color:#111;margin-bottom:30px}
.vv-home-eyebrow>span{color:#777;margin-right:15px}
.vv-home-copy h1{font-size:clamp(48px,5.1vw,77px);font-weight:800;line-height:1.02;letter-spacing:-4.5px;margin:0 0 30px;color:#050505}
.vv-home-copy h1 span{white-space:nowrap}
.vv-home-copy>p{max-width:445px;font-size:17px;line-height:1.6;margin:0 0 25px;color:#181818}
.vv-home-search{display:flex;width:445px;max-width:100%;padding:4px;background:#fff;border:1px solid #d0d0d0;gap:4px}
.vv-home-search select{min-width:0;flex:1;border:0;background:#fff;padding:10px 17px;color:#111;font-size:14px;cursor:pointer}
.vv-home-search button{border:0;background:#111;color:#fff;padding:14px 17px;font-size:13px;font-weight:700;white-space:nowrap;min-height:46px}
.vv-home-search .vv-arrow{margin-left:12px}.vv-home-passport .vv-arrow{margin-top:2px}
.vv-home-passport{display:inline-flex;gap:14px;margin:22px 0 0;padding:0;min-height:30px;border:0;background:transparent;color:#111;font-size:13px;font-weight:700}
.vv-home-shortcuts .vv-logo-pause{margin-left:auto;display:inline-flex;align-items:center;gap:9px;color:#ccc;white-space:nowrap}
.vv-home-shortcuts{position:relative;margin-top:-24px;padding:32px 0 8px;isolation:isolate;color:#fff}
.vv-home-shortcuts::before{content:"";position:absolute;inset:0;z-index:-1;background:#111;clip-path:polygon(0 0,37% 0,47% 24px,100% 24px,100% 100%,0 100%)}
.vv-home-shortcuts-inner{width:min(1360px,calc(100% - 144px));margin:auto;display:flex;gap:58px}
.vv-home-shortcuts button{border:0;background:transparent;color:#fff;padding:10px 0;font-size:13px;text-align:left}
.vv-home-shortcuts button:not(.vv-logo-pause) span{color:#a2ff00;margin-right:10px;font-size:11px}
.vv-home-page>.container{width:min(1360px,calc(100% - 144px))}
.vv-home-payments{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;padding:34px 0;border-bottom:1px solid #e3e7e9}
.vv-home-payment-scooter{min-width:0;margin:0;text-align:center}
.vv-home-payment-scooter img{display:block;width:100%;max-width:320px;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto}
.vv-home-payments-eyebrow{display:block;margin-bottom:14px;font-size:10px;font-weight:750;letter-spacing:2px;color:#666}
.vv-home-payments h2{max-width:390px;margin:0;font-size:clamp(27px,2.6vw,36px);line-height:1.15;letter-spacing:-1.2px;font-weight:650}
.vv-home-payments-status{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 15px;font-size:13px;font-weight:700;color:#111}
.vv-home-payments-status::before{content:"";width:7px;height:7px;margin-right:3px;background:#a2ff00;border-radius:50%;flex-shrink:0}
.vv-home-payments-copy{max-width:575px;margin:0 0 17px;font-size:14px;line-height:1.7;color:#505050}
.vv-home-payments-link{display:inline-flex;align-items:center;gap:13px;min-height:44px;margin:0;padding:8px 0;border:0;background:transparent;color:#111;font-size:13px;font-weight:700;text-align:left;cursor:pointer}
.vv-home-payments-link:hover{color:#507d00}

.vv-home-page button:focus-visible,.vv-home-page select:focus-visible{outline:2px solid #619700;outline-offset:4px}
/* Center the desktop composition and fill the first screen like the approved reference. */
@media(min-width:1100px){
 .vv-home-hero{--vv-stage-height:max(564px,calc(100svh - 160px));min-height:var(--vv-stage-height)}
 .vv-home-copy{width:min(1210px,calc(100% - 96px));padding:clamp(72px,calc((var(--vv-stage-height) - 440px)/2),260px) 0 80px}
 .vv-home-eyebrow{font-size:10px;margin-bottom:28px}
 .vv-home-copy h1{font-size:clamp(50px,4.2vw,70px);line-height:1.08;letter-spacing:-3.8px;margin-bottom:24px}
 .vv-home-copy>p{max-width:365px;font-size:14px;line-height:1.5;margin-bottom:24px}
 .vv-home-search{width:366px;padding:3px}
 .vv-home-search select{font-size:12px;padding:8px 15px}
 .vv-home-search button{min-height:36px;padding:10px 13px;font-size:11px}
 .vv-home-passport{font-size:11px;margin-top:18px}
 .vv-home-art{width:min(50vw,960px,calc(var(--vv-stage-height) * 1.2));right:max(20px,calc((100vw - 1210px)/2 - 190px));bottom:0}
 .vv-home-outline{transform:translateX(-102px)}
 .vv-home-shortcuts-inner,.vv-home-page>.container{width:min(1210px,calc(100% - 96px))}
}
@media(max-width:1099px) and (min-width:761px){.vv-home-copy{width:calc(100% - 80px);padding-top:70px}.vv-home-copy h1{font-size:53px;letter-spacing:-3px}.vv-home-copy>p,.vv-home-search{max-width:365px}.vv-home-art{width:58%;bottom:0}.vv-home-shortcuts-inner,.vv-home-page>.container{width:calc(100% - 80px)}}
@media(max-width:760px){
 .vv-home-topbar{height:24px;clip-path:polygon(0 0,100% 0,100% 8px,45% 8px,30% 100%,0 100%)}
 .vv-home-payments{grid-template-columns:minmax(0,1fr);gap:24px;padding:35px 0}
 .vv-home-payment-scooter img{max-width:280px}
 .vv-home-payments h2{max-width:330px;font-size:29px}
 .vv-home-payments-copy{font-size:14px}
 .vv-home-bike-position{transform:none}
 .vv-outline-desktop{display:none}
 .vv-outline-mobile{display:block}
 .vv-home-hero{display:flex;flex-direction:column;min-height:0;background:#fff}
 .vv-home-copy{order:0;width:calc(100% - 40px);padding:42px 0 14px}
 .vv-home-eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:22px}
 .vv-home-copy h1{font-size:clamp(28px,8.7vw,55px);line-height:1.08;letter-spacing:-1.8px;margin-bottom:21px}
 .vv-home-copy>p{font-size:15px;max-width:480px;margin-bottom:20px}
 .vv-home-search{width:100%;max-width:480px}
 .vv-home-search select{padding-left:10px;font-size:13px}
 .vv-home-search button{padding:12px;font-size:12px}
 .vv-home-passport{margin-top:16px;font-size:12px}
 .vv-home-art{position:relative;order:1;right:auto;bottom:auto;width:100%;z-index:0;margin-top:4px}
 .vv-home-shortcuts{margin-top:-16px;padding:24px 0 8px}
 .vv-home-shortcuts::before{clip-path:polygon(0 0,30% 0,45% 16px,100% 16px,100% 100%,0 100%)}
 .vv-home-shortcuts-inner{width:calc(100% - 40px);gap:12px;justify-content:space-between;flex-wrap:wrap}
 .vv-home-shortcuts button{font-size:10px;line-height:1.4}
 .vv-home-shortcuts button:not(.vv-logo-pause) span{display:block;margin-bottom:4px}
 .vv-home-page>.container{width:calc(100% - 40px)}

}
@media(prefers-reduced-motion:reduce){.vv-home-brand{animation:none;opacity:0}.vv-home-brand[data-logo="cervelo"]{opacity:1}.vv-home-shortcuts .vv-logo-pause{display:none}}

/* The lower homepage follows the hero's white, black and electric-lime identity. */
.vv-home-section{padding:76px 0 0}
.vv-home-payments h2{font-weight:800;text-transform:uppercase;letter-spacing:-1.5px}
.vv-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}
.vv-section-kicker{display:flex;gap:15px;align-items:center;margin-bottom:20px;font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.5;color:#111}
.vv-section-kicker>span{color:#777;font-weight:500;letter-spacing:1px}
.vv-section-heading h2,.vv-passport-intro h2{margin:0;color:#111;font-size:clamp(30px,3.1vw,44px);font-weight:800;line-height:1.05;letter-spacing:-1.8px}
.vv-section-heading p{margin:12px 0 0;font-size:13px;line-height:1.7;color:#616161}
.vv-section-heading>p{margin:0 0 2px;max-width:310px}
.vv-ride-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.vv-ride-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:22px 23px 18px;border:1px solid #dedede;border-radius:0;background:#fff;color:#111;text-align:left;transition:border-color .18s,background .18s}
.vv-ride-number{font-size:10px;letter-spacing:1px;color:#808080}
.vv-ride-art{display:block;width:100%;height:auto;max-width:190px;margin:14px auto 24px;overflow:visible}
.vv-ride-name{font-size:23px;font-weight:550;line-height:1.2;letter-spacing:-.7px}
.vv-ride-description{margin-top:9px;font-size:12px;line-height:1.6;color:#666}
.vv-ride-action{display:flex;align-items:center;justify-content:space-between;margin-top:25px;padding-top:15px;border-top:1px solid #eee;font-size:9px;font-weight:700;letter-spacing:1.5px}
.vv-ride-action>span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#a2ff00;color:#111}
.vv-ride-action svg{width:16px;height:16px}
.vv-ride-card:hover{border-color:#999;background:#fbfcf8}
.vv-ride-card:hover .vv-ride-action>span{background:#111;color:#a2ff00}
.vv-outline-button,.vv-solid-button,.vv-text-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;padding:12px 17px;border:1px solid #222;border-radius:0;background:#fff;color:#111;font-size:12px;font-weight:650;line-height:1.5;text-align:left;flex-shrink:0}
.vv-outline-button:hover{background:#f4f4f4}
.vv-solid-button{background:#111;color:#fff}
.vv-solid-button svg{color:#a2ff00}
.vv-solid-button:hover{background:#292929}
.vv-text-button{border:0;background:transparent;padding-left:0;padding-right:0}
.vv-text-button:hover{color:#507d00}
.vv-home-marketplace{padding-top:76px;padding-bottom:76px}
.vv-home-marketplace .vv-section-heading h2{font-size:clamp(27px,2.7vw,38px)}
.vv-market-empty{display:flex;align-items:center;gap:28px;padding:28px 32px;border:1px solid #e6e6e6;background:#fafafa}
.vv-market-empty-icon{width:110px;flex-shrink:0;color:#888}
.vv-market-empty-icon .vv-ride-art{margin:0}
.vv-market-empty>div{max-width:570px}
.vv-market-empty h3{margin:0 0 7px;font-size:16px;font-weight:550;letter-spacing:-.3px}
.vv-market-empty p{margin:0;font-size:12px;line-height:1.7;color:#666}
.vv-market-empty .vv-text-button{margin-left:auto}
.vv-home-listing-grid .listing-card{border-radius:0!important;box-shadow:none!important}
.vv-home-marketplace .featured-partner-ad{border-radius:0;box-shadow:none;border-color:#e6e6e6}
.vv-home-marketplace .featured-partner-art{border-radius:0;background:#f7f7f7}
.vv-home-marketplace .featured-partner-mark{border-radius:0}
.vv-home-marketplace .featured-partner-cta{border-radius:0!important;box-shadow:none!important}
.vv-home-passport-section{display:grid;grid-template-columns:1fr 1.28fr;gap:75px;align-items:center;padding:64px 0 80px;border-top:1px solid #e7e7e7}
.vv-passport-intro h2{font-size:clamp(35px,3.4vw,48px);line-height:1.06;letter-spacing:-2px}
.vv-passport-intro>p{max-width:365px;margin:24px 0;font-size:14px;line-height:1.75;color:#616161}
.vv-passport-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e3e3e3;border-left:1px solid #e3e3e3}
.vv-passport-feature{min-width:0;padding:25px 24px 28px;border-right:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}
.vv-feature-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.vv-feature-top>svg{width:30px;height:30px}
.vv-feature-top>span{font-size:10px;letter-spacing:1px;color:#555;background:#edffc9;padding:5px 7px}
.vv-passport-feature h3{font-size:15px;font-weight:650;line-height:1.3;letter-spacing:-.2px;margin:0 0 10px}
.vv-passport-feature p{font-size:12px;line-height:1.75;color:#666;margin:0}
.vv-home-page+.vv-legal-footer{margin-top:0;background:#fafafa;border-top:1px solid #e7e7e7;padding:48px 0 22px}
.vv-home-page+.vv-legal-footer .container{width:min(1210px,calc(100% - 96px))}
.vv-home-page+.vv-legal-footer .vv-footer-grid{grid-template-columns:1.6fr repeat(4,1fr);gap:32px}
.vv-home-page+.vv-legal-footer .vv-footer-grid>div:first-child p{max-width:210px;font-size:12px;line-height:1.8;margin-top:16px}
.vv-home-page+.vv-legal-footer .vv-footer-grid h4{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 16px}
.vv-home-page+.vv-legal-footer .vv-footer-grid button{font-size:11px;line-height:1.55;padding:5px 0;color:#626262;min-height:28px}
.vv-home-page+.vv-legal-footer .vv-footer-bottom{border-top:1px solid #e4e4e4;padding-top:22px;font-size:10px;line-height:1.7}
@media(max-width:1099px){
 .vv-section-heading{align-items:flex-start}
 .vv-section-heading>p{max-width:235px}
 .vv-ride-card{padding:18px 16px 15px}
 .vv-ride-name{font-size:21px}
 .vv-ride-description{font-size:11px;min-height:35px}
 .vv-home-passport-section{gap:36px;grid-template-columns:1fr 1.2fr}
 .vv-passport-feature{padding:20px 18px}
 .vv-home-page+.vv-legal-footer .container{width:calc(100% - 80px)}
 .vv-home-page+.vv-legal-footer .vv-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
 .vv-home-page+.vv-legal-footer .vv-footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:760px){
 .vv-home-section{padding-top:45px}
 .vv-section-heading{display:block;margin-bottom:23px}
 .vv-section-kicker{font-size:9px;letter-spacing:1.4px;gap:12px;margin-bottom:17px}
 .vv-section-heading h2{font-size:29px;letter-spacing:-1.25px}
 .vv-section-heading>p{max-width:none;margin-top:14px;font-size:12px}
 .vv-section-heading>p br{display:none}
 .vv-ride-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .vv-ride-card{padding:16px 14px 12px}
 .vv-ride-art{margin:17px auto 20px}
 .vv-ride-name{font-size:20px}
 .vv-ride-description{font-size:11px;line-height:1.6;min-height:36px}
 .vv-ride-action{margin-top:17px;padding-top:12px;font-size:8px;letter-spacing:1px}
 .vv-ride-action>span{width:27px;height:27px}
 .vv-home-marketplace{padding-bottom:45px}
 .vv-home-marketplace .vv-section-heading h2{font-size:28px}
 .vv-home-marketplace .vv-outline-button{margin-top:20px}
 .vv-market-empty{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px 16px;align-items:start;padding:22px 19px}
 .vv-market-empty-icon{width:56px;margin-top:5px}
 .vv-market-empty h3{font-size:15px;line-height:1.4}
 .vv-market-empty .vv-text-button{grid-column:2;margin:0;justify-self:start;min-height:36px}
 .vv-home-passport-section{grid-template-columns:1fr;gap:32px;padding:44px 0 48px}
 .vv-passport-intro h2{font-size:39px;letter-spacing:-1.6px}
 .vv-passport-intro>p{font-size:13px;max-width:420px;margin:20px 0}
 .vv-passport-feature{padding:20px 16px 22px}
 .vv-feature-top{margin-bottom:20px}
 .vv-passport-feature h3{font-size:14px}
 .vv-passport-feature p{font-size:11px;line-height:1.7}
 .vv-home-page+.vv-legal-footer .container{width:calc(100% - 40px)}
 .vv-home-page+.vv-legal-footer .vv-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 25px}
 .vv-home-page+.vv-legal-footer .vv-footer-grid button{font-size:12px;min-height:34px}
}
@media(prefers-reduced-motion:reduce){.vv-ride-card{transition:none}}
