/* Real owner-supplied photographs. Existing navy/cyan/orange system is retained. */
.real-photo-hero{background:var(--navy-deep)}
.real-photo-hero>img{width:100%;height:auto;object-fit:contain;max-height:none}
.photo-card{margin:0;min-width:0;overflow:hidden;border:1px solid #bbcfdd;border-bottom:3px solid var(--cyan);border-radius:4px;background:#e2edf4;color:var(--ink)}
.photo-card .photo-link{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:#dce8f0}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .2s ease}
.photo-card .photo-link:hover img{transform:scale(1.015)}
.photo-card figcaption{padding:13px 15px;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.025em}
.dark .photo-card{border-color:#527991;border-bottom-color:var(--cyan);background:#0d3b58;color:#f4fbff}
.dark .photo-card .photo-link{background:#072a43}
.about-photo .photo-link{aspect-ratio:998/766}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.about-photo-strip{margin-top:28px}
.company-grid .photo-card{display:flex;flex-direction:column;height:100%}
.company-grid .photo-card .photo-link{flex:1;min-height:175px}
.company-grid .yard .photo-link{aspect-ratio:auto;min-height:350px}
.company-grid .yard .photo-link img{object-fit:cover}
.photo-library{margin-top:34px}
.photo-library-heading{margin-bottom:18px}
.photo-library-heading h3{font-size:19px;letter-spacing:.035em;line-height:1.35}
.photo-library-heading p{font-size:13px;margin-top:9px;color:#c5dce9}
.photo-album{margin-top:12px;border:1px solid #93b0c5;border-left:3px solid var(--cyan);border-radius:3px;background:rgba(239,247,252,.055)}
.photo-album summary{cursor:pointer;padding:18px 20px;font-weight:700;font-size:15px;line-height:1.45;list-style-position:inside}
.photo-album summary span{float:right;font-size:11px;letter-spacing:.02em;font-weight:400;background:#0b6d94;color:#fff;padding:4px 9px;border-radius:2px;margin-left:14px}
.photo-album[open] summary{border-bottom:1px solid #93b0c5}
.photo-album .photo-gallery{padding:20px}
.photo-album-note{padding:15px 20px 0;font-size:13px}
.photo-context-note{margin:20px auto 0;max-width:900px;text-align:center;font-size:13px;line-height:1.65;color:var(--muted)}
.dark .photo-context-note{color:#c5dce9}
.shipment-photo-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.shipment-photo-panel .photo-context-note{grid-column:1/-1;margin-top:0}
.visits-photo-strip{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:26px}
#customers .photo-album{margin-top:26px}
.real-photo-banners .truck-banner{display:grid;grid-template-columns:1fr 1.15fr;min-height:360px;height:auto;border-bottom:3px solid var(--cyan);border-radius:4px}
.real-photo-banners .banner-art{position:relative;inset:auto;grid-column:2;grid-row:1;min-width:0;background:#143c55}
.real-photo-banners .banner-art img{width:100%;height:100%;max-width:100%;margin:0;object-fit:contain}
.real-photo-banners .banner-art:after{display:none}
.real-photo-banners .banner-copy{position:relative;grid-column:1;grid-row:1;width:auto;padding:44px 34px}
.real-photo-banners .banner-copy h3{font-size:38px;line-height:1.08}
.category-card.real-category-card .category-photo{background:var(--navy)}
.category-card.real-category-card .category-photo img{width:100%;height:100%;object-fit:contain}
@media(max-width:900px){
 .photo-gallery{gap:14px}.photo-card figcaption{padding:11px 12px;font-size:12px}
 .company-grid .yard .photo-link{aspect-ratio:16/9;min-height:260px}
 .company-grid .photo-card .photo-link{min-height:190px}
 .photo-album .photo-gallery{padding:15px}
 .visits-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .real-photo-banners .truck-banner{min-height:320px}
 .real-photo-banners .banner-copy{padding:32px 24px}
 .real-photo-banners .banner-copy h3{font-size:31px}
}
@media(max-width:640px){
 .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .about-photo-strip{grid-template-columns:1fr;margin-top:20px}
 .about-photo-strip .photo-link{aspect-ratio:16/9}
 .photo-card figcaption{font-size:12px;padding:12px}
 .company-grid .photo-card .photo-link{min-height:155px}
 .company-grid .yard .photo-link{min-height:220px;aspect-ratio:4/3}
 .photo-library{margin-top:26px}
 .photo-library-heading h3{font-size:17px}
 .photo-library-heading p{font-size:12px}
 .photo-album summary{font-size:13px;padding:16px 12px}
 .photo-album summary span{font-size:10px;padding:3px 6px;margin-left:8px}
 .photo-album .photo-gallery{padding:12px;gap:10px}
 .photo-album .photo-card figcaption{font-size:11px;padding:9px}
 .photo-context-note{font-size:12px;text-align:left}
 .shipment-photo-panel{grid-template-columns:1fr}
 .shipment-photo-panel .photo-link{aspect-ratio:4/3}
 .visits-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .real-photo-banners .truck-banner{display:flex;flex-direction:column;min-height:0;height:auto}
 .real-photo-banners .banner-copy{padding:29px 23px}
 .real-photo-banners .banner-copy h3{font-size:31px;max-width:none}
 .real-photo-banners .banner-art{position:relative;inset:auto;aspect-ratio:4/3;width:100%}
 .real-photo-banners .banner-art img{position:absolute;inset:0;height:100%;width:100%;margin:0;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){.photo-card img{transition:none}.photo-card .photo-link:hover img{transform:none}}
