/* Base layout for full-viewport SVG presentation */
:root { --vh: 1vh; }

html, body {
  height: 100%;
  margin: 0;
  background: #ffffff;
  /* allow vertical scrolling if the SVG is taller than the viewport */
  overflow-x: hidden;
  overflow-y: auto;
  /* Global: only vertical gestures outside the hero */
  touch-action: pan-y;
}


.art {
  width: 100%;
  max-width: 100%;
  height: auto; /* natural height enables vertical scroll when needed */
  display: block;
  -webkit-user-drag: none;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Anchor for absolute overlays (hero carousel) */
.frame { position: relative; }

/* Desktop should fill (allow minimal cropping to cover) */
/* When a fixed viewport fit is desired, set explicit height via inline style or a class */
/* body[data-mode="desktop"] .art { object-fit: cover; } */

/* Mobile shows the entire artwork without cropping */
/* body[data-mode="mobile"] .art { object-fit: contain; } */


/* --- SVG video overlay (Module 2 - Video) --- */
.svg-video-overlay { position: absolute; overflow: hidden; border-radius: 0; }
.svg-video-overlay video { width: 100%; height: 100%; object-fit: fill; display: block; background: #000; }

