/* A quiet motion layer for the landing page only. No hidden base states. */
.landing-page .photo-main,
.landing-page .photo-inset { overflow: hidden; }

@media (prefers-reduced-motion: no-preference) {
  .landing-page .b2b-hero h1 {
    animation: cm-title-arrive 750ms cubic-bezier(.22,1,.36,1) both;
  }
  .landing-page .b2b-hero-copy > .eyebrow,
  .landing-page .b2b-hero-copy > p:not(.eyebrow),
  .landing-page .b2b-hero-foot {
    animation: cm-copy-arrive 650ms cubic-bezier(.22,1,.36,1) both;
  }
  .landing-page .b2b-hero-copy > p:not(.eyebrow) { animation-delay: 90ms; }
  .landing-page .b2b-hero-foot { animation-delay: 160ms; }
  .landing-page .b2b-hero-photo img {
    animation: cm-photo-settle 1200ms cubic-bezier(.22,1,.36,1) both;
  }
  .landing-page .b2b-origin-inset img {
    animation: cm-photo-settle 1050ms 90ms cubic-bezier(.22,1,.36,1) both;
  }
  .landing-page .process-panel:not([hidden]) {
    animation: cm-process-change 280ms ease-out;
  }
  .landing-page .button {
    transition: background-color 220ms ease, color 220ms ease, transform 220ms ease;
  }
  .landing-page .row-action,
  .landing-page .guide-link span {
    transition: transform 250ms cubic-bezier(.22,1,.36,1);
  }
  .landing-page .editorial-header nav a,
  .landing-page .quiet-link {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0 1px;
    background-position: 0 100%;
    transition: background-size 280ms ease, color 220ms ease;
  }
  .landing-page .quiet-link { border-bottom-color: transparent; }
  .landing-page .quiet-link:focus-visible,
  .landing-page .editorial-header nav a:focus-visible { background-size: 100% 1px; }
  @media (hover: hover) and (pointer: fine) {
    .landing-page .button:hover { transform: translateY(-2px); }
    .landing-page .service-row:hover .row-action,
    .landing-page .guide-link:hover span { transform: translateX(4px); }
    .landing-page .quiet-link:hover,
    .landing-page .editorial-header nav a:hover { background-size: 100% 1px; }
  }
}

@keyframes cm-title-arrive {
  from { transform: translateY(14px); }
  to { transform: translateY(0); }
}
@keyframes cm-copy-arrive {
  from { opacity: .35; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes cm-photo-settle {
  from { transform: scale(1.035); }
  to { transform: scale(1); }
}
@keyframes cm-process-change {
  from { opacity: .45; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .landing-page *, .landing-page *::before, .landing-page *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .landing-page .guide-image:hover img { transform: none; }
}

@media print {
  .landing-page * { animation: none !important; transition: none !important; }
}
