/* Gentle feedback shared by all pages. */
.button,.nav-cta,.teacher-tabs a,.menu{transition:background-color .2s,color .2s,border-color .2s}
.interaction-arrow{display:inline-block;transition:transform .2s}
.links a:not(.nav-cta){position:relative;text-decoration:none}
.links a:not(.nav-cta)::after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.links a[aria-current="page"]:not(.nav-cta)::after{transform:scaleX(1)}
.card,.profile{transition:transform .2s,border-color .2s,box-shadow .2s}
.text-link,.card a{transition:border-color .2s,color .2s}
.button:focus-visible{background:#203c2e}
.contact .button:focus-visible{background:#e7ebdf;color:var(--green)}
.links a:focus-visible::after{transform:scaleX(1)}
.card:focus-within,.profile:focus-within{border-color:#6c846d}
@media(hover:hover) and (pointer:fine){
 .button:hover{background:#203c2e}
 .contact .button:hover{background:#e7ebdf;color:var(--green)}
 .button:hover .interaction-arrow,.text-link:hover .interaction-arrow,.card a:hover .interaction-arrow{transform:translateX(3px)}
 .links a:not(.nav-cta):hover{text-decoration:none}
 .links a:not(.nav-cta):hover::after{transform:scaleX(1)}
 .nav-cta:hover,.menu:hover{background:#e7ebdf}
 .card:hover,.profile:hover{transform:translateY(-2px);border-color:#6c846d;box-shadow:0 4px 12px #304f4009}
 .text-link:hover,.card a:hover{border-color:var(--green)}
}
.button:active,.nav-cta:active,.menu:active{opacity:.9}
@media(prefers-reduced-motion:reduce){
 .button,.nav-cta,.teacher-tabs a,.menu,.interaction-arrow,.card,.profile,.text-link,.card a,.links a::after{transition:none!important}
 .interaction-arrow,.card,.profile{transform:none!important}
}
