/* Bring the footer description into the logo's visual group. */
body .site-footer .footer-brand { margin-top: -18px; }
body .site-footer .footer-brand p { margin-top: -6px; margin-bottom: 0; color: var(--ink); }

/* A quiet reading-position cue; never intercepts links or menu controls. */
.pld-scroll-progress { position: fixed; inset: 0 0 auto; z-index: 100; height: 3px; background: var(--thread); transform: scaleX(0); transform-origin: left; pointer-events: none; }
body[data-nav-open="true"] .pld-scroll-progress { opacity: 0; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  body .button { transition: transform 180ms ease, box-shadow 220ms ease, background-color 180ms ease, color 180ms ease; }
  body .button:active, body .button:hover:active { transform: translateY(1px) scale(.985); }
  body .footer-links .footer-link-arrow { transition: transform 200ms ease; }
  body .hero-slide:not([hidden]) img,
  body .range-image [data-collection-slide]:not([hidden]) { animation: pld-photo-open 550ms ease-out both; }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body main :is(.range-card, li.product, .story-value-card) { transition: transform 260ms ease, box-shadow 260ms ease; }
  body main :is(.range-card, li.product, .story-value-card):hover { transform: translateY(-4px); box-shadow: 0 16px 32px #17364b16; }
  body .button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px #17364b20; }
  body .footer-links a:hover .footer-link-arrow { transform: translateX(4px); }
}

@keyframes pld-photo-open { from { opacity: .55; } to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) { .pld-scroll-progress { transition: none; } }
@media print { .pld-scroll-progress { display: none; } }
