/* Static vehicle collection: ten applications in a varied image mosaic. */
body .jp-vehicle-collection{padding:80px 0;background:#f7f7f7}
.jp-vehicle-inner{width:92%;max-width:1760px;margin:0 auto}
.jp-vehicle-heading{display:flex;align-items:flex-start;gap:60px;justify-content:space-between;margin-bottom:36px}
html[lang] body .jp-vehicle-heading h2{flex-shrink:0;color:var(--jp-gold);margin:0;font-size:clamp(40px,4.1vw,64px);line-height:1}
html[lang] body .jp-vehicle-heading .gallerySlider__descDesc{font-size:19px;line-height:1.55;text-align:left;max-width:760px;margin:0;padding-top:2px}
.jp-vehicle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,clamp(210px,17vw,280px));gap:14px}
.jp-vehicle-card{position:relative;min-width:0;margin:0;overflow:hidden;border-radius:7px;background:#dfe1df;isolation:isolate}
.jp-vehicle-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--jp-image-position,center);transition:transform .65s ease}
.jp-vehicle-card:hover img{transform:scale(1.035)}
.jp-vehicle-card .jp-vehicle-caption{position:absolute;top:0;left:0;right:0;padding:0 20px 18px;pointer-events:none}
.jp-vehicle-accent{display:block;width:42px;height:4px;background:var(--jp-gold);margin-bottom:13px}
html[lang] body .jp-vehicle-card h3{font-family:var(--jp-display);font-weight:700;font-size:clamp(21px,1.75vw,30px);line-height:1.04;color:#fff;margin:0;max-width:95%;text-shadow:0 1px 4px #000,0 2px 14px #000b;letter-spacing:.015em}
.jp-vehicle-wide-top{grid-area:1/1/2/3}.jp-vehicle-tall-center{grid-area:1/3/3/4}.jp-vehicle-small-top{grid-area:1/4/2/5}.jp-vehicle-small-right{grid-area:1/5/2/6}.jp-vehicle-tall-left{grid-area:2/1/4/2}.jp-vehicle-small-middle{grid-area:2/2/3/3}.jp-vehicle-wide-right{grid-area:2/4/3/6}.jp-vehicle-wide-bottom{grid-area:3/2/4/4}.jp-vehicle-small-bottom{grid-area:3/4/4/5}.jp-vehicle-small-last{grid-area:3/5/4/6}
@media(max-width:1199px){
 body .jp-vehicle-collection{padding:60px 0}.jp-vehicle-heading{gap:30px}.jp-vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:230px;grid-auto-flow:dense}
 .jp-vehicle-grid .jp-vehicle-card{grid-area:auto}.jp-vehicle-grid :is(.jp-vehicle-wide-top,.jp-vehicle-wide-right,.jp-vehicle-wide-bottom){grid-column:span 2}.jp-vehicle-grid :is(.jp-vehicle-tall-center,.jp-vehicle-tall-left){grid-row:span 2}
 html[lang] body .jp-vehicle-card h3{font-size:26px}html[lang] body .jp-vehicle-heading .gallerySlider__descDesc{font-size:18px}
}
@media(max-width:700px){
 body .jp-vehicle-collection{padding:48px 0}.jp-vehicle-inner{width:90%}.jp-vehicle-heading{display:block;margin-bottom:25px}.jp-vehicle-heading h2{margin-bottom:16px!important}html[lang] body .jp-vehicle-heading .gallerySlider__descDesc{font-size:17px;line-height:1.55;max-width:none}
 .jp-vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px;gap:10px}.jp-vehicle-card{border-radius:5px}.jp-vehicle-card .jp-vehicle-caption{padding:0 12px 12px}.jp-vehicle-accent{width:30px;height:3px;margin-bottom:9px}html[lang] body .jp-vehicle-card h3{font-size:21px;max-width:100%}
 .jp-vehicle-grid .jp-vehicle-wide-top{grid-row:span 1}.jp-vehicle-grid .jp-vehicle-small-last{grid-column:span 2}.jp-vehicle-grid .jp-vehicle-wide-bottom{grid-column:span 2;grid-row:span 1}
}
@media(prefers-reduced-motion:reduce){.jp-vehicle-card img{transition:none}.jp-vehicle-card:hover img{transform:none}}

/* Product preview and model-specific catalogue links. */
.jp-vehicle-link{position:relative;display:block;width:100%;height:100%;color:inherit;text-decoration:none;background:#fff}
.jp-vehicle-link:focus-visible{outline:4px solid var(--jp-gold);outline-offset:-4px}
.jp-vehicle-card .jp-vehicle-photo{position:absolute;inset:0;transition:opacity .35s ease,transform .65s ease}
.jp-vehicle-card .jp-vehicle-preview{position:absolute;inset:0;z-index:1;background:#fff;object-fit:contain;object-position:center;padding:54px 12px 36px;box-sizing:border-box;opacity:0;transition:opacity .35s ease;transform:none}
.jp-vehicle-card .jp-vehicle-caption{z-index:2}
.jp-vehicle-action{position:absolute;z-index:2;left:20px;bottom:15px;right:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;opacity:0;transition:opacity .25s ease;font:700 17px/1.25 var(--jp-display);text-transform:uppercase;color:#20232a}
.jp-vehicle-action>span:last-child{display:flex;align-items:center;gap:12px;white-space:nowrap}
.jp-vehicle-note{font:600 12px/1.3 var(--jp-font);max-width:100px;text-transform:none;color:#565b60}
@media(hover:hover) and (pointer:fine){
 .jp-vehicle-card:hover .jp-vehicle-preview{opacity:1;transform:none}
 .jp-vehicle-card:hover .jp-vehicle-photo{opacity:0}
 .jp-vehicle-card:hover .jp-vehicle-action{opacity:1}
 html[lang] body .jp-vehicle-card:hover h3{color:#20232a;text-shadow:none}
}
.jp-vehicle-card:focus-within .jp-vehicle-preview{opacity:1;transform:none}
.jp-vehicle-card:focus-within .jp-vehicle-photo{opacity:0}
.jp-vehicle-card:focus-within .jp-vehicle-action{opacity:1}
html[lang] body .jp-vehicle-card:focus-within h3{color:#20232a;text-shadow:none}
@media(max-width:700px){.jp-vehicle-card .jp-vehicle-preview{padding:65px 8px 42px}.jp-vehicle-action{left:12px;right:12px;bottom:12px;font-size:15px}.jp-vehicle-note{font-size:11px}.jp-vehicle-action>span:last-child{gap:8px}}
@media(prefers-reduced-motion:reduce){.jp-vehicle-card .jp-vehicle-preview,.jp-vehicle-card .jp-vehicle-photo,.jp-vehicle-action{transition:none}}

.jp-vehicle-tall-center .jp-vehicle-preview,.jp-vehicle-tall-left .jp-vehicle-preview{padding-top:76px}
.jp-vehicle-small-bottom .jp-vehicle-action{flex-direction:column;align-items:flex-start;gap:4px}
.jp-vehicle-small-bottom .jp-vehicle-note{max-width:none}
.jp-vehicle-small-bottom .jp-vehicle-preview{padding-bottom:65px}

/* Reveal each image card gently upward as it enters the viewport. */
.jp-vehicle-card.aos-init[data-aos="fade-up-20"]{opacity:.16;transform:translate3d(0,32px,0);transition-property:opacity,transform;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
.jp-vehicle-card.aos-init.aos-animate[data-aos="fade-up-20"]{opacity:1;transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.jp-vehicle-card.aos-init[data-aos="fade-up-20"]{opacity:1!important;transform:none!important;transition:none!important}}
