/* Photographic scenes follow the content; shared marks and reading sizes stay intact. */
.scene-figure{margin:0 0 24px;background:#e9edf0;overflow:hidden;border-radius:8px}
.scene-figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.scene-figure figcaption{font-size:var(--support-size);line-height:1.7;padding:12px 16px;color:var(--muted);background:#eef0ed;overflow-wrap:anywhere}
.solution-gallery{margin:0 0 32px}
.scene-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.scene-tabs button{font-family:inherit;font-size:var(--control-size);font-weight:600;line-height:1.6;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px;text-align:left;padding:16px;min-height:76px;cursor:pointer}
.scene-tabs button span{display:block;font-size:var(--label-size);font-weight:400;margin-bottom:5px}
.scene-tabs button[aria-pressed=true]{background:#102b47;border-color:#102b47;color:#fff}
.scene-tabs button[aria-pressed=true] span{color:var(--lime)}
.scene-tabs button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.solution-scene-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}
.solution-scene-panel .scene-figure{border-radius:0;margin:0;align-self:start}
.solution-scene-copy{padding:28px;min-width:0}
.solution-scene-copy h3{font-size:26px;line-height:1.5;margin:20px 0 14px}
.solution-scene-copy p,.solution-scene-copy li{font-size:var(--reading-size);line-height:1.85;color:var(--muted)}
.solution-scene-copy ul{padding-left:22px;margin:20px 0}
.solution-scene-copy li{margin:10px 0}
.case-card .scene-figure,.research-card .scene-figure{margin-bottom:24px}
.research-row-scene{max-width:760px}
.case-card.design .scene-figure{max-width:900px}
.case-card.design .scene-figure figcaption{color:#405665}
.demo>.scene-figure{margin-top:20px;margin-bottom:16px}
.demo>.scene-figure img{max-height:460px}
.case-dialog-scene{margin:24px 0}
@media(max-width:1000px){.scene-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-scene-panel{grid-template-columns:1fr}.solution-scene-copy{padding:24px}}
@media(max-width:700px){.scene-tabs{gap:8px}.scene-tabs button{font-size:14px;padding:12px;min-height:76px}.scene-tabs button span{font-size:12px}.solution-scene-copy{padding:22px 20px}.solution-scene-copy h3{font-size:23px}.scene-figure figcaption{font-size:14px;padding:12px 14px}.header .contact-small{font-size:13px}.case-dialog-scene{margin:20px 0}}
@media(prefers-reduced-motion:reduce){.scene-figure img{transition:none}}
