: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; }
.company-stats-with-gptw { grid-template-columns:repeat(4,minmax(0,1fr)) minmax(250px,1.18fr); align-items:center; }
.company-stats-with-gptw .gptw-stat { min-height:106px; flex-direction:row; align-items:center; justify-content:center; gap:15px; padding:8px 0 8px 24px; }
.company-stats-with-gptw .gptw-stat img { width:48px; height:auto; flex:0 0 auto; }
.company-stats-with-gptw .gptw-stat-copy { display:flex; flex-direction:column; align-items:flex-start; margin:0; color:#172235; white-space:nowrap; }
.company-stats-with-gptw .gptw-stat-copy strong { color:#172235; font-size:14px; line-height:1.25; }
.company-stats-with-gptw .gptw-stat-copy sup { font-size:8px; }
.company-stats-with-gptw .gptw-stat-copy b { margin-top:7px; padding-bottom:4px; border-bottom:2px solid #ef3340; color:#3A92FF; font-size:13px; line-height:1; }
.company-stats-with-gptw .gptw-stat-copy small { margin-top:6px; color:#172235; font-size:11px; font-weight:700; }
@media (max-width:1180px) {
  .company-stats-with-gptw { grid-template-columns:repeat(4,1fr); }
  .company-stats-with-gptw .gptw-stat { grid-column:1 / -1; border-left:0; border-top:1px solid #d7e2ed; margin-top:18px; padding-top:24px; }
}
@media (max-width:700px) {
  .company-stats-with-gptw { grid-template-columns:repeat(2,1fr); }
  .company-stats-with-gptw > div:nth-child(odd) { border-left:0; }
}
.gptw-band { padding:27px 0; border-top:1px solid #e0e9f2; border-bottom:1px solid #e0e9f2; background:#fff; }
.gptw-inner { display:flex; align-items:center; justify-content:center; gap:22px; }
.gptw-inner > img { width:48px; height:auto; display:block; }
.gptw-copy { min-width:245px; color:#222; }
.gptw-copy strong { display:block; font-size:15px; line-height:1.2; }
.gptw-copy sup { font-size:8px; }
.gptw-years { display:inline-block; margin:6px 0 5px; padding-bottom:5px; border-bottom:2px solid #ef3340; color:#3A92FF; font-size:15px; font-weight:800; }
.gptw-years span { color:#83bafc; }
.gptw-copy p { margin:0; font-size:13px; font-weight:700; }
.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; }

/* Index page: two wide horizontal insight cards */
.blogs-equal-layout .blog-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:none;
  gap:24px;
}
.blogs-equal-layout .blog-card,
.blogs-equal-layout .blog-card:first-child {
  grid-row:auto;
  min-height:270px;
  display:grid;
  grid-template-columns:50% 50%;
  background:#fff;
  color:#07182f;
}
.blogs-equal-layout .blog-card > img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.blogs-equal-layout .blog-card:first-child > img {
  width:100%;
  height:100%;
  flex:initial;
  object-fit:cover;
}
.blogs-equal-layout .blog-card > div,
.blogs-equal-layout .blog-card:first-child > div {
  flex:1;
  min-height:0;
  padding:26px 24px;
}
.blogs-equal-layout .blog-card h3,
.blogs-equal-layout .blog-card:first-child h3 {
  max-width:none;
  margin:16px 0 20px;
  color:#07182f;
  font-size:20px;
  line-height:1.3;
}
@media (max-width:1000px) {
  .blogs-equal-layout .blog-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .blogs-equal-layout .blog-card,
  .blogs-equal-layout .blog-card:first-child {
    grid-row:auto;
    min-height:280px;
    display:grid;
    grid-template-columns:45% 55%;
  }
  .blogs-equal-layout .blog-card:first-child > img { height:100%; }
}
@media (max-width:620px) {
  .blogs-equal-layout .blog-grid { grid-template-columns:1fr; }
  .blogs-equal-layout .blog-card,
  .blogs-equal-layout .blog-card:first-child {
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  .blogs-equal-layout .blog-card > img,
  .blogs-equal-layout .blog-card:first-child > img { height:220px; flex:0 0 220px; }
}
@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; }

/* Index page industries: open directory without card boxes */
.industries-open-fold {
  position:relative;
  padding:64px 0 68px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%,rgba(58,146,255,.13),transparent 26%),
    #07182f;
}
.industries-open-fold .industries-heading {
  max-width:none;
  margin:0 0 42px;
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  column-gap:86px;
  align-items:end;
  text-align:left;
}
.industries-open-fold .industries-heading .eyebrow { grid-column:1; margin:0 0 12px; }
.industries-open-fold .industries-heading h2 { grid-column:1; margin:0; font-size:46px; }
.industries-open-fold .industries-heading p { grid-column:2; grid-row:1 / 3; max-width:850px; font-size:16px; line-height:1.65; }
.industries-open-fold .industry-icon-grid {
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:42px;
  row-gap:12px;
  border:0;
}
.industries-open-fold .industry-icon-grid a {
  position:relative;
  min-height:104px;
  padding:14px 30px 14px 62px;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  transition:transform .2s ease,color .2s ease;
}
.industries-open-fold .industry-icon-grid a::after {
  content:"";
  position:absolute;
  left:62px;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,rgba(58,146,255,.42),rgba(58,146,255,0));
}
.industries-open-fold .industry-icon-grid a:hover { background:transparent; color:#69adff; transform:translateX(5px); }
.industries-open-fold .industry-icon-grid img {
  position:absolute;
  left:0;
  top:50%;
  width:46px;
  height:46px;
  max-width:46px;
  transform:translateY(-50%);
  grid-column:auto;
  filter:brightness(0) invert(1);
  opacity:.9;
}
.industries-open-fold .industry-icon-grid span { padding-right:14px; font-size:17px; line-height:1.2; }
.industries-open-fold .industry-icon-grid b { position:absolute; right:0; color:#3A92FF; font-size:21px; }
@media (max-width:1100px) {
  .industries-open-fold .industry-icon-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .industries-open-fold .industries-heading { display:block; }
  .industries-open-fold .industries-heading h2 { margin-bottom:18px; }
  .industries-open-fold .industry-icon-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
}
@media (max-width:520px) {
  .industries-open-fold .industry-icon-grid { grid-template-columns:1fr; }
}
.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; }

/* Option 1 What We Do — open editorial directory, no cards */
body:not([class]) .capabilities.section { padding:92px 0; background:#07182f; }
body:not([class]) .capabilities .container { display:grid; grid-template-columns:350px minmax(0,1fr); gap:90px; align-items:start; }
body:not([class]) .capabilities .section-head { position:sticky; top:100px; display:block; margin:0; text-align:left; }
body:not([class]) .capabilities .section-head h2 { max-width:280px; color:#fff; font-size:50px; line-height:1; }
body:not([class]) .capabilities .section-head h2::after { content:""; display:block; width:64px; height:4px; margin-top:24px; background:#3A92FF; }
body:not([class]) .capabilities .section-head p { max-width:340px; margin:28px 0 0; color:#9eb0c5; font-size:16px; line-height:1.75; }
body:not([class]) .cap-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 34px; border:0; }
body:not([class]) .cap-list article { position:relative; height:178px; min-height:178px; padding:26px 4px 25px; border:0; border-bottom:1px solid #35506d; border-radius:0; background:transparent; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; transition:border-color .2s ease,transform .2s ease; }
body:not([class]) .cap-list article:nth-child(-n+3) { border-top:1px solid #35506d; }
body:not([class]) .cap-list article:hover { border-color:#3A92FF; transform:translateY(-4px); }
body:not([class]) .cap-list article img { order:-1; width:auto; height:58px; max-width:72px; object-fit:contain; }
body:not([class]) .cap-list article h3 { width:100%; max-width:none; color:#fff; font-size:20px; line-height:1.25; }
body:not([class]) .cap-list h3 b { display:inline; float:right; margin:0; color:#3A92FF; font-size:25px; line-height:1; }
@media(max-width:1050px){body:not([class]) .capabilities .container{grid-template-columns:1fr;gap:45px}body:not([class]) .capabilities .section-head{position:static}body:not([class]) .capabilities .section-head p{max-width:900px}body:not([class]) .cap-list{grid-template-columns:repeat(2,1fr)}body:not([class]) .cap-list article:nth-child(3){border-top:0}}
@media(max-width:650px){body:not([class]) .cap-list{grid-template-columns:1fr}body:not([class]) .cap-list article{height:145px;min-height:145px}body:not([class]) .cap-list article:nth-child(2){border-top:0}}
.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; }
.cta-premium {
  position:relative;
  min-height:340px;
  padding:68px 0;
  overflow:hidden;
  background:#0a2948;
  color:#fff;
}
.cta-premium::before {
  content:"";
  position:absolute;
  top:-34%;
  right:-5%;
  width:47%;
  height:175%;
  background:linear-gradient(135deg,#3A92FF 0%,#20b6d9 100%);
  transform:skewX(-16deg);
}
.cta-premium::after {
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:13%;
  top:50%;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  transform:translateY(-50%);
  box-shadow:0 0 0 52px rgba(255,255,255,.055),0 0 0 104px rgba(255,255,255,.025);
}
.cta-premium .container {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:80px;
  align-items:center;
}
.cta-premium .cta-copy { max-width:760px; }
.cta-premium .eyebrow { margin-bottom:17px; }
.cta-premium h2 { margin:0; font-size:48px; line-height:1.04; letter-spacing:-.035em; }
.cta-premium h2 span { color:#70b7ff; }
.cta-premium p { max-width:650px; margin:20px 0 0; color:#aebfd2; font-size:15px; line-height:1.65; }
.cta-premium .cta-action {
  justify-self:end;
  width:280px;
  min-height:116px;
  padding:25px 28px;
  background:#fff;
  color:#07182f;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:18px;
  font-weight:800;
  line-height:1.25;
  transition:transform .2s ease,box-shadow .2s ease;
}
.cta-premium .cta-action b {
  width:42px;
  height:42px;
  border-radius:50%;
  background:#3A92FF;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:20px;
}
.cta-premium .cta-action:hover { transform:translateY(-5px); box-shadow:0 18px 36px rgba(0,20,45,.24); }
.footer-merged::before { display:none; }
.footer-merged .footer-main {
  background:#06172d;
}
.footer-merged::after { display:none; }
@media (max-width:820px) {
  .cta-premium .container { grid-template-columns:1fr; gap:34px; }
  .cta-premium .cta-action { justify-self:start; }
  .cta-premium::before { width:70%; right:-35%; }
}
@media (max-width:520px) {
  .cta-premium h2 { font-size:38px; }
  .cta-premium .cta-action { width:100%; }
}
.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; }

/* Index page news: compact two-news + upcoming-event composition */
.news-events-compact { padding:68px 0; }
.news-events-compact .section-head { margin-bottom:38px; }
.news-events-compact .news-events-layout,
.news-events-compact .news-events-layout:has(.upcoming-event:not([hidden])) {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(310px,1fr);
  gap:24px;
}
.news-events-compact .news-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  border:0;
}
.news-events-compact .news-row {
  min-height:300px;
  padding:0;
  border:0;
  background:#fff;
  display:grid;
  grid-template-columns:44% 56%;
  align-items:center;
}
.news-events-compact .news-row img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.news-events-compact .news-row > div { flex:1; padding:24px 26px; display:flex; flex-direction:column; align-items:flex-start; }
.news-events-compact .news-row h3 { margin:13px 0 20px; font-size:20px; line-height:1.3; }
.news-events-compact .news-row a { margin-top:auto; }
.news-events-compact .upcoming-event {
  position:relative;
  min-height:300px;
  padding:0;
  overflow:hidden;
  background:linear-gradient(145deg,#07182f 0%,#0a2f59 100%);
  display:grid;
  grid-template-columns:44% 56%;
  align-items:center;
}
.news-events-compact .upcoming-event::after { content:none; }
.news-events-compact .event-visual { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.news-events-compact .event-body { min-height:100%; padding:22px 24px; display:flex; flex-direction:column; align-items:flex-start; }
.news-events-compact .event-type { position:relative; z-index:1; padding:0; border-radius:0; background:transparent; color:#76b4ff; letter-spacing:.14em; }
.news-events-compact .upcoming-event h3 { position:relative; z-index:1; margin:12px 0 8px; font-size:24px; }
.news-events-compact .upcoming-event p { position:relative; z-index:1; margin:0; color:#b9c8d8; font-size:14px; line-height:1.55; }
.news-events-compact .event-body > a { position:relative; z-index:1; margin-top:auto; padding-bottom:7px; color:#fff; border-bottom:1px solid #58718b; font-size:14px; font-weight:800; text-decoration:none; }
@media (max-width:1050px) {
  .news-events-compact .news-events-layout,
  .news-events-compact .news-events-layout:has(.upcoming-event:not([hidden])) { grid-template-columns:1fr; }
  .news-events-compact .upcoming-event { min-height:300px; }
}
@media (max-width:680px) {
  .news-events-compact .news-list { grid-template-columns:1fr; }
  .news-events-compact .news-row,
  .news-events-compact .upcoming-event { grid-template-columns:1fr; }
  .news-events-compact .news-row img,
  .news-events-compact .event-visual { width:100%; max-height:none; }
}
@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; }
}

/* News/events refinement: editorial list + featured event */
.news-events-compact .news-events-layout,
.news-events-compact .news-events-layout:has(.upcoming-event:not([hidden])) {
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);
  gap:28px;
  align-items:stretch;
}
.news-events-compact .news-list {
  grid-template-columns:1fr;
  gap:18px;
}
.news-events-compact .news-row {
  min-height:185px;
  grid-template-columns:185px minmax(0,1fr);
  align-items:stretch;
}
.news-events-compact .news-row img {
  width:185px;
  height:185px;
  aspect-ratio:1;
  object-fit:cover;
}
.news-events-compact .news-row > div { padding:22px 28px; }
.news-events-compact .news-row h3 { max-width:720px; margin:10px 0 14px; font-size:19px; line-height:1.28; }
.news-events-compact .upcoming-event {
  min-height:388px;
  padding:34px;
  display:block;
  background:linear-gradient(145deg,#07182f 0%,#0a294b 100%);
}
.news-events-compact .upcoming-event::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:linear-gradient(#ef0012,#ff4955);
}
.news-events-compact .upcoming-event::after {
  content:none;
}
.news-events-compact .event-body { position:relative; z-index:1; min-height:320px; padding:0; }
.news-events-compact .event-kicker { width:100%; display:flex; align-items:center; justify-content:space-between; }
.news-events-compact .event-type { color:#70b7ff; font-size:11px; }
.news-events-compact .event-format { padding:6px 9px; border:1px solid rgba(255,255,255,.25); color:#fff; font-size:9px; font-weight:800; letter-spacing:.1em; }
.news-events-compact .event-date-inline { margin:30px 0 20px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.news-events-compact .event-date-inline strong { color:#fff; font-size:50px; line-height:.82; letter-spacing:-.05em; }
.news-events-compact .event-date-inline span { color:#70b7ff; font-size:12px; font-weight:800; line-height:1.2; letter-spacing:.08em; }
.news-events-compact .upcoming-event h3 { margin:0 0 5px; font-size:29px; }
.news-events-compact .event-place { margin-bottom:16px; color:#70b7ff; font-size:14px; font-weight:700; }
.news-events-compact .upcoming-event p { font-size:14px; line-height:1.6; }
@media (max-width:1050px) {
  .news-events-compact .news-events-layout,
  .news-events-compact .news-events-layout:has(.upcoming-event:not([hidden])) { grid-template-columns:1fr; }
  .news-events-compact .upcoming-event { min-height:310px; }
  .news-events-compact .event-body { min-height:250px; }
}
@media (max-width:620px) {
  .news-events-compact .news-row { grid-template-columns:120px minmax(0,1fr); min-height:160px; }
  .news-events-compact .news-row img { width:120px; height:120px; margin:20px 0; }
  .news-events-compact .news-row > div { padding:20px; }
  .news-events-compact .upcoming-event { padding:28px; }
  .news-events-compact .event-date-inline { margin-top:28px; }
}

/* Index blog revision: three equal vertical editorial cards */
.blogs-equal-layout .blog-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:none;
  gap:24px;
}
.blogs-equal-layout .blog-card,
.blogs-equal-layout .blog-card:first-child {
  grid-row:auto;
  min-height:450px;
  display:flex;
  flex-direction:column;
  background:#fff;
}
.blogs-equal-layout .blog-card > img,
.blogs-equal-layout .blog-card:first-child > img {
  width:100%;
  height:245px;
  flex:0 0 245px;
  object-fit:cover;
}
.blogs-equal-layout .blog-card > div,
.blogs-equal-layout .blog-card:first-child > div {
  flex:1;
  min-height:0;
  padding:22px 30px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.blogs-equal-layout .blog-card h3,
.blogs-equal-layout .blog-card:first-child h3 {
  max-width:none;
  margin:14px 0 14px;
  font-size:20px;
  line-height:1.28;
}
.blogs-equal-layout .blog-card a { margin-top:auto; }
@media (max-width:1000px) {
  .blogs-equal-layout .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .blogs-equal-layout .blog-grid { grid-template-columns:1fr; }
  .blogs-equal-layout .blog-card,
  .blogs-equal-layout .blog-card:first-child { min-height:0; }
  .blogs-equal-layout .blog-card > img,
  .blogs-equal-layout .blog-card:first-child > img { height:220px; flex-basis:220px; }
}

/* Index What We Do: centered introduction with nine equal boxes */
body:not([class]) .capabilities-grid-boxes.section { padding:78px 0 84px; background:#07182f; }
body:not([class]) .capabilities-grid-boxes .container {
  display:block;
}
body:not([class]) .capabilities-grid-boxes .section-head {
  position:static;
  max-width:1050px;
  margin:0 auto 46px;
  display:block;
  text-align:center;
}
body:not([class]) .capabilities-grid-boxes .section-head h2 {
  max-width:none;
  margin:0;
  color:#fff;
  font-size:48px;
  line-height:1.05;
}
body:not([class]) .capabilities-grid-boxes .section-head h2::after {
  margin:20px auto 0;
}
body:not([class]) .capabilities-grid-boxes .section-head p {
  max-width:1000px;
  margin:22px auto 0;
  color:#aebfd2;
  font-size:16px;
  line-height:1.65;
}
body:not([class]) .capabilities-grid-boxes .cap-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:42px;
  row-gap:0;
}
body:not([class]) .capabilities-grid-boxes .cap-list article,
body:not([class]) .capabilities-grid-boxes .cap-list article:nth-child(-n+3) {
  position:relative;
  height:154px;
  min-height:154px;
  padding:22px 4px 20px;
  border:0;
  border-bottom:1px solid rgba(115,169,224,.28);
  border-radius:0;
  background:transparent;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
body:not([class]) .capabilities-grid-boxes .cap-list article:hover {
  border-color:#3A92FF;
  background:transparent;
  transform:translateY(-4px);
}
body:not([class]) .capabilities-grid-boxes .cap-list article img {
  order:-1;
  width:auto;
  height:58px;
  max-width:72px;
  object-fit:contain;
}
body:not([class]) .capabilities-grid-boxes .cap-list article h3 {
  width:100%;
  max-width:none;
  margin:0;
  color:#fff;
  font-size:20px;
  line-height:1.22;
}
body:not([class]) .capabilities-grid-boxes .cap-list h3 b {
  display:inline;
  float:right;
  margin:0;
  color:#3A92FF;
}
@media (max-width:900px) {
  body:not([class]) .capabilities-grid-boxes .cap-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:580px) {
  body:not([class]) .capabilities-grid-boxes .cap-list { grid-template-columns:1fr; }
}
