:root{--ease-out:cubic-bezier(.23,1,.32,1)}
@media(prefers-reduced-motion:no-preference){
 .calendar-dialog,.profile-quick-dialog{opacity:0;transform:translateY(8px) scale(.97);transition:opacity 250ms var(--ease-out),transform 250ms var(--ease-out),display 250ms allow-discrete,overlay 250ms allow-discrete}
 .calendar-dialog[open],.profile-quick-dialog[open]{opacity:1;transform:none}
 @starting-style{.calendar-dialog[open],.profile-quick-dialog[open]{opacity:0;transform:translateY(8px) scale(.97)}}
 .calendar-dialog::backdrop,.profile-quick-dialog::backdrop{transition:opacity 250ms var(--ease-out);opacity:1}
 @starting-style{.calendar-dialog[open]::backdrop,.profile-quick-dialog[open]::backdrop{opacity:0}}
 html[data-input=keyboard] dialog{transition:none!important;transform:none!important}
 button,.button,.favourite-button svg{transition:transform 160ms var(--ease-out),background-color 160ms ease,color 160ms ease}
 .favourite-button[aria-pressed=true] svg{transform:scale(1.08)}
 .button:active,button:active{transform:scale(.97)}
 .soft-reveal{animation:soft-arrive 500ms var(--ease-out) both;animation-delay:var(--reveal-delay,0ms)}
 @keyframes soft-arrive{from{transform:translateY(12px)}to{transform:none}}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.mini-programme>a{transition:transform 200ms var(--ease-out),box-shadow 200ms ease}.mini-programme>a:hover{transform:translateY(-3px);box-shadow:0 8px 18px #243c2910}.concordia-event{transition:box-shadow 160ms ease}.concordia-event:hover{box-shadow:0 4px 12px #1b392125}}
@media(hover:none){button:hover,.button:hover,.photograph:hover img,.card-image-link:hover img,.tour-image:hover img,.place-row-image:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.soft-reveal{animation:none!important}.calendar-dialog,.profile-quick-dialog{transition:none!important;transform:none!important;opacity:1}}
.profile-quick-dialog{border:1px solid var(--line);border-radius:18px;padding:30px;background:var(--paper);color:var(--ink);width:min(440px,calc(100vw - 28px));max-height:86svh;overflow:auto;box-shadow:0 20px 65px #0004}.profile-quick-dialog::backdrop{background:#10241da6;backdrop-filter:blur(4px)}.profile-quick-dialog h2{font-size:2.3rem;margin-top:16px}.profile-quick-dialog>img{width:90px;height:90px;object-fit:cover;border-radius:50%;margin-bottom:15px}.profile-quick-dialog p{font-size:14px}.profile-quick-dialog .dialog-close{position:absolute;right:12px;top:12px;width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:25px;border-radius:50%;background:var(--paper);color:var(--ink)}.profile-quick-dialog .actions{gap:12px}.profile-quick-dialog .button{font-size:12px;padding:12px 17px}.profile-link{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
