/* One cinematic scene, with restrained feedback through the rest of the page. */
.motion-photo>img{transform-origin:48% 38%;animation:window-camera 6s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform}
@keyframes window-camera{from{transform:scale(1.015) translate(-.15%,.15%)}to{transform:scale(1.105) translate(.7%,-.5%)}}
.hero-photo.motion-paused .motion-photo>img{animation-play-state:paused}

header nav a{position:relative}header nav a::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease-out)}header nav a:focus-visible::after{transform:scaleX(1)}
.home-choice .housing-icon{transition:transform 220ms var(--ease-out)}.home-tick{transition:opacity 160ms ease}.home-option input:checked+.home-choice .housing-icon{transform:translateY(-3px)}
.reveal-ready{opacity:1;transform:translateY(0);transition:opacity 480ms var(--ease-out),transform 480ms var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.reveal-waiting{opacity:0;transform:translateY(18px)}
@media(hover:hover) and (pointer:fine){header nav a:hover::after{transform:scaleX(1)}header nav a:hover{text-decoration:none}.home-option:hover .housing-icon{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.motion-photo>img{animation:none;transform:none;will-change:auto}.reveal-ready,.reveal-waiting{opacity:1;transform:none;transition:none}.home-choice .housing-icon,.home-tick,header nav a::after{transition:none}.home-option input:checked+.home-choice .housing-icon,.home-option:hover .housing-icon{transform:none}}
