/*
 * Shared component motion (C-26, applied to the registered component families).
 * One simple, single-axis entrance per component; no looping or compound movement.
 */
body[data-design="proposal-b"].component-motion-ready .component-reveal {
  --component-motion-delay: 0ms;
  --component-motion-distance: 28px;
  opacity: 0;
  transform: translate3d(0, var(--component-motion-distance), 0);
  transition:
    opacity 520ms ease-out var(--component-motion-delay),
    transform 660ms cubic-bezier(0.22, 1, 0.36, 1) var(--component-motion-delay);
  will-change: opacity, transform;
}

body[data-design="proposal-b"].component-motion-preparing .component-reveal {
  transition: none !important;
}

body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="left"] {
  transform: translate3d(-44px, 0, 0);
}

body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="right"] {
  transform: translate3d(44px, 0, 0);
}

body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="media"] {
  transform: translate3d(0, 28px, 0);
}

body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="for-you-photo"] {
  transform: none;
  transition-property: opacity;
  transition-duration: 520ms;
  transition-timing-function: ease-out;
}

body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="static"] {
  opacity: 1;
  transform: none;
  transition: none;
  will-change: auto;
}

body.page-recruit[data-design="proposal-b"].component-motion-ready .page-section--recruit-flow .content-card.component-reveal:not(:last-child)::after {
  opacity: 0;
  transition: opacity 140ms ease-out calc(var(--component-motion-delay) + 110ms);
}

body.page-recruit[data-design="proposal-b"].component-motion-ready .page-section--recruit-flow .content-card.component-reveal.is-revealed:not(:last-child)::after {
  opacity: 1;
}

body[data-design="proposal-b"].component-motion-ready .component-reveal.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal {
  --component-motion-distance: 36px;
  transform: translate3d(0, var(--component-motion-distance), 0);
  transition-duration: 520ms, 680ms;
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="left"] {
  transform: translate3d(-64px, 0, 0);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="right"] {
  transform: translate3d(64px, 0, 0);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="panel-left"] {
  transform: translate3d(-56px, 0, 0);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="card-left"] {
  transform: translate3d(-52px, 0, 0);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="card-right"] {
  transform: translate3d(52px, 0, 0);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="card-up"] {
  transform: translate3d(0, 36px, 0);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="photo-left"] {
  filter: none;
  transform: scale(1.04);
  translate: -64px 0;
  transition-property: opacity, translate;
  transition-duration: 520ms, 680ms;
  transition-timing-function: ease-out, cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--component-motion-delay);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="photo-right"] {
  filter: none;
  transform: scale(1.04);
  translate: 64px 0;
  transition-property: opacity, translate;
  transition-duration: 520ms, 680ms;
  transition-timing-function: ease-out, cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--component-motion-delay);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="background-wipe"] {
  opacity: 1;
  filter: none;
  transform: none;
  transition: none;
  will-change: auto;
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal.is-revealed {
  transform: translate3d(0, 0, 0);
}

body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal.is-revealed[data-component-motion^="photo-"] {
  transform: scale(1.04);
  translate: 0 0;
}

body.is-front-page[data-design="proposal-b"] :is(
  #reserve,
  #news,
  #instagram,
  #policy,
  #general,
  #services,
  #prevention,
  #staff
) {
  overflow: clip;
}

body.is-front-page[data-design="proposal-b"] :is(
  #policy,
  #general,
  #prevention,
  #staff
) .section-split__media {
  overflow: hidden;
}

@media (min-width: 921px) {
  body.is-front-page[data-design="proposal-b"] #policy[data-component-motion="background-wipe"]::after {
    position: absolute;
    z-index: 3;
    inset: 0;
    content: "";
    background: linear-gradient(110deg, #f2eee5, #dfe9e4);
    transform: scaleX(1);
    transform-origin: right center;
    transition: transform 1120ms cubic-bezier(0.76, 0, 0.24, 1) 80ms;
    pointer-events: none;
  }

  body.is-front-page[data-design="proposal-b"] #policy[data-component-motion="background-wipe"].is-revealed::after {
    transform: scaleX(0);
  }

  body.is-front-page[data-design="proposal-b"] #policy[data-component-motion="background-wipe"] > * {
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 900px) {
  body[data-design="proposal-b"].component-motion-ready .component-reveal {
    --component-motion-distance: 20px;
    transition-duration: 480ms, 560ms;
  }

  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal {
    --component-motion-distance: 24px;
    transition-duration: 480ms, 600ms;
  }

  body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="media"] {
    transform: translate3d(0, 20px, 0);
  }

  body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="for-you-photo"] {
    transform: none;
    transition-duration: 480ms;
  }

  body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="left"],
  body[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="right"],
  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="panel-left"],
  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="card-left"],
  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="card-right"] {
    transform: translate3d(0, 20px, 0);
  }

  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="photo-left"] {
    translate: 0 0;
    transition-duration: 480ms, 600ms;
  }

  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal[data-component-motion="photo-right"] {
    translate: 0 0;
    transition-duration: 480ms, 600ms;
  }

  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal.is-revealed[data-component-motion^="photo-"] {
    translate: 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-design="proposal-b"] .component-reveal {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }

  body.is-front-page[data-design="proposal-b"] :is(
    #policy,
    #general,
    #prevention,
    #staff
  ) .section-split__media img {
    translate: none !important;
    transition: none !important;
  }
}

/* Responsive safety: lateral entrances can appear clipped before reveal on tablets. */
@media (max-width: 1100px) {
  body[data-design="proposal-b"].component-motion-ready .component-reveal:not(.is-revealed)[data-component-motion="left"],
  body[data-design="proposal-b"].component-motion-ready .component-reveal:not(.is-revealed)[data-component-motion="right"],
  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal:not(.is-revealed)[data-component-motion="panel-left"],
  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal:not(.is-revealed)[data-component-motion="card-left"],
  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal:not(.is-revealed)[data-component-motion="card-right"] {
    transform: translate3d(0, 20px, 0);
  }

  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal:not(.is-revealed)[data-component-motion="photo-left"],
  body.is-front-page[data-design="proposal-b"].component-motion-ready .component-reveal:not(.is-revealed)[data-component-motion="photo-right"] {
    translate: 0 0;
  }
}
