*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{background:#FFFFFF;color:#707E83;font-family:system-ui,-apple-system,sans-serif;font-size:12px;line-height:120%;font-synthesis:none}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}

body{font-family:system-ui,-apple-system,sans-serif;font-size:12px;color:#687073;letter-spacing:0.01em;line-height:130%}html{scrollbar-width:none}::-webkit-scrollbar{display:none}.scroll-thumb{position:fixed;top:0;right:0;width:2px;background:#687073;border-radius:1px;z-index:999;opacity:0;transition:opacity 300ms ease;pointer-events:none}
main{display:flex;flex-direction:column;gap:8px;padding:8px;padding-top:39px;min-height:calc(100svh - 39px);animation:fadeIn 200ms ease}main>*{flex:none}main.centered{justify-content:center}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:768px){
  .header-left{gap:8px}
  .header-tagline{font-size:12px}
}
.ptb-body p,.ptb-body div{margin:0;padding:0}
.ptb-body strong,.ptb-body b{font-weight:700}
.ptb-body em,.ptb-body i{font-style:italic}
.ptb-body a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:768px){
  .ptb{max-width:none;width:100%}
}
:root{--ease:ease;--ease-respond:cubic-bezier(0.16,1,0.3,1);--duration-in:600ms;--duration-out:250ms;--distance:8px;--distance-ripple:20px}
@keyframes rippleIn{from{transform:translateY(var(--distance-ripple))}to{transform:translateY(0)}}
.projects-grid>*,.blog-grid>*,.partners-grid>*{animation:rippleIn var(--duration-in) var(--ease) both}
.projects-grid>*:nth-child(1),.blog-grid>*:nth-child(1),.partners-grid>*:nth-child(1){animation-delay:0ms}
.projects-grid>*:nth-child(2),.blog-grid>*:nth-child(2),.partners-grid>*:nth-child(2){animation-delay:80ms}
.projects-grid>*:nth-child(3),.blog-grid>*:nth-child(3),.partners-grid>*:nth-child(3){animation-delay:160ms}
.projects-grid>*:nth-child(4),.blog-grid>*:nth-child(4),.partners-grid>*:nth-child(4){animation-delay:240ms}
.projects-grid>*:nth-child(5),.blog-grid>*:nth-child(5),.partners-grid>*:nth-child(5){animation-delay:320ms}
.projects-grid>*:nth-child(6),.blog-grid>*:nth-child(6),.partners-grid>*:nth-child(6){animation-delay:400ms}
.projects-grid>*:nth-child(n+7),.blog-grid>*:nth-child(n+7),.partners-grid>*:nth-child(n+7){animation-delay:480ms}
.projects-grid>*,.blog-grid>*{transition:transform 600ms var(--ease)}
.projects-grid>*:hover,.blog-grid>*:hover{transform:translateY(-4px)}
@keyframes imgFadeIn{from{opacity:0}to{opacity:1}}
.projects-grid>*:nth-child(n+3) .project-tile-image{animation:imgFadeIn 400ms ease both}
@media(min-width:769px){
  .projects-grid>*:nth-child(1) .project-tile-image,
  .projects-grid>*:nth-child(2) .project-tile-image{animation:imgFadeIn 400ms ease both}
}
.projects-grid>*:nth-child(1) .project-tile-image{animation-delay:0ms}
.projects-grid>*:nth-child(2) .project-tile-image{animation-delay:80ms}
.projects-grid>*:nth-child(3) .project-tile-image{animation-delay:160ms}
.projects-grid>*:nth-child(4) .project-tile-image{animation-delay:240ms}
.projects-grid>*:nth-child(5) .project-tile-image{animation-delay:320ms}
.projects-grid>*:nth-child(6) .project-tile-image{animation-delay:400ms}
.projects-grid>*:nth-child(n+7) .project-tile-image{animation-delay:480ms}
@media(max-width:991px){
  .projects-grid{display:grid!important;grid-template-columns:repeat(3,1fr);flex-wrap:unset}
  .project-tile{flex:unset!important;width:auto}
}
@media(max-width:768px){
  .projects-grid{grid-template-columns:repeat(2,1fr)!important}
}
.media-caption[data-theme="dark"],.media-caption:not([data-theme]){background:rgba(104,112,115,0.1);color:#FFFFFF}
.media-caption[data-theme="light"]{background:rgba(255,255,255,0.1);color:#687073}
.media-caption[data-theme="dark"],.media-caption:not([data-theme]){background:rgba(104,112,115,0.1);color:#FFFFFF}
.media-caption[data-theme="light"]{background:rgba(255,255,255,0.1);color:#687073}
@media(max-width:768px){
  .media-2col{flex-direction:column}
  .media-2col-item{flex:none;width:100%}
}