/* Optional visual polish: usable without JavaScript or the animation library. */
.interior, .statement { overflow: hidden; }
.motion-ready .button, .motion-ready .round-arrow, .motion-ready .card-content a {
  transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s ease;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .motion-ready .button:hover, .motion-ready .round-arrow:hover { transform: translateY(-3px); }
  .motion-ready .card-content a:hover { transform: translateX(5px); }
}
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid #e3c995;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready .button, .motion-ready .round-arrow, .motion-ready .card-content a { transition: none; }
  .service-card:hover .card-image, .collection-item:hover { transform: none; }
}

html.motion-ready .hero-content .visible { animation: none; }

/* Moving light and restrained metallic highlights */
@media (prefers-reduced-motion: no-preference) {
  .hero-overlay::after { content:""; position:absolute; inset:-20% -35%; pointer-events:none; background:linear-gradient(110deg,transparent 38%,rgba(218,184,113,.055) 48%,rgba(255,230,179,.16) 50%,rgba(218,184,113,.045) 52%,transparent 62%); transform:translateX(-65%); animation:lpLightSweep 11s ease-in-out 1s infinite; mix-blend-mode:screen; }
  .eyebrow span { transform-origin:left; animation:lpLine 3.5s ease-in-out infinite; }
  .service-card.visible .service-icon { animation:lpIconFloat 4s ease-in-out infinite; }
  .service-card:nth-child(2) .service-icon { animation-delay:.4s; } .service-card:nth-child(3) .service-icon { animation-delay:.8s; } .service-card:nth-child(4) .service-icon { animation-delay:1.2s; }
  .route-center { animation:lpGoldGlow 4s ease-in-out infinite; }
}
@keyframes lpLightSweep { 0%,18% { transform:translateX(-65%); opacity:0; } 28% {opacity:1} 70%,100% {transform:translateX(65%); opacity:0} }
@keyframes lpLine { 0%,100% {transform:scaleX(.7);opacity:.55} 50% {transform:scaleX(1.2);opacity:1} }
@keyframes lpIconFloat { 0%,100% {transform:translateY(0);box-shadow:0 0 0 rgba(208,177,119,0)} 50% {transform:translateY(-5px);box-shadow:0 0 22px rgba(208,177,119,.22)} }
@keyframes lpGoldGlow { 0%,100% { text-shadow:0 0 4px rgba(218,190,139,.1) } 50% { text-shadow:0 0 22px rgba(218,190,139,.52) } }
