/* Source proportions, deliberate rows and short editorial passages. */
.case-shell--food { --radius: 20px; }
.case-shell--food .case-section { margin-top: clamp(48px, 6vw, 88px); }
.case-shell--food .case-intro { margin-block: clamp(40px, 5vw, 72px); }
.food-kv { margin-top: clamp(28px, 4vw, 48px); }
.case-shell--food .case-copy { padding: clamp(24px, 3vw, 40px); }
.case-shell--food .case-copy h2 { font-size: clamp(28px, 3vw, 42px); max-width: 20ch; text-align: left; line-height: 1.1; }
.case-shell--food .case-copy p { font-size: clamp(16px, 1.2vw, 18px); line-height: 1.55; text-align: left; max-width: 60ch; margin-inline: 0; text-wrap: pretty; }
.food-section-head { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 20px 48px; align-items: center; margin-bottom: 24px; }
.food-section-head h2 { margin: 0; }
.food-story-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(20px, 3vw, 40px); align-items: center; }
.food-player { aspect-ratio: var(--media-ratio, 4 / 5); width: 100%; position: relative; background: #151516; overflow: hidden; border-radius: var(--radius); }
.food-player iframe { border: 0; position: absolute; inset: 0; height: 100%; width: 100%; }
.food-loop { margin: 0; min-width: 0; }
.food-loop video { width: 100%; height: auto; display: block; border-radius: var(--radius); }
.food-detail-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.food-recipes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); max-width: 1040px; margin-inline: auto; }
.case-shell--food figure { min-width: 0; margin: 0; }
.case-shell--food figcaption { font-size: 14px; line-height: 1.4; color: #bdbdb7; padding: 14px 2px 0; text-wrap: pretty; }
.food-loop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.food-stills { display: grid; gap: clamp(16px, 2vw, 24px); }
.food-still-row { display: grid; gap: clamp(16px, 2vw, 24px); align-items: start; }
.food-still-row--1 { grid-template-columns: .7877fr .6667fr .7817fr .7665fr; }
.food-still-row--2 { grid-template-columns: .6667fr .7719fr .6667fr .6667fr; }
.food-still-row img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.food-films-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 24px; }
.case-result-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-result-strip > div { min-width: 0; padding: clamp(22px,3vw,40px); }
.case-result-strip > div + div { border-left: 1px solid var(--line); }
.case-result-strip dt { color: #bdbdb7; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.case-result-strip dd { margin: 12px 0; font-size: clamp(38px, 4vw, 64px); font-weight: 600; letter-spacing: -.045em; line-height: 1; }
.case-result-strip p { margin: 0; color: #bdbdb7; font-size: 15px; line-height: 1.5; text-wrap: balance; }
.case-source { margin: 20px 0 0; color: #999991; font-size: 13px; line-height: 1.6; max-width: 85ch; text-wrap: pretty; }
.case-source a { color: #d0d0c7; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:900px) {
 .food-section-head { grid-template-columns: 1fr; gap: 20px; }
 .food-story-grid { grid-template-columns: 1fr; }
 .food-story-grid .food-player { max-width: 560px; margin-inline: auto; }
 .food-loop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .food-still-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .food-still-row figure { align-self: stretch; display: flex; align-items: center; border-radius: var(--radius); background: #131314; }
}
@media(max-width:560px) {
 .food-detail-trio, .food-recipes, .food-films-grid { grid-template-columns: 1fr; }
 .case-result-strip { grid-template-columns: 1fr; }
 .case-result-strip > div + div { border-left: 0; border-top: 1px solid var(--line); }
 .case-result-strip > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; align-items: center; }
 .case-result-strip dt { grid-column: 2; grid-row: 1; }
 .case-result-strip dd { grid-column: 1; grid-row: 1 / span 2; margin: 0; }
 .case-result-strip p { grid-column: 2; grid-row: 2; text-wrap: pretty; }
}
