/* Calm, one-time entrances. Content remains visible without JavaScript. */
@keyframes rural-rise{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes rural-photo{from{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-lead,.hero-copy>.hero-support,.hero-copy>.button,.hero-copy>.micro,.hero-copy>.service-area{animation:rural-rise .8s cubic-bezier(.22,1,.36,1) backwards}
.hero-copy>h1{animation-delay:.08s}.hero-copy>.hero-lead{animation-delay:.16s}.hero-copy>.hero-support{animation-delay:.22s}.hero-copy>.button{animation-delay:.28s}.hero-copy>.micro,.hero-copy>.service-area{animation-delay:.34s}
.hero-photo picture{animation:rural-photo 1.4s cubic-bezier(.22,1,.36,1) backwards}
.motion-enter{animation:rural-rise .85s cubic-bezier(.22,1,.36,1) backwards}
.button,.text-link,.property-grid>div,.option-cards>article{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #80371922}.button:active{transform:translateY(0);box-shadow:none}.button span,.text-link{transition:transform .25s ease}.button:hover span{transform:translate(2px,-2px)}
@media(hover:hover){.property-grid>div:hover{transform:translateY(-4px)}.text-link:hover{transform:translateX(3px)}}
}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;background:#b84924;transform:scaleX(0);transform-origin:left;pointer-events:none}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}html{scroll-behavior:auto}}
