:root {
  --elevate-navy: #020d22;
  --elevate-navy-2: #061936;
  --elevate-cyan: #06b5ea;
  --elevate-blue: #087db9;
  --elevate-ink: #2f3338;
  --elevate-muted: #6d747d;
  --elevate-shadow: 0 24px 60px rgba(5, 52, 83, .18);
}

body { color: var(--elevate-ink); background: #fff; font-family: Arial, Helvetica, sans-serif; }
.elevate-page-content { min-height: 40vh; }
.elevate-standard-content { width: min(1180px, calc(100% - 48px)); margin: 120px auto; }
.elementor-element.elevate-container { width: min(1180px, calc(100% - 48px)); max-width: 1180px; margin-inline: auto; }
.elementor-element.elevate-reveal { opacity: 0; transform: translateY(30px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.65,.25,1); }
.elementor-element.elevate-reveal.elevate-visible,
.elementor-editor-active .elementor-element.elevate-reveal { opacity: 1; transform: translateY(0); }

/* Editable header */
.elementor-element.elevate-site-header { position: absolute; inset: 0 0 auto; z-index: 50; width: 100%; padding: 28px 0; transition: padding .3s ease, background .3s ease; }
.elementor-element.elevate-site-header.is-sticky { position: fixed; padding: 12px 0; animation: elevateHeaderDrop .45s ease both; }
.admin-bar .elementor-element.elevate-site-header.is-sticky { top: 32px; }
.elevate-template-editor .elementor-element.elevate-site-header { position: relative; background: var(--elevate-navy); }
.elementor-element.elevate-nav-shell { width: min(1210px, calc(100% - 40px)); max-width: 1210px; min-height: 78px; margin: auto; padding: 9px 16px 9px 24px; display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 22px; border: 1.5px solid rgba(255,255,255,.7); border-radius: 22px; color: #fff; background: rgba(2,13,34,.74); backdrop-filter: blur(18px); box-shadow: 0 18px 45px rgba(0,0,0,.17); }
.elementor-widget.elevate-brand { width: 154px; flex: 0 0 154px; }
.elevate-brand img { width: 154px; height: 58px; object-fit: contain; }
.elementor-widget.elevate-primary-nav { flex: 1 1 auto; min-width: 0; }
.elevate-nav-widget { display: flex; justify-content: flex-end; align-items: center; }
.elevate-nav-widget nav { width: 100%; }
.elevate-menu { display: flex; justify-content: flex-end; align-items: center; gap: clamp(14px,2vw,31px); margin: 0; padding: 0; list-style: none; white-space: nowrap; }
.elevate-menu li { position: relative; margin: 0; }
.elevate-menu a { position: relative; display: block; padding: 12px 0; color: rgba(255,255,255,.85); font-size: 14px; transition: color .25s ease; }
.elevate-menu a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 4px; height: 2px; background: var(--elevate-cyan); transition: .25s ease; }
.elevate-menu a:hover::after, .elevate-menu .current-menu-item > a::after { left: 0; right: 0; }
.elevate-menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 10px; background: rgba(255,255,255,.08); }
.elevate-menu-toggle span { display: block; height: 2px; margin: 5px 0; background: #fff; }
.elementor-widget.elevate-login-button { flex: 0 0 auto; width: auto; }
.elevate-login-button .elementor-button { min-width: 112px; padding: 15px 25px; border-radius: 7px; text-transform: uppercase; box-shadow: 0 12px 30px rgba(4,173,231,.2); }

/* Hero */
.elementor-element.elevate-hero { position: relative; isolation: isolate; overflow: hidden; padding: 185px 0 0; color: #fff; }
.elevate-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(1,12,31,.48), rgba(2,13,34,.86)); pointer-events: none; }
.elevate-hero > .e-con-inner, .elevate-hero > .elementor-element { position: relative; z-index: 1; }
.elementor-element.elevate-hero-copy { max-width: 900px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.elevate-hero-copy .elementor-widget { margin: 0; }
.elevate-hero-eyebrow p { margin: 0 0 8px; }
.elevate-hero-title .elementor-heading-title { margin: 0 0 10px; font-size: clamp(46px,5.7vw,78px); line-height: 1.04; letter-spacing: -.045em; text-shadow: 0 10px 38px rgba(0,0,0,.3); }
.elevate-hero-lede { max-width: 840px; }
.elevate-hero-lede p { margin: 0 0 29px; color: rgba(255,255,255,.82); line-height: 1.5; }
.elevate-pill-button .elementor-button, .elevate-product-button .elementor-button { display: inline-flex; align-items: center; gap: 12px; padding: 12px 13px 12px 22px; border-radius: 999px; box-shadow: 0 12px 30px rgba(0,0,0,.15); transition: transform .25s ease, box-shadow .25s ease; }
.elevate-pill-button .elementor-button:hover, .elevate-product-button .elementor-button:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,.22); }
.elementor-element.elevate-hero-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: min(946px,calc(100% - 48px)); max-width: 946px; margin-top: 76px; box-shadow: var(--elevate-shadow); }
.elementor-element.elevate-hero-card { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(420px,43vw,530px); padding: 0 28px 28px; display: flex; justify-content: flex-end; border-right: 2px solid rgba(255,255,255,.38); transition: transform .45s ease; }
.elevate-hero-card:last-child { border-right: 0; }
.elevate-hero-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,transparent 48%,rgba(2,116,163,.92)); }
.elevate-hero-card:hover { transform: scale(1.018); }
.elevate-hero-card-text p { margin: 0; color: #fff; font-size: 17px; line-height: 1.18; }
.elevate-hero-card-text strong { font-size: 22px; }

/* Impact */
.elementor-element.elevate-impact { padding: 0; background: #fff; }
.elementor-element.elevate-impact-grid { display: grid; grid-template-columns: minmax(0,679px) 267px; width: min(946px,calc(100% - 48px)); max-width: 946px; gap: 0; align-items: stretch; }
.elementor-element.elevate-impact-main { padding-top: 63px; gap: 0; }
.elementor-element.elevate-impact-heading { padding-left: 59px; gap: 0; }
.elevate-impact-heading .elementor-widget { margin: 0; }
.elevate-impact-blue .elementor-heading-title, .elevate-impact-dark .elementor-heading-title { font-size: clamp(40px,3.7vw,52px); line-height: 1.02; letter-spacing: -.035em; }
.elevate-impact-subtitle p { margin: 13px 0 0; }
.elementor-element.elevate-impact-story { position: relative; min-height: 288px; margin: 52px 0 0 27px; padding: 31px 28px 25px 258px; display: block; border-radius: 88px 0 0; background: #bfe9fa; }
.elementor-element.elevate-impact-photo { position: absolute; left: 46px; top: -40px; width: 198px; height: 243px; overflow: hidden; border-radius: 27px 27px 27px 55px; box-shadow: 0 16px 35px rgba(25,93,122,.14); filter: grayscale(1) contrast(1.05); }
.elevate-impact-copy p { margin: 0; font-size: 15px; line-height: 1.2; }
.elementor-element.elevate-stats-panel { position: relative; overflow: hidden; min-height: 528px; padding: 42px 65px 27px; display: flex; flex-direction: column; gap: 0; color: #fff; text-align: center; background: linear-gradient(115deg,#1778b4,#08b4df); }
.elevate-stats-panel::after { content: ""; position: absolute; width: 180px; height: 180px; right: -90px; bottom: -70px; border: 24px solid rgba(255,255,255,.1); border-radius: 50%; }
.elevate-stats-heading { margin-bottom: 9px; }
.elementor-widget.elevate-stat { position: relative; z-index: 1; padding: 16px 0; border-bottom: 1px solid rgba(0,31,56,.72); }
.elevate-stat:last-child { border: 0; }
.elevate-stat .elementor-counter-number-wrapper { font-size: 37px; font-weight: 700; line-height: 1; }
.elevate-stat .elementor-counter-title { margin-top: 6px; font-size: 12px; font-weight: 700; line-height: 1.25; }

/* Ticker */
.elevate-ticker-section, .elevate-ticker-control, .elevate-ticker-control .elementor-widget-container { width: 100%; }
.elevate-ticker-widget { overflow: hidden; color: #fff; background: #040b25; }
.elevate-ticker-track { width: max-content; display: flex; align-items: center; gap: 34px; padding: 12px 0; font-size: 17px; font-weight: 700; animation: elevateTicker 22s linear infinite; }
.elevate-ticker-track i { color: var(--elevate-cyan); font-style: normal; }

/* Shared section headings */
.elementor-element.elevate-section-title { align-items: center; margin-bottom: 38px; gap: 0; text-align: center; }
.elevate-section-kicker .elementor-heading-title { line-height: 1; }
.elevate-section-heading .elementor-heading-title { margin: 7px 0 13px; font-size: clamp(39px,4.3vw,61px); line-height: 1; letter-spacing: -.04em; }
.elevate-section-description p { margin: 0; }
.elementor-element.elevate-title-rule { width: 86px; height: 3px; margin-top: 18px; background: linear-gradient(90deg,transparent,var(--elevate-cyan),transparent); }

/* Capabilities */
.elementor-element.elevate-capabilities { padding: 100px 0 105px; background: #fff; }
.elementor-element.elevate-capability-mosaic { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: 250px 105px 205px 153px; gap: 20px; width: min(1046px,calc(100% - 48px)); max-width: 1046px; }
.elementor-element.elevate-cap-card { position: relative; isolation: isolate; overflow: hidden; display: block; padding: 24px 22px; border-radius: 37px; color: #fff; transition: transform .3s ease, box-shadow .3s ease; }
.elevate-cap-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(1,15,39,.67); }
.elevate-cap-card:hover { transform: translateY(-8px); box-shadow: 0 24px 50px rgba(3,91,135,.24); }
.elevate-cap-title .elementor-heading-title { color: #48c8ef; font-size: 27px; line-height: 1.08; }
.elevate-cap-text p { margin: 14px 0 18px; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.18; }
.elementor-widget.elevate-read-more { position: absolute; left: 22px; bottom: 22px; width: auto; }
.elevate-read-more .elementor-button { overflow: hidden; padding: 6px 7px 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.elevate-cap-ifriend { grid-column: 1; grid-row: 1/3; padding-top: 61px; }
.elevate-cap-ifriend .elevate-read-more { bottom: 63px; }
.elevate-cap-doc { grid-column: 4; grid-row: 1; padding-top: 40px; }
.elevate-cap-doc .elevate-read-more { bottom: 40px; }
.elevate-cap-cyber { grid-column: 1; grid-row: 3; padding: 31px 16px 16px; }
.elevate-cap-cyber .elevate-read-more { left: 16px; bottom: 18px; }
.elevate-cap-custom { grid-column: 2; grid-row: 3/5; padding-top: 146px; }
.elevate-cap-forecast { grid-column: 3; grid-row: 3/5; padding: 146px 20px 24px 54px; text-align: right; }
.elevate-cap-forecast .elevate-read-more { left: auto; right: 20px; }
.elevate-cap-workplace { grid-column: 4; grid-row: 3/5; padding-top: 122px; }
.elementor-element.elevate-cap-intro { grid-column: 2/4; grid-row: 1/3; display: flex; justify-content: flex-start; align-items: center; padding: 31px 60px; border-radius: 37px; text-align: center; }
.elevate-cap-intro-text p { margin: 0; font-size: 27px; font-weight: 700; line-height: 1.18; }
.elementor-element.elevate-mosaic-logo { position: absolute; left: 50%; top: 50%; z-index: 6; width: 280px; height: 280px; transform: translate(-50%,-50%); display: grid; place-items: center; border: 12px solid #e8e8e8; border-radius: 50%; background: #fff; box-shadow: 0 15px 35px rgba(5,61,91,.12); }
.elevate-mark-image img { width: 164px; height: 164px; object-fit: contain; }
.elementor-element.elevate-service-cta { position: relative; overflow: hidden; display: grid; place-items: center; border-radius: 37px; }
.elevate-service-button { width: calc(100% - 50px); }
.elevate-service-button .elementor-button { width: 100%; justify-content: center; padding: 17px 12px; border: 2px solid #041229; border-radius: 999px; font-size: 14px; font-weight: 700; }
.elevate-cta-right { grid-column: 4; grid-row: 2; }
.elevate-cta-left { grid-column: 1; grid-row: 4; }
.elevate-cta-left .elementor-button { padding-block: 18px; }

/* Product */
.elementor-element.elevate-product { position: relative; min-height: 411px; padding: 26px 0 0; border-radius: 42px 42px 0 0; color: #fff; }
.elementor-element.elevate-product-kicker { position: absolute; left: 50%; top: 0; z-index: 5; width: min(420px,80%); transform: translate(-50%,-50%); padding: 10px 35px 14px; gap: 0; border-radius: 0 0 42px 42px; text-align: center; background: #fff; }
.elevate-product-kicker-top .elementor-heading-title { line-height: 1; }
.elevate-product-kicker-main .elementor-heading-title { line-height: 1.1; }
.elementor-element.elevate-product-grid { display: grid; grid-template-columns: 440px 1fr; width: min(1010px,calc(100% - 48px)); max-width: 1010px; min-height: 385px; gap: 30px; align-items: center; }
.elementor-element.elevate-product-copy { padding-top: 19px; gap: 0; }
.elevate-product-title .elementor-heading-title { max-width: 360px; margin-bottom: 16px; font-size: 41px; line-height: 1.1; text-transform: uppercase; }
.elevate-product-text p { max-width: 410px; margin: 0 0 38px; color: #fff; font-size: 18px; line-height: 1.22; }
.elevate-product-button .elementor-button { padding: 8px 9px 8px 15px; font-size: 10px; }
.elementor-element.elevate-laptop-wrap { position: relative; min-height: 385px; display: grid; place-items: end center; }
.elevate-laptop-wrap::before { content: ""; position: absolute; width: 62%; aspect-ratio: 1; border-radius: 50%; background: rgba(0,179,235,.18); filter: blur(45px); }
.elevate-laptop { position: relative; z-index: 2; }
.elevate-laptop img { width: 570px; max-width: none; margin-bottom: -6px; filter: drop-shadow(0 35px 35px rgba(0,0,0,.5)); animation: elevateLaptopFloat 4.5s ease-in-out infinite; }

/* Solutions */
.elementor-element.elevate-solutions { min-height: 980px; padding: 110px 0; background: #fff; }
.elementor-element.elevate-solutions-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 78px 80px; max-width: 980px; }
.elementor-element.elevate-solution-card { position: relative; min-height: 270px; padding: 73px 30px 30px; border-radius: 58px 58px 45px 45px; text-align: center; color: #fff; box-shadow: 0 24px 50px rgba(5,52,82,.15); transition: transform .35s ease; }
.elevate-solution-card:hover { transform: translateY(-10px) rotate(.4deg); }
.elevate-solution-card:nth-child(2), .elevate-solution-card:nth-child(5) { transform: translateY(46px); }
.elementor-widget.elevate-solution-icon { position: absolute; left: 50%; top: 0; z-index: 2; width: 84px; height: 84px; transform: translate(-50%,-42%); display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #0788c3; box-shadow: 0 12px 30px rgba(3,113,163,.32); }
.elevate-solution-title .elementor-heading-title { line-height: 1.05; }
.elevate-solution-text p { color: rgba(255,255,255,.78); font-size: 14px; }

/* Team widget */
.elementor-element.elevate-team-section { position: relative; overflow: hidden; padding: 60px 0 110px; background: linear-gradient(180deg,#fff,#f6fbfd); }
.elevate-team-section::before { content: ""; position: absolute; inset: 160px 0 0; opacity: .07; background-image: radial-gradient(circle at 20% 30%,#0b83b5 0 3px,transparent 4px),radial-gradient(circle at 57% 52%,#0b83b5 0 3px,transparent 4px),radial-gradient(circle at 82% 25%,#0b83b5 0 3px,transparent 4px); background-size: 130px 90px; }
.elevate-team-widget { width: 100%; }
.elevate-team-carousel { position: relative; }
.elevate-team-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 64px)/5); gap: 16px; overflow-x: auto; padding: 45px 6px 35px; scrollbar-width: none; scroll-snap-type: x mandatory; }
.elevate-team-track::-webkit-scrollbar { display: none; }
.elevate-team-card { position: relative; min-height: 325px; padding: 68px 20px 23px; border: 1px solid rgba(7,137,189,.12); border-radius: 26px; text-align: center; box-shadow: 0 15px 35px rgba(4,72,105,.08); scroll-snap-align: start; transition: transform .3s ease; }
.elevate-team-card:hover { transform: translateY(-8px); }
.elevate-team-avatar { position: absolute; left: 50%; top: 0; display: grid; place-items: center; width: 78px; aspect-ratio: 1; transform: translate(-50%,-34%); border: 8px solid #e8f7fc; border-radius: 50%; color: #fff; box-shadow: 0 10px 25px rgba(2,130,180,.3); font-weight: 700; }
.elevate-team-card h3 { margin: 0 0 4px; font-size: 18px; }
.elevate-team-role { display: block; min-height: 38px; font-size: 12px; }
.elevate-team-card p { margin-top: 16px; color: #68717a; font-size: 12px; }
.elevate-carousel-button { position: absolute; z-index: 5; top: 46%; width: 44px; aspect-ratio: 1; border: 0; border-radius: 50%; color: #fff; box-shadow: 0 10px 25px rgba(7,125,178,.22); font-size: 30px; cursor: pointer; }
.elevate-carousel-prev { left: -18px; }
.elevate-carousel-next { right: -18px; }

/* Footer */
.elementor-element.elevate-footer { padding: 64px 0 18px; color: rgba(255,255,255,.72); background: #1f2022; }
.elementor-element.elevate-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 70px; }
.elevate-footer-logo img { width: 190px; height: 78px; object-fit: contain; object-position: left; filter: saturate(.9) brightness(1.3); }
.elevate-footer-about p { max-width: 310px; }
.elementor-element.elevate-social-row { display: flex; flex-direction: row; gap: 8px; }
.elevate-social-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #078ac3; }
.elevate-footer-links .elementor-icon-list-items { margin: 0; padding: 0; }
.elevate-footer-links .elementor-icon-list-item { margin: 8px 0; }
.elevate-copyright { width: min(1180px,calc(100% - 48px)); margin: 42px auto 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); }
.elevate-copyright p { margin: 0; }

/* Placeholder pages */
.elementor-element.elevate-placeholder-page { min-height: 70vh; padding: 210px 0 120px; display: grid; place-items: center; position: relative; isolation: isolate; }
.elevate-placeholder-page::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(2,13,34,.7); }
.elevate-placeholder-inner { align-items: center; text-align: center; }
.elevate-placeholder-text { max-width: 680px; }

.elevate-fallback-header { padding: 25px 5vw; display: flex; align-items: center; justify-content: space-between; color: #fff; background: var(--elevate-navy); }
.elevate-fallback-footer { padding: 35px 5vw; color: #fff; background: #1f2022; text-align: center; }

@keyframes elevateTicker { to { transform: translateX(-50%); } }
@keyframes elevateLaptopFloat { 50% { transform: translateY(-14px); } }
@keyframes elevateHeaderDrop { from { transform: translateY(-110%); } }

@media (max-width: 1080px) {
  .elevate-menu { gap: 14px; }
  .elevate-menu a { font-size: 12px; }
  .elementor-widget.elevate-brand { width: 125px; flex-basis: 125px; }
  .elevate-brand img { width: 125px; }
  .elementor-element.elevate-capability-mosaic { grid-template-rows: 225px 96px 190px 140px; gap: 14px; }
  .elevate-cap-title .elementor-heading-title { font-size: 22px; }
  .elevate-cap-text p { font-size: 13px; }
  .elevate-cap-intro-text p { font-size: 23px; }
  .elevate-cap-custom, .elevate-cap-forecast, .elevate-cap-workplace { padding-top: 96px; }
  .elementor-element.elevate-mosaic-logo { width: 250px; height: 250px; }
  .elevate-mark-image img { width: 145px; height: 145px; }
  .elevate-team-track { grid-auto-columns: calc((100% - 48px)/4); }
}

@media (max-width: 820px) {
  .admin-bar .elementor-element.elevate-site-header.is-sticky { top: 46px; }
  .elementor-element.elevate-site-header { padding-top: 18px; }
  .elementor-element.elevate-nav-shell { min-height: 68px; padding: 7px 10px 7px 16px; }
  .elementor-widget.elevate-primary-nav { order: 3; flex: 0 0 auto; }
  .elevate-menu-toggle { display: block; }
  .elevate-nav-widget nav { position: absolute; left: 20px; right: 20px; top: calc(100% + 10px); width: auto; padding: 14px 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: rgba(2,13,34,.98); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .25s ease; }
  .elevate-nav-widget.is-open nav { opacity: 1; visibility: visible; transform: translateY(0); }
  .elevate-menu { display: grid; gap: 0; }
  .elevate-menu a { padding: 11px 0; font-size: 14px; }
  .elementor-element.elevate-hero { padding-top: 150px; }
  .elevate-hero-lede p { font-size: 16px; }
  .elementor-element.elevate-hero-cards { margin-top: 58px; }
  .elementor-element.elevate-hero-card { min-height: 410px; padding-inline: 17px; }
  .elevate-hero-card-text strong { font-size: 18px; }
  .elementor-element.elevate-impact-grid { grid-template-columns: 1fr; }
  .elementor-element.elevate-impact-main { padding: 68px 24px 0; }
  .elementor-element.elevate-impact-heading { padding-left: 0; }
  .elementor-element.elevate-impact-story { margin-left: 0; }
  .elementor-element.elevate-stats-panel { min-height: auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; padding: 28px; }
  .elevate-stats-heading { grid-column: 1/-1; }
  .elementor-widget.elevate-stat { border: 0; padding: 0; }
  .elevate-stat .elementor-counter-number-wrapper { font-size: 29px; }
  .elementor-element.elevate-capability-mosaic { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; grid-auto-rows: minmax(210px,auto); gap: 16px; }
  .elevate-cap-ifriend, .elevate-cap-doc, .elevate-cap-cyber, .elevate-cap-custom, .elevate-cap-forecast, .elevate-cap-workplace, .elevate-cta-left, .elevate-cta-right { grid-column: auto; grid-row: auto; min-height: 250px; padding: 38px 24px 24px; text-align: left; }
  .elevate-cap-forecast .elevate-read-more { left: 24px; right: auto; }
  .elementor-element.elevate-cap-intro { grid-column: 1/-1; grid-row: auto; min-height: 250px; padding: 42px; }
  .elementor-element.elevate-mosaic-logo { display: none; }
  .elementor-element.elevate-service-cta { min-height: 110px; }
  .elementor-element.elevate-product { min-height: auto; padding-top: 85px; }
  .elementor-element.elevate-product-grid { grid-template-columns: 1fr; width: min(680px,calc(100% - 48px)); text-align: center; }
  .elementor-element.elevate-product-copy { padding-top: 0; align-items: center; }
  .elevate-product-text p { margin-inline: auto; }
  .elementor-element.elevate-laptop-wrap { min-height: 330px; }
  .elevate-laptop img { width: min(570px,100%); max-width: 100%; }
  .elementor-element.elevate-solutions-grid { gap: 70px 32px; }
  .elevate-team-track { grid-auto-columns: calc((100% - 32px)/3); }
  .elementor-element.elevate-footer-grid { grid-template-columns: 1.2fr repeat(2,1fr); gap: 42px; }
  .elevate-footer-grid > :last-child { grid-column: 2; }
}

@media (max-width: 580px) {
  .elementor-element.elevate-container { width: min(100% - 30px,1180px); }
  .elementor-widget.elevate-login-button { display: none; }
  .elementor-element.elevate-nav-shell { width: calc(100% - 24px); }
  .elementor-element.elevate-hero { padding: 135px 0 0; }
  .elevate-hero-title .elementor-heading-title { font-size: 45px; }
  .elementor-element.elevate-hero-cards { grid-template-columns: 1fr; box-shadow: none; }
  .elementor-element.elevate-hero-card { min-height: 330px; margin-bottom: 14px; border: 0; border-radius: 22px; box-shadow: var(--elevate-shadow); }
  .elementor-element.elevate-impact-main { padding: 62px 0 0; }
  .elementor-element.elevate-impact-story { min-height: auto; margin-top: 55px; padding: 225px 22px 28px; border-radius: 55px 0 0; }
  .elementor-element.elevate-impact-photo { left: 50%; top: -28px; width: 180px; height: 220px; transform: translateX(-50%); }
  .elementor-element.elevate-stats-panel { grid-template-columns: repeat(2,1fr); }
  .elevate-section-heading .elementor-heading-title { font-size: 42px; }
  .elementor-element.elevate-capability-mosaic { grid-template-columns: 1fr; }
  .elementor-element.elevate-cap-intro { grid-column: 1; }
  .elementor-element.elevate-product { padding-bottom: 30px; }
  .elevate-product-kicker-top .elementor-heading-title { font-size: 21px; }
  .elevate-product-kicker-main .elementor-heading-title { font-size: 31px; }
  .elevate-product-title .elementor-heading-title { font-size: 32px; }
  .elevate-product-text p { font-size: 16px; }
  .elementor-element.elevate-solutions { min-height: auto; }
  .elementor-element.elevate-solutions-grid { grid-template-columns: 1fr; gap: 70px; max-width: 330px; }
  .elevate-solution-card:nth-child(2), .elevate-solution-card:nth-child(5) { transform: none; }
  .elevate-team-track { grid-auto-columns: 82%; }
  .elevate-carousel-prev { left: -7px; }
  .elevate-carousel-next { right: -7px; }
  .elementor-element.elevate-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .elevate-footer-brand { grid-column: 1/-1; }
  .elevate-footer-grid > :last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/*
 * Elementor container compatibility layer.
 * Elementor stores layout in CSS custom properties. Some installations apply
 * their default column/boxed variables after the theme stylesheet, so both the
 * native properties and Elementor variables are pinned here.
 */
:where(body .elementor) .e-con.elevate-site-header {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
}

:where(body .elementor) .e-con.elevate-container {
  --width: min(1180px, calc(100% - 48px)) !important;
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}

:where(body .elementor) .e-con.elevate-nav-shell {
  --display: flex !important;
  --flex-direction: row !important;
  --flex-wrap: nowrap !important;
  --align-items: center !important;
  --justify-content: flex-start !important;
  --width: min(1210px, calc(100% - 40px)) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: min(1210px, calc(100% - 40px)) !important;
  max-width: 1210px !important;
}

:where(body .elementor) .elementor-widget.elevate-brand {
  --width: 154px !important;
  width: 154px !important;
  max-width: 154px !important;
  flex: 0 0 154px !important;
}

:where(body .elementor) .elevate-brand .elementor-widget-container,
:where(body .elementor) .elevate-brand img {
  width: 154px !important;
  max-width: 154px !important;
  height: 58px !important;
  object-fit: contain !important;
}

:where(body .elementor) .elementor-widget.elevate-primary-nav {
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 auto !important;
}

:where(body .elementor) .elementor-widget.elevate-login-button {
  --width: auto !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

:where(body .elementor) .e-con.elevate-hero-copy {
  --display: flex !important;
  --flex-direction: column !important;
  --align-items: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

:where(body .elementor) .e-con.elevate-hero-cards {
  --display: grid !important;
  --width: min(946px, calc(100% - 48px)) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(946px, calc(100% - 48px)) !important;
  max-width: 946px !important;
}

:where(body .elementor) .e-con.elevate-hero-card {
  --display: flex !important;
  --flex-direction: column !important;
  --justify-content: flex-end !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  width: 100% !important;
  max-width: none !important;
}

:where(body .elementor) .e-con.elevate-impact-grid {
  --display: grid !important;
  --width: min(946px, calc(100% - 48px)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 679px) 267px !important;
  width: min(946px, calc(100% - 48px)) !important;
  max-width: 946px !important;
}

:where(body .elementor) .e-con.elevate-capability-mosaic {
  --display: grid !important;
  --width: min(1046px, calc(100% - 48px)) !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: min(1046px, calc(100% - 48px)) !important;
  max-width: 1046px !important;
}

:where(body .elementor) .e-con.elevate-product-grid {
  --display: grid !important;
  --width: min(1010px, calc(100% - 48px)) !important;
  display: grid !important;
  grid-template-columns: 440px minmax(0, 1fr) !important;
  width: min(1010px, calc(100% - 48px)) !important;
  max-width: 1010px !important;
}

:where(body .elementor) .e-con.elevate-solutions-grid {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: min(980px, calc(100% - 48px)) !important;
  max-width: 980px !important;
}

:where(body .elementor) .e-con.elevate-footer-grid {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 1080px) {
  :where(body .elementor) .elementor-widget.elevate-brand,
  :where(body .elementor) .elevate-brand .elementor-widget-container,
  :where(body .elementor) .elevate-brand img {
    --width: 125px !important;
    width: 125px !important;
    max-width: 125px !important;
    flex-basis: 125px !important;
  }
}

/* PDF-match corrections (1.0.5). */
:where(body .elementor) .e-con.elevate-hero-cards {
  --gap: 0px !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}

@media (min-width: 821px) {
  :where(body .elementor) .e-con.elevate-product {
    min-height: clamp(520px, 37.5vw, 700px) !important;
    padding-top: 26px !important;
  }

  :where(body .elementor) .e-con.elevate-product-grid {
    --width: min(1180px, calc(100% - 64px)) !important;
    width: min(1180px, calc(100% - 64px)) !important;
    max-width: 1180px !important;
    min-height: clamp(520px, 37.5vw, 700px) !important;
    grid-template-columns: 460px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: center !important;
  }

  :where(body .elementor) .e-con.elevate-product-copy {
    --padding-left: 55px !important;
    padding: 19px 0 0 55px !important;
    margin-top: -22px !important;
  }

  :where(body .elementor) .elevate-product-title .elementor-heading-title {
    max-width: 390px !important;
    margin-bottom: 20px !important;
    color: #0787be !important;
    font-size: 46px !important;
    line-height: 1.08 !important;
  }

  :where(body .elementor) .elevate-product-text p {
    max-width: 430px !important;
    margin-bottom: 44px !important;
    font-size: 20px !important;
    line-height: 1.24 !important;
  }

  :where(body .elementor) .e-con.elevate-laptop-wrap {
    min-height: clamp(520px, 37.5vw, 700px) !important;
    place-items: end center !important;
  }

  :where(body .elementor) .elementor-widget.elevate-laptop {
    --width: 700px !important;
    width: 700px !important;
    max-width: none !important;
    justify-self: center !important;
  }

  :where(body .elementor) .elevate-laptop img {
    width: 700px !important;
    max-width: none !important;
  }

  :where(body .elementor) .e-con.elevate-product-kicker {
    padding: 14px 38px 20px !important;
  }

  :where(body .elementor) .elevate-product-kicker-top .elementor-heading-title {
    font-size: 34px !important;
  }

  :where(body .elementor) .elevate-product-kicker-main .elementor-heading-title {
    font-size: 50px !important;
  }

  :where(body .elementor) .elevate-product-button .elementor-button {
    min-height: 48px !important;
    padding: 7px 7px 7px 17px !important;
    color: #ffffff !important;
    background: #75808d !important;
  }

  :where(body .elementor) .elevate-product-button .elementor-button-icon {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    margin-left: 13px !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    background: #06b5ea !important;
  }
}

@media (max-width: 820px) {
  :where(body .elementor) .e-con.elevate-impact-grid {
    grid-template-columns: 1fr !important;
  }
  :where(body .elementor) .e-con.elevate-capability-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
  }
  :where(body .elementor) .e-con.elevate-product-grid {
    --width: min(680px, calc(100% - 48px)) !important;
    grid-template-columns: 1fr !important;
    width: min(680px, calc(100% - 48px)) !important;
  }
  :where(body .elementor) .e-con.elevate-footer-grid {
    grid-template-columns: 1.2fr repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 580px) {
  :where(body .elementor) .e-con.elevate-container {
    --width: calc(100% - 30px) !important;
    width: calc(100% - 30px) !important;
  }
  :where(body .elementor) .e-con.elevate-nav-shell {
    --width: calc(100% - 24px) !important;
    width: calc(100% - 24px) !important;
  }
  :where(body .elementor) .e-con.elevate-hero-cards,
  :where(body .elementor) .e-con.elevate-capability-mosaic,
  :where(body .elementor) .e-con.elevate-solutions-grid {
    grid-template-columns: 1fr !important;
  }
  :where(body .elementor) .e-con.elevate-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/*
 * Preview-match layer (1.0.4).
 * Elementor can insert an .e-con-inner wrapper when the site's default
 * container content width is Boxed. The approved preview uses the children as
 * direct grid/flex items, so neutralise that optional wrapper and pin the three
 * reviewed layouts to their approved desktop measurements.
 */
:where(body .elementor) .e-con[class*="elevate-"] {
  --content-width: 100% !important;
}

:where(body .elementor) .e-con[class*="elevate-"] > .e-con-inner {
  display: contents !important;
}

:where(body .elementor) .e-con.elevate-impact-grid,
:where(body .elementor) .e-con.elevate-product-grid,
:where(body .elementor) .e-con.elevate-capability-mosaic {
  margin-inline: auto !important;
}

:where(body .elementor) .e-con.elevate-stats-panel {
  --padding-top: 42px !important;
  --padding-right: 65px !important;
  --padding-bottom: 27px !important;
  --padding-left: 65px !important;
  min-height: 528px !important;
  padding: 42px 65px 27px !important;
}

:where(body .elementor) .e-con.elevate-cap-intro::before {
  display: none !important;
}

:where(body .elementor) .e-con.elevate-cap-intro {
  --padding-top: 31px !important;
  --padding-right: 60px !important;
  --padding-bottom: 31px !important;
  --padding-left: 60px !important;
  padding: 31px 60px !important;
  background-color: #0875aa !important;
}

:where(body .elementor) .e-con.elevate-cap-custom {
  --padding-top: 146px !important;
  --padding-right: 22px !important;
  --padding-bottom: 24px !important;
  --padding-left: 22px !important;
  padding: 146px 22px 24px !important;
}

:where(body .elementor) .e-con.elevate-cap-forecast {
  --padding-top: 146px !important;
  --padding-right: 20px !important;
  --padding-bottom: 24px !important;
  --padding-left: 54px !important;
  padding: 146px 20px 24px 54px !important;
  text-align: right !important;
}

:where(body .elementor) .e-con.elevate-cap-workplace {
  --padding-top: 122px !important;
  --padding-right: 22px !important;
  --padding-bottom: 24px !important;
  --padding-left: 22px !important;
  padding: 122px 22px 24px !important;
}

:where(body .elementor) .e-con.elevate-product-grid {
  min-height: 385px !important;
  align-items: center !important;
}

:where(body .elementor) .e-con.elevate-product-copy {
  --padding-top: 19px !important;
  padding-top: 19px !important;
}

:where(body .elementor) .e-con.elevate-laptop-wrap {
  min-height: 385px !important;
  place-items: end center !important;
}

:where(body .elementor) .elementor-widget.elevate-laptop {
  --width: 570px !important;
  width: 570px !important;
  max-width: none !important;
  justify-self: center !important;
}

@media (max-width: 1080px) and (min-width: 821px) {
  :where(body .elementor) .e-con.elevate-cap-custom,
  :where(body .elementor) .e-con.elevate-cap-forecast,
  :where(body .elementor) .e-con.elevate-cap-workplace {
    --padding-top: 96px !important;
    padding-top: 96px !important;
  }
}

@media (max-width: 820px) {
  :where(body .elementor) .e-con.elevate-stats-panel {
    min-height: auto !important;
    padding: 28px !important;
  }
  :where(body .elementor) .e-con.elevate-cap-intro,
  :where(body .elementor) .e-con.elevate-cap-custom,
  :where(body .elementor) .e-con.elevate-cap-forecast,
  :where(body .elementor) .e-con.elevate-cap-workplace {
    padding: 38px 24px 24px !important;
    text-align: left !important;
  }
  :where(body .elementor) .e-con.elevate-product-copy {
    padding-top: 0 !important;
  }
  :where(body .elementor) .elementor-widget.elevate-laptop {
    --width: min(570px, 100%) !important;
    width: min(570px, 100%) !important;
    max-width: 100% !important;
  }
}
