/* Shared motion layer: keeps the existing editorial design intact. */
:root{--header-clearance:122px}
html{scroll-padding-top:var(--header-clearance)}
.site-header{position:sticky;top:0;z-index:100;background:var(--paper);transition:box-shadow .3s ease}
.site-header.is-scrolled{box-shadow:0 5px 24px rgb(49 24 35 / .12)}
main [id]{scroll-margin-top:var(--header-clearance)}
#navigation{max-height:calc(100dvh - 110px);overflow-y:auto}
#navigation a{position:relative}
#navigation a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
#navigation a:hover::after,#navigation a:focus-visible::after,#navigation a[aria-current="page"]::after{transform:scaleX(1)}
.button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
.button:focus-visible{box-shadow:0 5px 16px rgb(49 24 35 / .15)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
.button:hover{transform:translateY(-3px);box-shadow:0 7px 18px rgb(49 24 35 / .15)}
.property-image img{transition:filter .45s ease}
.property-image:hover img{filter:brightness(1.04)}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(max-width:760px){:root{--header-clearance:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.button,#navigation a::after,.property-image img{transition:none!important}}
