/* One physical selection capsule, shared across document navigations. */
@view-transition{navigation:auto}
.topnav{view-transition-name:studio-dock}.site-header>.brand{view-transition-name:studio-brand}
.topnav>nav{position:relative;isolation:isolate}
.nav-indicator{position:absolute;left:0;top:0;z-index:-1;pointer-events:none;border-radius:999px;background:linear-gradient(125deg,#6e7077b8,#333336e8);border:1px solid #ffffffb0;box-shadow:inset 0 2px 2px #ffffff70,inset 0 -3px 5px #1d1e2044,0 4px 12px #5c5d6325;backdrop-filter:blur(12px) saturate(1.5);view-transition-name:studio-selection;transition:transform .65s cubic-bezier(.22,.85,.18,1),width .65s cubic-bezier(.22,.85,.18,1),height .65s cubic-bezier(.22,.85,.18,1);visibility:hidden}
.nav-motion-ready .nav-indicator{visibility:visible}
.nav-motion-ready .top-link[aria-current=page],.nav-motion-ready .top-link[aria-current=page]:hover{background:transparent;border-color:transparent;box-shadow:none;color:#fff}
.top-link{transition:color .4s ease,background .35s ease,box-shadow .35s ease}.top-link:hover{background:#ffffff45}
.nav-motion-ready .top-link[aria-current=page] .nav-icon{filter:drop-shadow(0 0 6px #dcdcde66)}
/* Let the transition own arrival, avoiding an initial hidden heading snapshot. */
.hero>.hero-copy,.hero>h1,.hero>.hero-bottom,.page-heading{animation:none}
::view-transition-group(studio-selection){animation-duration:.68s;animation-timing-function:cubic-bezier(.22,.85,.18,1)}
::view-transition-old(studio-selection),::view-transition-new(studio-selection){height:100%;mix-blend-mode:normal}
::view-transition-group(studio-dock),::view-transition-group(studio-brand){animation-duration:0s}
::view-transition-old(studio-dock),::view-transition-old(studio-brand){animation:none;opacity:0}
::view-transition-new(studio-dock),::view-transition-new(studio-brand){animation:none}
::view-transition-old(root){animation:page-flow-out .24s ease both}
::view-transition-new(root){animation:page-flow-in .55s cubic-bezier(.2,.75,.2,1) .08s both}
@keyframes page-flow-out{to{opacity:0;transform:translateY(-12px);filter:blur(2px)}}
@keyframes page-flow-in{from{opacity:0;transform:translateY(20px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:600px){.topnav>nav{position:absolute}.nav-indicator{border-radius:17px}.menu-open .nav-indicator{view-transition-name:none}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}.nav-indicator,.top-link{transition:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* Accordion content grows into place where intrinsic-size interpolation is supported. */
@supports(interpolate-size:allow-keywords){
 .faq-item{interpolate-size:allow-keywords}
 .faq-item::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .48s cubic-bezier(.22,.85,.18,1),opacity .3s,content-visibility .48s;transition-behavior:allow-discrete}
 .faq-item[open]::details-content{block-size:auto;opacity:1}
 .faq-item>p{animation:none}
}
@media(prefers-reduced-motion:reduce){.faq-item::details-content{transition:none}}

/* Shared by page-specific illustrations. */
@keyframes tool-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
