/* Product Vision Demo section (AO §23.1): published only with visionDemo in sito.local.json */
.vision-demo { background: var(--paper); }
.vision-demo .frame { position: relative; border-radius: 18px; overflow: hidden; background: var(--sand); box-shadow: 0 18px 40px rgba(20,20,20,.14); aspect-ratio: 16 / 9; }
.vision-demo video, .vision-demo .frame img { width: 100%; height: 100%; display: block; object-fit: cover; }
.vision-demo .demo-caption { font-size: 14px; color: var(--ink-soft); margin: 12px 0 0; display: none; }
.vision-demo .demo-caption.on { display: block; }
.vision-demo .stills-nav { display: flex; gap: 10px; align-items: center; margin-top: 12px; }
.vision-demo .stills-nav button { min-height: 44px; min-width: 44px; border-radius: 999px; border: 1px solid var(--ink); background: #fff; font-size: 18px; cursor: pointer; }
.vision-demo .stills-nav span { font-size: 14px; color: var(--ink-soft); }
.vision-demo.fmt-9x16 .frame { aspect-ratio: 9 / 16; max-height: 82vh; margin: 0 auto; }
