/* Explicit owner preference for this local preview: motion stays active.
   No browser or operating-system setting is changed. */
body.motion-preview .process .motion-process-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(40px, 7vw, 100px);
}
body.motion-preview .process.motion-process-ready .steps { padding-bottom: var(--process-end-space, 0px); }
body.motion-preview .process .motion-process-aside {
  position: sticky;
  top: var(--process-sticky-top);
  z-index: 5;
}
body.motion-preview .process .motion-process-visual {
  display: block;
  min-height: 0;
  max-height: none;
  height: clamp(120px, calc(100svh - var(--motion-header-height, 88px) - 210px), 410px);
}
body.motion-preview .process .motion-process-motto { display: block; }
body.motion-preview .process .motion-process-layer {
  /* The base stylesheet uses a blanket !important reduced-motion reset. */
  transition: none !important;
  transform: translateY(10px);
}
body.motion-preview .process .motion-process-layer.is-current {
  transform: none;
  transition: opacity .32s ease, transform .45s cubic-bezier(.22,.75,.25,1) !important;
}
body.motion-preview .process.motion-process-ready .step {
  min-height: clamp(340px, 48svh, 480px);
  padding: 44px 0 58px;
}
body.motion-preview .hero-art .motion-black {
  animation: passage-upper 1.7s cubic-bezier(.22,.75,.25,1) both !important;
}
body.motion-preview .hero-art .motion-red {
  animation: passage-lower 1.7s .12s cubic-bezier(.22,.75,.25,1) both !important;
}
body.motion-preview .shot img { transition: transform .5s !important; }
body.motion-preview .cta { transition: background .2s !important; }
body.motion-preview .fluid-lines { animation: fluid-drift 20s ease-in-out infinite alternate !important; }
/* Short viewports use the same three separate cells as the compact scene. */
@media (max-height: 650px) and (min-width: 901px) {
  body.motion-preview .process .motion-process-masthead { top: 12px; left: 20px; right: 20px; min-height: 30px; }
  body.motion-preview .process .motion-process-brand { width: 100px; }
  body.motion-preview .process .motion-process-layer { inset: 54px 20px 12px; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-rows: minmax(0, 1fr); gap: 10px; }
  body.motion-preview .process .motion-process-phase { grid-area: 1 / 1; align-self: center; font-size: clamp(24px, 7.2cqw, 36px); }
  body.motion-preview .process .motion-process-numeral { grid-area: 1 / 2; font-size: min(13cqw, 52px); }
  body.motion-preview .process .motion-process-symbol { grid-area: 1 / 3; width: min(17cqw, 54px); max-height: 54px; }
}
@media (max-width: 900px) {
  body.motion-preview .process .motion-process-layout { display: block; margin-top: 32px; }
  body.motion-preview .process .motion-process-aside {
    padding-bottom: 8px;
    margin-bottom: 22px;
    border-bottom: 1px solid var(--line);
    background: var(--paper);
    box-shadow: 0 -12px 0 var(--paper);
  }
  body.motion-preview .process .motion-process-visual {
    height: clamp(86px, 22svh, 176px);
    aspect-ratio: auto;
  }
  body.motion-preview .process .motion-process-motto { display: none; }
  body.motion-preview .process .motion-process-masthead { top: 12px; left: 16px; right: 16px; min-height: 30px; }
  body.motion-preview .process .motion-process-brand { width: 88px; }
  body.motion-preview .process .motion-process-count { font-size: 10px; }
  body.motion-preview .process .motion-process-layer {
    inset: 54px 16px 12px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-rows: minmax(0, 1fr);
    gap: 10px;
  }
  body.motion-preview .process .motion-process-phase {
    grid-area: 1 / 1;
    align-self: center;
    font-size: clamp(22px, 7.2cqw, 36px);
  }
  body.motion-preview .process .motion-process-numeral { grid-area: 1 / 2; font-size: min(13cqw, 76px); }
  body.motion-preview .process .motion-process-symbol { grid-area: 1 / 3; width: min(17cqw, 76px); max-height: 76px; }
  body.motion-preview .process .motion-process-nav { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  body.motion-preview .process .motion-process-control { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 52px; padding: 7px 0; font-size: 11px; }
  body.motion-preview .process .motion-process-control-number { font-size: 9px; }
  body.motion-preview .process .motion-process-control-arrow { display: none; }
  body.motion-preview .process.motion-process-ready .step { min-height: max(280px, 44svh); padding: 32px 0 38px; }
}
@media (max-width: 900px) and (max-height: 500px) {
  body.motion-preview .motion-nav-shell > header { grid-template-rows: 44px; row-gap: 0; }
  body.motion-preview .motion-nav-shell > header > nav { display: none; }
  body.motion-preview .process .motion-process-visual { height: 76px; }
  body.motion-preview .process .motion-process-masthead { top: 8px; left: 12px; right: 12px; min-height: 24px; }
  body.motion-preview .process .motion-process-brand { width: 66px; }
  body.motion-preview .process .motion-process-layer { inset: 40px 12px 8px; }
  body.motion-preview .process .motion-process-phase { font-size: 24px; }
  body.motion-preview .process .motion-process-numeral { font-size: 26px; }
  body.motion-preview .process .motion-process-symbol { width: 28px; max-height: 28px; }
  body.motion-preview .process .motion-process-control { min-height: 44px; }
}
