/* =========================================================
   LA PAIX — v0.2.235 navigation contract / business cue
   ---------------------------------------------------------
   Fragments identify arrivals without changing authored copy or media.
========================================================= */

@media (min-width: 901px) {
  :is(#contact-form, #visual-services, #selected-works, #personal-photo, #case-01, #personal-branding, #corporate, #brand-visual, .faq-group) {
    scroll-margin-top: calc(var(--header-height, 76px) + 28px);
  }
  .lapaix-page-business :is(#business-scope, #business-service-corporate, #business-service-personal, #business-service-brand-site, #business-service-visual) {
    scroll-margin-top: calc(var(--header-height, 76px) + 28px);
  }
}

/* CSS-only arrival cue: it changes no layout property and owns no runtime. */
.lapaix-page-business .business-service { position: relative; }
.lapaix-page-business .business-service::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: rgba(144, 119, 93, .82);
  content: '';
  pointer-events: none;
}
.lapaix-page-business .business-service:target::before {
  animation: lapaix-business-anchor-rule 500ms cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes lapaix-business-anchor-rule { to { width: 100%; } }

/* Existing desktop .js-reveal supplies the one-shot state. Touch widths retain
   v177's immediate, paint-stable media behavior. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  html.has-js .lapaix-page-business .business-team__image.js-reveal {
    clip-path: inset(0 50% 0 50%);
    opacity: 1;
    transform: none;
    transition: clip-path 700ms cubic-bezier(.22, 1, .36, 1);
    will-change: clip-path;
  }
  html.has-js .lapaix-page-business .business-team__image.js-reveal.is-visible {
    clip-path: inset(0 0 0 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lapaix-page-business .business-service:target::before { width: 100%; animation: none; }
}

@media (max-width: 900px) {
  /* JS adds the ready class only after its one-element observer exists. The
     original image remains fully visible when JavaScript is unavailable. */
  .lapaix-page-business .business-team__image.is-aperture-ready > img {
    position: relative;
    z-index: 1;
  }
  .lapaix-page-business .business-team__image.is-aperture-ready::before,
  .lapaix-page-business .business-team__image.is-aperture-ready::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    width: 50%;
    background: var(--color-paper, #f4efe7);
    content: '';
    pointer-events: none;
    transform: scaleX(1);
  }
  .lapaix-page-business .business-team__image.is-aperture-ready::before {
    left: 0;
    transform-origin: left center;
  }
  .lapaix-page-business .business-team__image.is-aperture-ready::after {
    right: 0;
    transform-origin: right center;
  }
  .lapaix-page-business .business-team__image.is-aperture-opening::before,
  .lapaix-page-business .business-team__image.is-aperture-opening::after {
    will-change: transform;
    transition: transform 690ms cubic-bezier(.22, 1, .36, 1);
  }
  .lapaix-page-business .business-team__image.is-aperture-open::before,
  .lapaix-page-business .business-team__image.is-aperture-open::after {
    transform: scaleX(0);
  }
  .mobile-back-to-top {
    width: 35px;
    height: 35px;
    background: rgba(255, 253, 248, .90);
    font-size: 15px;
  }
  body.has-editorial-index-lock .mobile-back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
