/* Restrained motion: stable layout, banner crossfade, and a single home entrance. */
:root{--motion-fast:160ms;--motion-standard:240ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
.ref-home .ref-hero-copy{animation:none;max-width:52%;padding-top:28px;padding-bottom:0;padding-right:18px}
.ref-home .ref-hero-outgoing{z-index:3;pointer-events:none;will-change:opacity}
.ref-home .ref-hero-label{display:block;line-height:24px;min-height:24px;margin-bottom:12px}
.ref-home .ref-hero-copy>p{max-width:100%;min-height:48px;line-height:24px;margin-top:10px;white-space:normal;word-break:keep-all;overflow-wrap:break-word}
.ref-home .ref-hero-link{margin-top:16px;min-width:146px;justify-content:center;white-space:nowrap}
.ref-home .ref-hero-controls{width:min(264px,calc(100% - 36px));height:48px;padding:8px 12px;display:grid;grid-template-columns:48px minmax(0,1fr) repeat(2,32px);gap:5px}
.ref-hero-controls>span{display:block;width:48px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ref-hero-controls b{display:inline-block;min-width:2ch}
.ref-home .ref-hero-controls>button{width:32px;height:32px;border-radius:4px}
.ref-home .ref-hero-dots{padding:0;justify-content:center;gap:4px}
.ref-home .ref-hero-dots button{position:relative}
.ref-home .ref-hero-dots button:after{background:#dbe1e3}
.ref-hero-progress{position:absolute;left:0;top:calc(50% - 1.5px);width:100%;height:3px;background:#165dba;border-radius:3px;transform:scaleX(0);transform-origin:left center;pointer-events:none}
@media(prefers-reduced-motion:reduce){.ref-home .ref-hero-dots button[aria-pressed="true"]:after{background:#165dba}}
.ref-home .ref-hero-controls>button:hover{background:#eef2f6}
@media(max-width:760px){.ref-home .ref-hero-copy{max-width:60%;padding-top:24px;padding-right:8px}.ref-home .ref-hero h1{font-size:27px;line-height:1.35}.ref-home .ref-hero-label{font-size:14px;line-height:21px;min-height:21px}.ref-home .ref-hero-copy>p{font-size:14px;line-height:22px;min-height:44px}.ref-home .ref-hero-controls{height:44px;padding-top:6px;padding-bottom:6px}.ref-home .ref-hero-link{min-width:140px}}
@media(max-width:360px){.ref-home .ref-hero h1{font-size:24px}.ref-home .ref-hero-link{min-width:128px}.ref-home .ref-hero-copy{max-width:64%}}
:is(.ref-quick,.ref-book-cover,.ref-service-stack>a,.sdi-button,.srl-social-buttons button,.ref-filters button,.ref-shelf-controls button,.sr-controls button){transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-standard),transform var(--motion-standard) var(--motion-ease)}
:is(.ref-hero-link,.ref-heading>a,.ref-corner-link,.srl-login-welcome>a,.sdi-login-icon) svg{transition:transform var(--motion-standard) var(--motion-ease)}
.ref-service .ref-corner-link{transition:background-color var(--motion-fast)}
.sdi-header-search{transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
.sdi-header-search:focus-within{box-shadow:0 0 0 3px #185cba16}
.sdi-nav-title{position:relative}
.sdi-nav-title::after{content:"";position:absolute;left:24%;right:24%;bottom:0;height:2px;background:#195bab;transform:scaleX(0);transform-origin:center;transition:transform var(--motion-standard) var(--motion-ease)}
.sdi-nav-group:focus-within>.sdi-nav-title::after{transform:scaleX(1)}
.sdi-full-menu,.sdi-search-drawer{animation:ui-panel-in 200ms var(--motion-ease)}
.sdi-full-menu details[open]>nav,.sdi-faq-list details[open]>div{animation:ui-answer-in 180ms var(--motion-ease)}
.sdi-full-menu summary::after,.sdi-faq-list summary i{transition:transform 180ms var(--motion-ease)}
.sdi-faq-list details[open] summary i{transform:rotate(180deg)}
#dialog[open]{animation:ui-dialog-in 200ms var(--motion-ease)}
#dialog[open]::backdrop{animation:ui-backdrop-in 160ms ease-out}
.ref-shelf-controls button:disabled{opacity:.34;cursor:default;box-shadow:none;transform:none}
.ref-book-cover:focus-visible,.ref-quick:focus-visible,.ref-service:focus-visible{outline:3px solid #276abe;outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 .ref-book-cover:hover{transform:translateY(-3px);box-shadow:3px 4px 0 #d7dfe9,5px 9px 16px #172b4514}
 .ref-quick:hover,.ref-service-stack>a:hover{transform:translateY(-2px)}
 .ref-hero-link:hover svg,.ref-heading>a:hover svg,.srl-login-welcome>a:hover svg{transform:translateX(3px)}
 .ref-service:hover .ref-corner-link{background:#164a85}
 .ref-service:hover .ref-corner-link svg{transform:translate(2px,-2px)}
 .sdi-nav-group:hover>.sdi-nav-title::after{transform:scaleX(1)}
 .sdi-nav-group:hover>.sdi-dropdown{animation:ui-answer-in 160ms var(--motion-ease)}
 .ref-main-videos a:hover img,.ref-library-tile:hover img{transform:scale(1.025)}
}
:is(.ref-quick,.sdi-button,.srl-social-buttons button,.ref-shelf-controls button,.sr-controls button):active:not(:disabled){transform:translateY(1px)}
@keyframes ui-panel-in{from{opacity:.55;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes ui-answer-in{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@keyframes ui-dialog-in{from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}
@keyframes ui-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .ref-book-cover:hover,.ref-quick:hover,.ref-service-stack>a:hover,.ref-service:hover .ref-corner-link svg,.ref-hero-link:hover svg,.ref-heading>a:hover svg,.srl-login-welcome>a:hover svg,.ref-main-videos a:hover img,.ref-library-tile:hover img{transform:none!important}
 :is(.ref-quick,.sdi-button,.srl-social-buttons button,.ref-shelf-controls button,.sr-controls button):active:not(:disabled){transform:none}
}
