/* Motion follows the angular key visual, with no scroll hijacking. */
.conference-page .reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#dc343c;transform:scaleX(0);transform-origin:left;z-index:1000;pointer-events:none}
.conference-page .home-ticket-gateway{background:radial-gradient(ellipse at var(--glow-x,45%) 110%,#6f1825 0,transparent 65%),#171717}
.conference-page nav>a:not(.nav-ticket){position:relative}
.conference-page nav>a:not(.nav-ticket)::after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.conference-page nav>a:not(.nav-ticket):is(:hover,:focus-visible)::after{transform:scaleX(1);transform-origin:left}
.conference-page .nav-ticket,.conference-page .gateway-action .button{transition:background .25s ease,box-shadow .25s ease,translate .3s ease}
.conference-page .gateway-action .button span{transition:transform .3s ease}
.conference-page .photo-story figure{overflow:hidden}
@media(hover:hover) and (pointer:fine){
.conference-page .speaker-card{transition:translate .35s ease,box-shadow .35s ease}
.conference-page .speaker-card:hover{translate:0 -7px;box-shadow:0 18px 40px #0003}
.conference-page .speaker-card:hover .speaker-portrait img{transform:scale(1.045)}
.conference-page .photo-caption{transition:translate .35s ease}
.conference-page .photo-story:hover .photo-caption{translate:0 -6px}
.conference-page .nav-ticket:hover,.conference-page .gateway-action .button:hover{background:#c52735;translate:0 -2px;box-shadow:0 8px 25px #82172430}
.conference-page .gateway-action .button:hover span{transform:translate(3px,-3px)}
}
@media(prefers-reduced-motion:reduce){
.conference-page *, .conference-page *::before,.conference-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.conference-page .speaker-card:hover,.conference-page .photo-story:hover .photo-caption,.conference-page .nav-ticket:hover,.conference-page .gateway-action .button:hover{translate:none}
.conference-page .speaker-card:hover .speaker-portrait img,.conference-page .gateway-action .button:hover span{transform:none}
.conference-page .reading-progress{display:none}
}
