/* Runtime variables controlled by Javelin Site Studio. */
#background .background-slide {
  transition-duration: var(--builder-bg-transition, 2100ms) !important;
}
#background .background-slide::before {
  filter: var(--javelin-image-filter,var(--javelin-site-image-filter,var(--javelin-global-image-filter,saturate(1)))) contrast(var(--builder-bg-contrast, 1.1)) brightness(var(--builder-bg-brightness, .72)) !important;
}
.background-grain { opacity: var(--builder-grain-opacity, .16) !important; }
.background-mist { opacity: var(--builder-mist-opacity, .52) !important; }
.background-spotlight { opacity: var(--builder-spotlight-opacity, .85) !important; }
.background-vignette { opacity: var(--builder-vignette-opacity, 1) !important; }
.panel {
  background: rgb(13 15 16 / var(--builder-panel-opacity, .9)) !important;
  backdrop-filter: blur(var(--builder-panel-blur, 20px));
  border-radius: 0.2rem;
}
#header h1 { transform: scale(var(--builder-title-scale, 1)); letter-spacing: var(--builder-title-tracking, .24em); }
#header, #footer, .scene-meta { opacity: var(--builder-text-opacity, 1); }
.connector, .intro-frame, .dimension-nav, .brand-emblem { --line: rgb(190 194 196 / var(--builder-line-opacity, .42)); }
body[data-spacing="compact"] .panel { padding: 2.5rem; }
body[data-spacing="balanced"] .panel { padding: 3.25rem; }
.motion-disabled-by-config *, .motion-disabled-by-config *::before, .motion-disabled-by-config *::after { animation-play-state: paused !important; }
.hide-loader-by-config .page-loader, .hide-motion-control-by-config .motion-toggle { display: none !important; }
.custom-panel-copy { display: grid; gap: 1.1rem; max-width: 60ch; }

/* Builder canvas affordances are deliberately invisible on the published site. */
.is-builder-canvas.is-builder-edit [data-builder-key] { cursor: pointer !important; }
.is-builder-canvas.is-builder-edit [data-builder-key]:hover {
  outline: 1px solid rgba(255,255,255,.65);
  outline-offset: 5px;
}
.is-builder-canvas.is-builder-edit .is-builder-selected {
  outline: 2px solid #f4c36b !important;
  outline-offset: 7px;
  box-shadow: 0 0 0 5px rgba(244,195,107,.12);
}
.is-builder-canvas.is-builder-edit .page-loader { display: none !important; }
.is-builder-canvas.is-builder-edit .motion-toggle { display: none !important; }
.is-builder-canvas.is-builder-edit { overflow: auto; }
.is-builder-canvas.is-builder-edit.is-preload #header { opacity: 1; transform: none; }


/* In edit mode, show the composed final state immediately. Experience Preview
   keeps the full entrance choreography and ambient animation intact. */
.is-builder-canvas.is-builder-edit .intro-frame,
.is-builder-canvas.is-builder-edit .intro-kicker,
.is-builder-canvas.is-builder-edit .intro-copy,
.is-builder-canvas.is-builder-edit .dimension-nav li,
.is-builder-canvas.is-builder-edit .connector,
.is-builder-canvas.is-builder-edit .emblem-stage,
.is-builder-canvas.is-builder-edit .scene-meta,
.is-builder-canvas.is-builder-edit #footer {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  clip-path: none !important;
  transition: none !important;
}
.is-builder-canvas.is-builder-edit .split-character {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}
.is-builder-canvas.is-builder-edit .brand-emblem path {
  stroke-dashoffset: 0 !important;
  animation: none !important;
}
.is-builder-canvas.is-builder-edit .intro-frame::before,
.is-builder-canvas.is-builder-edit .intro-frame::after {
  width: 100% !important;
  animation: none !important;
}
.is-builder-canvas.is-builder-edit .dimension-nav ul,
.is-builder-canvas.is-builder-edit .dimension-nav ul::after,
.is-builder-canvas.is-builder-edit .brand-emblem,
.is-builder-canvas.is-builder-edit .brand-emblem::before,
.is-builder-canvas.is-builder-edit .emblem-orbit,
.is-builder-canvas.is-builder-edit .connector::after,
.is-builder-canvas.is-builder-edit .scene-rule::after {
  animation: none !important;
}

/* Site Studio image-treatment cascade. Photographs retain original pixels; these are display-only filters. */
body[data-image-treatment="original"] { --javelin-site-image-filter: saturate(1); }
body[data-image-treatment="black-and-white"], body[data-image-treatment="monochrome-deep"], body[data-image-treatment="soft-monochrome"] { --javelin-site-image-filter: grayscale(1); }
body[data-image-treatment="muted"], body[data-image-treatment="soft-matte"], body[data-image-treatment="neutral-monochrome"] { --javelin-site-image-filter: saturate(.58) contrast(.96); }
body[data-image-treatment="high-contrast"] { --javelin-site-image-filter: contrast(1.18) saturate(1.04); }
body[data-image-treatment="neutral"] { --javelin-site-image-filter: saturate(1); }
[data-image-treatment-override="original"] { --javelin-image-filter: saturate(1) !important; }
[data-image-treatment-override="black-and-white"] { --javelin-image-filter: grayscale(1) !important; }
[data-image-treatment-override="muted"] { --javelin-image-filter: saturate(.58) contrast(.96) !important; }
[data-image-treatment-override="high-contrast"] { --javelin-image-filter: contrast(1.18) saturate(1.04) !important; }
