html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF}
section[id]{scroll-margin-top:84px}
a{color:#0068D8}a:hover{color:#004A9E}
*{box-sizing:border-box}
.grid-bg{background-image:linear-gradient(rgba(130,176,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(130,176,255,.10) 1px,transparent 1px);background-size:56px 56px}
.lift{transition:transform .25s ease,box-shadow .25s ease}
.lift:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(13,54,114,.14)}
.btn{transition:transform .2s ease,background-color .2s ease}
.btn:hover{transform:translateY(-2px)}
@keyframes rise{from{opacity:0;transform:translateY(56px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:translateY(0)}to{transform:translateY(var(--d,-140px))}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes growy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes float{50%{transform:translateY(-12px)}}
@keyframes type{from{max-width:0}to{max-width:100%}}
@keyframes blink{50%{border-color:transparent}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes words{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-25%)}50%,70%{transform:translateY(-50%)}75%,95%{transform:translateY(-75%)}100%{transform:translateY(0)}}
.spin{animation:spin 50s linear infinite}
.words{animation:words 10s cubic-bezier(.7,0,.3,1) infinite}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,104,216,.55)}100%{box-shadow:0 0 0 10px rgba(0,104,216,0)}}
.pulse{animation:pulse 1.6s ease-out infinite}
@keyframes fadein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.marquee{animation:marquee 45s linear infinite}
.marquee-slow{animation:marquee 60s linear infinite}
.float{animation:float 6s ease-in-out infinite}
.float2{animation:float 7.5s ease-in-out infinite .8s}
@keyframes typeloop{0%{max-width:0}45%{max-width:100%}80%{max-width:100%}96%{max-width:0}100%{max-width:0}}
@keyframes q5{0%{max-width:0;opacity:1;border-color:#0068D8}9%{max-width:100%;opacity:1;border-color:#0068D8}16%{max-width:100%;opacity:1;border-color:#0068D8}19.4%{max-width:0;opacity:1;border-color:#0068D8}19.5%,100%{max-width:0;opacity:0;border-color:transparent}}
.typing-q{display:block;box-sizing:content-box;width:max-content;max-width:0;overflow:hidden;white-space:nowrap;padding:0;border-right:3px solid transparent;opacity:0;animation:q5 40s steps(36,end) infinite}
.typing{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;vertical-align:bottom;padding-right:3px;border-right:3px solid #0068D8;animation:typeloop 8s steps(48,end) .3s infinite,blink .75s step-end infinite}
.answer{animation:fadein .8s ease 2.6s both}
@supports (animation-timeline: view()){
.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
.px1{animation:drift linear both;animation-timeline:scroll(root);--d:-180px}
.px2{animation:drift linear both;animation-timeline:scroll(root);--d:-360px}
.px3{animation:drift linear both;animation-timeline:scroll(root);--d:220px}
.bary{transform-origin:center bottom;animation:growy linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
.bar{transform-origin:left center;animation:grow linear both;animation-timeline:view();animation-range:entry 15% cover 45%}
}
.stack{position:sticky}
@media (min-width: 760px){.cert{aspect-ratio:1.414/1}}
@media (max-width: 720px){.hdr{flex-wrap:nowrap!important;padding:10px 16px!important}.hdr img{height:30px!important}.acad{display:none}.nav .btn{padding:9px 16px!important;font-size:14px;white-space:nowrap}.tabs span{white-space:nowrap}.tabs{flex-wrap:nowrap!important;overflow:hidden;padding-left:12px!important;gap:16px!important}.wa{bottom:86px!important;right:16px!important}.wa .wal{display:none}.nav a:not(.btn){display:none}.cert{width:100%!important;margin:0 0 20px!important;transform:none!important}.stack{position:static}.sticky-cta{display:flex!important}.page-end{padding-bottom:96px}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.typing{max-width:none!important;white-space:normal}.typing-q{max-width:none!important;width:auto!important;opacity:1!important;border-color:transparent!important;white-space:normal}.typing-q:not(:first-child){display:none!important}}
