/* Shared responsive header and final cross-page layout rules. */
:root{--masthead-height:164px;--header-row:128px;--logo-height:100px}
html.header-compact{--masthead-height:132px;--header-row:96px;--logo-height:76px}
.site-masthead{position:sticky;top:0;z-index:100;box-shadow:0 8px 24px #0002}
.site-masthead header{height:var(--header-row);padding-top:10px;padding-bottom:10px;transition:height .22s ease}
.site-masthead header .brand:before{display:none}
.site-masthead header .brand img{height:var(--logo-height);width:auto;max-width:150px;object-fit:contain;filter:none;transition:height .22s ease}
.contact-bar{height:36px}
.contact-bar a{gap:10px;min-height:36px}
.contact-mail-icon{width:24px;height:24px;flex:none;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
#mobile-nav{top:var(--masthead-height);max-height:calc(100dvh - var(--masthead-height));overflow-y:auto;overscroll-behavior:contain}
html{scroll-padding-top:calc(var(--masthead-height) + 16px)}
img,video{max-width:100%}
.action-stage{top:var(--masthead-height)}
.article-layout aside,.legal-page .legal-layout aside{top:calc(var(--masthead-height) + 20px)}
.article-copy section,.legal-page .legal-copy section{scroll-margin-top:calc(var(--masthead-height) + 20px)}
@media(max-width:900px){.site-masthead header nav{display:none}.site-masthead #menu{display:block;min-height:44px;min-width:72px}.site-masthead .nav-right{margin-left:auto}#mobile-nav a,#mobile-nav summary{min-height:44px}#mobile-nav:not([hidden]){display:flex;position:fixed;left:0;right:0;padding:20px 6%;flex-direction:column;background:#171a18;z-index:99}.site-masthead header nav{margin:0}}
@media(min-width:901px){#mobile-nav{display:none!important}}
@media(max-width:650px){:root{--masthead-height:138px;--header-row:102px;--logo-height:82px}html.header-compact{--masthead-height:114px;--header-row:78px;--logo-height:62px}.contact-bar{height:36px}.contact-bar a{font-size:12px}.contact-mail-icon{width:25px;height:25px}.site-masthead header{padding-left:6%;padding-right:6%}.hero{height:auto;min-height:calc(100svh - 138px);max-height:none}.hero-content{padding-top:45px;padding-bottom:120px}.hero h1{font-size:clamp(29px,7.6vw,46px)}.hero-copy{font-size:16px;line-height:1.6}.hero .actions{flex-wrap:wrap;gap:12px}.hero .actions .button{min-height:48px;padding:16px 18px}.hero-bottom{bottom:22px;left:6%;right:6%;flex-wrap:wrap}.button{min-height:46px;white-space:normal}.about,.contact,.tour-enquiry,.panorama,.rental{min-width:0}.about>* ,.contact>*,.tour-enquiry>*,.panorama>*,.rental>*{min-width:0}.contact h2,.tour-enquiry h2{font-size:clamp(31px,9vw,42px)}.contact-info{padding:20px}.tour-hero{height:auto;min-height:610px;max-height:none}.tour-hero-content{padding-bottom:115px}.tour-hero h1{font-size:clamp(35px,9vw,54px)}.tour-price-panel,.enquiry-form,.bike-form{min-width:0}.enquiry-form input,.enquiry-form select,.enquiry-form textarea,.bike-form input,.bike-form textarea{font-size:16px;min-height:46px;max-width:100%}.footer-top,.footer-services,.footer-bottom{min-width:0}.footer-services>*{min-width:0;max-width:100%}.footer-services input{width:100%}.footer-services .legal{margin-left:0}.legal a{padding:6px 0}.footer-bottom a{overflow-wrap:anywhere}.bike-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto}.dialog-bar{gap:12px;padding:12px 16px}.dialog-bar button{min-width:44px;min-height:44px}.dialog-main{padding:16px}.dialog-info{min-width:0}.dialog-info h2{font-size:clamp(30px,9vw,42px);overflow-wrap:anywhere}.slide-controls{flex-wrap:wrap;gap:8px}.slide-controls button{min-height:44px}.bike-spec-section,.bike-request{padding:22px 16px}.bike-specs dd{overflow-wrap:anywhere}.bike-source a{overflow-wrap:anywhere}.maker-rail{scroll-padding:20px;scroll-snap-type:x proximity}.maker-rail a{scroll-snap-align:start}.model-grid{grid-template-columns:minmax(0,1fr)}.catalog-hero{min-height:460px;padding:55px 6%}.catalog-hero h1{font-size:clamp(39px,11vw,58px)}.catalog-heading{gap:18px}.brand-overview{grid-template-columns:minmax(0,1fr)}.brand-tile:last-child{grid-column:auto}.legal-hero{padding-top:65px}.legal-hero h1{font-size:clamp(36px,9vw,58px)}.legal-layout{padding-bottom:60px}.legal-layout aside nav{gap:0 12px}.legal-layout aside nav a{font-size:13px}.withdrawal-template{padding:14px}.article-layout,.journal-grid{min-width:0}.journal-hero h1{font-size:clamp(32px,9vw,42px)}.journal-heading>span{line-height:1.6}.action-footer{flex-wrap:wrap}.action-step{min-width:0}.action-progress{min-width:70px}.article-layout aside,.legal-page .legal-layout aside{position:static}}
@media(max-width:360px){.hero h1{font-size:27px}.hero .actions{flex-direction:column;align-items:stretch}.hero-content{padding-bottom:140px}.hero-bottom>a{max-width:120px}.video-toggle{font-size:10px}.section{padding-left:20px;padding-right:20px}.legal-layout aside nav{grid-template-columns:1fr}.article-hero h1{font-size:31px}.card-specs strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.site-masthead header,.site-masthead header .brand img{transition:none}}
@media print{.site-masthead{display:none!important}}

/* Partner image aligned above the social profiles, including on mobile. */
.footer-partners{justify-content:flex-end}
.footer-partners>a{display:block;width:min(100%,300px);margin-left:auto}
.footer-partners img{width:100%;height:auto}
.footer-services .legal{margin-left:auto;align-self:flex-end}
.social-icons a{width:44px;height:44px}
@media(max-width:650px){.footer-partners>a{width:min(100%,250px)}.footer-services .legal{margin-left:auto;align-self:flex-end}}

/* Full navigation on desktop and compact laptops. */
@media(min-width:901px){.site-masthead header nav{display:flex;gap:clamp(12px,1.6vw,24px);margin-right:0}.site-masthead #menu{display:none}.site-masthead header nav>a,.site-masthead header nav summary{font-size:13px;white-space:nowrap}.site-masthead header{padding-left:3%;padding-right:3%}.site-masthead .nav-right{display:none}}

/* Compact mobile hero and left-aligned footer partners. */
@media(max-width:650px){
 .hero{height:auto;min-height:0;max-height:none}
 .hero-content{padding-top:30px;padding-bottom:28px}
 .hero .eyebrow{margin-bottom:20px}
 .hero-copy{margin-top:18px;margin-bottom:22px}
 .hero-bottom{position:relative;inset:auto;margin:0 6%;padding-bottom:20px;gap:12px}
 .footer-partners{justify-content:flex-start}
 .footer-partners>a{margin-left:0;margin-right:auto}
 .footer-services .legal{margin-left:0;margin-right:auto;align-self:flex-start}
 .footer-services .social-icons{justify-content:flex-start}
}

/* Stronger homepage headline, scaled to the available screen width. */
.hero h1{font-size:clamp(48px,7vw,100px)}
@media(max-width:650px){.hero h1{font-size:clamp(28px,8.6vw,55px);letter-spacing:-.045em}.hero-content{padding-left:5%;padding-right:5%}}

/* A brief moving highlight on the main bike discovery action. */
.button-shine{position:relative;overflow:hidden;isolation:isolate}
.button-shine::after{content:"";position:absolute;inset:-50% auto -50% -65%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-22deg) translateX(0);pointer-events:none;animation:bike-button-shine 5s ease-in-out infinite}
.button-shine:hover::after,.button-shine:focus-visible::after{animation-duration:1.8s}
@keyframes bike-button-shine{0%,65%{left:-65%;opacity:0}68%{opacity:1}90%,100%{left:135%;opacity:0}}
@media(prefers-reduced-motion:reduce){.button-shine::after{animation:none;display:none}}

.hero .actions .button{gap:12px}
.hero-button-icon{width:23px;height:23px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero .actions .button>span{margin-left:8px}
@media(max-width:360px){.hero .actions .button{padding-left:12px;padding-right:12px;gap:8px}.hero-button-icon{width:21px;height:21px}.hero .actions .button>span{margin-left:auto}}

/* Matching dimensions for both hero actions. */
.hero .actions .button{width:280px;min-height:62px;justify-content:center}
@media(max-width:650px){.hero .actions .button{width:min(100%,280px);min-height:62px}}

/* Give the hero a little more breathing room. */
@media(min-width:651px){.hero{height:min(840px,calc(100svh - 40px));min-height:650px}}
@media(max-width:650px){.hero-content{padding-top:55px;padding-bottom:53px}}

/* Smaller background assets and less GPU work on phones. */
@media(max-width:650px){
body{background:#101110 url('/assets/offroad-grunge-web-720.webp') center top/1600px auto repeat-y}
.brand-strip{background:#171815 url('/assets/offroad-grunge-web-720.webp') center 42%/cover}
.brands{background:linear-gradient(90deg,#101211c9,#101211ed 45%,#101211bd),url('/assets/offroad-grunge-web-720.webp') center/cover}
.benefits{background:linear-gradient(90deg,#191913d4,#151712bf),url('/assets/offroad-grunge-web-720.webp') center/cover}
.dust{background:url('/assets/offroad-grunge-web-720.webp') 5% 0%/cover}
.about{background-image:linear-gradient(180deg,rgba(7,13,13,.42) 0%,rgba(7,13,13,.72) 30%,rgba(7,13,13,.94) 58%,rgba(7,13,13,.96) 100%),url('/assets/jhjhgv-web-720.webp')}
.contact{background:linear-gradient(90deg,#111410eb 0%,#111410b0 48%,#111410bf 100%),url('/assets/IMG_0466-scaled-web-720.webp') center 48%/cover}
.action-stage{background:#1b1510 url('/assets/desert-sunset-web-720.webp') center/cover no-repeat}
.dust{animation:none;filter:none;will-change:auto}.button-shine::after{animation-iteration-count:2}.contact-info{backdrop-filter:none}
}

.search-content{max-width:1000px;margin:auto;padding:30px 6% 80px}.search-content label{display:block;margin-bottom:10px}.search-input-row{display:flex;gap:12px}.search-input-row input{flex:1;min-width:0;font:inherit;font-size:16px;padding:14px}#search-results{list-style:none;padding:0}#search-results li{padding:24px 0;border-bottom:1px solid #ffffff30}#search-results a{font-size:22px;color:#ff9a5f}#search-results p{line-height:1.7}@media(max-width:450px){.search-input-row{flex-direction:column}}

.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.65;cursor:wait}[role="status"]{overflow-wrap:anywhere;line-height:1.6}

/* Inline vector arrows have identical geometry on desktop and mobile. */
.ui-arrow{display:inline-block;width:1.1em;height:1.1em;min-width:1.1em;flex-shrink:0;vertical-align:-.15em;fill:none;stroke:currentColor}
.card-arrow .ui-arrow,.slide-controls .ui-arrow{width:22px;height:22px}
.ai-scene-note{position:absolute;right:6%;bottom:78px;z-index:3;margin:0;padding:5px 8px;font:11px/1.4 Arial,sans-serif;letter-spacing:.02em;color:#fff;background:#15120ec9;border-radius:3px;pointer-events:none}
@media(max-width:650px){.ai-scene-note{right:6%;bottom:108px;font-size:10px}}
