/* Motion has a job: show hierarchy, connect states, confirm an action. */
.nav-link::after{transition:transform .35s var(--ease);transform-origin:right}.nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1);transform-origin:left}.nav-link{transition:color .25s}.nav-link:hover{color:var(--clay)}.button,.save-button,.guide-controls button,.testimonial-bottom button,.room-controls button,.filter-tabs button{transition:color .25s,background-color .25s,border-color .25s}.button svg,.text-link svg{transition:transform .35s var(--ease)}.button:hover svg,.text-link:hover svg{transform:translateX(5px)}.button-dark:hover{background:var(--clay)}.button-paper:hover{background:#ecdace}.save-button:hover{background:#ecdace}.guide-controls button:not(:disabled):hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.testimonial-bottom button:hover{background:var(--paper);color:var(--clay)}.card-image img,.journal-image img{transition:transform .9s var(--ease)}.card-open{transition:transform .4s var(--ease)}.room-photo img{transition:transform 1.15s var(--ease);will-change:auto}.room-controls button:hover{background:#58473d}.room-controls button[aria-pressed=true]:hover{background:var(--paper)}.room-hotspot{transition:background-color .25s,box-shadow .25s}.room-hotspot:hover{background:#f1d3c0;box-shadow:0 0 0 7px #f6f1e927}.room-reset:not(:disabled):hover{background:#f1d3c0}.guide-indicator{transition:transform .5s var(--ease)}.toast{transition:opacity .25s,transform .35s var(--ease)}.service-card::after{transition:transform 1.1s var(--ease)}.service-card.is-revealed{--rule:1}.hero-scroll>span{transition:transform .35s}.hero-scroll:hover>span{transform:translateY(4px)}
@media(hover:hover){.card-image>a:hover img,.journal-image:hover img{transform:scale(1.035)}.card-image>a:hover .card-open,.card-image>a:focus-visible .card-open{transform:translateY(0)}}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .18s ease both}::view-transition-new(root){animation:page-in .28s ease both}@keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0}}
.motion-paused *{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
