/* Native cross-document transitions progressively enhance supported browsers. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .22s ease both}
::view-transition-new(root){animation:page-in .5s cubic-bezier(.22,1,.36,1) both}
@keyframes page-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes page-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-word-mask{display:inline-block;overflow:clip;vertical-align:bottom;padding:0 .035em .09em;margin:0 -.035em -.09em}
.hero-word-mask>span{display:inline-block}
.hero-content{position:relative}
.motion-enabled [data-parallax]{transition:opacity .4s!important}
.marquee{contain:paint;text-align:left}
.marquee-track{display:inline-flex;white-space:nowrap;vertical-align:top}
.marquee-track>span{flex-shrink:0}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:100;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-toggle{font:inherit;color:inherit;background:transparent;border:1px solid #ffffff40;border-radius:20px;padding:5px 10px;cursor:pointer}
.motion-toggle:disabled{cursor:default;opacity:.65}
body.menu-open .header{position:fixed;background:#152a30}
.navigation{overscroll-behavior:contain}
.navigation>a{transition:color .25s,padding-left .4s cubic-bezier(.22,1,.36,1)}
.navigation>a:hover{color:var(--accent);padding-left:12px}
.navigation>a>span{transition:transform .4s}
.navigation>a:hover>span{transform:rotate(45deg)}
.motion-enabled .pill{transition:background .25s,color .25s,border-color .25s,transform .45s cubic-bezier(.22,1,.36,1),box-shadow .3s}
.motion-enabled .pill:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014}
.pill span,.text-row span,.card-meta span{display:inline-block;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.pill:hover span,.text-row:hover span,.card:hover .card-meta span{transform:translate(3px,-3px)}
.text-row{position:relative}
.text-row:after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.text-row:hover:after{transform:scaleX(1)}
.motion-enabled .gallery-item>span:last-child{transition:transform .4s,background .3s}
.motion-enabled .gallery-item:hover>span:last-child{transform:rotate(45deg);background:var(--accent)}
.motion-enabled .hero-line{border-width:2px}
.motion-enabled dialog[open]{animation:dialog-in .4s cubic-bezier(.22,1,.36,1)}
.motion-enabled dialog[open]::backdrop{animation:backdrop-in .3s ease}
@keyframes dialog-in{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(min-width:1051px){.service-image{position:sticky;top:35px;align-self:start}}
@media(hover:hover) and (pointer:fine){.motion-enabled .card{transition:transform .45s cubic-bezier(.22,1,.36,1)}.motion-enabled .card:hover{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .reading-progress{display:none}
}
html:not(.motion-enabled) .navigation>a,html:not(.motion-enabled) .pill,html:not(.motion-enabled) .pill span,html:not(.motion-enabled) .text-row:after,html:not(.motion-enabled) .card-meta span{transition:none!important}
html:not(.motion-enabled){scroll-behavior:auto}
html:not(.motion-enabled)::view-transition-old(root),html:not(.motion-enabled)::view-transition-new(root){animation:none!important}
html:not(.motion-enabled) *,html:not(.motion-enabled) *::before,html:not(.motion-enabled) *::after{transition:none!important;animation:none!important}
.footer-bottom{flex-wrap:wrap;align-items:center}
.motion-toggle{min-height:32px;margin-right:110px}
@media(max-width:700px){.motion-toggle{margin-right:45px}}
