/* Documentary fleet photography: preserve the silhouette; identify the equipment.
   Scoped to the three art-directed pages. No retouching of vehicle condition. */
.gf-art-panorama .hero-layout,
.gf-art-panorama .gf-product-layout { display:block; max-width:1200px; padding:0 32px; }
.gf-art-panorama .hero-copy,
.gf-art-panorama .gf-product-copy { display:grid; grid-template-columns:1.2fr 1fr; column-gap:64px; padding:44px 0 36px; align-items:start; }
.gf-art-heading { align-self:center; }
.gf-art-panorama .hero-intro,
.gf-art-panorama .gf-product-kicker { grid-column:1; margin:0 0 16px; }
body[data-design] .gf-art-panorama h1 { grid-column:1; font:800 clamp(36px,3.4vw,50px)/1.1 Manrope,sans-serif; letter-spacing:-.04em; max-width:20ch; margin:0; }
.gf-art-panorama .gf-art-summary { grid-column:2; align-self:center; }
body[data-design] .gf-art-panorama :is(.hero-lead,.hero__lead) { margin:0 0 24px; max-width:48ch; font-size:17px; line-height:1.65; }
.gf-art-panorama .gf-product-actions { margin-top:0; }
.gf-art-panorama .hero-visual,
.gf-art-panorama .gf-product-photo { background:transparent; }
body[data-design] .gf-art-panorama .hero-photo,
.gf-art-panorama .gf-product-photo picture { min-height:0; position:relative; display:block; flex:none; }
.gf-art-panorama .hero-photo picture { display:block; }
body[data-design] .gf-art-panorama :is(.hero-photo,.gf-product-photo) img { position:static; display:block; width:100%; height:auto; max-height:none; max-width:100%; aspect-ratio:auto; object-fit:contain; }
.gf-art-panorama .hero-visual figcaption,
.gf-art-panorama .gf-product-photo figcaption { display:flex; justify-content:space-between; align-items:baseline; gap:16px 32px; padding:18px 0 24px; font-size:14px; line-height:1.6; border-bottom:1px solid #526174; }
.gf-art-panorama .hero-visual figcaption strong { display:block; font:700 15px/1.6 Manrope,sans-serif; color:white; }
.gf-art-panorama .gf-product-photo figcaption span { margin:0; }
.gf-art-panorama .hero-proof { max-width:1200px; padding:28px 32px; border-top:0; }
.gf-art-panorama .gf-product-facts { max-width:1200px; margin:auto; padding:28px 32px; }
/* Rental pairs an identifying view with a labelled equipment detail. */
.gf-art-rental .gf-product-layout { max-width:1280px; grid-template-columns:1fr 1.15fr; gap:48px; padding:40px 32px; }
.gf-art-rental .gf-product-copy { padding:12px 0; align-self:start; }
.gf-art-rental .gf-product-photo { background:transparent; }
.gf-art-rental .gf-product-photo picture { min-height:0; flex:none; display:block; }
.gf-art-rental .gf-product-photo img { position:static; width:100%; height:auto; aspect-ratio:auto; max-height:none; }
.gf-art-rental .gf-product-photo figcaption { padding:16px 0 20px; }
.gf-art-rental .gf-product-photo figcaption span { font-size:14px; }
.gf-art-rental-photos { min-width:0; align-self:center; }
.gf-art-detail { margin:0; padding:20px 0 0; border-top:1px solid #526174; display:grid; grid-template-columns:42% 1fr; gap:24px; align-items:center; }
.gf-art-detail picture { display:block; }
.gf-art-detail img { display:block; width:100%; height:auto; }
.gf-art-detail figcaption { color:#c1cfdd; font-size:14px; line-height:1.6; }
.gf-art-detail strong { display:block; color:#fff; font:700 16px/1.5 Manrope,sans-serif; margin-bottom:6px; }
.gf-art-detail span { display:block; }
.gf-art-detail a { display:inline-flex; align-items:center; min-height:44px; color:#fff; text-decoration:underline; text-underline-offset:5px; }
.gf-art-rental .gf-product-facts { border-top:1px solid #526174; max-width:1216px; }
/* Give the real service photos room; remove the floating-card treatment. */
body[data-design]:has(.gf-art-panorama) .gf-service-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
body[data-design]:has(.gf-art-panorama) .gf-service-card:hover { box-shadow:none; transform:none; }
body[data-design]:has(.gf-art-panorama) .gf-service-card picture { aspect-ratio:auto; }
body[data-design]:has(.gf-art-panorama) .gf-service-card img { height:auto; aspect-ratio:3/2; object-fit:cover; }
body[data-design]:has(.gf-art-panorama) .gf-service-card .gf-card-body { padding:24px 0 0; }
body[data-design]:has(.gf-art-panorama) .gf-card-index { letter-spacing:0; }
@media(max-width:1100px) {
 .gf-art-panorama .hero-copy,.gf-art-panorama .gf-product-copy { column-gap:32px; }
 .gf-art-rental .gf-product-layout { gap:28px; }
 .gf-art-detail { gap:16px; }
}
@media(max-width:900px) {
 .gf-art-rental .gf-product-layout { grid-template-columns:1fr; gap:24px; padding:32px 24px; }
 .gf-art-rental .gf-product-copy { padding:0; }
 .gf-art-rental .gf-product-photo picture { max-width:none; }
 .gf-art-rental .gf-product-facts { margin:0 24px; }
 .gf-art-detail { grid-template-columns:minmax(120px,32%) 1fr; }
}
@media(max-width:767px) {
 .gf-art-panorama .hero-layout,.gf-art-panorama .gf-product-layout { padding:0 20px; }
 .gf-art-panorama .hero-copy,.gf-art-panorama .gf-product-copy { display:block; padding:30px 0 28px; }
 body[data-design] .gf-art-panorama h1 { font-size:clamp(34px,8.3vw,46px); max-width:21ch; }
 .gf-art-panorama .gf-art-summary { margin-top:22px; }
 body[data-design] .gf-art-panorama :is(.hero-lead,.hero__lead) { font-size:16px; margin-bottom:22px; }
 .gf-art-panorama .hero-visual figcaption,.gf-art-panorama .gf-product-photo figcaption { flex-direction:column; gap:8px; padding:14px 0 18px; }
 .gf-art-panorama .hero-proof,.gf-art-panorama .gf-product-facts { padding:24px 20px; }
 .gf-art-rental .gf-product-layout { padding:30px 20px; }
 .gf-art-rental .gf-product-facts { margin:0 20px; }
 .gf-art-detail { grid-template-columns:42% 1fr; gap:16px; }
 .gf-art-detail strong { font-size:15px; }
 .gf-art-detail figcaption { font-size:13px; }
}
