:root { --blue: #3A92FF; --cyan: #3A92FF; }
html, body { max-width:100%; overflow-x:hidden; }
h1, h2, h3, h4, h5, h6 { font-family:'Basier Square',sans-serif !important; letter-spacing:0 !important; }
.site-header { height: 64px; }
.nav-wrap { height: 64px; }
.brand { width: 185px; }
.search { width: 64px; height: 64px; }
.nav-wrap nav a span { display: inline-block; margin-left: 5px; position: relative; top: -2px; font-size: 11px; line-height: 1; }
.nav-wrap nav { flex:none; margin-left:auto; }
.nav-actions { margin-left:0; }
.hero-inner { padding-top: 175px; }
.hero { height: 680px; }
.news-strip { height: 44px; }
.news-strip .container { display:flex; align-items:center; gap:0; }
.news-strip strong { width:245px; flex:0 0 245px; }
.news-strip p { margin-right:18px; }
.intro-grid { display:block; text-align:center; }
.intro.section { padding-top:75px; padding-bottom:75px; }
.intro-copy { max-width:1320px; margin:0 auto 70px; padding-top:0; }
.company-stats { display:grid; grid-template-columns:repeat(4,1fr); background:transparent; padding:0; }
.company-stats div { display:flex; flex-direction:column; padding:12px 28px; border:0; border-left:1px solid #d7e2ed; }
.company-stats div:first-child { border-left:0; }
.company-stats strong { color:#3A92FF; font-size:52px; line-height:1; }
.company-stats span { margin-top:8px; color:#506177; }
.capabilities .section-head { display:block; text-align:center; margin-bottom:64px; }
.section-head h2 { font-size:50px; }
.capabilities .section-head p { max-width:1200px; margin:20px auto 0; }
.cap-list { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; border:0; }
.cap-list article { height:165px; min-height:165px; padding:30px 36px; background:#fff; border:0; border-radius:14px; display:flex; align-items:center; justify-content:space-between; }
.cap-list article h3 { color:#07182f; max-width:270px; }
.cap-list h3 { font-family:'Basier Square','Montserrat',sans-serif; font-size:20px; margin:0; }
.cap-list h3 b { display:block; margin-top:8px; color:#3A92FF; font-size:24px; line-height:1; }
.cap-list article img { width:auto; height:auto; object-fit:contain; }
.technology-stack.section { padding:90px 0; background:#fff; }
.stack-layout { display:grid; grid-template-columns:360px 1fr; gap:72px; align-items:stretch; }
.stack-intro { padding:20px 0; }
.stack-intro h2 { margin:18px 0 44px; color:#07182f; font-size:50px; line-height:1.05; }
.stack-tabs { display:flex; flex-direction:column; border-top:1px solid #dce6f0; }
.stack-tab { min-height:72px; padding:0; border:0; border-bottom:1px solid #dce6f0; background:transparent; color:#506177; display:flex; align-items:center; justify-content:space-between; text-align:left; font:700 16px Manrope,Arial,sans-serif; cursor:pointer; }
.stack-tab span { color:#3A92FF; font-size:25px; }
.stack-tab.active { color:#07182f; }
.stack-panels { min-height:465px; padding:28px; background:#f3f7fb; border-top:5px solid #3A92FF; }
.stack-panel { grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:120px; gap:14px; height:auto; align-content:start; }
.stack-panel.active { display:grid; }
.stack-panel[hidden] { display:none; }
.stack-panel img { width:100%; height:120px; object-fit:contain; background:#fff; padding:14px; }
.hero h1 { margin-bottom: 42px; }
.hero h1 { font-family:'Basier Square','Montserrat',sans-serif; font-size:58px; line-height:1.08; max-width:920px; }
.hero-actions { margin-top: 0; }
.feature-main { grid-template-columns:30% 70%; }
.case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.feature.section { padding-top:75px; padding-bottom:75px; }
.case-card { display:grid; grid-template-columns:46% 54%; height:250px; min-height:250px; background:#f3f7fb; overflow:hidden; }
.case-card > img { width:100%; height:250px; min-height:0; object-fit:cover; }
.case-card > div { padding:28px 30px; display:flex; flex-direction:column; align-items:flex-start; }
.case-card span { color:#61748b; font-size:11px; font-weight:800; letter-spacing:.12em; }
.case-card h3 { margin:18px 0 16px; color:#07182f; font-size:20px; line-height:1.2; }
.case-card a { margin-top:auto; color:#3A92FF; font-size:14px; font-weight:800; text-decoration:none; }
.blogs.section { padding-top:72px; padding-bottom:72px; background:#f3f7fb; }
.blog-grid { display:grid; grid-template-columns:1.12fr .88fr; grid-template-rows:repeat(2,245px); gap:24px; }
.blog-card { min-height:0; background:#fff; display:grid; grid-template-columns:42% 58%; overflow:hidden; }
.blog-card:first-child { grid-row:1/3; display:flex; flex-direction:column; }
.blog-card > img { width:100%; height:100%; object-fit:cover; }
.blog-card:first-child > img { height:320px; }
.blog-card > div { min-width:0; padding:28px 30px; display:flex; flex-direction:column; align-items:flex-start; }
.blog-card:first-child > div { flex:1; padding:34px 36px; }
.blog-card span { color:#61748b; font-size:11px; font-weight:800; letter-spacing:.1em; line-height:1.5; }
.blog-card h3 { margin:16px 0 20px; color:#07182f; font-size:21px; line-height:1.2; }
.blog-card:first-child h3 { max-width:580px; margin-top:20px; font-size:30px; }
.blog-card a { margin-top:auto; color:#3A92FF; font-size:14px; font-weight:800; text-decoration:none; }
@media (max-width:900px) {
  .blog-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .blog-card,.blog-card:first-child { grid-row:auto; display:grid; grid-template-columns:42% 58%; min-height:245px; }
  .blog-card:first-child > img { height:100%; }
}
@media (max-width:620px) {
  .blog-card,.blog-card:first-child { display:flex; min-height:0; flex-direction:column; }
  .blog-card > img,.blog-card:first-child > img { height:230px; }
  .blog-card > div,.blog-card:first-child > div { min-height:250px; padding:28px 24px; }
}
.industries.section { padding:90px 0; background:#07182f; color:#fff; }
.industries-heading { max-width:1120px; margin:0 auto 55px; text-align:center; }
.industries-heading h2 { margin:15px 0 20px; color:#fff; font-size:50px; }
.industries-heading p { margin:0; color:#b8c8d9; font-size:18px; line-height:1.65; }
.industry-icon-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid #29435f; border-left:1px solid #29435f; }
.industry-icon-grid a { min-height:180px; padding:27px 24px; border-right:1px solid #29435f; border-bottom:1px solid #29435f; color:#fff; text-decoration:none; display:grid; grid-template-columns:1fr auto; grid-template-rows:78px auto; align-items:end; transition:background .2s ease; }
.industry-icon-grid a:hover { background:#0e2b4c; }
.industry-icon-grid img { width:auto; height:64px; max-width:82px; object-fit:contain; grid-column:1 / 3; align-self:start; filter:brightness(0) invert(1); opacity:.9; }
.industry-icon-grid span { font-size:16px; font-weight:700; line-height:1.25; }
.industry-icon-grid b { color:#3A92FF; font-size:24px; line-height:1; }
.partners.section { padding:78px 0 72px; background:#fff; border-bottom:3px solid #3A92FF; }
.partner-head { margin-bottom:44px; }
.partner-slider { width:100vw; margin-left:calc(50% - 50vw); display:block; }
.partner-viewport { width:100%; overflow:hidden; scroll-behavior:auto; scrollbar-width:none; }
.partner-viewport::-webkit-scrollbar { display:none; }
.partner-track { display:flex; width:max-content; gap:50px; padding:18px 20px; }
.partner-item { flex:0 0 calc((100vw - 440px)/9); width:calc((100vw - 440px)/9); height:91px; padding:0; display:flex; align-items:center; justify-content:center; background:#fff; }
.partner-item img { width:auto; height:auto; max-width:100%; max-height:91px; object-fit:contain; image-rendering:auto; }
.partner-item span { color:#07182f; font-size:18px; font-weight:700; line-height:1; white-space:nowrap; }
.partner-item img[src$=".svg"] + span { display:none; }
.news-events.section { padding:85px 0; }
.news-events-layout { display:grid; grid-template-columns:1fr; gap:48px; }
.news-events-layout:has(.upcoming-event:not([hidden])) { grid-template-columns:minmax(0,2fr) minmax(330px,1fr); }
.news-list { border-top:1px solid #cbd7e3; }
.news-row { min-height:220px; padding:26px 0; border-bottom:1px solid #cbd7e3; display:grid; grid-template-columns:220px 1fr; gap:36px; align-items:center; }
.news-row img { width:220px; height:165px; object-fit:cover; }
.news-row time { color:#61748b; font-size:12px; font-weight:800; letter-spacing:.1em; }
.news-row h3 { max-width:900px; margin:15px 0 22px; color:#07182f; font-size:26px; line-height:1.2; }
.news-row a { color:#3A92FF; font-size:14px; font-weight:800; text-decoration:none; }
.upcoming-event { min-height:466px; padding:42px; background:#07182f; color:#fff; display:flex; flex-direction:column; align-items:flex-start; }
.upcoming-event .event-type { padding:8px 14px; border-radius:999px; background:#3A92FF; color:#fff; font-size:12px; font-weight:800; }
.upcoming-event h3 { margin:38px 0 18px; color:#fff; font-size:38px; line-height:1.08; }
.upcoming-event p { color:#c0cfde; font-size:18px; line-height:1.55; }
.upcoming-event a { margin-top:auto; color:#fff; font-weight:800; text-decoration:none; border-bottom:1px solid #58718b; padding-bottom:10px; }
.site-footer { position:relative; padding:0; overflow:hidden; background:#06172d; color:#b7c6d8; }
.site-footer::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:#3A92FF; }
.site-footer::after { content:""; position:absolute; width:520px; height:520px; right:-260px; top:-270px; border-radius:50%; background:radial-gradient(circle,rgba(58,146,255,.17),rgba(58,146,255,0) 68%); pointer-events:none; }
.footer-main { position:relative; padding:32px 0 30px; background:linear-gradient(115deg,#06172d 0%,#09213d 100%); }
.site-footer .footer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-areas:"brand quick social"; gap:0; align-items:start; }
.site-footer .footer-brand { grid-area:brand; padding:0 38px 0 0; }
.site-footer .footer-brand::before { content:none; }
.site-footer .footer-brand img { width:225px; filter:brightness(0) invert(1); margin-bottom:25px; }
.site-footer h4 { margin:0 0 20px; color:#fff; font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.site-footer .footer-brand h4 { margin-bottom:12px; color:#3A92FF; }
.site-footer .footer-brand p { margin:0; color:#9eb0c5; font-size:14px; line-height:1.75; }
.site-footer a { position:relative; margin:0 0 8px; color:#aabbd0; font-size:14px; line-height:1.35; text-decoration:none; transition:color .2s ease,transform .2s ease; }
.site-footer a:hover { color:#fff; transform:translateX(3px); }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; }
.site-footer .footer-column:not(.footer-services),.footer-social { padding:0 36px; border:0; border-left:1px solid rgba(255,255,255,.12); border-radius:0; background:transparent; }
.site-footer .footer-column:not(.footer-services) { grid-area:quick; }
.site-footer .footer-column:not(.footer-services) { display:grid; grid-template-columns:1fr 1fr; column-gap:22px; align-content:start; }
.site-footer .footer-column:not(.footer-services) h4 { grid-column:1/-1; }
.site-footer .footer-services { grid-area:services; padding:0 36px; border-left:1px solid rgba(255,255,255,.12); border-radius:0; background:transparent; display:grid; grid-template-columns:1fr 1fr; column-gap:30px; align-content:start; }
.site-footer .footer-services h4 { grid-column:1/-1; }
.site-footer .footer-social { grid-area:social; align-self:start; padding-right:0; }
.social-links { display:flex; flex-wrap:nowrap; gap:10px; }
.social-links a { width:38px; height:38px; margin:0; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:#fff; color:#07182f; display:flex; align-items:center; justify-content:center; }
.social-links a img { width:17px; height:17px; object-fit:contain; }
.social-links a:hover { border-color:#3A92FF; background:#3A92FF; transform:translateY(-3px); }
.social-links a:hover img { filter:brightness(0) invert(1); }
.footer-directory { position:relative; padding:46px 0 50px; border-top:1px solid rgba(255,255,255,.1); background:rgba(0,0,0,.13); }
.footer-directory .container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 48px; }
.footer-directory h4 { grid-column:1/-1; margin-bottom:28px; color:#fff; font-size:18px; letter-spacing:0; text-transform:none; }
.footer-directory h4::after { content:""; display:block; width:48px; height:3px; margin-top:12px; background:#3A92FF; }
.footer-directory p { margin:0; padding:17px 0; border-top:1px solid rgba(255,255,255,.09); color:#8398b0; font-size:14px; line-height:2; }
.footer-directory strong { display:block; margin-bottom:7px; color:#e4edf7; font-size:14px; }
.footer-directory a { display:inline; margin:0 7px 0 0; color:#91a5bd; font-size:14px; }
.footer-directory strong + a { margin-left:0; }
.footer-directory i { margin-right:7px; color:#3A92FF; font-style:normal; opacity:.65; }
.footer-bottom { position:relative; padding:18px 0; border-top:1px solid rgba(255,255,255,.08); background:#030d1b; color:#8093aa; text-align:center; font-size:14px; }
.footer-bottom a { display:inline; margin:0; color:#3A92FF; font-size:14px; }
.cta { padding-top:58px; padding-bottom:58px; }
.cta h2 { font-size:50px; line-height:1.08; }
.cap-list h3,
.case-card h3,
.blog-card h3,
.blog-card:first-child h3,
.industry-icon-grid span,
.news-row h3,
.upcoming-event h3 { font-size:20px; }
@media (max-width:1100px) {
  .site-footer .footer-grid { grid-template-columns:1fr 1fr; grid-template-areas:"brand quick" "social social"; }
  .site-footer .footer-brand { border-right:0; }
  .site-footer .footer-social { align-self:stretch; }
  .footer-directory .container { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .site-footer .footer-grid { grid-template-columns:1fr; grid-template-areas:"brand" "quick" "social"; gap:18px; }
  .site-footer .footer-brand { min-height:0; padding:32px 26px; }
  .site-footer .footer-services { grid-template-columns:1fr; padding:32px 26px; }
  .site-footer .footer-column:not(.footer-services),.site-footer .footer-social { padding:24px 26px; border-left:0; border-top:1px solid rgba(255,255,255,.1); }
  .site-footer .footer-column:not(.footer-services) { grid-template-columns:1fr; }
  .site-footer .footer-services h4 { grid-column:auto; }
  .social-links { flex-wrap:wrap; }
  .footer-main { padding:55px 0 45px; }
  .footer-directory .container { grid-template-columns:1fr; }
  .footer-directory a { margin:0 5px; }
}
