:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-short:260ms;--motion-long:550ms}
.header{transition:background-color var(--motion-long),box-shadow var(--motion-long),border-color var(--motion-long)}
.header.is-scrolled{background:#0c120d;box-shadow:0 8px 32px #0003;border-bottom-color:#53644370}
.header:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--lime);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.nav nav a{position:relative;transition:color var(--motion-short)}
.nav nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-long) var(--motion-ease)}
.nav nav a[aria-current='location']{color:var(--lime)}
.nav nav a[aria-current='location']:after,.nav nav a:hover:after,.nav nav a:focus-visible:after{transform:scaleX(1)}
.service{transition:transform var(--motion-long) var(--motion-ease),border-color var(--motion-long),box-shadow var(--motion-long),background-color var(--motion-long)}
.service-icon{display:inline-block;transition:transform var(--motion-long) var(--motion-ease)}
.service-link{transition:color var(--motion-short),border-color var(--motion-long)}
.service:focus-within{border-color:#76ff03;box-shadow:0 12px 32px #0002}
.button{transition:background-color var(--motion-short),transform var(--motion-long) var(--motion-ease),box-shadow var(--motion-long);box-shadow:0 0 0 transparent}
.button:active{transform:translateY(0) scale(.98)}
.text-link,.dark-link{transition:color var(--motion-short),border-color var(--motion-short)}
.solution-tabs button{transition:background-color var(--motion-short),color var(--motion-short),border-color var(--motion-short),box-shadow var(--motion-short)}
.solution-tabs button:active{box-shadow:inset 0 0 0 2px #859f6c66}
.faq summary{transition:color var(--motion-short)}
.faq summary:after{content:'+';transition:transform 380ms var(--motion-ease)}
.faq details[open] summary:after{content:'+';transform:rotate(45deg)}
.faq details[open] summary{color:var(--lime)}
input,textarea,select{transition:border-color var(--motion-short),background-color var(--motion-short),box-shadow var(--motion-short)}
input:focus,textarea:focus,select:focus{border-color:#76ff03;background:#263222;box-shadow:0 0 0 3px #76ff030b}
@media(hover:hover) and (pointer:fine){.service:hover{transform:translateY(-7px);border-color:#76ff03;box-shadow:0 18px 40px #0003}.service:hover .service-icon{transform:translateY(-3px) rotate(-7deg)}.service.featured:hover{background:#96ff3d}.button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #76ff0326}.text-link:hover,.dark-link:hover{border-color:currentColor}}
@media(max-width:780px){.nav nav a:after{right:auto;width:30px;bottom:-3px}.header:after{height:1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header,.nav nav a,.nav nav a:after,.service,.service-icon,.service-link,.button,.text-link,.dark-link,.solution-tabs button,.faq summary,.faq summary:after,input,textarea,select{transition:none!important}.service:hover,.service:hover .service-icon,.button:hover,.button:active{transform:none}}
@media print{.header:after{display:none}}
