/* BMG customer pages: local fonts, stable image boxes and no admin payload. */
:root{color-scheme:light;--ink:#17191b;--muted:#62666a;--line:#dedfdf;--paper:#fff;--soft:#f5f5f2;--radius:16px;--max:1280px}
*{box-sizing:border-box}html{scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}body.public-nav-open,body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}h1,h2,h3,p{margin:0 0 16px}h1,h2,h3{font-weight:750;line-height:1.12;letter-spacing:-.035em;overflow-wrap:anywhere}h1{font-size:clamp(36px,4.7vw,62px)}h2{font-size:clamp(27px,3vw,39px)}h3{font-size:21px}p{overflow-wrap:anywhere}small{font-size:13px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}section[id],article[id]{scroll-margin-top:110px}:focus-visible{outline:3px solid #16191b;outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px}a:hover{text-decoration:underline;text-underline-offset:4px}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;transform:translateY(-160%);background:#fff;border:2px solid #111;padding:12px 18px}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{display:block;font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.5;margin-bottom:12px;color:var(--muted)}.icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;vertical-align:middle}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px;padding:14px max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 340px}.brand:hover{text-decoration:none}.brand>span:last-child{min-width:0}.brand-logo-frame{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#17191b;overflow:hidden}.brand-logo{width:48px;height:48px;object-fit:cover}.brand strong{display:block;font-size:18px;line-height:1.25;letter-spacing:-.025em}.brand small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:4px;max-width:280px}.brand-short-name{display:none}.public-nav{display:flex;align-items:center;gap:6px;flex:0 0 auto}.public-nav a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px;font-size:13px;font-weight:600;white-space:nowrap;border-radius:8px}.public-nav a:hover,.public-nav a.active{background:var(--soft);text-decoration:none}.public-nav a .icon{display:none}.public-nav .nav-book{background:var(--ink);color:#fff;padding-inline:16px;margin-left:6px}.public-nav .nav-book:hover,.public-nav .nav-book.active{background:#383c3f;color:#fff}.public-nav-toggle,.public-nav-backdrop{display:none}.public-main{max-width:var(--max);margin:0 auto;padding:0 28px 64px}.home-section{margin:68px 0}.section-topline{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-topline h2{margin-bottom:10px}.section-topline p{color:var(--muted);margin-bottom:0;max-width:560px}.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.btn,.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 18px;border:1px solid #c6c8c8;border-radius:9px;background:#fff;font-size:15px;line-height:1.4;font-weight:700;text-align:center;text-decoration:none;transition:background-color .15s,border-color .15s}.btn:hover,.primary-link:hover,.secondary-link:hover{background:var(--soft);border-color:#8c9194;text-decoration:none}.btn.primary,.primary-link{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover,.primary-link:hover{background:#353a3e;border-color:#353a3e}.btn.small{min-height:44px;padding:9px 15px;font-size:14px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.full{grid-column:1/-1}.context-links{display:flex;align-items:center;gap:6px 20px;flex-wrap:wrap}.context-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:600}.context-links .icon{width:18px;height:18px;flex-basis:18px}
.bmg-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;padding-top:32px;align-items:stretch}.bmg-hero-copy{padding:26px 0 8px}.hero-eyebrow{display:flex;align-items:center;gap:9px}.hero-eyebrow i{width:7px;height:7px;background:var(--ink);border-radius:50%}.bmg-hero h1{font-size:clamp(38px,4.2vw,60px);max-width:610px;margin-bottom:18px}.hero-description{max-width:550px;color:var(--muted);font-size:16px;margin-bottom:24px}.hero-search{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);margin-bottom:12px}.search-title{font-size:20px;letter-spacing:-.02em;margin-bottom:16px}.availability-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.availability-form label{font-size:13px}.availability-submit{align-self:end;min-height:49px}.availability-note{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted);line-height:1.5}.bmg-hero-visual{position:relative;min-width:0;border-radius:var(--radius);overflow:hidden;background:#24272a;isolation:isolate;min-height:490px}.bmg-hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-image-shade{position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.77));z-index:1}.hero-image-caption{position:absolute;left:28px;right:28px;bottom:26px;z-index:2;color:#fff}.hero-image-caption span{display:block;text-transform:uppercase;font-weight:700;letter-spacing:.14em;font-size:13px;margin-bottom:9px}.hero-image-caption b{font-size:21px;font-weight:600;line-height:1.4;display:block}.hero-image-placeholder{height:100%;display:grid;place-items:center;color:#fff}.hero-image-placeholder .icon{width:100px;height:100px}
.featured-fleet,.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.featured-bike,.vehicle-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0;background:#fff}.featured-bike-image,.vehicle-photo{display:block;position:relative;aspect-ratio:4/3;background:#e9eae6;overflow:hidden}.featured-bike-image>img,.vehicle-photo>img{width:100%;height:100%;object-fit:cover}.featured-bike-image>.icon,.vehicle-photo>.icon{position:absolute;inset:calc(50% - 30px);width:60px;height:60px;color:#73797c}.bike-category{position:absolute;left:16px;bottom:15px;padding:5px 11px;font-weight:700;font-size:13px;line-height:1.5;border-radius:5px;color:#fff;background:rgba(20,23,25,.88)}.featured-bike-copy,.card-body{padding:24px}.featured-bike-copy .eyebrow{font-size:12px;margin-bottom:7px}.featured-bike-copy h3{font-size:28px;margin-bottom:12px}.featured-bike-copy p{font-size:14px;margin-bottom:10px}.card-rate{font-size:21px;color:var(--ink)}.rental-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.rental-steps article{padding:24px 24px 8px 0;border-top:1px solid var(--line)}.step-count{display:block;font-size:14px;color:var(--muted);margin-bottom:28px}.rental-steps h2,.rental-steps h3{font-size:23px;letter-spacing:-.025em}.rental-steps p{font-size:15px;color:var(--muted)}.bmg-about-strip{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--soft);padding:40px;border-radius:var(--radius);margin:68px 0}.bmg-about-strip p{color:var(--muted)}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.news-card{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:24px;min-width:0}.news-card>img{flex:0 0 130px;width:130px;height:150px;border-radius:10px;object-fit:cover}.news-card>div{min-width:0}.news-card small{color:var(--muted);display:block;margin-bottom:9px}.news-card h3{font-size:21px;margin-bottom:9px}.news-card p{font-size:14px;color:var(--muted);margin-bottom:5px}.faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:56px}.faq-list details{border-top:1px solid var(--line);padding:4px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}details summary{cursor:pointer;min-height:48px;font-weight:650;padding:12px 0;line-height:1.5}details p{line-height:1.7;color:var(--muted)}.faq-list summary{display:flex;justify-content:space-between;gap:16px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:22px;font-weight:400;flex-shrink:0}.faq-list details[open] summary>span{transform:rotate(45deg)}.contact-help,.ride-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:30px;border:1px solid var(--line);background:var(--soft);border-radius:var(--radius);margin:48px 0 0}.contact-help h2,.contact-help h3{font-size:25px;margin-bottom:7px}.contact-help p{margin:0;color:var(--muted);max-width:540px}.ride-cta h2{margin:0}.ride-cta .eyebrow{margin-bottom:8px}
.page-hero{padding:44px 0 30px;max-width:850px}.page-hero h1{font-size:clamp(34px,4vw,52px);margin-bottom:16px}.page-hero p{color:var(--muted);max-width:650px;margin-bottom:0}.page-hero .context-links{margin-top:16px}.panel{min-width:0;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:28px;margin:24px 0}.panel h1{font-size:clamp(32px,4vw,45px)}.panel h2{font-size:26px}.panel p:last-child{margin-bottom:0}.page-head{background:var(--soft);margin-top:32px}.section-heading h2{font-size:25px;margin-bottom:8px}.section-heading p{font-size:15px;max-width:760px}.availability-search{background:var(--soft);margin:0 0 28px}.availability-search .availability-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.availability-search .availability-note{margin-top:0}.clear-search{margin-top:6px}.unit-filter-panel{margin:24px 0}.unit-filter-form{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}.unit-filter-form>label{max-width:280px;flex:1 1 220px}.unit-filter-links{display:flex;gap:8px;flex-wrap:wrap}.filter-result{font-size:14px;margin-top:12px;margin-bottom:0}.vehicle-card-head{display:flex;flex-direction:column;gap:10px;align-items:start}.vehicle-card-head .eyebrow{margin-bottom:6px}.vehicle-card-head h2{font-size:29px;margin:0 0 8px}.vehicle-card-head p{font-size:14px;margin:0}.vehicle-card .badge{margin-bottom:4px}.bike-description{color:var(--muted);font-size:15px;margin-top:12px}.unit-price-row{border-top:1px solid var(--line);margin-top:17px;padding-top:18px}.unit-price-row p{margin-bottom:7px;font-size:14px}.unit-price-row .price{font-size:26px;font-weight:700;color:var(--ink);line-height:1.4}.price small{font-size:14px;font-weight:400;color:var(--muted)}.unit-price-row .inquiry-price{font-size:23px;font-weight:700;color:var(--ink);margin-bottom:4px}.compact-actions{margin-top:20px;display:grid;grid-template-columns:auto 1fr;gap:8px}.compact-actions .btn{font-size:14px;padding-inline:11px}.badge{display:inline-flex;min-height:28px;align-items:center;padding:4px 9px;background:#eeefeb;border-radius:5px;font-size:12px;line-height:1.4;font-weight:700;border:1px solid #dedfda;max-width:100%}.badge.warn,.badge.bad{background:#f7f4ed;border-color:#d5cdb9}.price-breakdown{padding:16px;margin-top:16px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.availability-label{display:block;font-size:14px}.price-breakdown dl{margin:10px 0 0}.price-breakdown dl>div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:14px}.price-breakdown dt{color:var(--muted)}.price-breakdown dd{margin:0;font-weight:700;text-align:right;white-space:nowrap}.price-breakdown .breakdown-total{border-top:1px solid var(--line);margin-top:4px;padding-top:11px}.price-breakdown p{font-size:13px;line-height:1.6;color:var(--muted);margin:9px 0 0}
label{display:flex;flex-direction:column;gap:7px;font-size:14px;line-height:1.5;font-weight:650;min-width:0}label small,.field-optional{font-size:13px;font-weight:400;color:var(--muted)}input,select,textarea{width:100%;min-width:0;max-width:100%;background:#fff;border:1px solid #bfc3c3;border-radius:8px;min-height:49px;padding:11px 12px;font-size:16px;line-height:1.45}input[type=datetime-local],input[type=date]{appearance:none;-webkit-appearance:none}input[type=file]{font-size:14px;padding:10px;overflow:hidden}input[type=file]::file-selector-button{font:inherit;min-height:30px;border:1px solid var(--line);background:var(--soft);border-radius:5px;margin-right:10px}input[readonly],.readonly-field{background:#eceee9;color:#404549}textarea{resize:vertical;min-height:112px}select{padding-right:28px}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:#17191b}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-section{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.form-section h2{display:flex;gap:10px;align-items:center;font-size:23px}.form-section:last-child{margin-bottom:0}.form-section .note{margin-bottom:20px}.consent-label,.checkline,.check-row{display:flex;flex-direction:row;align-items:flex-start;gap:11px;font-size:14px;font-weight:400;padding:8px 0}.consent-label span{min-width:0}.note{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:16px;font-size:14px;overflow-wrap:anywhere;margin:18px 0}.alert{padding:15px 18px;margin:20px 0;border:1px solid #babfb8;border-left:4px solid #545e4e;border-radius:9px;background:#f3f6ef;font-size:15px}.alert.error,.alert.danger{border-color:#cdb2ac;border-left-color:#865045;background:#fff5f2}.empty-state{grid-column:1/-1;padding:35px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.empty-state h2,.empty-state h3{font-size:25px}.empty-state p{color:var(--muted)}.booking-inquiry-state{max-width:780px}.booking-inquiry-state>.icon{width:40px;height:40px;margin-bottom:20px}.inquiry-form{max-width:940px;margin-inline:auto}.narrow{max-width:500px;margin:52px auto}.center{text-align:center}.login-page{background:var(--soft)}.login-page .site-header{position:static}.login-page .brand{flex-basis:auto}.login-page .public-main{padding-bottom:20px}.login-page .panel{padding:32px}.login-back{margin-top:18px}.tracking-panel{max-width:760px;margin:40px auto}.tracking-panel h1{font-size:38px}.two-col,.policy-grid,.install-layout,.keygen-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.two-col>.panel{margin-top:0}.detail-grid{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.5fr);gap:12px 20px;font-size:15px;margin:20px 0}.detail-grid>span{color:var(--muted)}.detail-grid>strong{font-weight:600;overflow-wrap:anywhere}.detail-grid .badge{vertical-align:middle;margin-left:4px}.policy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.policy-panel{margin:0}.policy-panel h2{font-size:25px}.policy-icon{display:block;margin-bottom:22px}.policy-icon .icon{width:32px;height:32px}.policy-content{overflow-wrap:anywhere;font-size:15px}.guide-steps{margin-bottom:40px}.quote-section{display:grid;grid-template-columns:.85fr 1.35fr;gap:64px;align-items:start;margin:18px 0 68px}.quote-form{margin:0}.inquiry-intro{padding-top:18px}.inquiry-intro>p{color:var(--muted)}.next-steps{padding:23px 0;border-block:1px solid var(--line);margin:26px 0 16px}.next-steps h3{font-size:19px;letter-spacing:-.02em;margin-bottom:15px}.next-steps ol{padding-left:20px;margin:0;color:var(--muted);font-size:15px}.next-steps li{margin-bottom:9px;padding-left:5px}.next-steps li:last-child{margin:0}.inquiry-dates{border:1px solid var(--line);border-radius:10px;margin:4px 0 0;padding:18px;min-width:0}.inquiry-dates legend{padding:0 6px;font-weight:700;font-size:14px}.inquiry-dates>p{font-size:13px;line-height:1.55;margin-bottom:18px}.inquiry-dates .form-grid{gap:16px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}.contact-feature p{color:var(--muted)}.contact-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.contact-details-grid article{border-top:1px solid var(--line);padding-top:20px;min-width:0}.contact-details-grid article>.icon{display:block;margin-bottom:14px}.contact-details-grid article>span:not(.icon){display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.contact-details-grid article>strong,.contact-details-grid article>a{display:block;font-size:15px;overflow-wrap:anywhere;font-weight:600}.contact-details-grid a{min-height:44px}.home-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-card{padding:22px;border:1px solid var(--line);border-radius:12px;min-width:0}.home-card>b{display:block;font-size:19px;margin:12px 0}.home-card p{font-size:14px;color:var(--muted)}.keygen-hero{padding-top:36px}.keygen-meter{background:var(--soft);padding:22px;border-radius:12px;display:grid;gap:8px}.key-output{min-height:230px}.mini-list>div{display:flex;gap:12px;align-items:center;margin:16px 0}.key-placeholder{display:grid;gap:12px}.install-copy{padding-top:22px}.install-note{padding:18px;background:var(--soft);margin:20px 0;border-radius:10px}.keygen-layout .panel{align-self:start}.public-footer{max-width:var(--max);margin:0 auto;padding:40px 28px 46px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr .7fr 1.1fr;gap:50px;color:var(--muted);font-size:14px}.public-footer>div{display:flex;flex-direction:column;align-items:start;gap:8px;min-width:0}.public-footer b{font-size:18px;color:var(--ink)}.public-footer small{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.1em}.public-footer a{display:inline-flex;align-items:center;min-height:36px;overflow-wrap:anywhere}.public-footer span{overflow-wrap:anywhere}.footer-brand small{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:12px}
.modal{width:min(700px,calc(100vw - 32px));max-width:700px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 20px 70px #0003;overflow:hidden}.modal::backdrop{background:rgba(16,19,21,.65)}.modal[open]{display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 24px;flex-shrink:0}.modal-head h2{font-size:25px;margin:0}.icon-btn{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:25px;line-height:1}.modal-body{padding:24px;overflow-y:auto;overscroll-behavior:contain}.vehicle-detail-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:24px}.modal-actions{padding:17px 24px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}.modal-actions .btn{width:100%}.vehicle-source{font-size:14px;margin-top:15px}
@media(min-width:1500px){.site-header{padding-inline:max(28px,calc((100vw - 1224px)/2))}}
@media(max-width:1100px){.brand{flex-basis:260px}.brand strong{font-size:16px}.brand small{font-size:11px}.public-nav a{padding-inline:8px;font-size:12px}.public-nav .nav-book{padding-inline:12px}.bmg-hero{gap:24px}.bmg-hero-copy{padding-top:10px}.bmg-hero h1{font-size:42px}.hero-search{padding:18px}.featured-fleet,.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-search .availability-form{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-grid{grid-template-columns:1fr}.policy-panel{display:block}.quote-section,.contact-layout{gap:32px}.featured-bike-copy,.card-body{padding:20px}}
@media(max-width:1000px){.site-header{padding:12px 24px;gap:16px;min-height:74px;flex-wrap:wrap}.brand{flex:1 1 auto}.brand strong{font-size:18px}.brand small{font-size:12px;max-width:330px}.public-nav{width:100%;flex-wrap:wrap}.js .site-header{flex-wrap:nowrap}.js .public-nav-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;background:#fff}.public-nav-toggle span{width:18px;height:2px;background:var(--ink)}.js .public-nav{position:fixed;right:0;top:0;bottom:0;width:min(340px,calc(100vw - 32px));padding:92px 20px 24px;background:#fff;flex-direction:column;align-items:stretch;justify-content:start;flex-wrap:nowrap;gap:8px;overflow:auto;visibility:hidden;transform:translateX(100%);z-index:52}.js .public-nav-toggle{position:relative;z-index:53}.js .public-nav a{font-size:16px;justify-content:flex-start;padding:12px 16px;min-height:52px}.js .public-nav a .icon{display:inline-flex}.js .public-nav .nav-book{margin:15px 0 0}.public-nav-open .public-nav{visibility:visible;transform:translateX(0)}.public-nav-open .public-nav-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:40}.public-nav-open .public-nav-toggle span:nth-child(2){opacity:0}.public-nav-open .public-nav-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.public-nav-open .public-nav-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}.bmg-hero{grid-template-columns:1fr}.bmg-hero-copy{padding:8px 0 0}.bmg-hero h1{max-width:650px;font-size:48px}.hero-description{max-width:650px}.hero-search{max-width:760px}.bmg-hero-visual{min-height:280px;aspect-ratio:2.7/1}.bmg-hero-visual>img{object-position:center 45%}.hero-image-caption{left:24px;bottom:20px}.hero-image-caption b{font-size:19px;max-width:530px}.bmg-about-strip{gap:32px;padding:30px}.rental-steps{gap:18px}.rental-steps article{padding-right:6px}.rental-steps h3{font-size:21px}.quote-section{grid-template-columns:.8fr 1.2fr;gap:28px}.quote-form{padding:22px}.quote-form .form-grid{grid-template-columns:1fr}.quote-form .inquiry-dates .form-grid{grid-template-columns:1fr}.inquiry-intro h2{font-size:31px}.contact-layout{grid-template-columns:1fr;gap:24px}.news-card>img{width:105px;flex-basis:105px;height:135px}.news-card{gap:16px}.public-footer{gap:30px}.brand-full-name{display:inline}}
@media(max-width:700px){html{scroll-padding-top:88px}.site-header{padding:10px 18px;min-height:70px}.brand-logo-frame,.brand-logo{width:44px;height:44px}.brand-logo-frame{flex-basis:44px}.brand{gap:10px}.brand strong{font-size:16px}.brand small{display:none}.brand-full-name{display:inline}.public-main{padding:0 18px 40px}.bmg-hero{padding-top:24px;gap:18px}.bmg-hero h1{font-size:clamp(33px,8.8vw,45px);letter-spacing:-.045em;margin-bottom:14px;max-width:610px}.hero-eyebrow{font-size:12px;margin-bottom:12px}.hero-description{font-size:15px;line-height:1.55;margin-bottom:19px}.hero-search{padding:17px 15px;border-radius:12px;margin-bottom:6px}.search-title{font-size:19px;margin-bottom:13px}.availability-form{gap:12px 10px}.availability-form label{font-size:13px;gap:6px}.availability-form input,.availability-form select{padding:11px 8px;font-size:16px;height:48px}.availability-submit{font-size:14px;padding:10px 9px}.availability-note{font-size:12px;line-height:1.5}.context-links{gap:2px 15px}.context-links a{font-size:13px;min-height:44px}.context-links .icon{width:17px;height:17px;flex-basis:17px}.bmg-hero-visual{min-height:200px;aspect-ratio:1.85/1}.hero-image-caption{left:19px;bottom:17px;right:19px}.hero-image-caption span{font-size:11px;margin-bottom:5px}.hero-image-caption b{font-size:17px}.home-section{margin:42px 0}.section-topline{align-items:start;gap:12px;flex-wrap:wrap;margin-bottom:18px}.section-topline h2{font-size:30px}.section-topline p{font-size:15px}.section-topline>.text-link{font-size:13px;min-height:36px}.eyebrow{font-size:12px;margin-bottom:10px}.featured-fleet,.vehicle-grid{grid-template-columns:1fr;gap:20px}.featured-bike-image,.vehicle-photo{aspect-ratio:4/3}.featured-bike-copy,.card-body{padding:21px}.featured-bike-copy h3{font-size:29px}.rental-steps{grid-template-columns:1fr;gap:18px}.rental-steps article{padding:20px 0 0;display:grid;grid-template-columns:44px 1fr;gap:0 15px}.rental-steps .step-count{grid-row:1/3;margin:0;padding-top:3px}.rental-steps h2,.rental-steps h3{font-size:22px;margin-bottom:9px}.rental-steps p{grid-column:2;margin-bottom:0}.bmg-about-strip{grid-template-columns:1fr;gap:10px;padding:26px 22px;margin:42px 0}.bmg-about-strip h2{font-size:30px}.bmg-about-strip p{font-size:15px}.news-grid{grid-template-columns:1fr;gap:22px}.news-card{gap:18px}.news-card>img{width:95px;flex-basis:95px;height:120px}.news-card h3{font-size:20px}.news-card p{font-size:14px}.faq-section{grid-template-columns:1fr;gap:12px}.faq-section h2{font-size:30px}.faq-list summary{font-size:15px;padding:15px 0}.faq-list p{font-size:15px}.contact-help,.ride-cta{padding:24px 21px;gap:18px;align-items:start;margin-top:34px}.contact-help>div:first-child{width:100%}.contact-help h2{font-size:25px}.contact-help p{font-size:15px}.contact-help .btn,.ride-cta .primary-link{width:100%}.contact-help>.text-link{min-height:36px}.ride-cta h2{font-size:29px}.page-hero{padding:30px 0 24px}.page-hero h1{font-size:35px}.page-hero p{font-size:15px}.page-hero .context-links{margin-top:12px}.panel{padding:22px 18px;margin:20px 0;border-radius:12px}.panel h1{font-size:31px}.panel h2{font-size:25px}.availability-search{padding:20px 16px;margin:0 0 22px}.availability-search .availability-form{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading h2{font-size:23px}.section-heading p{font-size:14px;margin-bottom:18px}.unit-filter-form{gap:12px}.unit-filter-form>label{max-width:none;flex-basis:100%}.unit-filter-links{gap:6px}.unit-filter-links .btn{font-size:13px;padding-inline:13px}.vehicle-card-head h2{font-size:29px}.price-breakdown{padding:14px}.price-breakdown dl>div{font-size:14px}.compact-actions{grid-template-columns:auto 1fr}.compact-actions .btn{font-size:14px;padding-inline:13px}.form-grid{gap:17px;grid-template-columns:1fr}.form-section{padding-bottom:23px;margin-bottom:24px}.form-section h2{font-size:21px}.form-section .icon{width:20px;height:20px;flex-basis:20px}.actions>.btn{flex:1 1 180px}.inquiry-form{padding:24px 18px}.booking-inquiry-state h2{font-size:26px}.narrow{margin:30px auto}.login-page .panel{padding:26px 22px}.login-page .brand strong{font-size:16px}.tracking-panel{margin:30px 0}.tracking-panel h1{font-size:33px}.two-col,.policy-grid,.install-layout,.keygen-layout{grid-template-columns:1fr;gap:18px}.two-col>.panel{margin:0}.two-col{margin:20px 0}.detail-grid{grid-template-columns:minmax(90px,.75fr) minmax(0,1.5fr);gap:11px 15px;font-size:14px}.policy-grid{margin:8px 0 36px}.policy-panel{margin:0}.guide-steps{margin-bottom:32px}.quote-section{grid-template-columns:1fr;gap:24px;margin:0 0 40px}.inquiry-intro{padding:0}.inquiry-intro h2{font-size:30px}.inquiry-intro h2 br{display:none}.inquiry-intro>p{font-size:15px;margin-bottom:12px}.next-steps{padding:18px 0;margin:20px 0 8px}.next-steps h3{font-size:18px;margin-bottom:12px}.next-steps ol{font-size:14px}.quote-form{margin:0;padding:23px 18px}.inquiry-dates{padding:16px 13px}.inquiry-dates legend{font-size:14px}.contact-details-grid{gap:24px 20px}.contact-details-grid article{grid-column:span 1}.contact-details-grid article>strong,.contact-details-grid article>a{font-size:14px}.contact-layout{margin-top:40px}.home-cards{grid-template-columns:1fr;gap:15px}.home-card{padding:20px}.home-card p{margin-bottom:8px}.public-footer{padding:28px 18px 36px;grid-template-columns:1fr 1fr;gap:26px 24px;font-size:14px}.footer-brand{grid-column:1/-1}.public-footer>div:last-child{grid-column:1/-1}.public-footer a{min-height:44px}.public-footer b{font-size:18px}.modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.modal-head{padding:13px 16px;gap:12px}.modal-head h2{font-size:23px}.modal-body{padding:20px 17px}.modal-actions{padding:13px 17px}.vehicle-detail-photo{margin-bottom:20px}.modal .context-links a{font-size:14px}}
@media(max-width:370px){.brand strong{font-size:14px}.brand-logo-frame,.brand-logo{width:40px;height:40px}.brand-logo-frame{flex-basis:40px}.public-main{padding-inline:14px}.site-header{padding-inline:14px}.hero-search{padding:16px 12px}.availability-form{gap:12px 8px}.availability-form input,.availability-form select{font-size:16px;padding-inline:6px}.availability-submit{font-size:13px;padding-inline:7px}.hero-description{font-size:15px}.card-body,.featured-bike-copy{padding:19px 17px}.compact-actions{grid-template-columns:1fr}.compact-actions .btn{width:100%}.news-card{gap:14px}.news-card>img{width:75px;flex-basis:75px;height:105px}.news-card h3{font-size:19px}.contact-details-grid{grid-template-columns:1fr}.price-breakdown dl>div{gap:8px;font-size:13px}.detail-grid{grid-template-columns:1fr;gap:3px}.detail-grid>strong{margin-bottom:12px}.availability-search{padding:18px 13px}.quote-form{padding:22px 16px}.inquiry-dates{padding:16px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.public-footer,.context-links,.actions,.modal-actions,.public-nav-backdrop{display:none!important}.public-main{max-width:none;padding:0}.panel{break-inside:avoid}.two-col{display:block}body{font-size:12pt}.panel{box-shadow:none;border-color:#888}a{text-decoration:none}}

@media(max-width:480px){.availability-form>label:nth-of-type(-n+2){grid-column:1/-1}}
.btn[aria-disabled=true]{opacity:.65;cursor:wait}

/* Silver accents and quiet interaction feedback keep the customer pages light. */
:root{--soft:#f3f4f4;--silver:#c7ccd0}.hero-search{background:linear-gradient(135deg,#f9fafa,#eceeef);border-color:#d4d8da}.bmg-hero-visual{border:1px solid #30373b}.hero-image-shade{background:linear-gradient(transparent,rgba(10,15,19,.85))}.primary-link,.btn.primary,.public-nav .nav-book{background:linear-gradient(135deg,#11171b,#30383d);border-color:#242d32}.featured-bike,.vehicle-card,.rider-story{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.featured-bike:focus-within,.vehicle-card:focus-within{border-color:#909ba2}.btn,.text-link,.context-links a{transition:background-color .16s ease,border-color .16s ease,color .16s ease}.offer-grid{display:grid;gap:18px}.offer-card{display:flex;gap:28px;padding:26px;border:1px solid #d6dbde;border-radius:16px;background:linear-gradient(125deg,#f6f8f8,#fff);min-width:0}.offer-photo{width:200px;flex:0 0 200px;height:180px;object-fit:cover;border-radius:11px}.offer-copy{min-width:0;flex:1}.offer-copy>.eyebrow{font-size:12px;margin-bottom:9px}.offer-copy h3{font-size:26px;margin-bottom:10px}.offer-copy>p{color:var(--muted);font-size:15px;margin-bottom:10px}.offer-terms{border-top:1px solid var(--line);margin-top:16px}.offer-terms summary{font-size:14px;min-height:44px}.offer-terms p{font-size:14px;line-height:1.65;margin-bottom:12px}.offer-copy .offer-until{font-size:12px;margin:9px 0 2px}.rider-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.rider-story{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.rider-story-photo{width:100%;aspect-ratio:4/3;object-fit:cover}.rider-story-copy{padding:23px}.rider-story h3{font-size:23px;line-height:1.22;margin-bottom:15px}.rider-story blockquote{margin:0;border:0;padding:0}.rider-story blockquote p{font-size:15px;color:#4f585e;line-height:1.75}.rider-story blockquote footer{font-size:14px;color:var(--ink);font-weight:700;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.rider-story .text-link{font-size:13px;margin-top:10px}.rider-story details{font-size:14px}.rider-story details p{font-size:14px}.photo-gallery-open{position:absolute;bottom:13px;right:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 11px;border:1px solid #ffffff8c;border-radius:8px;background:#11191be6;color:#fff;font-size:13px;font-weight:700;box-shadow:0 2px 7px #0002}.photo-gallery-open .icon{width:17px;height:17px;flex-basis:17px}.photo-gallery-open:hover{background:#354149}.vehicle-gallery{margin-bottom:25px}.vehicle-gallery .vehicle-detail-photo{margin-bottom:12px;background:#edf0f0;object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0}.gallery-controls>span{font-size:14px;font-weight:700}.gallery-controls .icon-btn{font-size:20px}.gallery-caption{font-size:14px;color:var(--muted);line-height:1.6;margin:10px 0 12px;min-height:0}.gallery-caption:empty{display:none}.gallery-thumbs{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;padding:5px 3px 12px;scrollbar-width:thin}.gallery-thumbs button{flex:0 0 80px;width:80px;height:64px;padding:3px;border:1px solid #cbd0d3;border-radius:8px;background:#fff;overflow:hidden}.gallery-thumbs button[aria-pressed=true]{border:2px solid #222e35;padding:2px;box-shadow:0 0 0 2px #ccd4d8}.gallery-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:4px}.gallery-status{font-size:13px;color:var(--muted);margin-bottom:12px}.vehicle-gallery[aria-busy=true] .gallery-status{padding-block:8px}.gallery-thumbs:focus-within{padding-top:7px}.vehicle-gallery [data-gallery-retry]{margin:0 0 14px}
.ride-timeline{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:28px 0 0;margin:30px 0 8px;counter-reset:ride-step}.ride-timeline li{position:relative;counter-increment:ride-step;border-top:2px solid #d5dadd;padding:25px 15px 6px 0;color:#737c82;font-size:14px;min-width:0}.ride-timeline li::before{content:counter(ride-step);display:grid;place-items:center;position:absolute;top:-16px;left:0;width:30px;height:30px;border:1px solid #c7cfd3;background:#fff;border-radius:50%;font-weight:700;font-size:13px;color:#667279}.ride-timeline li[data-state=done]{border-top-color:#384b55;color:#37434b}.ride-timeline li[data-state=done]::before{content:'✓';background:#2a3b45;color:#fff;border-color:#2a3b45}.ride-timeline li[data-state=current]{color:#111a20}.ride-timeline li[data-state=current]::before{background:#192b35;color:#fff;outline:4px solid #e1e7e9;border-color:#192b35}.ride-timeline li[data-state=stopped]::before{content:'×';background:#f1eae5;border-color:#c9b6a8;color:#6c4b37;font-size:18px}.ride-timeline strong{display:block;font-size:14px;line-height:1.4;margin-bottom:7px}.ride-timeline small,.ride-timeline span{font-size:12px;line-height:1.5;display:block;overflow-wrap:anywhere}.ride-next{padding:26px;border:1px solid #2f414b;border-radius:14px;background:linear-gradient(125deg,#16232b,#303d44);color:#fff;margin:24px 0}.ride-next h2,.ride-next h3{font-size:26px;color:#fff}.ride-next .muted,.ride-next p{color:#d6dfe3}.ride-next p:last-child{margin-bottom:0}.ride-next .eyebrow{color:#bac8cf}.ride-next .btn.primary{background:#fff;border-color:#fff;color:#19272f}.ride-next .btn:not(.primary){background:transparent;border-color:#b3c2c9;color:#fff}.ride-next a{color:inherit}.ride-next .context-links{margin-top:10px}.ride-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.ride-money>article,.ride-money>div{border:1px solid #d6dcdf;border-radius:12px;padding:20px;background:#f6f8f8;min-width:0}.ride-money strong{display:block;font-size:27px;letter-spacing:-.04em;color:#1e303a;line-height:1.3;margin:8px 0}.ride-money small,.ride-money span{display:block;font-size:13px;color:var(--muted)}.ride-money h3{font-size:16px;letter-spacing:0;margin-bottom:9px}.ride-money p{font-size:13px;margin:8px 0 0;color:var(--muted)}
@media(hover:hover) and (pointer:fine){.featured-bike:hover,.vehicle-card:hover{transform:translateY(-3px);border-color:#b2bdc4;box-shadow:0 10px 24px #162b350b}.rider-story:hover{border-color:#b2bdc4}.gallery-thumbs button:hover{border-color:#465d6a}}
@media(max-width:1000px){.rider-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-photo{width:170px;flex-basis:170px;height:170px}.offer-card{padding:23px;gap:24px}.ride-money{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.offer-card{flex-direction:column;gap:20px;padding:22px}.offer-photo{width:100%;height:auto;aspect-ratio:16/9;flex-basis:auto}.offer-copy h3{font-size:25px}.offer-copy>p{font-size:15px}.rider-story-grid{grid-template-columns:1fr;gap:20px}.rider-story-copy{padding:22px}.rider-story h3{font-size:24px}.gallery-thumbs button{flex-basis:72px;width:72px;height:58px}.photo-gallery-open{bottom:12px;right:12px;font-size:12px;min-height:44px}.vehicle-photo .bike-category{max-width:calc(100% - 140px)}.gallery-controls .icon-btn{width:44px;height:44px}.ride-timeline{grid-template-columns:1fr;padding:0;margin:25px 0 0 15px}.ride-timeline li{border-top:0;border-left:2px solid #d5dadd;padding:0 0 25px 28px;min-height:64px}.ride-timeline li:last-child{border-left-color:transparent;padding-bottom:0}.ride-timeline li::before{top:0;left:-16px}.ride-timeline li[data-state=done]{border-left-color:#384b55}.ride-timeline strong{font-size:15px;margin-bottom:5px;padding-top:2px}.ride-timeline small,.ride-timeline span{font-size:13px}.ride-next{padding:23px 20px;margin:20px 0}.ride-next h2,.ride-next h3{font-size:25px}.ride-next .actions .btn{width:100%;flex-basis:100%}.ride-money{grid-template-columns:1fr;gap:12px}.ride-money>article,.ride-money>div{padding:18px}.ride-money strong{font-size:27px}.ride-money small,.ride-money span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.featured-bike,.vehicle-card,.rider-story{transform:none!important;transition:none!important}}
.ride-timeline li>span[aria-hidden=true]{display:none}.ride-money{grid-template-columns:repeat(2,minmax(0,1fr))}.ride-money .detail-grid>dt{color:var(--muted)}.ride-money .detail-grid>dd{margin:0;min-width:0;overflow-wrap:anywhere;text-align:right}.ride-money .detail-grid>dd strong{font-size:23px;margin:0;line-height:1.4}.ride-money>.panel{margin:0}.ride-money>.panel h2{font-size:25px}.ride-money>.panel p{line-height:1.65}
@media(max-width:700px){.ride-timeline li:last-child{border-left-color:transparent}.ride-money{grid-template-columns:1fr}.ride-money .detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}

/* Keep the mobile drawer paintable until its closing slide and fade finish. */
@media (max-width: 1000px) {
  .js .public-nav {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
    transition: none;
  }
  .js .public-nav-motion-ready .public-nav {
    transition: transform 260ms cubic-bezier(.22,.61,.36,1), opacity 260ms cubic-bezier(.22,.61,.36,1), visibility 0s linear 260ms;
  }
  .js .public-nav-open .public-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
    transition-delay: 0s;
  }
  .js .public-nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 40;
    background: #0006;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: none;
  }
  .js .public-nav-motion-ready .public-nav-backdrop {
    transition: opacity 260ms cubic-bezier(.22,.61,.36,1), visibility 0s linear 260ms;
  }
  .js .public-nav-open .public-nav-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
  .js .public-nav-toggle span {
    transform-origin: center;
    transition: transform 260ms cubic-bezier(.22,.61,.36,1), opacity 260ms cubic-bezier(.22,.61,.36,1);
  }
}
@media (max-width: 1000px) and (prefers-reduced-motion: reduce) {
  .js .public-nav,
  .js .public-nav-backdrop,
  .js .public-nav-toggle span {
    transition: none !important;
    transition-delay: 0s !important;
  }
}

/* Keep page panning on the viewport; nested galleries retain their own scroll. */
html, body { touch-action: pan-x pan-y; }
.public-body .public-nav,
.public-body .modal-body,
.public-body .gallery-thumbs { touch-action: pan-x pan-y; }
@media (max-width: 1000px) {
  html, body.public-body {
    max-width: 100%;
    overflow-x: hidden;
    overscroll-behavior-x: none;
  }
  @supports (overflow-x: clip) {
    html, body.public-body { overflow-x: clip; }
  }
  .public-body .public-main,
  .public-body .public-footer,
  .public-body .form-grid,
  .public-body .availability-form,
  .public-body .detail-grid,
  .public-body .form-grid > *,
  .public-body .availability-form > *,
  .public-body .detail-grid > *,
  .public-body .bmg-hero > *,
  .public-body .two-col > *,
  .public-body .quote-section > *,
  .public-body .contact-layout > *,
  .public-body .public-footer > * {
    min-width: 0;
    max-width: 100%;
  }
  .public-body .detail-grid,
  .public-body .price-breakdown dt,
  .public-body .price-breakdown dd,
  .public-body .context-links a,
  .public-body .brand strong,
  .public-body .brand small {
    overflow-wrap: anywhere;
  }
  .public-body .price-breakdown dt,
  .public-body .price-breakdown dd { min-width: 0; }
  .public-body .price-breakdown dd { white-space: normal; }
  .public-body textarea { resize: vertical; }
  .public-body .gallery-thumbs {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
}
@media (max-width: 1000px), (pointer: coarse) {
  body.public-body :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=image]):not([type=range]):not([type=color]) {
    font-size: 16px;
    min-width: 0;
    max-width: 100%;
  }
}

/* Real fleet photography, clear rental costs and restrained silver details. */
.home-section .section-topline h2,
.page-hero h1 { letter-spacing: -.035em; line-height: 1.15; }
.section-topline .eyebrow { color: #52575b; }
.bmg-hero-visual {
  display: flex;
  flex-direction: column;
  min-height: 0;
  aspect-ratio: auto;
  background: linear-gradient(145deg, #292c2e, #17191b);
  border-color: #34383b;
}
.hero-photo-frame {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 320px;
  aspect-ratio: 4 / 3;
}
.hero-photo-frame > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  object-fit: contain;
  object-position: center;
}
.hero-photo-frame .hero-image-placeholder { position: absolute; inset: 0; }
.bmg-hero-visual .hero-image-caption {
  position: static;
  padding: 22px 26px;
  border-top: 1px solid #4c5053;
  background: #202325;
}
.hero-image-caption span { color: #d5d9dc; }
.hero-image-caption b { font-size: 19px; line-height: 1.45; }
.featured-bike,
.vehicle-card,
.rider-story { border-color: #d4d7d9; box-shadow: 0 3px 12px #17191b04; }
.featured-bike,
.vehicle-card { display: flex; flex-direction: column; }
.featured-bike-image,
.vehicle-photo {
  aspect-ratio: 4 / 3;
  flex: 0 0 auto;
  background: linear-gradient(145deg, #f5f6f6, #e5e7e8);
  border-bottom: 1px solid #dce0e2;
}
.featured-bike-image > img,
.vehicle-photo > img { object-fit: contain; object-position: center; }
.offer-photo { object-fit: contain; background: #eceeef; }
.bike-category { background: #242729; border: 1px solid #ffffff40; }
.featured-bike-copy { display: flex; flex: 1; flex-direction: column; align-items: stretch; }
.fleet-card-title { min-width: 0; }
.fleet-card-title .eyebrow { color: #555b5f; font-size: 12px; letter-spacing: .11em; }
.fleet-card-title h2,
.fleet-card-title h3 { font-size: clamp(25px, 2.3vw, 30px); line-height: 1.15; letter-spacing: -.035em; }
.featured-bike-copy .fleet-status { font-size: 13px; line-height: 1.5; color: var(--muted); margin: 0 0 18px; }
.featured-bike-pricing { margin-top: auto; }
.featured-bike-copy .fleet-daily-price { display: flex; align-items: baseline; gap: 7px; margin: 0 0 13px; }
.fleet-daily-price .card-rate { font-size: 27px; font-weight: 700; line-height: 1.3; letter-spacing: -.025em; }
.fleet-daily-price > span:not(.sr-only) { font-size: 13px; color: var(--muted); }
.featured-bike-pricing .inquiry-price { font-size: 23px; font-weight: 700; letter-spacing: -.025em; color: var(--ink); }
.featured-bike-copy > .text-link { justify-content: space-between; border-top: 1px solid var(--line); padding-top: 13px; margin-top: 18px; }
.vehicle-card .card-body { display: flex; flex: 1; flex-direction: column; }
.vehicle-card-head { gap: 13px; }
.vehicle-card-head h2 { margin-bottom: 6px; }
.vehicle-card .badge { margin: 0; background: #f1f2f3; border-color: #d6dade; color: #42494e; }
.vehicle-card .badge.warn { background: #f7f4ed; border-color: #d5cdb9; color: #65573c; }
.unit-price-row { margin-top: 20px; padding-top: 18px; }
.unit-price-row .price { font-size: 29px; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 15px; }
.unit-costs { margin: 0; font-size: 13px; line-height: 1.5; }
.unit-costs > div { display: flex; justify-content: space-between; align-items: start; gap: 15px; padding: 8px 0; }
.unit-costs > div + div { border-top: 1px solid #e9ebec; }
.unit-costs dt { min-width: 0; color: #535b60; }
.unit-costs dt small { display: block; font-size: 12px; color: var(--muted); font-weight: 400; }
.unit-costs dd { min-width: 0; margin: 0; text-align: right; font-weight: 700; color: var(--ink); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.vehicle-card .bike-description { padding-top: 16px; margin: 14px 0 0; border-top: 1px solid #e9ebec; font-size: 14px; line-height: 1.65; }
.vehicle-card .compact-actions { padding-top: 22px; margin-top: auto; }
.vehicle-card .price-breakdown { margin-top: 20px; }
.rider-story-photo { object-fit: contain; background: #eceeef; border-bottom: 1px solid var(--line); }
.rider-story-copy { padding: 26px; }
.story-quote-mark { display: block; height: 30px; margin-bottom: 12px; font: 52px/1 Georgia, serif; color: #858d92; }
.rider-story h3 { font-size: 24px; line-height: 1.25; letter-spacing: -.025em; margin-bottom: 16px; }
.rider-story blockquote p { font-size: 15px; line-height: 1.75; color: #50585d; }
.rider-story blockquote footer { border-top-color: #d9dde0; color: #262c30; }
.rider-story.story-text-only { border-top: 3px solid #343a3e; }
.rider-story details { border-top: 1px solid var(--line); margin-top: 16px; }
.gallery-loading-placeholder { display: flex; gap: 9px; max-width: 100%; overflow: hidden; padding: 5px 3px 12px; }
.gallery-loading-placeholder > span { flex: 0 0 80px; height: 64px; border: 1px solid #d5dade; border-radius: 8px; background: #eceff0; }

/* Native forms keep their controls; feedback adds a clear status around them. */
.submission-card { max-width: 760px; padding: clamp(22px, 4vw, 38px); border: 1px solid #cbd1d5; border-left: 4px solid #343b40; border-radius: var(--radius); background: #f6f7f7; margin: 24px 0; overflow-wrap: anywhere; }
.submission-card h1,
.submission-card h2 { font-size: clamp(26px, 4vw, 35px); line-height: 1.2; }
.submission-card p { max-width: 65ch; color: #525b61; }
.submission-card .actions { margin-top: 22px; }
.submission-status { margin: 0 0 16px; font-size: 14px; line-height: 1.5; font-weight: 700; color: #333c42; }
.submission-card > .submission-status { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 20px; border: 1px solid #bfc8cd; border-radius: 50%; background: #fff; font-size: 24px; }
.public-body .public-notice { display: flex; align-items: start; gap: 12px; }
.public-notice > span { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; border: 1px solid currentColor; border-radius: 50%; font-size: 15px; font-weight: 700; }
.public-notice > div { min-width: 0; }
.public-notice strong { display: block; font-size: 14px; line-height: 1.5; margin-bottom: 3px; }
.public-notice p { font-size: 14px; line-height: 1.6; margin: 0; }
.form-feedback { padding: 13px 16px; margin: 16px 0; border: 1px solid #cbd1d5; border-radius: 9px; background: #f2f4f5; color: #3c474e; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.form-feedback[data-state="error"] { border-color: #cdb2ac; background: #fff5f2; color: #75473d; }
.form-feedback[data-state="success"] { border-color: #b9c6bd; background: #f1f6f2; color: #385543; }
.form-feedback[data-state="pending"] { border-left: 3px solid #47545c; }
.is-submitting [type="submit"],
.is-submitting .btn[aria-disabled="true"] { cursor: wait; opacity: .7; }
.mobile-booking-bar { display: none; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
@media (max-width: 1000px) {
  .hero-photo-frame { min-height: 0; aspect-ratio: 16 / 10; }
}
@media (max-width: 700px) {
  .hero-photo-frame { aspect-ratio: 4 / 3; }
  .hero-photo-frame > img { padding: 12px; }
  .bmg-hero-visual .hero-image-caption { padding: 17px 20px; }
  .hero-image-caption b { font-size: 17px; }
  .featured-bike-copy,
  .vehicle-card .card-body,
  .rider-story-copy { padding: 22px; }
  .fleet-card-title h2,
  .fleet-card-title h3 { font-size: 29px; }
  .unit-costs { font-size: 13px; }
  .unit-costs > div { gap: 12px; }
  .rider-story h3 { font-size: 24px; }
  body.public-body.has-mobile-booking-bar { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  .mobile-booking-bar {
    display: block;
    position: fixed;
    inset: auto 0 0;
    z-index: 45;
    padding: 10px 18px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #cbd1d5;
    background: #fff;
    box-shadow: 0 -4px 18px #17191b0a;
  }
  .mobile-booking-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; max-width: var(--max); margin-inline: auto; }
  .mobile-booking-bar__copy { flex: 1 1 110px; min-width: 0; font-size: 12px; line-height: 1.4; color: var(--muted); overflow-wrap: anywhere; }
  .mobile-booking-bar__copy strong { display: block; font-size: 14px; font-weight: 700; color: var(--ink); }
  .mobile-booking-bar .btn { flex: 0 1 auto; max-width: 100%; min-height: 48px; font-size: 14px; padding-inline: 15px; }
  .submission-card { border-radius: 12px; margin: 20px 0; }
  .submission-card .actions .btn { width: 100%; }
}
@media (max-width: 370px) {
  .featured-bike-copy,
  .vehicle-card .card-body,
  .rider-story-copy { padding: 19px 17px; }
  .mobile-booking-bar { padding-inline: 14px; }
  .mobile-booking-bar__copy { display: none; }
  .mobile-booking-bar .btn { width: 100%; }
}
@media print {
  .mobile-booking-bar { display: none !important; }
  body.public-body.has-mobile-booking-bar { padding-bottom: 0; }
  .submission-card { box-shadow: none; background: #fff; }
}

/* Official post embeds stay inside native cards, with source links always in reach. */
.facebook-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 500px)); gap: 26px; justify-content: center; align-items: start; }
.facebook-post-card { min-width: 0; width: 100%; max-width: 500px; overflow: hidden; border: 1px solid #d1d6da; border-radius: var(--radius); background: #fff; box-shadow: 0 4px 18px #17191b06; }
.facebook-post-grid > .facebook-post-card:only-child { grid-column: 1 / -1; justify-self: center; }
.facebook-post-heading { display: flex; align-items: center; gap: 12px; min-height: 84px; padding: 17px 20px; border-bottom: 1px solid #dce0e3; background: #fafbfb; }
.facebook-post-avatar { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; overflow: hidden; border: 1px solid #444a4e; border-radius: 50%; background: #202427; color: #fff; }
.facebook-post-avatar img { width: 100%; height: 100%; object-fit: contain; }
.facebook-post-heading > div { min-width: 0; }
.facebook-post-label { display: block; margin-bottom: 4px; font-size: 11px; line-height: 1.4; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #646e75; }
.facebook-post-heading h3 { margin: 0; font-size: 16px; line-height: 1.4; letter-spacing: -.015em; color: #2c3439; }
.facebook-post-stage { display: none; position: relative; width: 100%; height: 740px; overflow: hidden; background: #f0f2f3; touch-action: pan-x pan-y; }
.js .facebook-post-stage { display: block; }
.facebook-post-card[data-facebook-kind="video"] .facebook-post-stage { display: block; height: auto; min-height: 0; overflow: visible; background: #fff; }
.facebook-frame-host { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; min-width: 0; }
.facebook-post-card[data-facebook-kind="video"] .facebook-frame-host { position: relative; inset: auto; z-index: auto; height: auto; min-height: 1px; opacity: 1; pointer-events: auto; }
.facebook-post-card[data-facebook-kind="video"]:not([data-facebook-state="ready"]) .facebook-frame-host { position: absolute; top: 0; left: 0; width: 100%; opacity: 0; pointer-events: none; }
.facebook-post-card[data-facebook-kind="video"] .facebook-frame-host > iframe { height: auto; }
.facebook-post-card[data-facebook-kind="video"] .facebook-frame-host .fb-video,
.facebook-post-card[data-facebook-kind="video"] .facebook-frame-host .fb-video > span,
.facebook-post-card[data-facebook-kind="video"] .facebook-frame-host .fb-video iframe { max-width: 100%; }
.facebook-feed-frame,
.facebook-frame-host > iframe { display: block; width: 100%; max-width: 100%; height: 100%; border: 0; background: #fff; transition: opacity 180ms ease; }
.facebook-post-card[data-facebook-state="loading"] .facebook-feed-frame,
.facebook-post-card[data-facebook-state="error"] .facebook-feed-frame,
.facebook-post-card[data-facebook-state="timeout"] .facebook-feed-frame { opacity: 0; }
.facebook-placeholder { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; padding: 26px; background: linear-gradient(150deg, #f8f9f9, #eceff1); pointer-events: none; }
.facebook-placeholder-card { width: 100%; max-width: 310px; padding: 28px 24px; border: 1px solid #d9dee1; border-radius: 14px; background: #fff; text-align: center; box-shadow: 0 5px 20px #17202705; }
.facebook-placeholder-mark { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 18px; border: 1px solid #bdc6cc; border-radius: 50%; background: #f4f6f7; color: #59666f; }
.facebook-placeholder-mark .icon { width: 28px; height: 28px; }
.facebook-placeholder-card > strong { display: block; font-size: 16px; line-height: 1.45; color: #354149; }
.facebook-placeholder-card > span:not(.facebook-placeholder-mark) { display: block; margin-top: 5px; font-size: 12px; color: #68757e; }
.facebook-placeholder-lines { display: grid; gap: 9px; margin: 24px 0 21px; }
.facebook-placeholder-lines i { display: block; height: 8px; border-radius: 4px; background: #e9edef; }
.facebook-placeholder-lines i:nth-child(2) { width: 86%; }
.facebook-placeholder-lines i:last-child { width: 63%; }
.facebook-placeholder-card p { margin: 0; font-size: 13px; line-height: 1.65; color: #65727c; }
.facebook-video-preview { margin: 0; background: #fff; }
.facebook-video-poster { position: relative; display: block; width: 100%; background: #202427; }
.facebook-video-poster picture { display: block; }
.facebook-video-poster-image { display: block; width: 100%; height: auto; object-fit: contain; }
.facebook-video-poster-label { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 14px; max-width: calc(100% - 28px); padding: 7px 11px; border: 1px solid #ffffff80; border-radius: 7px; background: #161c21e8; color: #fff; font-size: 12px; line-height: 1.5; font-weight: 700; pointer-events: none; }
.facebook-video-caption { padding: 18px; border-top: 1px solid #dce0e3; }
.facebook-video-caption time { display: block; margin-bottom: 8px; color: #65717a; font-size: 12px; line-height: 1.6; }
.facebook-video-caption p { margin: 0; color: #46525a; font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
.facebook-post-controls { padding: 15px 18px; border-bottom: 1px solid #dce0e3; background: #fff; }
.facebook-post-status { margin: 0 0 10px; font-size: 13px; line-height: 1.6; color: #5e6a73; overflow-wrap: anywhere; }
.facebook-post-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; }
.facebook-post-actions .text-link { flex: 1 1 140px; min-width: 0; max-width: 100%; font-size: 13px; overflow-wrap: anywhere; }
.facebook-post-actions .btn { flex: 0 1 auto; min-height: 44px; max-width: 100%; font-size: 13px; white-space: normal; }
.facebook-noscript { margin: 18px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
@media (prefers-reduced-motion: reduce) {
  .facebook-feed-frame { transition: none; }
}
@media (min-width: 1100px) {
  .facebook-post-grid { grid-template-columns: repeat(3, minmax(0, 400px)); max-width: 1280px; margin-inline: auto; }
}
@media (min-width: 701px) and (max-width: 1099px) {
  .facebook-post-grid > .facebook-post-card:last-child:nth-child(odd):not(:only-child) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 26px) / 2); }
}
@media (max-width: 700px) {
  .facebook-post-grid { grid-template-columns: minmax(0, 500px); gap: 22px; }
  .facebook-post-heading { padding: 16px; }
  .facebook-post-controls { padding: 13px 15px; }
  .facebook-placeholder { padding: 20px; }
  .facebook-placeholder-card { padding: 25px 18px; }
  .facebook-video-caption { padding: 16px; }
}
@media print {
  .facebook-post-stage { display: none !important; }
  .facebook-post-card[data-facebook-kind="video"] .facebook-post-stage { display: block !important; }
  .facebook-post-card[data-facebook-kind="video"] .facebook-frame-host { display: none; }
  .facebook-post-grid { display: block; }
  .facebook-post-card { max-width: none; margin-bottom: 18px; box-shadow: none; break-inside: avoid; }
  .facebook-post-actions .btn { display: none; }
}
