/* SPIRE DIMENSIONS | Subtle, accessible polish across every page.
   Shared header/footer structures and existing page animations are untouched. */
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #c8a15a; color: #11110f; }
:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid #d8b878 !important;
  outline-offset: 4px;
}
/* Quiet gold edge: it never captures pointer input or overlaps navigation actions. */
.sd-page-progress { position: fixed; z-index: 11050; top: 0; left: 0; width: 100%; height: 2px;
  pointer-events: none; overflow: hidden; opacity: .9; }
.sd-page-progress > span { display: block; width: 100%; height: 100%; transform-origin: left center;
  transform: scaleX(0); background: linear-gradient(90deg,#917346,#e9cf92,#ad8239);
  will-change: transform; }
/* Target only headings/cards without a site's pre-existing reveal animation. */
.sd-smooth-reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .sd-smooth-reveal { opacity: 0; transform: translate3d(0, 21px, 0);
    transition: opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1);
    transition-delay: var(--sd-stagger, 0ms); }
  .sd-smooth-reveal.sd-motion-visible { opacity: 1; transform: translate3d(0,0,0); }
  /* Enhance buttons without overriding each page's own hover transforms. */
  :where(.ph-btn, .lux-button, button[type="submit"]):not(:disabled) {
    transition-duration: .36s; }
  :where(.ph-btn, .lux-button, button[type="submit"]):not(:disabled):active {
    filter: brightness(.95); }
  :where(.ph-feature-image, .project-image, .service-image, .journey-image) img {
    transition: transform .85s cubic-bezier(.18,.72,.2,1); }
  :where(.ph-feature-image, .project-image, .service-image, .journey-image):hover img {
    transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .sd-page-progress > span { will-change: auto; }
  .sd-smooth-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
