/* Motion layer: native scrolling, original typography and palette. */
.motion-enhanced .motion-word {
  display: inline-block;
  overflow: clip;
  vertical-align: top;
  padding-bottom: .13em;
  margin-bottom: -.13em;
}
.motion-enhanced .motion-word-ink {
  display: inline-block;
  transform: translate3d(0, var(--word-lift, 0%), 0);
  opacity: var(--word-fade, 1);
  will-change: transform;
}
.motion-enhanced .motion-entry {
  opacity: 0;
  transform: translate3d(0, 38px, 0);
  transition: opacity .8s ease var(--entry-delay, 0ms), transform 1s cubic-bezier(.22, 1, .36, 1) var(--entry-delay, 0ms);
}
.motion-enhanced .motion-entry.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.motion-enhanced .expertise.motion-entry,
.motion-enhanced .faq.motion-entry {
  transform: translate3d(24px, 22px, 0);
}
.motion-enhanced .expertise.motion-entry.is-in,
.motion-enhanced .faq.motion-entry.is-in {
  transform: translate3d(0, 0, 0);
}
.motion-enhanced .site-header::after {
  content: '';
  position: absolute;
  height: 1px;
  background: currentColor;
  opacity: .65;
  inset: auto 0 0;
  transform: scaleX(var(--page-progress, 0));
  transform-origin: left;
  pointer-events: none;
}
.motion-enhanced .expertise > summary,
.motion-enhanced .faq > summary {
  position: relative;
  isolation: isolate;
}
.motion-enhanced .expertise > summary::before,
.motion-enhanced .faq > summary::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 380px 130px at var(--pointer-x, 50%) var(--pointer-y, 50%), rgba(243,242,237,.075), transparent 75%);
  opacity: 0;
  transition: opacity .45s ease;
}
.motion-enhanced summary.pointer-active::before { opacity: 1; }
.motion-enhanced .expertise > summary h3,
.motion-enhanced .faq > summary h3 {
  translate: var(--row-shift, 0px) 0;
}
.motion-enhanced summary .plus {
  translate: var(--row-arrow-x, 0px) var(--row-arrow-y, 0px);
}
.motion-enhanced .text-link .magnetic-label,
.motion-enhanced .nav-contact .magnetic-label,
.motion-enhanced .back-button .magnetic-label {
  display: inline-block;
  transform: translate3d(var(--mag-x, 0px), var(--mag-y, 0px), 0);
  transition: none;
}
.motion-enhanced .nav-contact .magnetic-label {
  font: inherit;
  margin-left: 0;
  letter-spacing: inherit;
}
.motion-enhanced .solid-button > span:first-child {
  translate: calc(var(--mag-x, 0px) * .65) calc(var(--mag-y, 0px) * .65);
}
.motion-enhanced .magnetic-control > [aria-hidden="true"] {
  translate: var(--mag-x, 0px) var(--mag-y, 0px);
}
.motion-enhanced .solid-button {
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.motion-enhanced .solid-button:hover {
  background: #d8d9d2;
  color: #101111;
}
.motion-enhanced .service-focus {
  position: relative;
}
.motion-enhanced .service-focus::before {
  content: '';
  position: absolute;
  left: 0;
  top: -1px;
  width: 100%;
  height: 1px;
  background: var(--ink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
  opacity: .6;
}
.motion-enhanced .service-focus:hover::before { transform: scaleX(1); }
.motion-enhanced .footer-wordmark {
  transform: translate3d(var(--mark-x, 0px), var(--mark-y, 0px), 0) scale(var(--mark-scale, 1));
  transform-origin: left bottom;
}
.motion-enhanced details[data-animating] { box-sizing: border-box; }
.motion-enhanced details[data-animating] > summary { pointer-events: auto; }
@media(max-width: 760px) {
  .motion-enhanced .motion-entry { transform: translate3d(0, 24px, 0); }
  .motion-enhanced .expertise.motion-entry,
  .motion-enhanced .faq.motion-entry { transform: translate3d(0, 24px, 0); }
  .motion-enhanced .motion-entry.is-in { transform: none; }
  .motion-enhanced summary::before { display: none; }
}
@media(prefers-reduced-motion: reduce) {
  .motion-enhanced .motion-word-ink,
  .motion-enhanced .motion-entry,
  .motion-enhanced .footer-wordmark,
  .motion-enhanced .magnetic-label {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
    will-change: auto;
  }
  .motion-enhanced .expertise > summary h3,
  .motion-enhanced .faq > summary h3,
  .motion-enhanced summary .plus,
  .motion-enhanced .magnetic-control > span { translate: none !important; }
  .motion-enhanced summary::before,
  .motion-enhanced .service-focus::before { display: none; }
}
