/* Focus, dialog and motion details kept separate from the core public layout. */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #2fa435;outline-offset:3px}

.public-speaker-more{border:0;background:transparent;color:#4f2b87;font:inherit;font-weight:900;padding:10px 0;cursor:pointer}
.speaker-profile-dialog{width:min(680px,calc(100% - 28px));max-height:86vh;overflow:auto;border:0;border-radius:10px;padding:36px;box-shadow:0 30px 90px rgba(30,18,38,.35)}
.speaker-profile-dialog::backdrop{background:rgba(24,14,31,.68)}
.speaker-profile-dialog>img{width:120px;height:120px;object-fit:cover;border-radius:50%;margin-bottom:16px}
.speaker-profile-dialog h2{color:#4f2b87;margin-bottom:5px}
.speaker-profile-dialog .dialog-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:2rem;cursor:pointer}
.speaker-rich{line-height:1.7;margin-top:20px}
.speaker-rich h2,.speaker-rich h3,.speaker-rich h4{color:#4f2b87}
.speaker-rich blockquote{margin:16px 0;padding:14px 18px;border:1px solid #d9cbe7;border-left:5px solid #4f2b87;background:#faf8fc;border-radius:6px}

.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.motion-ready .reveal.in-view{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .motion-ready .reveal{opacity:1;transform:none}
}

@media(max-width:560px){
  .speaker-profile-dialog{padding:28px 22px}
}
