/* Motion stays on the content, leaving the overlapping section edges stable. */
.interlaced-home [data-reveal] {
  transition: opacity .85s cubic-bezier(.22,1,.36,1), translate .85s cubic-bezier(.22,1,.36,1), clip-path 1.1s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.interlaced-home [data-reveal].motion-ready:not(.is-visible) { opacity: 0; translate: 0 30px; }
.interlaced-home [data-reveal="image"].motion-ready:not(.is-visible) { clip-path: inset(8% 0 0 0 round 16px); }
.interlaced-home [data-reveal="image"].is-visible { clip-path: inset(0 round 16px); }
.interlaced-home [data-reveal].is-visible { opacity: 1; translate: 0 0; }
.contact-portrait.contact-art { overflow: hidden; background: #102849; }
.contact-art > .contact-art-image { object-position: center top; transform-origin: 48% 30%; animation: contact-drift 18s ease-in-out infinite alternate; animation-play-state: paused; }
.contact-art.is-animating > .contact-art-image { animation-play-state: running; }
.split-contact-form:has(.contact-form:focus-within) .contact-art-image { animation-play-state: paused; }
.contact-art:after { background: linear-gradient(180deg, transparent 18%, #10284915 35%, #102849d9 65%, #0b2039 100%); }
.contact-art .portrait-copy { z-index: 1; }
.art-motion-toggle { position: absolute; z-index: 2; top: 22px; right: 22px; display: inline-flex; gap: 9px; align-items: center; min-height: 42px; padding: 9px 15px; border: 1px solid #d6eaff50; border-radius: 24px; background: #102849a6; color: #edf7ff; font: inherit; font-size: 14px; cursor: pointer; backdrop-filter: blur(8px); }
.art-motion-toggle:hover { background: #24496d; border-color: #d6eaff; }
.art-motion-toggle:focus-visible { outline: 2px solid #a6e5ff; outline-offset: 4px; }
@keyframes contact-drift { from { transform: scale(1.045) translate3d(-.7%,0,0); } to { transform: scale(1.095) translate3d(.7%,-1.2%,0); } }
@media(max-width:700px) {
  .interlaced-home [data-reveal].motion-ready:not(.is-visible) { translate: 0 20px; }
  .contact-portrait.contact-art { min-height: 600px; }
  .contact-art > .contact-art-image { object-position: center 15%; }
  .art-motion-toggle { top: 18px; right: 18px; }
}
@media(prefers-reduced-motion:reduce) {
  .interlaced-home [data-reveal].motion-ready { opacity: 1!important; translate: none!important; clip-path: none!important; transition: none!important; }
  .contact-art > .contact-art-image { animation: none!important; transform: none!important; }
  .art-motion-toggle { display: none; }
}

/* Preserve the framing of the updated brand photographs. */
.interlaced-home .split-visual > img { object-position: 44% center; }
.firm-portrait { object-position: 75% center; }
@media(max-width:700px) { .interlaced-home .split-visual > img { object-position: 50% 30%; } }
