.restaurant-visual-workshop.section-shell {padding-top:16px;}
.restaurant-visual-workshop .restaurant-intro {padding:12px 0 20px;}
.restaurant-visual-workshop .restaurant-intro h1 {max-width:1100px;font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.18;margin:10px 0 16px;}
.restaurant-visual-workshop .restaurant-intro .intro {max-width:900px;margin-bottom:0;}
.restaurant-visual-scene {margin:0 0 32px;}
.restaurant-scene-controls {display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:8px 0 14px;}
.restaurant-scene-controls[hidden],[data-scene-hotspots][hidden],.restaurant-scene-legend[hidden],.restaurant-scene-notes[hidden],[data-scene-cost][hidden] {display:none;}
.restaurant-scene-controls button {min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:#fff;font:inherit;}
.restaurant-scene-controls button[aria-pressed=true] {border-color:var(--action);background:var(--tint);font-weight:650;}
.restaurant-visual-frame {position:relative;aspect-ratio:3/2;width:min(100%,720px,80svh);margin:0 auto;background:#fbfaf7;border-radius:20px;}
.restaurant-visual-image {display:block;width:100%;height:100%;object-fit:contain;border-radius:20px;transition:filter 250ms ease;}
[data-scene-state=incident] .restaurant-visual-image {filter:saturate(.75);}
.restaurant-hotspot {position:absolute;top:var(--scene-y);left:clamp(60px,var(--scene-x),calc(100% - 60px));transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;min-height:44px;max-width:140px;padding:8px 12px;border:1px solid #928479;border-radius:12px;background:#fffffff2;box-shadow:0 2px 8px #302e2c18;font:600 .88rem/1.25 NotoSans,Arial,sans-serif;transition:background-color 250ms,border-color 250ms;}
.restaurant-hotspot[aria-expanded=true] {outline:2px solid var(--action);outline-offset:3px;}
.restaurant-node-index,.restaurant-scene-legend {display:none;}
.restaurant-node-dot {width:9px;height:9px;flex:none;border-radius:50%;background:#47745d;}
[data-scene-state=incident] .restaurant-hotspot[data-affected=true] {border-color:var(--brand);background:#fff4ee;}
[data-scene-state=incident] .restaurant-hotspot[data-affected=true] .restaurant-node-dot {background:var(--brand);}
[data-scene-state=plan] .restaurant-hotspot[data-affected=true] {border-color:#796c61;background:#f7f4f1;}
.restaurant-scene-message {max-width:850px;margin:16px auto;font-size:1.05rem;}
.restaurant-scene-notes {max-width:850px;margin:16px auto;padding:16px 20px;border-left:3px solid var(--line);background:#faf8f6;}
.restaurant-scene-notes p {margin:0 0 10px;}
.restaurant-scene-details {max-width:850px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.restaurant-scene-details details {min-width:0;border-top:1px solid var(--line);}
.restaurant-scene-details summary {min-height:44px;padding:10px 0;font-weight:600;cursor:pointer;}
.restaurant-scene-details details p {margin:8px 0 16px;}
.is-enhanced .restaurant-scene-details {display:block;}
.is-enhanced .restaurant-scene-details details:not([open]) {display:none;}
.restaurant-model-disclosure {margin:24px 0 40px;border:1px solid var(--line);border-radius:var(--radius);padding:0 var(--restaurant-panel-space);}
.restaurant-checklist>summary {min-height:48px;padding:12px 0;font-weight:600;cursor:pointer;}
.restaurant-model-disclosure>summary {min-height:56px;padding:18px 0;font-weight:650;font-size:1.05rem;cursor:pointer;}
.restaurant-model-disclosure[open]>summary {border-bottom:1px solid var(--line);margin-bottom:24px;}
@media(max-width:700px) {
  .restaurant-visual-frame {width:100%;aspect-ratio:4/3;}
  .restaurant-hotspot {top:var(--scene-mobile-y);left:clamp(22px,var(--scene-x),calc(100% - 22px));width:44px;height:44px;max-width:none;justify-content:center;border-radius:50%;padding:0;}
  .restaurant-hotspot-label {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  .restaurant-node-dot {display:none;}
  .restaurant-node-index {display:block;font-size:1rem;}
  .restaurant-scene-legend {display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;}
  .restaurant-scene-legend button {min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:.82rem;}
  .restaurant-scene-legend button[aria-expanded=true] {border-color:var(--action);background:var(--tint);}
  .restaurant-scene-controls {justify-content:flex-start;gap:6px;}
  .restaurant-scene-controls button {font-size:.82rem;padding:10px 12px;}
  .restaurant-scene-details {grid-template-columns:1fr;gap:0;}
  
}
@media(prefers-reduced-motion:reduce) {.restaurant-visual-image,.restaurant-hotspot {transition:none;}}

.restaurant-scene-links {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;color:#ad4d35;transition:opacity 250ms ease;}
.restaurant-scene-links polyline {fill:none;stroke:currentColor;stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 300ms ease;}
.restaurant-links-mobile {display:none;}
[data-scene-state=incident] .restaurant-scene-links,[data-scene-state=plan] .restaurant-scene-links {opacity:1;}
[data-scene-state=incident] .restaurant-scene-links polyline,[data-scene-state=plan] .restaurant-scene-links polyline {stroke-dashoffset:0;}
[data-scene-state=plan] .restaurant-scene-links {color:#796c61;}
@media(max-width:700px) {.restaurant-links-desktop {display:none;}.restaurant-links-mobile {display:block;}}
@media(prefers-reduced-motion:reduce) {.restaurant-scene-links,.restaurant-scene-links polyline {transition:none;}}
