/* Interaction feedback stays on controls, never the scroll-driven specimen. */
:root{--micro-ease:cubic-bezier(.22,1,.36,1)}
:is(.round-link,.text-action,.contact-topic,.gallery-arrow,.photo-thumbnail,.portrait-choices button,.pairing button,.morph-filters button,.morph-forms button,.morph-list button){transition:background-color .22s,color .22s,border-color .22s,box-shadow .22s,scale .18s var(--micro-ease)}
:is(.round-link,.text-action,.gallery-arrow,.photo-thumbnail,.portrait-choices button,.pairing button,.morph-filters button,.morph-forms button):active:not(:disabled){scale:.96}
:is(.round-link,.text-action,.contact-topic,.index-animal,.gallery-arrow,.photo-thumbnail,.portrait-choices button,.pairing button,.morph-filters button,.morph-list button):focus-visible{outline:2px solid #697b60;outline-offset:5px}
.round-link .round-symbol{transition:background .28s,color .28s,border-color .28s,translate .35s var(--micro-ease),transform .35s var(--micro-ease)}
.text-action>span,.topic-title>span,.index-select:before{display:inline-block;transition:translate .3s var(--micro-ease),rotate .3s var(--micro-ease)}
#specimen-info[aria-expanded=true]>span{rotate:45deg}
:is(.collection-search,.morph-toolbar):focus-within{border-bottom-color:#53674a;box-shadow:0 1px 0 #53674a}
.pairing select:focus,.pairing select:focus-visible{background:#f1f5ed;border-color:#819274}
.photo-thumbnail[aria-pressed=true]{box-shadow:0 2px 0 #53674a}
.contact-topic{position:relative;overflow:hidden}
.contact-topic:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#65765a;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--micro-ease)}
.contact-topic:focus-visible:after{transform:scaleX(1)}
.index-photo{position:relative;overflow:hidden}
.index-photo:after{content:'Explore ';position:absolute;bottom:14px;right:14px;padding:7px 11px;background:#fff;color:#252d22;border:1px solid #dfe5da;border-radius:30px;font-size:11px;letter-spacing:.02em;opacity:0;translate:0 8px;transition:opacity .25s,translate .35s var(--micro-ease);pointer-events:none}
.index-animal:focus-visible .index-photo:after{opacity:1;translate:0 0}
.morph-animal img{transition:transform .45s var(--micro-ease)}
.pair-presets button[aria-pressed=true]{background:#263325;color:white;border-color:#263325}
@media(hover:hover) and (pointer:fine){
 .round-link:hover .round-symbol{background:#263325;color:#fff;border-color:#263325;translate:4px -2px}
 .text-action:hover>span,.contact-topic:hover .topic-title>span{translate:3px -3px}
 .contact-topic:hover{background:#f5f7f2}
 .contact-topic:hover:after{transform:scaleX(1)}
 .index-animal:hover .index-photo:after{opacity:1;translate:0 0}
 .index-animal:hover .index-select:before{rotate:90deg}
 .morph-animal:hover img{transform:scale(1.035)}
 .morph-list button:hover{box-shadow:inset 3px 0 #8b9a80}
 .morph-forms button:hover,.photo-thumbnail:hover{border-color:#65765a}
}
@media(prefers-reduced-motion:reduce){
 :is(.round-link,.text-action,.contact-topic,.index-animal,.gallery-arrow,.photo-thumbnail,.portrait-choices button,.pairing button,.morph-filters button,.morph-forms button,.morph-list button),.round-symbol,.text-action>span,.topic-title>span,.index-select:before,.index-photo:after,.contact-topic:after,.morph-animal img{transition:none!important;translate:none!important;rotate:none!important;scale:1!important}
 .morph-animal:hover img{transform:none}
}

/* Inline words retain natural wrapping and never move neighbouring content. */
.slither-word{display:inline-block;white-space:nowrap}
.text-action>.slither-text,.topic-title>.slither-text,.text-action>.slither-word,.topic-title>.slither-word{translate:none!important;rotate:none!important}
.round-link{min-height:44px}
@media(prefers-reduced-motion:reduce){.slither-word{transform:none!important}}
