*,*::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)}}
@keyframes imgFadeIn{from{opacity:0}to{opacity:1}}
.projects-grid>*,.blog-grid>*,.partners-grid>*{animation:rippleIn var(--duration-in) var(--ease) both,imgFadeIn 400ms 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)}
.ct-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding-bottom:5vh;background:rgba(255,255,255,0);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);opacity:0;pointer-events:none;transition:background 300ms ease,backdrop-filter 300ms ease,-webkit-backdrop-filter 300ms ease,opacity 200ms ease}
.ct-overlay.open{background:rgba(255,255,255,0.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);opacity:1;pointer-events:auto}
.ct-close{position:fixed;top:8px;right:8px;z-index:101;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 200ms ease}
.ct-overlay.open~.ct-close{opacity:1;pointer-events:auto}
.ct-close svg{opacity:1}
.ct-edge{display:none}
@media(min-width:481px){.ct-edge{display:block;position:fixed;z-index:101;opacity:0;pointer-events:none;cursor:pointer}
.ct-overlay.open~.ct-edge{pointer-events:auto}
.ct-edge-l{top:0;left:0;width:120px;height:100%}
.ct-edge-r{top:0;right:0;width:120px;height:100%}
.ct-edge-t{top:0;left:120px;right:120px;height:120px}
.ct-edge-b{bottom:0;left:120px;right:120px;height:120px}}
.ct-form-wrap{width:100%;max-width:480px;padding:0 24px;transform:translateY(12px);opacity:0;transition:transform 400ms cubic-bezier(0.16,1,0.3,1),opacity 300ms ease}
.ct-overlay.open .ct-form-wrap{transform:translateY(0);opacity:1}
.ct-field{padding:10px 0}
.ct-input,.ct-textarea{width:100%;border:none;outline:none;background:none;font-family:inherit;font-size:16px;color:#687073;line-height:140%;padding:0;resize:none}
.ct-input::placeholder,.ct-textarea::placeholder{color:#687073;opacity:.4}
.ct-textarea{min-height:180px;line-height:150%}
.ct-chips-wrap{padding:10px 0}.ct-chips{display:flex;gap:8px;flex-wrap:wrap}
.ct-chip{padding:8px 16px;border-radius:0;font-size:14px;font-family:inherit;color:rgba(104,112,115,0.4);background:none;border:1px solid rgba(104,112,115,0.2);cursor:pointer;transition:all 150ms;-webkit-tap-highlight-color:transparent;outline:none}
.ct-chip:hover{color:#687073;border-color:rgba(104,112,115,0.4)}
.ct-chip.selected{color:#687073;border-color:#687073}
.ct-chips-wrap.error .ct-chip{border-color:rgba(204,68,68,0.3);color:rgba(204,68,68,0.5)}
.ct-submit{position:relative;overflow:hidden;margin-top:16px;padding:8px 16px;width:100%;background:#687073;border:1px solid #687073;border-radius:0;font-family:inherit;font-size:14px;font-weight:400;color:#fff;cursor:pointer;transition:background 300ms ease,color 300ms ease,border-color 300ms ease;letter-spacing:0.01em;-webkit-tap-highlight-color:transparent;outline:none}
.ct-submit:hover{opacity:.85}
.ct-submit:active{opacity:.7}
.ct-submit:disabled{cursor:default;opacity:1}
.ct-submit.sent{background:none;border-color:#687073;color:#687073}
.ct-field.error .ct-input::placeholder,.ct-field.error .ct-textarea::placeholder{color:#687073;opacity:.5}
.ct-hp{position:absolute;left:-9999px}
@media(max-width:480px){.ct-overlay{align-items:flex-start}.ct-form-wrap{max-width:100%;padding:56px 16px 16px}.ct-textarea{min-height:100px}.ct-submit{padding:10px 16px;font-size:16px}}
@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(max-width:768px){
  .media-2col{flex-direction:column}
  .media-2col-item{flex:none;width:100%}
}