:root{--accent:#77213C;--navy:#2E3454;--ground:#ECF0F9}
body{margin:0}
a{color:#77213C}a:hover{color:#2E3454}
@keyframes abUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes abFade{from{opacity:0}to{opacity:1}}
@keyframes abScale{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes abFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.ab-in{animation:abUp .9s cubic-bezier(.2,.7,.2,1) both}
.ab-fade{animation:abFade 1s ease both}
.ab-d1{animation-delay:.12s}.ab-d2{animation-delay:.24s}.ab-d3{animation-delay:.36s}.ab-d4{animation-delay:.5s}.ab-d5{animation-delay:.65s}
.ab-float{animation:abUp .9s .5s cubic-bezier(.2,.7,.2,1) both,abFloat 6s 1.4s ease-in-out infinite}
@keyframes abDraw{0%{stroke-dashoffset:1;opacity:0}6%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
.ab-draw-load :is(path,circle,rect){stroke-dasharray:1 2;animation:abDraw 1.4s .4s cubic-bezier(.4,0,.2,1) both}
.ab-draw-load :is(path,circle,rect):nth-child(2){animation-delay:.7s}
.ab-js .ab-reveal{opacity:0;transform:translateY(40px)}
.ab-js .ab-reveal.is-on{animation:abUp .9s cubic-bezier(.2,.7,.2,1) forwards}
.ab-js .ab-reveal.is-on:nth-child(2){animation-delay:.15s}
.ab-js .ab-reveal.is-on:nth-child(3){animation-delay:.3s}
.ab-js .ab-reveal.is-on:nth-child(4){animation-delay:.45s}
.ab-js .ab-pop{opacity:0;transform:scale(.6)}
.ab-js .ab-pop.is-on{animation:abScale .7s .35s cubic-bezier(.2,.7,.2,1) forwards}
.ab-js .ab-draw :is(path,circle,rect){stroke-dasharray:1 2;stroke-dashoffset:1;opacity:0}
.ab-js .ab-draw.is-on :is(path,circle,rect){animation:abDraw 1.3s cubic-bezier(.4,0,.2,1) forwards}
.ab-js .ab-draw.is-on :is(path,circle,rect):nth-child(2){animation-delay:.35s}
.ab-js .ab-draw.is-on :is(path,circle,rect):nth-child(3){animation-delay:.7s}
.ab-js .ab-draw.is-on :is(path,circle,rect):nth-child(4){animation-delay:1s}
.ab-btn:hover svg.ab-draw-load :is(path){animation:abDraw .6s cubic-bezier(.4,0,.2,1) both}
@media (max-width: 760px){.ab-g3{grid-template-columns:minmax(0,1fr)!important}.ab-track{display:none!important}}
.ab-btn{transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.ab-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(46,52,84,.55);filter:brightness(1.08)}
.ab-btn svg{transition:transform .25s ease}.ab-btn:hover svg{transform:translateX(4px)}
@media (max-width: 900px){.ab-g4{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width: 520px){.ab-g4{grid-template-columns:minmax(0,1fr)!important}}
.ab-link{background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease,color .3s ease}
.ab-link:hover{background-size:100% 1.5px;color:#77213C}
footer .ab-link:hover{color:#FFFFFF}
.ab-field{transition:border-color .2s ease,box-shadow .2s ease}
.ab-field:focus{outline:none;border-color:#77213C;box-shadow:0 0 0 3px rgba(119,33,60,.15)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}.ab-js .ab-draw :is(path,circle,rect){stroke-dashoffset:0;opacity:1}.ab-js .ab-reveal,.ab-js .ab-pop{opacity:1;transform:none}}
