.topline .motion-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: var(--space-1) var(--space-3);
  margin-left: auto;
  border: 1px solid rgba(211,162,90,.65);
  border-radius: 2px;
  background: transparent;
  color: var(--ivory);
  font-size: var(--text-xs);
  line-height: 1.5;
  white-space: nowrap;
}
.topline .motion-toggle[hidden] { display: none; }
.motion-toggle:hover, .motion-toggle:focus-visible { background: rgba(211,162,90,.16); }
.motion-toggle:disabled { opacity: .85; cursor: default; }
.motion-photo-window { display: block; overflow: hidden; }
[data-photo-motion] { opacity: 1; transform-origin: 50% 50%; }
.photo-button:hover [data-photo-motion] { transform: none; }
.small-line, .signoff-rule { transform-origin: left center; }
.service-hero-image, .photo-feature { overflow: hidden; }
.gallery-stage { display: grid; position: relative; background: var(--surface); }
.gallery-stage #large-photo, .gallery-stage .gallery-photo-out {
  grid-area: 1 / 1;
  width: 100%;
  height: min(60vh, 620px);
  max-height: none;
  object-fit: contain;
}
.gallery-photo-out { pointer-events: none; }
.gallery-load-status { position: absolute; bottom: var(--space-3); left: var(--space-3); right: var(--space-3); padding: var(--space-3); color: var(--text); background: var(--bg); font-size: var(--text-xs); z-index: 1; }
.gallery-load-status:empty { display: none; }
dialog[open] { animation: none; }
:root[data-motion="on"] .motion-border-in::before { animation: apricot-frame 900ms ease-out both; }
@keyframes apricot-frame { from { opacity: .15; } to { opacity: 1; } }
/* Native navigation remains immediate; unsupported browsers simply navigate. */
@view-transition { navigation: auto; }
/* Keep the old page opaque beneath the incoming page: no blank-page flash. */
::view-transition-old(root) { animation: none; opacity: 1; mix-blend-mode: normal; }
::view-transition-new(root) { animation: page-arrive 280ms ease-out both; mix-blend-mode: normal; }
@keyframes page-arrive { from { opacity: 0; } to { opacity: 1; } }
:root[data-motion="off"] *, :root[data-motion="off"] *::before, :root[data-motion="off"] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
:root[data-motion="off"] { scroll-behavior: auto; }
:root[data-motion="off"] .motion-pending { opacity: 1; }
:root[data-motion="off"]::view-transition-old(root),
:root[data-motion="off"]::view-transition-new(root) { animation: none; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
  .motion-pending { opacity: 1 !important; }
}
@media (max-width: 800px) {
  .topline { padding-inline: var(--space-3); gap: var(--space-2); justify-content: space-between; flex-wrap: nowrap; }
  .topline .motion-toggle { margin-left: 0; padding-inline: var(--space-2); }
  .topline a { font-size: var(--text-xs); }
  .gallery-stage #large-photo, .gallery-stage .gallery-photo-out {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 350px) {
  .topline { padding-inline: var(--space-2); }
  .topline .motion-toggle { padding-inline: var(--space-1); }
}
