/* Real client media retains its native proportions and the existing visual language. */
.project-story-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;width:100%;max-width:540px;margin-inline:auto}
.project-story-gallery .project-story-photo{width:100%;justify-self:stretch}
.real-food-photos>figure img{height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--deep)}
.real-food-photos>div img{height:240px;object-fit:contain;background:var(--deep)}
.real-films{background:var(--paper)}
.real-films .section-heading{max-width:820px}
.real-films .section-title{font-size:clamp(38px,4.5vw,62px)}
.real-films .section-heading>p:not(.eyebrow){max-width:700px;margin-inline:auto}
.real-films-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px;max-width:1100px;margin-inline:auto;align-items:start}
.real-film{min-width:0;margin:0}
.real-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--deep);border:1px solid #ac875044}
.real-film figcaption{padding:21px 0 0;border-top:1px solid var(--line);margin-top:15px}
.real-film h3{font:400 26px/1.3 var(--title);text-transform:uppercase;margin:0 0 8px}
.real-film figcaption p{font:400 12px/1.8 var(--ui);color:var(--muted);margin:0}
.real-film--portrait{width:100%;max-width:360px;justify-self:center}
.real-film--portrait video{aspect-ratio:3/4;max-height:480px}
.real-film video:focus-visible{outline:3px solid var(--warm);outline-offset:5px}
@media(max-width:760px){.real-films-grid{grid-template-columns:1fr;gap:32px}.real-film figcaption{padding-top:16px;margin-top:12px}.real-film h3{font-size:25px}.real-food-photos>div img{height:210px}.project-story-gallery{gap:12px;max-width:460px}.project-story-gallery .project-story-photo{padding:5px}.project-story-gallery .project-story-photo figcaption{font-size:10px;padding:10px 2px 2px}}
@media(max-width:400px){.real-food-photos>div img{height:180px}.project-story-gallery{gap:10px}.real-films .section-title{font-size:36px}}

/* Photographs keep their descriptions visible; videos share the same gallery. */
.gallery-section .gallery-grid{grid-template-rows:repeat(2,340px)}
.gallery-grid button{background:var(--paper);border:1px solid var(--line);text-align:left}
.gallery-grid button>.gallery-photo-preview{position:relative;inset:auto;display:block;width:100%;height:220px;background:var(--deep);border:0;color:inherit;font:inherit;overflow:hidden}
.gallery-grid .gallery-photo-preview img{width:100%;height:100%;object-fit:contain}
.gallery-enlarge{position:absolute;bottom:13px;right:13px;display:grid;place-items:center;width:32px;height:32px;background:#0c1813cc;border:1px solid #e1bb8070;color:white;font:400 20px/1 var(--ui)}
.gallery-grid button>.gallery-card-caption{position:static;display:block;width:auto;height:auto;padding:14px 16px;border:0;background:var(--paper);color:var(--ink);text-align:left;font:400 12px/1.6 var(--ui)}
.gallery-card-caption strong{display:block;font-size:14px;font-weight:600;line-height:1.45;margin-bottom:6px}
.gallery-card-description{display:block;font-size:11px;line-height:1.65;color:var(--muted)}
.gallery-videos{margin-top:60px;padding-top:45px;border-top:1px solid var(--line);scroll-margin-top:120px}
.gallery-videos-heading{max-width:750px;margin-bottom:34px}
.gallery-videos-heading h3{font:400 clamp(31px,3.7vw,46px)/1.2 var(--title);text-transform:uppercase;margin:0 0 18px}
.gallery-videos-heading>p:not(.eyebrow){font-size:20px;line-height:1.65;margin-bottom:0}
.food-support figure{min-width:0}
.food-photo-frame{height:220px;background:var(--deep);overflow:hidden}
.food-support .food-photo-frame img{display:block;width:100%;height:100%;object-fit:contain}
.food-support .food-table-detail img{object-fit:cover;transform:scale(2.4);transform-origin:53% 78%}
.food-photos .food-support figcaption{padding:12px 0 0}
@media(max-width:760px){.gallery-section .gallery-grid{grid-template-rows:repeat(2,330px)}.gallery-grid button>.gallery-photo-preview{height:205px}.gallery-grid button>.gallery-card-caption{padding:14px}.gallery-videos{margin-top:40px;padding-top:32px;scroll-margin-top:100px}.gallery-videos-heading h3{font-size:32px}.gallery-videos-heading>p:not(.eyebrow){font-size:18px}.food-photo-frame{height:205px}}
@media(max-width:400px){.food-photo-frame{height:180px}.gallery-card-caption strong{font-size:13px}}
