/* Motion enhances the existing print composition; the default page stays visible. */
.motion-title-line { display: block; }
.home-hero { overflow: hidden; overflow: clip; }
.hero-surround, .hero-original { translate: 0 var(--hero-drift, 0px); }
.print { translate: 0 var(--paper-drift, 0px); }
.hero-media { isolation: isolate; }
.reading-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}
.site-header { transition: box-shadow 0.25s ease; }
.site-header.is-scrolled { box-shadow: 0 6px 28px #2023220a; }
.desktop-nav a { position: relative; }
.desktop-nav a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7px;
  height: 1px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.35s cubic-bezier(.22, 1, .36, 1);
}
.desktop-nav a:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
  transform-origin: left center;
}
.button {
  transition: background 0.2s ease, transform 0.35s cubic-bezier(.22, 1, .36, 1), box-shadow 0.35s ease;
}
.button svg, .text-link svg, .back-top svg {
  transition: transform 0.35s cubic-bezier(.22, 1, .36, 1);
}
.button:is(:hover, :focus-visible) svg, .text-link:is(:hover, :focus-visible) svg {
  transform: translate(3px, -3px);
}
.button:active { transform: translateY(0) scale(.98); }
.back-top:is(:hover, :focus-visible) svg { transform: translateY(-4px); }
.contact-value { transition: color 0.2s ease; }
.contact-value:is(:hover, :focus-visible) { color: var(--orange); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button:hover { transform: translateY(-3px); box-shadow: 0 8px 18px #20232220; }
  .print { transition: scale 0.5s cubic-bezier(.22, 1, .36, 1), box-shadow 0.5s ease; }
  .print:hover { scale: 1.018; box-shadow: 0 18px 30px #20232220; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-surround, .hero-original, .print { translate: none; }
  .reading-progress { display: none; }
  .button:is(:hover, :active), .button:is(:hover, :focus-visible) svg,
  .text-link:is(:hover, :focus-visible) svg, .back-top:is(:hover, :focus-visible) svg { transform: none; }
}
