/* V20 — centered screen labels, silent map announcements and human implementation. */
.food-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.food-stage .food-stage-visual{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-width:0;width:100%;max-width:680px;justify-self:center;padding:24px;gap:10px}
.food-stage .phase-monitor,.food-stage[data-phase="3"] .phase-monitor{position:relative;inset:auto;grid-column:1;grid-row:1;min-width:0;width:100%;max-width:100%;margin:0;transform:none;border-radius:0;overflow:visible;text-align:center;display:flex;flex-direction:column;align-items:center}
.food-stage .phase-monitor>#phase-screen-label{position:relative;display:block;width:100%;min-width:0;min-height:0;padding:9px 18px 20px;margin:0;line-height:1.6;font-size:11px;text-align:center;white-space:normal;overflow-wrap:anywhere;letter-spacing:.075em;border-radius:0;clip-path:none;transform:none}
.food-stage .phase-monitor img{display:block;position:relative;inset:auto;width:100%;max-width:100%;height:auto;max-height:470px;object-fit:contain;object-position:center;aspect-ratio:1.1;margin:0 auto}
.phase-footer{display:flex;align-items:center;justify-content:center;gap:18px;grid-column:1;grid-row:2;min-width:0;width:100%;padding:4px 10px 0}
.food-stage .phase-footer .dish-world{position:relative;inset:auto;grid-area:auto;flex:0 0 75px;width:75px;height:75px;min-width:0;margin:0}
.food-stage .phase-footer .scene-caption{position:relative;inset:auto;grid-area:auto;display:flex;align-items:center;justify-content:center;min-width:0;max-width:30ch;padding:10px 0;margin:0;text-align:center;font-size:9px;line-height:1.7;background:none;letter-spacing:.035em}
#map-status.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.human-support{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:36px 7%;align-items:center;background:radial-gradient(ellipse at 25% 55%,#25405377,transparent 60%),#081426;overflow:hidden}
.support-film{position:relative;isolation:isolate;aspect-ratio:4/5;width:100%;min-width:0;max-width:500px;justify-self:center;border:1px solid #b6d9e456;border-radius:28px;box-shadow:0 35px 65px #0008,0 0 50px #94c3de0c;overflow:hidden;background:#172d39}
.human-support .support-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;filter:none;transform:none;z-index:0}
.support-film-shade{position:absolute;inset:0;background:linear-gradient(0deg,#061121e8,transparent 38%,#08142610);z-index:1;pointer-events:none}
.support-film-caption{position:absolute;left:27px;right:27px;bottom:28px;z-index:2;text-shadow:0 2px 9px #0008}
.support-film-caption>span{display:block;font-size:8px;line-height:1.6;letter-spacing:.15em;color:#ffc28d;margin-bottom:10px;font-weight:600}
.support-film-caption>strong{display:block;font-size:clamp(18px,2vw,26px);line-height:1.25;letter-spacing:-.035em;color:#fff7e9;font-weight:600}
.support-film-edge{position:absolute;inset:8px;border:1px solid #d5ebf126;border-radius:20px;z-index:3;pointer-events:none}
.support-film-edge:before{content:'';position:absolute;top:12%;left:-1px;width:1px;height:22%;background:linear-gradient(transparent,#ffd2a4,transparent);box-shadow:0 0 15px #ffc28b88;animation:supportEdge 8s ease-in-out infinite alternate}
.support-copy{min-width:0;max-width:660px}.support-copy .eyebrow{font-size:10px;letter-spacing:.12em;line-height:1.8;margin-bottom:22px}.support-copy h2{font-size:clamp(33px,3.9vw,59px);line-height:1.04;letter-spacing:-.045em}.support-copy h2 em{color:#ffac70}.support-copy>p:not(.eyebrow):not(.support-availability){font-size:15px;line-height:1.8;max-width:47ch;margin:26px 0;color:#c4d1de}
.support-options{display:grid;gap:0;margin:0 0 18px}.support-options article{display:flex;gap:16px;align-items:flex-start;padding:17px 0;border-bottom:1px solid #9bc4e326}.support-options article>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid #98b9cc47;border-radius:50%;color:#eabd96;background:#16304580;font-size:9px;font-weight:600}.support-options h3{font:600 16px/1.35 Inter,sans-serif;letter-spacing:-.02em;color:#eef3f6;margin:0 0 7px}.support-options p{font-size:13px;line-height:1.7;color:#bacbda;max-width:48ch}.support-availability{font-size:10px;line-height:1.7;color:#b3c8d8;margin:17px 0 24px}.support-copy .line-button{font-size:10px;padding:14px 19px;min-height:52px;max-width:100%;gap:18px}
.support-journey{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 25px;border-block:1px solid #a0c6df26;min-width:0}.support-journey span{font-size:9px;font-weight:600;letter-spacing:.055em;color:#d2e1ec;line-height:1.6;text-align:center}.support-journey i{font-style:normal;color:#f6b989;font-size:20px}
@keyframes supportEdge{to{top:64%}}
.motion-paused .support-film-edge:before{animation-play-state:paused}
@media(max-width:1000px){.human-support{gap:32px 5%;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.support-copy h2{font-size:36px}.support-options h3{font-size:15px}.support-options p{font-size:12px}.support-copy>p:not(.eyebrow):not(.support-availability){font-size:14px}.support-film-caption{left:20px;right:20px;bottom:23px}.support-film-caption>strong{font-size:18px}.support-film-caption>span{font-size:7px}.support-copy .line-button{font-size:9px;padding-inline:16px}.support-journey span{font-size:8px}}
@media(max-width:850px){.food-stage{grid-template-columns:minmax(0,1fr)}.human-support{grid-template-columns:minmax(0,1fr);gap:36px}.support-copy{grid-row:1;max-width:640px;justify-self:center}.support-film{grid-row:2;max-width:430px}.support-journey{grid-row:3}.support-copy h2{font-size:clamp(34px,6vw,49px)}.support-copy>p:not(.eyebrow):not(.support-availability){font-size:15px}.support-options h3{font-size:17px}.support-options p{font-size:13px}.support-film-caption>strong{font-size:23px}.support-film-caption>span{font-size:8px}.support-copy .line-button{font-size:10px}.support-journey{padding-inline:0;gap:10px}.support-journey span{font-size:7px;max-width:17ch}}
@media(max-width:600px){.food-stage .food-stage-visual{padding:18px 16px;gap:8px}.food-stage .phase-monitor>#phase-screen-label{font-size:10px;letter-spacing:.06em;padding:10px 12px 15px}.phase-footer{gap:12px;padding:0}.food-stage .phase-footer .dish-world{width:65px;height:65px;flex-basis:65px}.food-stage .phase-footer .scene-caption{font-size:8px;max-width:27ch}.human-support{padding-block:65px;gap:32px}.support-copy .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:21px}.support-copy h2{font-size:clamp(32px,8.4vw,46px)}.support-copy>p:not(.eyebrow):not(.support-availability){font-size:14px;margin:23px 0}.support-options article{gap:12px;padding:16px 0}.support-options h3{font-size:15px}.support-options p{font-size:12px}.support-availability{font-size:10px}.support-copy .line-button{font-size:9px;gap:12px;min-height:54px;padding:13px 15px;width:100%}.support-film{border-radius:23px;max-width:370px}.support-film-caption>strong{font-size:21px}.support-journey{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:14px 10px;padding-block:18px}.support-journey span{font-size:8px;max-width:none}.support-journey i:nth-of-type(2){display:none}.support-journey i{text-align:center}.support-journey span:nth-of-type(3){grid-column:1;grid-row:2}.support-journey i:nth-of-type(3){grid-column:2;grid-row:2}.support-journey span:nth-of-type(4){grid-column:3;grid-row:2}}
@media(prefers-reduced-motion:reduce){.support-film-edge:before{animation:none}}

/* V21: the same real footage fills the support chapter, behind the content. */
.chapter.human-support.support-backdrop{display:block;position:relative;isolation:isolate;width:100%;max-width:none;min-height:850px;padding:100px max(6%,calc((100% - 1400px)/2));background:#081426;overflow:hidden}
.human-support.support-backdrop .support-film{position:absolute;inset:0;width:100%;height:100%;max-width:none;min-width:0;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;z-index:0;pointer-events:none;background:#142635}
.human-support.support-backdrop .support-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;border-radius:0;opacity:1;filter:saturate(.85);transform:none}
.human-support.support-backdrop .support-film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061120f5 0%,#081426ec 30%,#081426be 54%,#08142638 83%,#08142645 100%),linear-gradient(0deg,#040c17f2,transparent 24%,transparent 80%,#040c17a6);z-index:1}
.human-support.support-backdrop .support-copy{position:relative;z-index:2;width:58%;max-width:660px;min-width:0;margin:0;text-shadow:0 2px 12px #0003}
.human-support.support-backdrop .support-copy h2{color:#f7f7f5}
.human-support.support-backdrop .support-copy>p:not(.eyebrow):not(.support-availability){color:#d0dbe4}
.human-support.support-backdrop .support-options p{color:#c9d7e3}
.human-support.support-backdrop .support-options article{border-bottom-color:#c9dbe736}
.human-support.support-backdrop .support-availability{color:#becfdd}
.human-support.support-backdrop .support-journey{position:relative;z-index:2;margin:56px auto 0;width:100%;max-width:1400px;border-color:#c8dde438;background:#08142666;backdrop-filter:blur(6px)}
@media(min-width:1800px){.human-support.support-backdrop .support-video{object-position:center 39%}}
@media(max-width:1000px){.chapter.human-support.support-backdrop{padding:80px 6%}.human-support.support-backdrop .support-copy{width:67%;max-width:630px}.human-support.support-backdrop .support-film-shade{background:linear-gradient(90deg,#061120f2,#081426db 42%,#08142691 70%,#08142640),linear-gradient(0deg,#040c17ed,transparent 30%,#040c174d)}}
@media(max-width:850px){.chapter.human-support.support-backdrop{padding:85px 6% 65px;min-height:0}.human-support.support-backdrop .support-copy{width:100%;max-width:640px;margin-inline:auto}.human-support.support-backdrop .support-film{grid-row:auto}.human-support.support-backdrop .support-video{object-position:58% center}.human-support.support-backdrop .support-film-shade{background:linear-gradient(90deg,#071323de,#071323c9),linear-gradient(0deg,#040c17e6,transparent 35%,#040c1773)}.human-support.support-backdrop .support-journey{max-width:640px;margin-top:40px;padding-inline:14px}}
@media(max-width:600px){.chapter.human-support.support-backdrop{padding:70px 22px 55px}.human-support.support-backdrop .support-copy{max-width:none}.human-support.support-backdrop .support-options h3{font-size:15px;line-height:1.5!important}.human-support.support-backdrop .support-video{object-position:56% center}.human-support.support-backdrop .support-journey{margin-top:32px;padding:20px 12px}}
