/* Progressive motion: native scrolling and fully visible content are the fallback. */
html.lenis, html.lenis body { height: auto; }
html.motion-ready { scroll-behavior: auto; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }

@media (prefers-reduced-motion: no-preference) {
  .button {
    transition: transform .3s cubic-bezier(.22, 1, .36, 1),
      background .25s ease, border-color .25s ease, filter .3s ease, box-shadow .3s ease;
  }
  .field input, .field select, .field textarea { transition: border-color .25s ease; }
  .desktop-nav > a { position: relative; }
  .desktop-nav > a::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 1px;
    background: currentColor; transform: scaleX(0); transform-origin: left;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
  }
  .desktop-nav > a:is(:hover, :focus-visible)::after { transform: scaleX(1); }
  .motion-ready #social-time:checked ~ .social-answers #social-panel-time,
  .motion-ready #social-ideas:checked ~ .social-answers #social-panel-ideas,
  .motion-ready #social-style:checked ~ .social-answers #social-panel-style {
    animation: topic-enter .42s cubic-bezier(.22, 1, .36, 1);
  }
  @keyframes topic-enter {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .instagram-visual > img, .about-photo > img {
    transition: transform 1s cubic-bezier(.22, 1, .36, 1);
  }
  .instagram-visual:hover > img, .about-photo:hover > img { transform: scale(1.025); }
  .about-photo { overflow: hidden; }
  .button:hover {
    transform: translateY(-2px); box-shadow: 0 6px 18px #20201d0c;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .button:hover, .service-row:hover .service-arrow { transform: none; }
}
