/* Real campaign photographs: natural proportions, readable captions, no upscaling. */
.photo-story-overview{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);max-width:1120px;gap:56px;align-items:center;padding-bottom:48px}
.photo-story-overview figure{width:100%;max-width:var(--photo-natural-width,620px);justify-self:center}
.photo-story-overview img{width:auto;max-width:100%;height:auto;max-height:560px;margin:auto;object-fit:contain;border-radius:4px}
.photo-story-overview figcaption{max-width:52em;margin:12px auto 0;font-size:12px;line-height:1.6;text-align:center}
.campaign-gallery{max-width:1120px;padding:20px 6% 64px;margin:0 auto}
.campaign-gallery>h2{font-size:clamp(25px,3vw,36px);line-height:1.2;letter-spacing:-.035em;margin:0 0 16px}
.campaign-gallery>p{max-width:720px;line-height:1.7;margin:0 0 26px}
.campaign-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.campaign-photo-grid>figure{margin:0;width:100%;max-width:var(--photo-natural-width,100%)}
.campaign-photo-grid>figure:only-child{grid-column:1/-1;max-width:min(var(--photo-natural-width,800px),800px)}
.campaign-photo-grid img{display:block;width:auto;max-width:100%;max-height:580px;height:auto;object-fit:contain;border-radius:4px}
.campaign-photo-grid figcaption{font-size:12px;line-height:1.6;color:#53634f;margin-top:12px;max-width:60ch}
.client-name-mark{font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.experience-card.portrait-experience .home-project-image{background:#edf0e5}
.experience-card.portrait-experience .home-project-image img{object-fit:contain;object-position:center top;height:calc(100% - 78px);width:100%}
.experience-card.compact-source-experience .home-project-image img{display:block;object-fit:scale-down;max-width:none;width:100%;height:100%;margin:0}
.project.native-photo-card .photo{background:#edf0e5}
.project.native-photo-card .photo img{display:block;object-fit:scale-down;max-width:none;width:100%;height:100%;margin:0}
.project[href="/work/radley.html"] .photo,.project[href="/work/pandora.html"] .photo,.project[href="/work/playmobil.html"] .photo{background:#edf0e5}
.project[href="/work/radley.html"] .photo img,.project[href="/work/pandora.html"] .photo img,.project[href="/work/playmobil.html"] .photo img{object-fit:contain}
.project[href="/work/crufts.html"] .photo img{object-position:50% 26%}
.project[href="/work/radley.html"] .photo img{object-position:50% 25%}
.project[href="/work/pandora.html"] .photo img{object-position:50% 66%}
.project[href="/work/freshpet.html"] .photo img{object-position:50% 37%}
.project[href="/work/chessington.html"] .photo img{object-position:center 35%}
.project[href="/work/volkswagen.html"] .photo img{object-position:center 30%}
.project[href="/work/playmobil.html"] .photo img{object-position:center 32%}
.service-hero figure:has(img[src*="freshpet"]) img{object-position:50% 34%}
.service-hero figure:has(img[src*="radley"]) img{object-fit:contain;max-height:560px;background:#edf0e5}
@media(max-width:700px){
 .photo-story-overview{grid-template-columns:1fr;gap:28px;padding-bottom:30px}
 .photo-story-overview figure{max-width:min(var(--photo-natural-width,100%),440px)}
 .photo-story-overview img{max-height:560px}
 .campaign-gallery{padding:14px 6% 44px}
 .campaign-photo-grid{grid-template-columns:1fr;gap:28px}
 .campaign-photo-grid>figure,.campaign-photo-grid>figure:only-child{justify-self:center;max-width:min(var(--photo-natural-width,100%),440px)}
 .campaign-photo-grid img{max-height:580px;margin:auto}
 .campaign-photo-grid figcaption{font-size:12px}
 .experience-card.portrait-experience .home-project-image img{height:calc(100% - 67px)}
}
