/* Touch-first catalogue. Desktop keeps its existing composition. */
.mobile-rail-controls,.mobile-buy-dock{display:none}
@media(max-width:760px){
 html{scroll-padding-top:86px}
 body.ralli-v9{--mobile-gutter:18px}
 .ralli-v9 .wrap{width:calc(100% - 36px)}
 .ralli-v9 .section{padding-block:44px}
 .ralli-v12 .header-inner{height:66px;min-height:66px;padding-block:0}
 .ralli-v12 .header-inner .logo img{width:77px;height:36px}
 .ralli-v9 .launch-bar{min-height:30px;padding:7px 18px;font-size:10px;gap:10px}
 .ralli-v9 .launch-bar a{white-space:nowrap}
 .ralli-v9 .hero-banner{min-height:620px;width:calc(100% - 20px);border-radius:20px;margin-top:10px}
 .ralli-v9 .banner-content{padding:28px 22px 0}
 .ralli-v9 .hero-banner h1{font-size:clamp(48px,12.8vw,70px);margin-bottom:16px;max-width:440px}
 .ralli-v9 .banner-lead{font-size:15px!important;line-height:1.5;max-width:310px}
 .ralli-v9 .energy-meter{display:none}
 .ralli-v9 .hero-banner .hero-actions{gap:12px;margin-top:20px}
 .ralli-v9 .hero-banner .button{min-height:48px}
 .ralli-v9 .banner-picture{height:325px}
 .ralli-v9 .hero-secondary{min-height:44px;display:inline-flex;align-items:center}
 .ralli-v9 :is(.usage-heading h2,.collection-intro h2,.mockup-heading h2,.operations-heading h2,.help-intro h2){font-size:34px;line-height:1.08}
 .ralli-v9 :is(.usage-heading,.collection-intro,.mockup-heading,.operations-heading){margin-bottom:22px}
 .ralli-v9 .collection-intro>div{margin-top:18px}
 .ralli-v9 .collection{padding-top:28px}
 .ralli-v9 .collection-intro>div{width:100%;max-width:none;margin:16px 0 0}
 .ralli-v9 .segmented{display:inline-flex}
 .ralli-v9 .catalogue-conditions{margin-top:10px}
 /* A sliver of the next card invites a swipe; native scrolling preserves vertical gestures. */
 .ralli-v9 :is(.product-grid,.usage-gallery,.mockup-grid,.program-grid,.service-grid,.offer-grid){display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:18px;margin-inline:-18px;padding:4px 18px 14px;scrollbar-width:none;align-items:stretch;max-width:none}
 .ralli-v9 :is(.product-grid,.usage-gallery,.mockup-grid,.program-grid,.service-grid,.offer-grid)::-webkit-scrollbar{display:none}
 .ralli-v9 :is(.product-grid,.usage-gallery,.mockup-grid,.program-grid,.service-grid,.offer-grid)>*{flex:0 0 min(86%,420px);min-width:0;scroll-snap-align:start;scroll-snap-stop:normal;grid-column:auto}
 .ralli-v9 .product-card{display:flex;flex-direction:column;padding:8px;border-radius:19px}
 .ralli-v9 .product-visual{aspect-ratio:1.35;flex-shrink:0}
 .ralli-v9 .product-visual.model-small:not(.custom-setting) img{top:-174%}
 .ralli-v9 .product-visual.model-medium:not(.custom-setting) img{width:285%;left:-81%;top:-96%}
 .ralli-v9 .product-info{padding:16px 10px 10px;display:flex;flex:1;flex-direction:column}
 .ralli-v9 .product-info h3{font-size:29px}
 .ralli-v9 .product-description{font-size:14px;line-height:1.5;margin-top:8px;min-height:42px}
 .ralli-v9 .spec-pills{gap:5px 12px;padding-block:12px;font-size:11px;margin-top:0}
 .ralli-v9 .spec-pills span{font-size:11px}
 .ralli-v9 .price-row{display:flex;align-items:center;gap:12px;margin:16px 0}
 .ralli-v9 .price-row strong{font-size:29px;white-space:nowrap}
 .ralli-v9 .price-row>span{font-size:11px;max-width:74px;margin:0}
 .ralli-v9 .product-info>.button{margin-top:auto;min-height:48px;font-size:13px;padding:12px}
 .ralli-v9 .product-3d-link{min-height:44px;bottom:8px}
 .ralli-v9 .usage-gallery>article,.ralli-v9 .usage-gallery .usage-freedom{display:flex;flex-direction:column;border-radius:18px;overflow:hidden}
 .ralli-v9 .usage-gallery .how-image{width:100%;height:auto;aspect-ratio:1.3;min-height:0;border-radius:0}
 .ralli-v9 .usage-gallery .how-image img{width:100%;height:100%;object-fit:cover}
 .ralli-v9 .usage-gallery .how-caption,.ralli-v9 .usage-gallery .usage-freedom .how-caption{padding:20px;flex:1;display:block}
 .ralli-v9 .usage-gallery .how-caption h3,.ralli-v9 .usage-gallery .usage-freedom .how-caption h3{font-size:27px;margin-bottom:10px}
 .ralli-v9 .usage-gallery .how-caption p{font-size:14px;line-height:1.6}
 .ralli-v9 .mockup-card{display:block}
 .ralli-v9 .mockup-image{aspect-ratio:1.24;border-radius:17px}
 .ralli-v9 .inspiration-choice{padding-block:16px;min-height:82px}
 .ralli-v9 .inspiration-choice strong{font-size:24px}
 .mobile-rail-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 0;min-height:44px;color:#54636a;font-size:12px}
 .mobile-rail-controls[hidden]{display:none}
 .mobile-rail-controls>span{display:flex;align-items:center;gap:10px}
 .mobile-rail-controls output{font-variant-numeric:tabular-nums;color:#182127;font-weight:600}
 .mobile-rail-controls>div{display:flex;gap:8px}
 .mobile-rail-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d7ddda;border-radius:50%;background:#fff;color:#182127;font-size:21px}
 .mobile-rail-controls button:disabled{opacity:.35;cursor:default}
 .mobile-rail-controls button:focus-visible,.mobile-buy-dock a:focus-visible{outline:3px solid #2349ef;outline-offset:3px}
 .ralli-v9 .battery-band{margin-top:28px;border-radius:20px}
 .ralli-v12 .battery-photo{aspect-ratio:auto;min-height:0}
 .ralli-v12 .battery-study__frame{aspect-ratio:1.45;min-height:0}
 .ralli-v12 .battery-study__frame img[data-battery-visual="exploded"]{padding:49px 15px 8px}
 .ralli-v12 .battery-study__frame img[data-battery-visual="reference"]{padding:49px 15px 8px}
 .ralli-v12 .battery-study__tabs{top:8px;left:8px;max-width:calc(100% - 16px);padding:2px}
 .ralli-v12 .battery-study__tabs button{min-height:44px;padding-inline:9px;font-size:11px}
 .ralli-v12 .battery-study__footer{padding:12px 18px;font-size:12px}
 .ralli-v12 .battery-copy{padding:22px}
 .ralli-v12 .battery-copy h3{font-size:30px}
 .ralli-v9 .battery-copy>p:not(.battery-price){font-size:14px;margin:14px 0;line-height:1.6}
 .ralli-v12 .pack-picker{margin-top:8px;gap:8px;flex-wrap:wrap}
 .ralli-v12 .pack-picker>span{width:100%;font-size:12px}
 .ralli-v12 .battery-price{padding:14px;margin:15px 0}
 .ralli-v9 .battery-price>span{font-size:12px;line-height:1.5}
 .ralli-v10 .volume-studio{padding:22px 16px;margin-top:24px}
 .ralli-v10 .volume-heading{margin-bottom:14px}
 .ralli-v10 .volume-heading h3{font-size:29px}
 .ralli-v10 .volume-combine{margin-top:10px}
 .ralli-v10 .volume-table button{width:44px;height:44px}
 .ralli-v10 .volume-table th,.ralli-v10 .volume-table td{padding:10px 4px}
 .ralli-v10 .volume-table tbody td{font-size:21px}
 .ralli-v9 .operations-layout{gap:12px}
 .ralli-v9 .operations-heading>.text-link{margin-top:12px}
 .ralli-v9 .operations-tabs button{min-height:48px}
 .ralli-v9 :is(.rental-flow,.battery-flow,.screen-flow){min-height:165px;padding-block:20px}
 .ralli-v9 .operation-copy{padding:22px}
 .ralli-v9 .operation-copy h3{font-size:27px;margin-bottom:12px}
 .ralli-v9 .operation-copy p{line-height:1.65}
 .ralli-v9 .brand-section{padding-block:44px}
 .ralli-v9 .brand-layout{gap:24px}
 .ralli-v9 .brand-copy h2{font-size:34px;margin-bottom:18px}
 .ralli-v10 .brand-package{padding:20px;margin:0 0 16px}
 .ralli-v10 .brand-package strong{font-size:42px}
 .ralli-v10 .brand-package__top{font-size:14px}
 .ralli-v10 .design-features{margin:14px 0;gap:8px}
 .ralli-v10 .design-features>span{padding:10px;font-size:12px}
 .ralli-v10 .brand-conditions{margin-top:12px}
 .ralli-v9 .media-tabs button,.ralli-v9 .station-viewer__models button{min-height:44px}
 .ralli-v9 .brand-media .station-viewer__stage{height:300px;min-height:0;aspect-ratio:auto}
 .ralli-v9 .brand-media .model-canvas{height:300px;min-height:0;aspect-ratio:auto}
 .ralli-v9 .brand-media .station-viewer__name{font-size:25px}
 .ralli-v9 .brand-media .station-viewer__spec{font-size:12px}
 .ralli-v9 .brand-media .station-viewer__finishes>button{min-height:48px;font-size:13px}
 .ralli-v9 .mockup-section{padding-top:16px}
 .ralli-v10 .reseller-teaser{padding:26px;gap:20px}
 .ralli-v10 .partner-band-copy h2{font-size:32px;margin-bottom:20px}
 .ralli-v10 .partner-routes{grid-template-columns:1fr 1fr;gap:8px}
 .ralli-v10 .partner-routes>a{font-size:15px;padding:14px 10px;gap:6px;min-height:56px}
 .ralli-v10 .route-icon{display:none}
 .ralli-v10 .partner-routes>a>span:last-child{font-size:20px}
 .ralli-v9 .help-section{gap:20px}
 .ralli-v9 .help-intro h2{margin-bottom:18px}
 .ralli-v12 .faq-list summary{min-height:60px;padding-block:18px;font-size:14px}
 .ralli-v9 .shop-footer{padding-block:32px 24px;margin-top:22px;gap:24px;font-size:13px}
 .ralli-v9 .shop-footer nav{gap:4px}
 .ralli-v9 .shop-footer nav a{min-height:44px;display:flex;align-items:center;line-height:1.5}
 .mobile-buy-dock{position:fixed;z-index:45;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid #dce2de;backdrop-filter:blur(14px);box-shadow:0 -4px 22px #17242b08}
 .mobile-buy-dock[hidden]{display:none}
 .mobile-buy-dock>span{font-size:11px;line-height:1.6;color:#59676e}
 .mobile-buy-dock strong{display:block;font-size:17px;color:#182127;font-weight:650}
 .mobile-buy-dock a{display:flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 18px;background:#182127;color:#fff;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none}
 body.has-mobile-buy-dock{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 .ralli-v9 .service-grid>*{border-radius:18px;padding:24px}
 .ralli-v9 .service-number{margin-bottom:22px}
 .ralli-v9 .service-card h2{font-size:26px}
 .ralli-v9 .service-card p{font-size:14px}
 .secondary-v12 .partner-image{aspect-ratio:1.45;max-height:300px;overflow:hidden}
 .secondary-v12 .partner-image img{object-fit:cover;object-position:center 52%}
 .secondary-v12 .program-card{padding:24px}
 .secondary-v12 .program-card .commission-number{font-size:62px}
 .secondary-v12 .program-card ul{font-size:13px;margin-block:16px 20px}
 .secondary-v12 .program-heading{margin-bottom:20px;padding-bottom:18px}
 .secondary-v12 .program-heading h3{font-size:29px}
 .secondary-v12 .offer-nav,.ralli-v9 .policy-layout>nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;margin-bottom:24px;padding:6px;scroll-snap-type:x proximity;scrollbar-width:thin}
 .secondary-v12 .offer-nav a,.ralli-v9 .policy-layout>nav a{flex:0 0 auto;max-width:190px;padding:12px;min-height:44px;scroll-snap-align:start}
 .secondary-v12 .offer-content .offer-grid>*{padding:22px}
 .secondary-v12 .offer-content .offer-grid{margin-block:18px}
 .secondary-v12 .payment-page,.secondary-v12 .partner-apply{padding-block:32px 44px}
 .ralli-v9 :is(.service-hero,.partner-hero,.offer-hero){padding-block:24px 32px}
 .ralli-v9 :is(.service-hero h1,.partner-hero h1,.offer-hero h1,.payment-page h1){font-size:40px;line-height:1.06}
 .ralli-v9 :is(.service-hero p,.partner-hero>div>p,.offer-hero>div>p){font-size:16px!important;line-height:1.6}
 .ralli-v9 :is(input,select,textarea){scroll-margin-block:100px}
}
@media(max-width:360px){
 .ralli-v9 .hero-banner{min-height:630px}
 .ralli-v9 .hero-banner h1{font-size:46px}
 .ralli-v9 .banner-content{padding-inline:18px}
 .ralli-v9 .launch-bar{font-size:9px;padding-inline:12px}
 .mobile-buy-dock{padding-inline:12px;gap:8px}
 .mobile-buy-dock a{padding-inline:14px;font-size:13px;gap:10px}
 .ralli-v9 .product-info{padding-inline:7px}
 .ralli-v9 .product-info h3{font-size:27px}
 .ralli-v9 .price-row strong{font-size:25px}
}
@media print{.mobile-rail-controls,.mobile-buy-dock{display:none!important}}
