/* A slightly calmer type scale, while keeping comfortable touch targets. */
body{font-size:16px;line-height:1.65}
.section{padding-top:68px;padding-bottom:68px}
.header-main nav a{font-size:14px}
.hero h1{font-size:clamp(40px,4.1vw,56px);letter-spacing:-1.5px}
.hero-copy p{font-size:17px;max-width:510px}
.hero-copy .button{font-size:16px;border-radius:10px}
.vehicles .section-heading h2,.catalog .section-heading h2{font-size:clamp(32px,3.1vw,40px);letter-spacing:-1px}
.section-heading>p,.vehicles .section-heading>p,.catalog .section-heading>p{font-size:15px;line-height:1.75}
.quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:16px}
.quick-lines>a{min-height:130px}
.quick-lines>a.is-active{border-color:#49ccff;box-shadow:inset 0 -3px #22bff4}
.quick-lines>a>.quick-art{border-radius:16px;background:linear-gradient(145deg,#285775,#183a52)}
.vehicle-tools>.search-field{height:62px}
.vehicle-tools>.search-field input{font-size:17px}
.make-caption strong{font-size:16px}
.make-card{min-height:190px}
.make-arrow{inset:9px 9px auto auto}
.make-card.selected .make-arrow{background:#0879a6;color:#fff}
.model-chip .model-name{font-size:16px}
.form-intro h3{font-size:23px}
.form-fields label,.advanced-filters .filter-label{font-size:14px}
.form-fields input,.form-fields select,.advanced-filters .filter-label select{font-size:16px}
.form-fields .button{font-size:16px}
.category-tabs button{font-size:14px;min-height:62px;border-radius:12px}
.category-tabs button.active{box-shadow:inset 0 -3px #31c3ff,0 5px 18px #0002}
.category-tabs button .category-count{font-size:12px}
.product-grid{gap:22px}
.product-photo{height:260px!important}
.product-info{padding:20px 18px 18px}
.product-info h3{font-size:17px;line-height:1.5;min-height:102px;margin-bottom:14px}
.product-ref{font-size:12px;margin-bottom:18px}
.product-open{font-size:15px;min-height:48px}
.product-card{border-color:#2f4963;box-shadow:0 7px 24px #0002}
.product-open .ui-icon{transition:transform .2s}
.product-card:focus-within{border-color:#60cfff;box-shadow:0 0 0 2px #60cfff22}
.catalog-status{align-items:center;flex-wrap:wrap;font-size:14px;line-height:1.6}
.catalog-status>span:last-child{font-size:11px;letter-spacing:.3px}
.vehicle-context h3{font-size:21px}
.vehicle-context p,.fiber-note p{font-size:15px}
.about-copy h2{font-size:32px;line-height:1.25}
.about-copy p{font-size:16px;line-height:1.85}
.contact h2{font-size:40px}
.contact p{font-size:16px}
.contact-list>a>strong{font-size:17px}
.dialog-content h2{font-size:23px;line-height:1.4}
.dialog-content p{font-size:15px;line-height:1.75}
.dialog-content .button{font-size:16px}
body:has(dialog[open]){overflow:hidden}
.dialog-photo{position:relative}
.gallery-arrow{position:absolute;top:45%;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:50%;background:#172e43ed;border:1px solid #709cb6;color:#fff;box-shadow:0 4px 14px #0003;transition:background .18s,transform .18s}
.gallery-arrow.previous{left:10px}
.gallery-arrow.next{right:10px}
.gallery-arrow.previous .ui-icon{transform:rotate(180deg)}
.gallery-arrow .ui-icon{width:24px;height:24px}
.gallery-arrow:active{transform:scale(.93)}
.gallery-position{position:absolute;top:13px;left:13px;background:#142c42e8;color:#e8f6ff;padding:4px 11px;border:1px solid #658ba077;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:1px;z-index:2}
.application-gallery{scroll-snap-type:x proximity}
.application-gallery>button{scroll-snap-align:center;cursor:pointer}
.search-clear{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:10px;border-radius:10px;border:1px solid #4d7592;background:#24455e;color:#d7f2ff}
.search-clear .ui-icon{width:20px;height:20px}
.vehicle-tools>.search-field:has(.search-clear:not([hidden])){padding-right:8px}
.search-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 22px}
.search-shortcuts>span{font-size:12px;color:#9cb9d0;font-weight:600;margin-right:3px}
.search-shortcuts button{display:inline-flex;align-items:center;gap:7px;background:#1a3046;border:1px solid #3a5f7d;color:#d7e9f6;border-radius:24px;font-size:13px;font-weight:600;padding:7px 14px;min-height:42px;transition:background .18s,border-color .18s}
.search-shortcuts .ui-icon{width:16px;height:16px;color:#6ed6ff}
.vehicle-results{max-height:570px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#00a1e1,#88e5ff);z-index:1000;pointer-events:none;transform-origin:left;transform:scaleX(var(--reading-progress,0))}
.back-to-top{position:fixed;right:25px;bottom:91px;z-index:29;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#b5eaff;background:#1c3b54f5;border:1px solid #4b7897;box-shadow:0 5px 20px #0003}
.back-to-top .ui-icon{width:23px;height:23px}
@media(hover:hover) and (pointer:fine){
 .gallery-arrow:hover,.search-clear:hover{background:#075e86}
 .search-shortcuts button:hover{background:#23506c;border-color:#54c9f8}
 .product-open:hover .ui-icon{transform:translateX(4px)}
 .make-card:hover .make-arrow{background:#086d98;color:#fff}
 .back-to-top:hover{background:#195f83}
}
@media(min-width:1001px){.header-main{height:102px;min-height:102px}.header-main nav a{min-height:80px}.hero{height:clamp(330px,calc(100svh - 310px),570px)}}
@media(min-width:601px) and (max-width:1000px){.quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:16px}.quick-lines>a{min-height:117px}}
@media(max-width:600px){
 .section{padding-top:40px;padding-bottom:40px}
 .header-main nav a{font-size:12px}
 .hero h1{font-size:clamp(28px,7.6vw,33px);letter-spacing:-.8px}
 .hero-copy p{font-size:15px;line-height:1.55;max-width:340px}
 .hero-copy .button{font-size:14px;min-height:48px}
 .quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:13px;line-height:1.5}
 .quick-lines>a{min-height:108px;align-items:center}
 .quick-lines .line-count{font-size:11px}
 .vehicles .section-heading h2,.catalog .section-heading h2{font-size:29px;line-height:1.2}
 .section-heading>p,.vehicles .section-heading>p,.catalog .section-heading>p{font-size:14px;line-height:1.75}
 .make-card{min-height:167px}
 .make-logo-crop{height:89px}
 .make-caption strong{font-size:14px}
 .search-shortcuts{gap:7px;margin-bottom:20px}
 .search-shortcuts>span{flex-basis:100%;font-size:11px;margin-bottom:3px}
 .search-shortcuts button{font-size:12px;min-height:44px;padding:7px 12px}
 .search-clear{width:40px;flex-basis:40px;height:44px;padding:10px}
 .vehicle-tools>.search-field input,.catalog-toolbar>.search-field input{font-size:16px}
 .vehicle-tools>.search-field{height:60px}
 .vehicle-result strong{font-size:16px}
 .vehicle-results{max-height:420px}
 .model-chip .model-name{font-size:14px}
 .form-fields label,.advanced-filters .filter-label{font-size:14px}
 .category-tabs button,.category-tabs button[data-category=racks]{font-size:13px;min-height:90px}
 .category-tabs button .category-count{font-size:12px}
 .product-grid{gap:20px}
 .product-photo{height:260px!important}
 .product-info h3{font-size:17px;min-height:0}
 .product-open{font-size:15px;min-height:49px}
 .vehicle-context h3{font-size:19px}
 .vehicle-context p,.fiber-note p{font-size:14px}
 .about-copy h2{font-size:28px}
 .about-copy p,.contact p{font-size:15px}
 .contact h2{font-size:33px}
 .contact-list>a>strong{font-size:16px}
 .dialog-content h2{font-size:21px}
 .dialog-content p{font-size:15px}
 .dialog-content .button{font-size:15px}
 .dialog-photo{height:auto;min-height:285px;padding:30px 18px 15px;flex-direction:column;gap:12px}
 .dialog-photo #dialog-image{height:190px;max-height:190px}
 .dialog-photo .photo-tools{position:static;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px;min-height:44px}
 .photo-expanded .dialog-photo{height:auto;min-height:320px;padding:30px 18px 15px}
 .photo-expanded .dialog-photo #dialog-image{height:auto;max-height:65dvh}
 .gallery-arrow{top:106px;width:44px;height:44px}
 .photo-expanded .gallery-arrow{top:40%}
 .back-to-top{right:14px;bottom:calc(90px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border-radius:13px}
}
@media(max-width:360px){.quick-lines>a{min-height:107px}.hero h1{font-size:27px}.quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:12px}.product-photo{height:235px!important}.contact .button{font-size:14px;gap:10px}}
@media(prefers-reduced-motion:no-preference){
 dialog[open]{animation:map-dialog-in .18s ease-out}
 .vehicle-result{animation:map-result-in .16s ease-out both}
 @keyframes map-dialog-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
 @keyframes map-result-in{from{opacity:.3;translate:0 4px}to{opacity:1;translate:0 0}}
}
@media(prefers-reduced-motion:reduce){.gallery-arrow,.search-shortcuts button,.product-open .ui-icon{transition:none}.product-open:hover .ui-icon{transform:none}}

/* Keep original low-resolution marks at a faithful scale, without traced geometry. */
.no-models{grid-column:1/-1;padding:15px 2px 5px;max-width:700px}.no-models>strong{font-size:18px;color:#e0f2ff}.no-models p{font-size:15px;line-height:1.8;margin:14px 0 22px}.no-models .button{font-size:14px;min-height:48px;gap:15px}.make-card .make-caption small{line-height:1.5}

/* Both contact numbers stay visible and tappable, including small screens. */
.topbar .wrap{height:auto;min-height:44px;gap:16px}
.topbar-phones{display:flex;align-items:center;gap:26px}
.topbar .topbar-phones a{min-height:44px;font-size:15px;line-height:1.4;gap:9px;white-space:nowrap}
.topbar-phones small{font-size:10px;color:#9bbad0;letter-spacing:.6px;margin-right:8px}
@media(max-width:600px){
 .topbar .wrap{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding-top:3px;padding-bottom:3px}
 .topbar .wrap>span{text-align:center;font-size:10px;line-height:1.5}
 .topbar-phones{width:100%;justify-content:space-between;gap:10px}
 .topbar .topbar-phones a{font-size:13px;line-height:1.35;gap:5px}
 .topbar .topbar-phones a .ui-icon{width:18px;height:18px;flex-shrink:0}
 .topbar-phones small{display:block;font-size:9px;line-height:1.2;margin:0 0 2px}
}

/* Final spacing and interaction polish, preserving every original brand asset. */
.application-gallery{position:relative;scroll-padding-inline:3px}
.contact-list>a,.contact-list>a>strong{min-width:0;overflow-wrap:anywhere}
.contact-list>a{transition:background .18s,border-color .18s;border-radius:12px;padding-inline:12px;margin-inline:-12px}
.search-field{transition:border-color .18s,box-shadow .18s}
.filter-toggle[aria-expanded=true]{background:#165170;border-color:#66cfff;box-shadow:inset 0 -2px #25bcf4}
.filter-chip{border-radius:24px;line-height:1.5}
.make-card,.model-chip{box-shadow:0 5px 20px #0002}
.product-card:hover{border-color:#4c86a8}
.model-chip.selected{box-shadow:0 0 0 2px #2dc0f433}
.clear-filters:disabled{opacity:.45;cursor:default}
@media(hover:hover) and (pointer:fine){.contact-list>a:hover{background:#58bfff09;border-color:#40708e}}
@media(max-width:600px){
 .topbar-phones a{touch-action:manipulation}
 .vehicles .section-heading,.catalog .section-heading{gap:16px}
 .vehicle-form{border-radius:18px}
 .model-grid{gap:12px}
 .model-chip .model-name{line-height:1.5}
 .filter-chip{min-height:44px;padding:9px 13px}
 .clear-filters{min-height:44px}
 .photo-tools{padding-bottom:3px}
 .contact-list>a>strong{line-height:1.7}
 .catalog-status{gap:7px}
 .catalog-status>span:last-child{line-height:1.7}
}
@media(prefers-reduced-motion:reduce){.contact-list>a,.search-field{transition:none}}

/* v17: compact vehicle browsing, a quieter scale and progressive scroll reveals. */
body{font-size:15px}
.section{padding-block:58px}
.hero h1{font-size:clamp(36px,3.8vw,51px)}
.hero-copy p{font-size:16px}
.hero-copy .button{font-size:15px}
.vehicles .section-heading h2,.catalog .section-heading h2{font-size:clamp(29px,2.8vw,36px)}
.section-heading>p,.vehicles .section-heading>p,.catalog .section-heading>p{font-size:14px}
.header-main nav a{font-size:13px}
.header-main nav .nav-icon,.header-main nav .nav-icon .ui-icon{width:27px;height:27px}
.quick-lines>a{min-height:116px}
.quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:15px}
.quick-lines>a>.quick-art{width:46px;height:46px;flex-basis:46px;border-radius:12px}
.quick-art>img,.quick-art .quick-symbol .ui-icon{width:32px;height:32px}
.manufacturer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.make-card{min-height:132px;padding:11px 13px;gap:8px;border-radius:13px}
.make-logo-crop{height:64px;max-width:160px;margin-inline:auto;border-radius:9px}
.make-card .make-logo-crop img{inset:7px 12px;width:calc(100% - 24px)!important;height:calc(100% - 14px)!important}
.make-card .make-caption{text-align:center}
.make-caption strong{font-size:14px}
.make-caption small{font-size:11px}
.make-arrow{width:24px;height:24px;inset:8px 8px auto auto}
.make-arrow .ui-icon{width:12px;height:12px}
.show-makes{min-height:48px;font-size:13px;margin-top:16px}
.panel-brand>img{width:140px;height:61px}
.panel-brand h3{font-size:25px}
.model-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.model-chip{padding:10px;border-radius:11px}
.model-chip>.model-photo{height:125px}
.model-chip .model-name{font-size:14px;line-height:1.45}
.model-chip .model-applications{font-size:11px}
.model-tools{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.model-tools .search-field{width:min(460px,100%);height:50px;border-radius:11px;background:#14273d;border:1px solid #426985}
.model-tools input{font-size:16px;min-width:0}
.model-tools>span{font-size:12px;color:#aac8de}
.model-search-empty{grid-column:1/-1;padding:22px;background:#14283d;border:1px solid #355b76;border-radius:12px;font-size:14px;line-height:1.8;color:#c4d9e8}
.form-intro h3{font-size:21px}
.form-fields label,.advanced-filters .filter-label{font-size:13px}
.form-fields .button{font-size:14px}
.category-tabs button{font-size:13px;min-height:55px}
.product-photo{height:230px!important}
.product-info{padding:17px 15px 16px}
.product-info h3{font-size:15px;min-height:90px;line-height:1.5}
.product-open{font-size:14px;min-height:46px}
.about-copy h2{font-size:29px}
.about-copy p{font-size:15px;line-height:1.8}
.contact h2{font-size:36px}
.contact-list>a>strong{font-size:16px}
.map-reveal{opacity:0;translate:0 18px;transition:opacity .5s ease var(--reveal-delay,0ms),translate .5s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.map-reveal.is-revealed,.map-reveal:focus-within{opacity:1;translate:0 0}
.vehicle-panel{scroll-margin-top:120px}
@media(hover:hover) and (pointer:fine){.make-card:hover{transform:translateY(-3px);border-color:#62d4ff;box-shadow:0 8px 22px #0003}.make-card:hover .make-logo-crop img{transform:none!important}}
@media(min-width:1201px){.manufacturer-grid.all-makes{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:1000px){.manufacturer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:14px}.quick-lines>a>.quick-art{width:38px;height:40px;flex-basis:38px}.quick-lines>a{padding-inline:12px}}
@media(max-width:600px){
 .section{padding-block:34px}
 .hero h1{font-size:clamp(26px,7.2vw,31px)}
 .hero-copy p{font-size:14px}
 .hero-copy .button{font-size:13px}
 .header-main nav a{font-size:11px}
 .header-main nav .nav-icon,.header-main nav .nav-icon .ui-icon{width:25px;height:25px}
 .quick-lines>a{min-height:99px}
 .quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:12px}
 .quick-lines>a>.quick-art{width:32px;height:36px;flex-basis:32px;border-radius:10px}
 .quick-art>img,.quick-art .quick-symbol .ui-icon{width:28px;height:28px}
 .vehicles .section-heading h2,.catalog .section-heading h2{font-size:27px}
 .section-heading>p,.vehicles .section-heading>p,.catalog .section-heading>p{font-size:13px}
 .manufacturer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 .make-card{min-height:112px;padding:9px 6px;gap:6px;border-radius:11px}
 .make-logo-crop{height:49px;border-radius:7px}
 .make-card .make-logo-crop img{inset:5px 7px;width:calc(100% - 14px)!important;height:calc(100% - 10px)!important}
 .make-caption strong{font-size:11px;line-height:1.4}
 .make-caption small{font-size:10px;line-height:1.4}
 .make-arrow{width:18px;height:18px;inset:5px 5px auto auto}
 .make-arrow .ui-icon{width:10px;height:10px}
 .show-makes{font-size:12px;min-height:48px}
 .model-tools{display:block}
 .model-tools .search-field{width:100%}
 .model-tools>span{display:block;margin-top:9px}
 .panel-brand>img{width:112px;height:53px}
 .panel-brand h3{font-size:21px}
 .model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .model-chip>.model-photo{height:108px}
 .model-photo img{max-height:108px}
 .model-chip .model-name{font-size:13px}
 .model-chip .model-applications{font-size:10px}
 .vehicle-panel{scroll-margin-top:90px;padding:15px}
 .form-intro h3{font-size:20px}
 .form-fields label,.advanced-filters .filter-label{font-size:13px}
 .category-tabs button,.category-tabs button[data-category=racks]{font-size:12px;min-height:76px}
 .category-tabs button:first-child{min-height:48px}
 .category-tabs img,.category-tabs button[data-category=fibra]>.ui-icon{width:27px;height:27px}
 .product-photo{height:230px!important}
 .product-info h3{font-size:16px;min-height:0}
 .product-open{font-size:14px;min-height:48px}
 .about-copy h2{font-size:26px}
 .about-copy p,.contact p{font-size:14px}
 .contact h2{font-size:30px}
 .contact-list>a>strong{font-size:15px}
 .map-reveal{translate:0 12px}
 .map-reveal.is-revealed,.map-reveal:focus-within{translate:0 0}
}
@media(max-width:360px){.make-caption strong{font-size:10px}.make-caption small{font-size:9px}.make-card{min-height:106px}.make-logo-crop{height:44px}.hero h1{font-size:25px}.quick-lines>a{min-height:99px}.quick-lines>a>span:not(.line-count):not(.quick-symbol):not(.quick-art){font-size:11px}}
@media(prefers-reduced-motion:reduce){.map-reveal{opacity:1;translate:none;transition:none}.make-card:hover{transform:none}}
@media print{.map-reveal{opacity:1;translate:none}}
