*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#f4f1ea;color:#172b63;font-family:'IBM Plex Sans',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;cursor:pointer}a:hover{opacity:.72}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0;text-align:left}
@keyframes flow{to{stroke-dashoffset:-24}}
@keyframes pulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.9);opacity:0}}
@keyframes blink{50%{opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes logLoop{0%{opacity:0;transform:translateY(6px)}6%,88%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes rise{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
@keyframes barLoop{0%{transform:scaleX(0)}18%,88%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
html{scroll-behavior:smooth}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:2px solid #2a4fa8;outline-offset:3px;border-radius:4px}
.menu-btn{display:none;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:1px;text-transform:uppercase;border:1px solid #172b63!important;border-radius:999px;padding:10px 16px!important;min-height:44px;align-items:center}
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js [data-reveal].in{opacity:1;transform:none}
@media (max-width:860px){
.menu-btn{display:inline-flex}
#site-nav{display:none!important}
#site-nav.open{display:flex!important;flex-direction:column;align-items:flex-start;width:100%;gap:4px!important;padding:8px 0 4px}
#site-nav.open a{padding:12px 0!important;font-size:18px;width:100%}
#site-nav.open a:last-child{width:auto;margin-top:10px;padding:12px 22px!important}
}
@media (max-width:640px){
[style*="max-width:1280px"]{padding-left:20px!important;padding-right:20px!important}
[style*="padding:96px"],[style*="padding:80px"]{padding-top:64px!important;padding-bottom:64px!important}
h2[style*="font-size:46px"]{font-size:34px!important}
[style*="position:sticky"]{position:static!important}
[style*="grid-template-columns:repeat(3,minmax(0,1fr))"][style*="margin-top:48px"]{grid-template-columns:1fr!important;gap:10px!important}
[style*="padding:40px"]{padding:28px!important}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}}
