.nwp-platforms{padding:90px 20px;background:linear-gradient(180deg,#f7faff 0%,#fff 100%);color:#0c1c33;clear:both}.nwp-platforms__inner{max-width:1180px;margin:0 auto}.nwp-platforms__head{max-width:820px;margin:0 auto 42px;text-align:center}.nwp-platforms__eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;color:#0b7dc3;margin-bottom:12px}.nwp-platforms__head h2{font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:-.04em;margin:0 0 16px;color:#0b1d38}.nwp-platforms__head p{font-size:18px;line-height:1.7;color:#65758b;margin:0}.nwp-platforms__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.nwp-platform-card{background:#fff;border:1px solid #e5ebf3;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(20,45,78,.08);transition:transform .25s ease,box-shadow .25s ease}.nwp-platform-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(20,45,78,.15)}.nwp-platform-card__visual{height:180px;background:#071c38;overflow:hidden}.nwp-platform-card__visual img{width:100%;height:100%;object-fit:cover}.nwp-platform-card__placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(circle at 80% 20%,rgba(255,126,44,.55),transparent 30%),linear-gradient(145deg,#071c38,#0f64a7)}.nwp-platform-card__placeholder span{display:grid;place-items:center;width:78px;height:78px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:28px;font-weight:900;letter-spacing:-.04em;backdrop-filter:blur(8px)}.nwp-platform-card__body{padding:24px}.nwp-platform-card__cat{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#f47a23;margin-bottom:8px}.nwp-platform-card h3{font-size:22px;line-height:1.2;margin:0 0 12px;color:#0b1d38}.nwp-platform-card__copy{font-size:15px;line-height:1.65;color:#69798c}.nwp-platform-card__copy p{margin:0}.nwp-platform-card__link{display:inline-flex;gap:8px;align-items:center;margin-top:18px;font-weight:800;color:#0879bc;text-decoration:none}.nwp-platform-card__link:hover{color:#f47a23}.nwp-platform-card__link span{transition:transform .2s}.nwp-platform-card__link:hover span{transform:translateX(4px)}
@media(max-width:1024px){.nwp-platforms__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.nwp-platforms{padding:64px 14px}.nwp-platforms__grid{grid-template-columns:1fr}.nwp-platform-card__visual{height:210px}.nwp-platforms__head p{font-size:16px}}
.nwp-platform-card__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:18px}
.nwp-platform-card__link--secondary{opacity:.8}
.nwp-platform-card__visual img{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center;display:block}
@media(max-width:640px){.nwp-platform-card__visual img{min-height:210px}.nwp-platform-card__actions{align-items:flex-start;flex-direction:column;gap:9px}}

/* ==========================================================
   N-WEB PLUS primary navigation dropdown fix
   Keep child menu items hidden until the parent is hovered.
   ========================================================== */
@media (min-width: 769px) {
  header nav li.menu-item-has-children,
  header .main-navigation li.menu-item-has-children,
  header #site-navigation li.menu-item-has-children,
  .site-header nav li.menu-item-has-children,
  .site-header .main-navigation li.menu-item-has-children,
  .site-header #site-navigation li.menu-item-has-children,
  nav.primary-navigation li.menu-item-has-children,
  .primary-navigation li.menu-item-has-children {
    position: relative !important;
  }

  header nav li.menu-item-has-children > ul.sub-menu,
  header .main-navigation li.menu-item-has-children > ul.sub-menu,
  header #site-navigation li.menu-item-has-children > ul.sub-menu,
  .site-header nav li.menu-item-has-children > ul.sub-menu,
  .site-header .main-navigation li.menu-item-has-children > ul.sub-menu,
  .site-header #site-navigation li.menu-item-has-children > ul.sub-menu,
  nav.primary-navigation li.menu-item-has-children > ul.sub-menu,
  .primary-navigation li.menu-item-has-children > ul.sub-menu {
    display: block !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 99999 !important;
    top: 100% !important;
    left: 0 !important;
    min-width: 285px !important;
    width: max-content !important;
    max-width: 380px !important;
    margin: 0 !important;
    padding: 10px !important;
    list-style: none !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 42, 76, .10) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 45px rgba(9, 30, 58, .16) !important;
    transform: translateY(8px) !important;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }

  header nav li.menu-item-has-children:hover > ul.sub-menu,
  header nav li.menu-item-has-children:focus-within > ul.sub-menu,
  header .main-navigation li.menu-item-has-children:hover > ul.sub-menu,
  header .main-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  header #site-navigation li.menu-item-has-children:hover > ul.sub-menu,
  header #site-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .site-header nav li.menu-item-has-children:hover > ul.sub-menu,
  .site-header nav li.menu-item-has-children:focus-within > ul.sub-menu,
  .site-header .main-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .site-header .main-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .site-header #site-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .site-header #site-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  nav.primary-navigation li.menu-item-has-children:hover > ul.sub-menu,
  nav.primary-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .primary-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .primary-navigation li.menu-item-has-children:focus-within > ul.sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  header nav ul.sub-menu > li,
  header .main-navigation ul.sub-menu > li,
  header #site-navigation ul.sub-menu > li,
  .site-header nav ul.sub-menu > li,
  .site-header .main-navigation ul.sub-menu > li,
  .site-header #site-navigation ul.sub-menu > li,
  nav.primary-navigation ul.sub-menu > li,
  .primary-navigation ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header nav ul.sub-menu > li > a,
  header .main-navigation ul.sub-menu > li > a,
  header #site-navigation ul.sub-menu > li > a,
  .site-header nav ul.sub-menu > li > a,
  .site-header .main-navigation ul.sub-menu > li > a,
  .site-header #site-navigation ul.sub-menu > li > a,
  nav.primary-navigation ul.sub-menu > li > a,
  .primary-navigation ul.sub-menu > li > a {
    display: block !important;
    padding: 11px 14px !important;
    border-radius: 9px !important;
    color: #102849 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  header nav ul.sub-menu > li > a:hover,
  header nav ul.sub-menu > li > a:focus,
  header .main-navigation ul.sub-menu > li > a:hover,
  header .main-navigation ul.sub-menu > li > a:focus,
  header #site-navigation ul.sub-menu > li > a:hover,
  header #site-navigation ul.sub-menu > li > a:focus,
  .site-header nav ul.sub-menu > li > a:hover,
  .site-header nav ul.sub-menu > li > a:focus,
  .site-header .main-navigation ul.sub-menu > li > a:hover,
  .site-header .main-navigation ul.sub-menu > li > a:focus,
  .site-header #site-navigation ul.sub-menu > li > a:hover,
  .site-header #site-navigation ul.sub-menu > li > a:focus,
  nav.primary-navigation ul.sub-menu > li > a:hover,
  nav.primary-navigation ul.sub-menu > li > a:focus,
  .primary-navigation ul.sub-menu > li > a:hover,
  .primary-navigation ul.sub-menu > li > a:focus {
    background: #f2f7fd !important;
    color: #0b6ed0 !important;
  }
}


/* Keep Our Work dropdown open while pointer moves from parent into submenu */
@media (min-width: 769px) {
  header nav li.menu-item-has-children > ul.sub-menu,
  header .main-navigation li.menu-item-has-children > ul.sub-menu,
  header #site-navigation li.menu-item-has-children > ul.sub-menu,
  .site-header nav li.menu-item-has-children > ul.sub-menu,
  .site-header .main-navigation li.menu-item-has-children > ul.sub-menu,
  .site-header #site-navigation li.menu-item-has-children > ul.sub-menu,
  nav.primary-navigation li.menu-item-has-children > ul.sub-menu,
  .primary-navigation li.menu-item-has-children > ul.sub-menu {
    margin-top: 0 !important;
  }

  header nav li.menu-item-has-children::after,
  header .main-navigation li.menu-item-has-children::after,
  header #site-navigation li.menu-item-has-children::after,
  .site-header nav li.menu-item-has-children::after,
  .site-header .main-navigation li.menu-item-has-children::after,
  .site-header #site-navigation li.menu-item-has-children::after,
  nav.primary-navigation li.menu-item-has-children::after,
  .primary-navigation li.menu-item-has-children::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 18px;
    z-index: 99998;
  }

  header nav li.menu-item-has-children:hover > ul.sub-menu,
  header nav li.menu-item-has-children > ul.sub-menu:hover,
  header nav li.menu-item-has-children:focus-within > ul.sub-menu,
  header .main-navigation li.menu-item-has-children:hover > ul.sub-menu,
  header .main-navigation li.menu-item-has-children > ul.sub-menu:hover,
  header .main-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  header #site-navigation li.menu-item-has-children:hover > ul.sub-menu,
  header #site-navigation li.menu-item-has-children > ul.sub-menu:hover,
  header #site-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .site-header nav li.menu-item-has-children:hover > ul.sub-menu,
  .site-header nav li.menu-item-has-children > ul.sub-menu:hover,
  .site-header nav li.menu-item-has-children:focus-within > ul.sub-menu,
  .site-header .main-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .site-header .main-navigation li.menu-item-has-children > ul.sub-menu:hover,
  .site-header .main-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .site-header #site-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .site-header #site-navigation li.menu-item-has-children > ul.sub-menu:hover,
  .site-header #site-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  nav.primary-navigation li.menu-item-has-children:hover > ul.sub-menu,
  nav.primary-navigation li.menu-item-has-children > ul.sub-menu:hover,
  nav.primary-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .primary-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .primary-navigation li.menu-item-has-children > ul.sub-menu:hover,
  .primary-navigation li.menu-item-has-children:focus-within > ul.sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
}

/* ==========================================================
   Scrolling client logos - homepage trust strip
   ========================================================== */
.nwp-clients{padding:72px 0 66px;background:#fff;color:#0b1d38;overflow:hidden;clear:both;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7}
.nwp-clients__inner{max-width:100%;margin:0 auto}
.nwp-clients__head{max-width:880px;margin:0 auto 34px;padding:0 22px;text-align:center}
.nwp-clients__eyebrow{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.16em;color:#0b6ed0;margin-bottom:10px}
.nwp-clients__head h2{margin:0 0 10px;color:#0b1d38;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.035em}
.nwp-clients__head p{margin:0;color:#67788f;font-size:16px;line-height:1.65}
.nwp-clients__viewport{position:relative;width:100%;overflow:hidden;padding:14px 0 18px;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.nwp-clients__track{display:flex;align-items:stretch;gap:22px;width:max-content;animation:nwpClientMarquee 46s linear infinite;will-change:transform}
.nwp-clients__viewport:hover .nwp-clients__track{animation-play-state:paused}
.nwp-client-logo{width:205px;flex:0 0 205px;background:#fff;border:1px solid #e7edf5;border-radius:18px;box-shadow:0 10px 28px rgba(17,43,75,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.nwp-client-logo:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(17,43,75,.13);border-color:#d6e4f5}
.nwp-client-logo a{display:block;padding:20px 18px 17px;text-decoration:none!important;color:inherit!important}
.nwp-client-logo__image{height:92px;display:flex;align-items:center;justify-content:center;padding:7px}
.nwp-client-logo__image img{display:block!important;max-width:150px!important;max-height:78px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:none!important;opacity:1!important}
.nwp-client-logo__image span{display:grid;place-items:center;width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,#edf6ff,#fff2e9);color:#0d67b0;font-weight:900;font-size:22px}
.nwp-client-logo__name{text-align:center;font-size:13px;line-height:1.35;font-weight:800;color:#193150;min-height:36px;display:flex;align-items:center;justify-content:center}
@keyframes nwpClientMarquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 11px))}}
@media(max-width:700px){.nwp-clients{padding:55px 0 50px}.nwp-clients__head{margin-bottom:25px}.nwp-clients__track{gap:14px;animation-duration:38s}.nwp-client-logo{width:165px;flex-basis:165px}.nwp-client-logo a{padding:15px 12px 14px}.nwp-client-logo__image{height:72px}.nwp-client-logo__image img{max-width:125px!important;max-height:60px!important}.nwp-client-logo__name{font-size:12px}}
@media(prefers-reduced-motion:reduce){.nwp-clients__track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;padding:0 18px}.nwp-clients__viewport{overflow:visible;mask-image:none;-webkit-mask-image:none}}
