.has-restaurant-story .landing-hero-copy h1{font-size:clamp(2.2rem,4.6vw,4.3rem);line-height:1.08;max-width:650px}
.has-restaurant-story .landing-hero{height:auto;min-height:570px;display:grid;grid-template-columns:1.05fr 1fr;padding:0;background:#f6f4ec}
.has-restaurant-story .landing-hero-media{position:relative;inset:auto;order:2;min-height:570px;background-size:cover;background-position:55% center}
.has-restaurant-story .landing-hero-copy{position:relative;order:1;width:auto;padding:48px 42px;max-width:none}
.has-restaurant-story .landing-hero .lead{max-width:520px}
.has-restaurant-story .landing-hero-copy h1{font-size:clamp(2rem,4vw,3.7rem)}
@media(max-width:800px){.has-restaurant-story .landing-hero{grid-template-columns:1fr}.has-restaurant-story .landing-hero-copy{padding:30px 22px}.has-restaurant-story .landing-hero-media{min-height:280px;max-height:380px;background-position:center 35%}.has-restaurant-story .landing-hero-copy h1{font-size:clamp(2rem,7vw,3rem)}}
body.exam-mode-active #story-introduction{display:none}
.story-introduction{padding:32px 4px;color:#183b36}.story-introduction h2{font-family:Georgia,serif;font-size:2rem;margin:0 0 18px}.story-introduction p{max-width:900px;line-height:1.65}
.story-chapters{list-style:none;padding:12px 0;display:flex;gap:22px;flex-wrap:wrap;border-block:1px solid #cddbd4;font-weight:600}
.story-album-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.story-album-strip figure{margin:0;width:90px}.story-album-strip img{width:90px;height:60px;object-fit:cover;border-radius:5px}.story-album-strip figcaption{font-size:10px;color:#58665e;margin-top:3px}.story-map-notes{font-size:12px}.story-map-notes summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.story-map-notes p{margin:3px 0!important}
@media(prefers-reduced-motion:no-preference){.story-album-strip figure{animation:story-photo-in .25s ease-out}@keyframes story-photo-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
.story-chapter{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center;margin:16px 0 24px;border-bottom:1px solid #cddbd4;padding-bottom:20px}.story-chapter-scene{width:190px;aspect-ratio:3/2;object-fit:cover;border-radius:10px}.story-chapter-copy h2{margin:0 0 8px;font-family:Georgia,serif;color:#173d37;font-size:1.6rem}.story-chapter-copy p{margin:0 0 10px;line-height:1.45}.story-recorded{font-size:13px;color:#58665e}
.story-result{color:#183b36}.story-result-facts{display:flex;gap:30px;justify-content:space-between;margin:26px 0;font-size:clamp(1rem,2vw,1.5rem)}
.story-waiting-scene{display:block;width:min(100%,650px);border-radius:12px;margin:24px 0}.story-poll-status{line-height:1.6}
.story-table{overflow:hidden;position:relative;height:390px;border-radius:12px;background:#ddd7cd;touch-action:pan-y;isolation:isolate}.story-table:focus-visible{outline:3px solid #147568;outline-offset:4px}
.story-table.is-compact{width:min(100%,650px)}
.story-table-track{height:100%;position:relative;background:url('/assets/olympiad/story/v1/scenes/table.webp') left center/auto 100% repeat-x;transition:transform .35s ease}
.story-table-guest{position:absolute;height:100%;width:auto;left:0;top:0;object-fit:cover;object-position:left;z-index:0;pointer-events:none}
.story-table-items{position:absolute;left:0;bottom:0;display:grid;align-items:end;z-index:1}
.story-serving{appearance:none;background:none;border:0;padding:0 5px 16px;min-width:0;color:#173d37;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;line-height:1.25;display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:170px;transition:transform .2s}.story-serving:hover{transform:translateY(-4px)}.story-serving:focus-visible{outline:3px solid #147568;outline-offset:-4px;border-radius:12px}
.story-serving-image{width:100%;height:110px;object-fit:contain;filter:drop-shadow(0 4px 3px #4b3c2624)}.story-serving span{display:block;text-align:center;max-width:170px;overflow-wrap:anywhere;margin-top:6px}
.story-empty{box-sizing:border-box;width:min(450px,calc(100% - 50px));margin:0 25px 24px;padding:15px;background:#f7f5ecee;line-height:1.6}
.story-table-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin:18px 0 30px}.story-arrow{background:#f6f7ed;color:#173d37;border:1px solid #b9cec4;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.story-arrow svg{width:24px;height:24px}.story-arrow:disabled{opacity:.35;cursor:default}.story-table-position{font-size:14px;text-align:center}
.story-plate-list,.story-answer-review{border-top:1px solid #cddbd4;padding:20px 0}.story-plate-list summary,.story-answer-review summary{cursor:pointer;font-size:20px;font-weight:600;min-height:44px}.story-search{width:100%;max-width:550px;margin:14px 0;padding:12px;border:1px solid #acc4b8;border-radius:8px;font-family:inherit;font-size:16px;background:#fff}.story-plate-rows{list-style:none;padding:0}.story-plate-rows li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe7e1;gap:12px}.story-plate-rows li[hidden]{display:none}.story-plate-link{border:0;background:none;text-align:left;color:#165b4e;padding:14px 0;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;min-height:44px}
.story-kitchen-review h2{font-family:Georgia,serif;font-size:1.7rem;margin:25px 0}.story-kitchen-row,.story-review-row{padding:18px 0;border-bottom:1px solid #d6e0d8}.story-kitchen-row p,.story-review-row p{line-height:1.6;overflow-wrap:anywhere}.story-kitchen-row h3,.story-review-row h3{margin:0 0 10px}
.story-dish-dialog{width:min(650px,calc(100% - 32px));max-height:85vh;overflow:auto;border:0;border-radius:16px;padding:28px;color:#173d37;background:#fcfbf6;box-shadow:0 16px 80px #13292144}.story-dish-dialog::backdrop{background:#102a2566}.story-dish-dialog p{line-height:1.6;overflow-wrap:anywhere}.story-detail-image{width:100%;max-height:280px;object-fit:contain}.story-dish-dialog button{min-height:48px}
.story-run-admin{margin:0 0 24px;padding:24px}.story-run-admin form{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.story-run-admin input{min-height:44px;padding:8px;font-size:16px;font-family:inherit}.story-run-row{padding:20px 0;border-top:1px solid #cddbd4}.story-run-actions{display:flex;gap:12px;flex-wrap:wrap}.story-run-message{line-height:1.6}
@media(max-width:600px){.has-restaurant-story .landing-hero{min-height:600px}.story-chapter{grid-template-columns:86px 1fr;gap:12px}.story-chapter-scene{width:86px;height:112px;object-fit:cover}.story-chapter-copy h2{font-size:1.2rem}.story-chapter-copy p{font-size:13px}.story-chapters{gap:12px;font-size:13px}.story-result-facts{gap:12px;flex-wrap:wrap}.story-table{height:340px}.story-table-guest{object-position:12% center}.story-serving-image{height:105px}.story-serving span{font-size:12px}.story-dish-dialog{padding:18px}.story-run-admin{padding:16px}}
@media(prefers-reduced-motion:reduce){.story-table-track,.story-serving{transition:none}}
@media(max-width:600px){
  .story-chapter{display:block}.story-chapter::after{content:'';display:block;clear:both}
  .story-chapter-scene{float:right;width:76px;height:76px;margin:0 0 12px 14px}
  .story-chapter-copy h2{max-width:calc(100% - 90px)}
  .story-chapter-copy .story-album-strip{clear:both;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:8px}
  .story-album-strip figure{width:auto}.story-album-strip img{width:100%;height:54px}.story-album-strip figcaption{font-size:11px}
  .story-map-notes{grid-column:1/-1;font-size:13px}
}
