:root {
  --green: #00944a;
  --green-2: #19b85d;
  --blue: #0565c7;
  --navy: #082f59;
  --deep: #071a35;
  --ink: #07152f;
  --muted: #637389;
  --line: #e4edf6;
  --soft: #f5f9fd;
  --shadow: 0 18px 44px rgba(8, 36, 70, .10);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0;
    transform: translateY(22px);
    transition:
      opacity .65s ease var(--reveal-delay, 0ms),
      transform .65s ease var(--reveal-delay, 0ms);
  }

  .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body::before,
  body::after {
    animation: none !important;
  }
}

/* Final frontend mobile hardening across all public templates. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

main img,
main video,
main iframe,
footer img {
  max-width: 100%;
}

main [class*="grid"] > *,
main [class*="layout"] > *,
footer [class*="grid"] > * {
  min-width: 0;
}

@media (max-width: 767px) {
  .container {
    width: min(100% - 28px, var(--container, 1180px));
  }

  main h1,
  .hero h1,
  .about-contact-hero h1,
  .services-page-banner h1,
  .solutions-page-banner h1,
  .infra-top-banner h1,
  .inner-hero h1,
  .policy-hero h1 {
    max-width: 100% !important;
    font-size: clamp(30px, 9.4vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: anywhere;
  }

  main h2 {
    max-width: 100%;
    font-size: clamp(25px, 7.7vw, 34px) !important;
    line-height: 1.14 !important;
    overflow-wrap: anywhere;
  }

  main h3,
  main p,
  main li,
  footer h3,
  footer p,
  footer a {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .btn,
  main a[class*="button"],
  main button {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .section,
  .about-page-section,
  .page-section,
  .infra-section,
  .elv-section,
  .av-section {
    padding-top: clamp(48px, 13vw, 68px);
    padding-bottom: clamp(48px, 13vw, 68px);
  }

  .about-contact-hero.contact-hero--reference,
  .services-page .services-page-banner,
  .solutions-page-banner,
  .infra-page .infra-top-banner,
  .elv-page .infra-top-banner,
  .av-page .infra-top-banner,
  .policy-hero,
  .inner-hero {
    animation: none !important;
    background-position: center, center !important;
    background-size: auto, cover !important;
  }

  .page-cta,
  .about-page-cta,
  .infra-cta,
  .contact-cta,
  .cta-box,
  .news__cta {
    align-items: flex-start;
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 24px 20px !important;
    text-align: left;
  }

  .page-cta .btn,
  .about-page-cta .btn,
  .infra-cta .btn,
  .contact-cta .btn,
  .cta-box .btn,
  .news__cta .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 390px) {
  .container { width: min(100% - 22px, var(--container, 1180px)); }
  .brand img { max-width: 174px; }
  .menu-button { flex: 0 0 auto; padding-inline: 13px; }
  .floating-actions { right: 7px; bottom: 7px; transform: scale(.92); transform-origin: right bottom; }
}

body {
  margin: 0;
  color: var(--ink);
  font-family: "Poppins", "Segoe UI", Arial, sans-serif;
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at top left, rgba(18, 194, 112, .10), transparent 26%),
    radial-gradient(circle at top right, rgba(26, 124, 234, .08), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, #ffffff 34%, #f6fbff 100%);
  overflow-x: hidden;
  line-height: 1.55;
  text-rendering: geometricPrecision;
}

body::before,
body::after {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
}

body::before {
  opacity: .34;
  background:
    radial-gradient(circle at 18% 20%, rgba(49, 223, 131, .22), transparent 0 20%, transparent 38%),
    radial-gradient(circle at 82% 14%, rgba(11, 140, 255, .20), transparent 0 22%, transparent 40%),
    radial-gradient(circle at 74% 74%, rgba(49, 223, 131, .18), transparent 0 18%, transparent 34%),
    radial-gradient(circle at 24% 78%, rgba(11, 140, 255, .14), transparent 0 18%, transparent 33%),
    conic-gradient(from 180deg at 50% 50%, rgba(49, 223, 131, .06), rgba(11, 140, 255, .04), rgba(255, 255, 255, 0) 35%, rgba(49, 223, 131, .06) 72%, rgba(11, 140, 255, .04));
  mix-blend-mode: multiply;
  filter: blur(26px) saturate(118%);
  transform-origin: center;
  animation: siteAuroraFlow 18s ease-in-out infinite alternate;
}

body::after {
  opacity: .28;
  background:
    radial-gradient(circle at 12% 18%, rgba(49, 223, 131, .26) 0 1.6px, transparent 2.8px),
    radial-gradient(circle at 84% 18%, rgba(11, 140, 255, .24) 0 1.6px, transparent 2.8px),
    radial-gradient(circle at 70% 72%, rgba(49, 223, 131, .18) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 30% 78%, rgba(11, 140, 255, .16) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 52% 48%, rgba(255, 255, 255, .86) 0 1px, transparent 2px);
  background-size: 260px 260px, 320px 320px, 240px 240px, 290px 290px, 200px 200px;
  mix-blend-mode: soft-light;
  animation: siteSparkDrift 26s linear infinite;
}

body > * {
  position: relative;
  z-index: 1;
}

@keyframes siteAuroraFlow {
  0% {
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
  50% {
    transform: translate3d(36px, -18px, 0) scale(1.06) rotate(4deg);
  }
  100% {
    transform: translate3d(-28px, 24px, 0) scale(.98) rotate(-4deg);
  }
}

@keyframes siteSparkDrift {
  0% {
    transform: translate3d(0, 0, 0);
    background-position: 0 0, 0 0, 0 0, 0 0, 0 0;
  }
  50% {
    transform: translate3d(-24px, 18px, 0);
    background-position: -44px 30px, 32px -28px, -26px 18px, 24px -18px, 16px 12px;
  }
  100% {
    transform: translate3d(18px, -12px, 0);
    background-position: -84px 58px, 68px -50px, -48px 34px, 42px -30px, 28px 18px;
  }
}

a {
  color: inherit;
  text-decoration: none;
}

.container {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.topbar {
  border-bottom: 1px solid #e9eef5;
  background: #fff;
  color: #0b1b35;
  font-size: 12px;
  font-weight: 600;
}

.topbar__inner,
.topbar__links,
.socials,
.navbar__inner,
.navlinks,
.actions,
.section-head {
  display: flex;
  align-items: center;
}

.topbar__inner {
  min-height: 42px;
  justify-content: space-between;
  gap: 24px;
}

.topbar__links,
.socials {
  gap: 28px;
}

.socials strong {
  font-size: 12px;
  font-weight: 800;
}

.socials a {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.navbar {
  position: relative;
  z-index: 10;
  background: #fff;
  box-shadow: 0 5px 20px rgba(7, 28, 55, .07);
}

.navbar__inner {
  min-height: 80px;
  gap: 28px;
}

.brand img {
  display: block;
  width: 205px;
  height: auto;
}

.navlinks {
  margin-left: auto;
  gap: 27px;
  color: #07152f;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.nav-item {
  position: relative;
}

.navlinks > .nav-item > a {
  display: inline-flex;
  align-items: center;
  min-height: 80px;
}

.navlinks > .nav-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: transparent;
}

.navlinks .active > a,
.navlinks .active {
  color: var(--green);
}

.navlinks > .active > a::after {
  background: var(--green);
}

.submenu {
  position: absolute;
  top: calc(100% - 8px);
  left: -18px;
  min-width: 245px;
  padding: 10px;
  border: 1px solid rgba(219, 232, 245, .92);
  border-radius: 10px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 20px 46px rgba(6, 31, 62, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.nav-item:hover > .submenu,
.nav-item:focus-within > .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.submenu .nav-item {
  position: relative;
}

.submenu .nav-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: auto;
  padding: 12px 13px;
  border-radius: 7px;
  color: var(--ink);
  line-height: 1.35;
  text-transform: none;
  white-space: nowrap;
}

.submenu .has-submenu > a::after {
  content: ">";
  margin-left: 18px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.submenu .nav-item > a:hover,
.submenu .nav-item:focus-within > a {
  background: #f1f7fd;
  color: var(--green);
}

.submenu .submenu {
  top: -10px;
  left: calc(100% + 10px);
  transform: translateX(10px);
}

.submenu .nav-item:hover > .submenu,
.submenu .nav-item:focus-within > .submenu {
  transform: translateX(0);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.btn--green {
  color: #fff;
  background: linear-gradient(135deg, var(--green), #12aa52);
  box-shadow: 0 12px 26px rgba(0, 148, 74, .24);
}

.btn--outline {
  color: var(--ink);
  background: #fff;
  border-color: #9db1c8;
}

.green-outline {
  color: var(--green);
  border-color: var(--green);
}

.btn--blue {
  color: #fff;
  background: #0565c7;
}

.menu-button {
  display: none;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  font-weight: 800;
}

.hero {
  position: relative;
  overflow: hidden;
  min-height: 425px;
  background:
    linear-gradient(103deg, #f8fbff 0%, #eef7ff 50.6%, transparent 50.7%),
    linear-gradient(180deg, #fff 0%, #eef6ff 100%);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 57%;
  background:
    radial-gradient(circle at 68% 48%, rgba(196, 225, 248, .42), transparent 36%),
    linear-gradient(103deg, #f9fcff 0 73%, rgba(239, 247, 255, .96) 73.2% 86%, transparent 86.2%);
  pointer-events: none;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .7s ease, visibility .7s ease;
}

.hero-slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
}

.hero__grid {
  display: grid;
  grid-template-columns: 48.5% 51.5%;
  align-items: center;
  min-height: 425px;
}

.hero__copy {
  position: relative;
  z-index: 3;
  padding-bottom: 22px;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.soft-green {
  color: #8feec0;
}

.hero h1 {
  max-width: 455px;
  margin: 0;
  font-size: clamp(34px, 3.55vw, 46px);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: 0;
}

.hero h1 span {
  display: block;
  color: #0565c7;
}

.hero__copy > p:not(.eyebrow) {
  max-width: 455px;
  margin: 18px 0 24px;
  color: #223650;
  font-size: 14px;
  font-weight: 500;
}

.actions {
  flex-wrap: wrap;
  gap: 22px;
}

.hero__visual {
  position: relative;
  z-index: 1;
  align-self: stretch;
  min-height: 425px;
}

.server-room {
  position: absolute;
  inset: 0 -112px 0 26px;
  background:
    linear-gradient(90deg, rgba(5, 20, 42, .15), rgba(5, 20, 42, .02)),
    var(--hero-image, url("../assets/banner.webp")) center right / cover no-repeat;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
}

.hero-dots {
  position: absolute;
  left: 50%;
  bottom: 22px;
  z-index: 6;
  display: flex;
  gap: 10px;
  transform: translateX(-50%);
}

.hero-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(7, 21, 47, .22);
  cursor: pointer;
}

.hero-dots button.is-active {
  width: 28px;
  background: var(--green);
}

.logo-orbit {
  position: absolute;
  top: 74px;
  left: -114px;
  display: grid;
  place-items: center;
  width: 265px;
  aspect-ratio: 1;
  border: 0;
  border-radius: 0;
  background: transparent;
  filter: drop-shadow(0 18px 24px rgba(0, 20, 40, .16));
}

.logo-disc {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.logo-disc img {
  width: 190px;
}

.logo-disc .hero-icon {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.stats {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: -41px;
  padding: 24px 40px;
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}

.stat {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 0 18px;
  align-items: center;
  min-height: 76px;
  padding-inline: 18px;
  border-right: 1px solid var(--line);
}

.stat:last-child {
  border-right: 0;
}

.stat-icon {
  grid-row: 1 / span 2;
  width: 44px;
  height: 44px;
  position: relative;
  color: #07152f;
}

.stat-icon::before,
.stat-icon::after {
  content: "";
  position: absolute;
  border-color: currentColor;
}

.stat-people::before {
  left: 15px;
  top: 4px;
  width: 13px;
  height: 13px;
  border: 3px solid currentColor;
  border-radius: 50%;
  box-shadow: -13px 7px 0 -4px #fff, -13px 7px 0 -1px currentColor, 13px 7px 0 -4px #fff, 13px 7px 0 -1px currentColor;
}

.stat-people::after {
  left: 9px;
  bottom: 4px;
  width: 26px;
  height: 17px;
  border: 3px solid currentColor;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  box-shadow: -11px 2px 0 -5px #fff, -11px 2px 0 -2px currentColor, 11px 2px 0 -5px #fff, 11px 2px 0 -2px currentColor;
}

.stat-building::before {
  left: 6px;
  right: 6px;
  bottom: 5px;
  height: 25px;
  border: 3px solid currentColor;
  border-top: 0;
}

.stat-building::after {
  left: 2px;
  right: 2px;
  top: 4px;
  height: 12px;
  border: 3px solid currentColor;
  border-bottom: 0;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  box-shadow: 0 29px 0 -9px currentColor;
}

.stat-globe::before {
  inset: 3px;
  border: 3px solid currentColor;
  border-radius: 50%;
}

.stat-globe::after {
  left: 8px;
  right: 8px;
  top: 20px;
  height: 0;
  border-top: 3px solid currentColor;
  box-shadow: 0 -10px 0 -1px currentColor, 0 10px 0 -1px currentColor, 10px 0 0 -1px currentColor, -10px 0 0 -1px currentColor;
}

.stat-headset::before {
  left: 5px;
  top: 7px;
  width: 34px;
  height: 27px;
  border: 3px solid currentColor;
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
}

.stat-headset::after {
  left: 4px;
  top: 24px;
  width: 9px;
  height: 13px;
  border: 3px solid currentColor;
  border-radius: 5px;
  box-shadow: 27px 0 0 -3px #fff, 27px 0 0 0 currentColor, 18px 11px 0 -4px currentColor;
}

.stat strong {
  font-size: 27px;
  font-weight: 800;
  line-height: 1;
}

.stat p {
  margin: -14px 0 0;
  color: #44546a;
  font-size: 12px;
  font-weight: 500;
}

.section {
  padding: 58px 0;
}

.solutions + .process {
  padding-top: 34px;
}

.section-head {
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

h2 {
  margin: 0;
  font-size: clamp(25px, 2.8vw, 32px);
  font-weight: 800;
  line-height: 1.18;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.service-card,
.post-card,
.global-card,
.testimonial {
  background: #fff;
  border: 1px solid #e6eef7;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(11, 38, 72, .07);
}

.service-card {
  position: relative;
  min-height: 248px;
  padding: 28px 22px 24px;
}

.service-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  margin-bottom: 22px;
  color: var(--green);
}

.service-icon svg {
  width: 45px;
  height: 45px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-card:hover .service-icon {
  color: #05763d;
}

.service-card h3,
.post-card h3,
.timeline h3 {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
}

.service-card p,
.timeline p,
.global-card p,
.testimonial p,
.post-card p,
.footer p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}

.card-arrow {
  position: absolute;
  right: 18px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 2px solid #07152f;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 800;
}

.solutions {
  position: relative;
  padding-bottom: 0;
  background:
    linear-gradient(180deg, transparent 0 calc(100% - 118px), #f6f9fd calc(100% - 118px) 100%),
    linear-gradient(90deg, #0a406b 0 50%, #f8fbff 50% 100%);
}

.solutions__grid {
  display: grid;
  grid-template-columns: .96fr 1.02fr 1.56fr;
  min-height: 470px;
  overflow: hidden;
  border-radius: 0;
}

.solutions__intro {
  position: relative;
  padding: 42px 0 74px;
  color: #fff;
  background:
    radial-gradient(circle at 87% 52%, rgba(54, 216, 212, .22), transparent 31%),
    linear-gradient(90deg, rgba(6, 46, 87, .55), rgba(6, 76, 90, .08));
}

.solutions__intro::after,
.stack-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.solutions__intro::after {
  background:
    radial-gradient(circle at 82% 38%, rgba(98, 238, 220, .18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}

.solutions__intro h2 {
  max-width: 300px;
  color: #fff;
  font-size: 29px;
}

.solutions__intro p {
  max-width: 292px;
  margin: 20px 0;
  color: #e7f2ff;
  font-size: 13px;
}

.solutions__intro ul {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.solutions__intro li {
  margin: 8px 0;
}

.solutions__intro li::before {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  border-radius: 50%;
  background: #fff;
  color: #0a406b;
  font-size: 11px;
  font-weight: 900;
  vertical-align: -2px;
}

.stack-visual {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(70, 255, 215, .38), transparent 17%),
    repeating-radial-gradient(circle at 50% 48%, rgba(118, 235, 229, .34) 0 1px, transparent 1px 18px),
    linear-gradient(135deg, rgba(30, 96, 134, .55), rgba(205, 231, 255, .9)),
    linear-gradient(135deg, #5f9ecb, #e4f4ff);
}

.stack-visual::after {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 31%, rgba(255,255,255,.22) 31.2% 31.5%, transparent 31.8% 42%, rgba(255,255,255,.16) 42.2% 42.5%, transparent 42.8%),
    linear-gradient(180deg, rgba(255,255,255,.09), transparent 48%, rgba(5, 45, 82, .04));
}

.stack {
  position: absolute;
  width: 180px;
  height: 180px;
  transform: rotate(45deg) skew(-7deg, -7deg);
  box-shadow: 23px 28px 28px rgba(7, 35, 74, .22);
}

.stack::before {
  content: "";
  position: absolute;
  inset: 12px;
  background: rgba(255,255,255,.2);
  border: 10px solid rgba(255,255,255,.5);
}

.stack-one {
  z-index: 4;
  margin-top: -116px;
  scale: .78;
  background: linear-gradient(135deg, #fff, #d7dee6);
}

.stack-one::after {
  content: "";
  position: absolute;
  inset: 66px;
  background: var(--green);
}

.stack-two {
  z-index: 3;
  margin-top: -36px;
  background: linear-gradient(135deg, #29c462, #00944a);
}

.stack-three {
  z-index: 2;
  margin-top: 38px;
  background: linear-gradient(135deg, #0b75d8, #0452a8);
}

.stack-four {
  z-index: 1;
  margin-top: 112px;
  background: linear-gradient(135deg, #fff, #d6dde7);
}

.solutions__map {
  display: grid;
  grid-template-columns: 265px 1fr;
  gap: 26px;
  padding: 42px 0 74px 42px;
  background:
    linear-gradient(90deg, #f8fbff 0%, #fff 100%);
}

.blue {
  grid-column: 1 / -1;
  color: #0565c7;
}

.solution-list {
  display: grid;
  align-self: start;
  gap: 0;
  font-size: 13px;
  font-weight: 800;
}

.solution-list span {
  display: flex;
  align-items: center;
  min-height: 55px;
  border-bottom: 1px solid #e6edf5;
}

.solution-list span:last-child {
  border-bottom: 0;
}

.solution-list span::before {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin-right: 18px;
  background-color: #0565c7;
  -webkit-mask: var(--industry-icon) center / contain no-repeat;
  mask: var(--industry-icon) center / contain no-repeat;
}

.industry-bank { --industry-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 2 8v2h20V8L12 3Zm-7 8v7H3v2h18v-2h-2v-7h-2v7h-3v-7h-2v7H9v-7H7v7H5v-7Z'/%3E%3C/svg%3E"); }
.industry-health { --industry-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21s-8-4.9-8-11a4.8 4.8 0 0 1 8-3.55A4.8 4.8 0 0 1 20 10c0 6.1-8 11-8 11Zm-1-6h2v-3h3v-2h-3V7h-2v3H8v2h3v3Z'/%3E%3C/svg%3E"); }
.industry-mfg { --industry-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 21V9l6 4V9l6 4V5h5v16H3Zm3-3h3v-3H6v3Zm6 0h3v-3h-3v3Zm6 0h-1v-3h1v3Z'/%3E%3C/svg%3E"); }
.industry-gov { --industry-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 8v2h18V8l-9-5ZM5 11v7H3v2h18v-2h-2v-7h-3v7h-3v-7h-2v7H8v-7H5Z'/%3E%3C/svg%3E"); }
.industry-retail { --industry-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM4 4H2V2h3.4l1.2 3H22l-2 8H8l.8 2H20v2H7.4L4 4Z'/%3E%3C/svg%3E"); }

.dot-map,
.small-map {
  position: relative;
  align-self: center;
  min-height: 310px;
  background-image: radial-gradient(#abc7e5 1.3px, transparent 1.3px);
  background-size: 8px 8px;
  clip-path: polygon(12% 18%, 30% 8%, 47% 22%, 63% 8%, 88% 23%, 96% 45%, 77% 64%, 88% 82%, 66% 92%, 48% 75%, 30% 92%, 18% 70%, 4% 52%);
}

.dot-map i,
.small-map i {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50% 50% 50% 0;
  background: #0565c7;
  transform: rotate(-45deg);
}

.dot-map i:nth-child(1) { left: 24%; top: 27%; }
.dot-map i:nth-child(2) { left: 56%; top: 49%; }
.dot-map i:nth-child(3) { left: 76%; top: 31%; }
.dot-map i:nth-child(4) { left: 38%; top: 72%; }

.feature-bar {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  transform: translateY(0);
  margin-top: 0;
  margin-bottom: 34px;
  padding: 19px 30px 23px;
  color: #fff;
  background: linear-gradient(98deg, #082a58 0%, #063b5b 46%, #07552e 100%);
  border-radius: 10px;
  box-shadow: 0 24px 45px rgba(0, 22, 52, .22);
  isolation: isolate;
}

.feature-bar::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: 9px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 45%, rgba(255,255,255,.05)),
    radial-gradient(circle at 82% 0%, rgba(31, 181, 98, .35), transparent 31%);
}

.feature-title {
  grid-column: 1 / -1;
  margin: 0 0 10px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .3px;
  text-align: center;
  text-transform: uppercase;
}

.feature-bar div {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 16px;
  min-height: 58px;
  padding: 0 24px;
  border-right: 1px solid rgba(255,255,255,.20);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.feature-bar div:last-child {
  border-right: 0;
}

.feature-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 0;
  color: #fff;
}

.feature-icon::before,
.feature-icon::after {
  content: "";
  position: absolute;
  border-color: currentColor;
}

.feature-sla::before {
  inset: 6px;
  border: 2px solid currentColor;
  border-radius: 4px;
}

.feature-sla::after {
  left: 15px;
  top: 12px;
  width: 7px;
  height: 7px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 13px 0 0 -2px #fff, 13px 0 0 0 currentColor, 0 13px 0 -2px #fff, 0 13px 0 0 currentColor, 13px 13px 0 -2px #fff, 13px 13px 0 0 currentColor;
}

.feature-team::before {
  left: 16px;
  top: 7px;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: -12px 8px 0 -5px #fff, -12px 8px 0 -3px currentColor, 12px 8px 0 -5px #fff, 12px 8px 0 -3px currentColor;
}

.feature-team::after {
  left: 8px;
  bottom: 7px;
  width: 30px;
  height: 16px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
}

.feature-tech::before {
  inset: 9px;
  border: 2px dashed currentColor;
  border-radius: 50%;
}

.feature-tech::after {
  left: 19px;
  top: 19px;
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 0 -16px 0 -3px currentColor, 0 16px 0 -3px currentColor, 16px 0 0 -3px currentColor, -16px 0 0 -3px currentColor;
}

.feature-cost::before {
  inset: 6px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.feature-cost::after {
  content: "$";
  inset: 0;
  display: grid;
  place-items: center;
  border: 0;
  font-size: 25px;
  font-weight: 800;
}

.feature-security::before {
  left: 9px;
  top: 4px;
  width: 28px;
  height: 36px;
  border: 2px solid currentColor;
  clip-path: polygon(50% 0, 100% 18%, 88% 72%, 50% 100%, 12% 72%, 0 18%);
}

.feature-security::after {
  left: 19px;
  top: 16px;
  width: 8px;
  height: 15px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.center,
.process h2 {
  text-align: center;
}

.process h2 span {
  color: var(--green);
}

.timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
  margin-top: 34px;
  text-align: center;
}

.timeline::before {
  display: none;
}

.timeline article {
  position: relative;
  min-height: 210px;
  padding: 24px 20px 22px;
  background: #fff;
  border: 1px solid #e5eef7;
  border-radius: 14px;
  box-shadow: 0 12px 26px rgba(12, 44, 78, .08);
  clip-path: none;
  overflow: hidden;
}

.timeline article::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  background: var(--green);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.timeline article::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 8px;
  height: 8px;
  background: var(--green);
  border-radius: 50%;
  transform: translateX(-50%);
}

.timeline article:nth-child(even)::before,
.timeline article:nth-child(even)::after {
  background: #0565c7;
}

.timeline span {
  position: absolute;
  left: 8px;
  top: 7px;
  z-index: 2;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.process-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 4px auto 14px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-style: normal;
}

.timeline article:nth-child(even) .process-icon {
  background: #0565c7;
}

.process-icon::before,
.process-icon::after {
  content: "";
  position: absolute;
  border-color: currentColor;
}

.process-plan::before {
  width: 21px;
  height: 26px;
  border: 2px solid currentColor;
  border-radius: 3px;
}

.process-plan::after {
  width: 8px;
  height: 14px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.process-design::before {
  width: 25px;
  height: 6px;
  border: 2px solid currentColor;
  border-radius: 5px;
  transform: rotate(-42deg);
}

.process-design::after {
  right: 13px;
  bottom: 13px;
  width: 7px;
  height: 7px;
  background: currentColor;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: rotate(-42deg);
}

.process-implement::before {
  inset: 13px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.process-implement::after {
  inset: 8px;
  border: 2px dashed currentColor;
  border-radius: 50%;
}

.process-manage::before {
  width: 25px;
  height: 19px;
  border: 2px solid currentColor;
  border-radius: 3px;
}

.process-manage::after {
  right: 10px;
  bottom: 10px;
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.process-optimize::before {
  left: 14px;
  bottom: 12px;
  width: 20px;
  height: 20px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.process-optimize::after {
  left: 16px;
  bottom: 14px;
  width: 20px;
  height: 16px;
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  transform: skew(-22deg) rotate(-18deg);
}

.split-cards {
  display: grid;
  grid-template-columns: 1.25fr .9fr;
  gap: 22px;
  margin-bottom: 46px;
}

.global-card,
.testimonial {
  padding: 32px;
}

.global-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.global-card h2 {
  max-width: 325px;
}

.mini-stats {
  display: flex;
  gap: 32px;
  margin-top: 28px;
}

.mini-stats strong {
  color: #0565c7;
  font-size: 25px;
  font-weight: 800;
}

.mini-stats span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 500;
}

.small-map {
  min-height: 190px;
}

.small-map i:nth-child(1) { left: 25%; top: 25%; }
.small-map i:nth-child(2) { left: 57%; top: 55%; }
.small-map i:nth-child(3) { left: 80%; top: 25%; }

.quote-mark {
  display: block;
  margin-bottom: 14px;
  color: var(--green);
  font-size: 29px;
  font-weight: 800;
}

.testimonial b {
  display: block;
  margin-top: 10px;
  font-size: 13px;
}

.pager {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 28px;
}

.pager span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #cdd8e5;
}

.pager .active {
  background: var(--green);
}

.news {
  padding-top: 0;
}

.testimonials {
  position: relative;
  padding-top: 24px;
  padding-bottom: 76px;
}

.testimonials::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 20px;
  width: min(860px, 82vw);
  height: 260px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 20% 44%, rgba(0, 148, 74, .10), transparent 36%),
    radial-gradient(circle at 72% 38%, rgba(5, 101, 199, .12), transparent 38%);
  filter: blur(12px);
  transform: translateX(-50%);
  pointer-events: none;
}

.testimonials__head {
  position: relative;
  z-index: 1;
  align-items: end;
  margin-bottom: 28px;
}

.testimonials__head h2 {
  max-width: 560px;
}

.testimonials__head > p {
  max-width: 430px;
  margin: 0;
  color: #667790;
  font-size: 14px;
  line-height: 1.7;
}

.testimonials__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.25fr .9fr .9fr;
  gap: 22px;
}

.review-card {
  position: relative;
  min-height: 286px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(218, 232, 246, .92);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,252,255,.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 18px 44px rgba(10, 43, 79, .08);
}

.review-card::before {
  content: "\"";
  position: absolute;
  right: 22px;
  top: 2px;
  color: rgba(5, 101, 199, .08);
  font-size: 118px;
  font-weight: 800;
  line-height: 1;
}

.review-card--featured {
  color: #fff;
  background:
    radial-gradient(circle at 92% 10%, rgba(255,255,255,.16), transparent 28%),
    radial-gradient(circle at 0% 100%, rgba(0, 148, 74, .28), transparent 42%),
    linear-gradient(135deg, #07264b, #084064 48%, #08733f);
  box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}

.review-card--featured::before {
  color: rgba(255,255,255,.12);
}

.review-rating {
  display: flex;
  gap: 7px;
  margin-bottom: 22px;
}

.review-rating span {
  width: 18px;
  height: 18px;
  clip-path: polygon(50% 0, 61% 34%, 96% 34%, 68% 55%, 79% 90%, 50% 69%, 21% 90%, 32% 55%, 4% 34%, 39% 34%);
  background: #00944a;
}

.review-card--featured .review-rating span {
  background: #64f39f;
}

.review-card p {
  position: relative;
  z-index: 1;
  margin: 0 0 28px;
  color: #52657d;
  font-size: 15px;
  line-height: 1.75;
}

.review-card--featured p {
  color: rgba(255,255,255,.90);
  font-size: 17px;
}

.review-author {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
}

.review-author > span {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #0565c7, #00944a);
  font-size: 13px;
  font-weight: 800;
}

.review-card--featured .review-author > span {
  background: rgba(255,255,255,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.review-author strong {
  display: block;
  color: #10243d;
  font-size: 14px;
  line-height: 1.3;
}

.review-author small {
  display: block;
  margin-top: 3px;
  color: #667790;
  font-size: 12px;
  line-height: 1.45;
}

.review-card--featured .review-author strong,
.review-card--featured .review-author small {
  color: rgba(255,255,255,.92);
}

.news-grid {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 18px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.news-grid::-webkit-scrollbar {
  display: none;
}

.news__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.news-arrow {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(5, 101, 199, .22);
  border-radius: 999px;
  color: var(--blue);
  background: #fff;
  cursor: pointer;
  transition: transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease, opacity .22s ease;
}

.news-arrow::before {
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  content: "";
}

.news-arrow--prev::before {
  transform: rotate(-45deg) translate(1px, 1px);
}

.news-arrow--next::before {
  transform: rotate(135deg) translate(1px, 1px);
}

.news-arrow:hover {
  color: #fff;
  border-color: var(--green);
  background: linear-gradient(135deg, var(--green), var(--blue));
  transform: translateY(-2px);
}

.news-arrow:disabled {
  opacity: .42;
  cursor: not-allowed;
  transform: none;
}

.post-card {
  flex: 0 0 calc((100% - 44px) / 2.45);
  overflow: hidden;
  scroll-snap-align: start;
}

.post-image {
  position: relative;
  min-height: 132px;
  background:
    linear-gradient(180deg, rgba(4, 19, 38, .08), rgba(4, 19, 38, .18)),
    var(--post-image, url("../assets/banner.webp")) center / cover no-repeat;
}

.image-a { background-position: 13% 44%; }
.image-b { background-position: 50% 44%; }
.image-c { background-position: 82% 44%; }

.post-image span {
  position: absolute;
  left: 16px;
  bottom: -10px;
  z-index: 1;
  padding: 6px 12px;
  border-radius: 4px;
  color: #fff;
  background: var(--green);
  font-size: 10px;
  font-weight: 800;
}

.post-card h3 {
  padding: 28px 18px 9px;
  font-size: 15px;
}

.post-card p {
  padding: 0 18px 22px;
  font-size: 11px;
}

.cta-card {
  flex: 0 0 calc((100% - 44px) / 2.45);
  scroll-snap-align: start;
  min-height: 100%;
  padding: 36px 34px;
  border-radius: 8px;
  color: #fff;
  background:
    radial-gradient(circle at 95% 100%, rgba(14, 137, 235, .56), transparent 42%),
    linear-gradient(145deg, #082f59, #0565c7);
}

.cta-card h2 {
  color: #fff;
}

.cta-card p {
  margin: 16px 0 27px;
  color: #dbeeff;
  font-size: 13px;
}

.footer {
  color: #fff;
  background: linear-gradient(135deg, #083b6d, #041c37);
}

.footer__grid {
  display: grid;
  grid-template-columns: 1.35fr .8fr 1.05fr 1.3fr 1.2fr;
  gap: 40px;
  padding: 42px 0;
}

.brand--light img {
  width: 150px;
  filter: brightness(0) invert(1);
}

.footer h3 {
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.footer a,
.footer p {
  color: #dbeaff;
  font-size: 12px;
}

.footer a {
  display: block;
  margin: 7px 0;
}

.footer form {
  display: flex;
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 5px;
  background: rgba(255,255,255,.08);
}

.footer input {
  width: 100%;
  min-height: 42px;
  padding: 0 13px;
  border: 0;
  color: #fff;
  background: transparent;
}

.footer button {
  width: 48px;
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--green), #12a6a7);
  font-size: 17px;
}

.copyright {
  padding: 16px;
  color: #1d2939;
  background: #fff;
  text-align: center;
  font-size: 14px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

@media (max-width: 1160px) {
  .navlinks {
    gap: 18px;
  }

  .brand img {
    width: 190px;
  }
}

@media (max-width: 1080px) {
  .navlinks {
    display: none;
  }

  .menu-button {
    display: inline-flex;
    margin-left: auto;
  }

  .hero__grid,
  .solutions__grid,
  .split-cards,
  .global-card {
    grid-template-columns: 1fr;
  }

  .hero__visual {
    min-height: 410px;
  }

  .server-room {
    inset: 0;
    clip-path: none;
  }

  .logo-orbit {
    left: 50%;
    transform: translateX(-50%);
  }

  .stats,
  .feature-bar,
  .timeline,
  .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .solutions {
    background: #073763;
  }

  .solutions__intro,
  .solutions__map {
    padding: 38px 32px 86px;
  }

  .solutions__map {
    grid-template-columns: 1fr;
  }

  .footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 700px) {
  .container {
    width: min(1180px, calc(100% - 28px));
  }

  .topbar__inner,
  .navbar__inner,
  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar__links,
  .socials {
    flex-wrap: wrap;
    gap: 10px 18px;
  }

  .topbar__links a {
    overflow-wrap: anywhere;
  }

  .navbar__inner {
    padding: 14px 0;
  }

  .brand img {
    width: min(220px, 100%);
  }

  .navbar__inner > .btn {
    width: 100%;
  }

  .hero {
    min-height: auto;
    padding-top: 30px;
  }

  .hero__grid {
    min-height: auto;
  }

  .hero h1 {
    font-size: clamp(36px, 11vw, 46px);
  }

  .logo-orbit {
    top: 54px;
    width: 185px;
  }

  .logo-disc {
    width: 100%;
  }

  .logo-disc img {
    width: 148px;
  }

  .logo-disc .hero-icon {
    width: 100%;
  }

  .stats,
  .service-grid,
  .feature-bar,
  .timeline,
  .news-grid,
  .footer__grid {
    grid-template-columns: 1fr;
  }

  .stats {
    margin-top: 0;
    padding: 18px;
  }

  .stat {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 15px 0;
  }

  .stat:last-child {
    border-bottom: 0;
  }

  .timeline::before {
    display: none;
  }

  .feature-bar {
    margin-top: -42px;
  }

  .feature-bar div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
    padding: 14px 0;
  }

  .feature-bar div:last-child {
    border-bottom: 0;
  }

  .mini-stats {
    flex-wrap: wrap;
  }
}

/* Premium visual pass */
:root {
  --premium-navy: #133256;
  --premium-blue: #0565c7;
  --premium-green: #00944a;
  --premium-soft: #f6f9fc;
  --premium-line: #e2ebf4;
}

body {
  background: #fff;
  color: #071832;
}

.topbar,
.navbar {
  backdrop-filter: saturate(1.1);
}

.navbar__inner {
  min-height: 86px;
}

.navlinks {
  gap: 26px;
  letter-spacing: 0;
}

.hero {
  min-height: 430px;
  background:
    linear-gradient(103deg, #fbfdff 0%, #eef7ff 50.5%, transparent 50.6%),
    linear-gradient(180deg, #fff 0%, #edf6ff 100%);
}

.hero::before {
  width: 57%;
  background:
    radial-gradient(circle at 74% 52%, rgba(194, 224, 248, .50), transparent 31%),
    linear-gradient(103deg, #fbfdff 0 71%, #eef7ff 71.2% 85%, transparent 85.2%);
}

.hero__grid {
  grid-template-columns: 48% 52%;
  min-height: 430px;
}

.hero h1 {
  max-width: 470px;
  color: #08162f;
  font-size: clamp(34px, 3.45vw, 46px);
  font-weight: 800;
  line-height: 1.08;
}

.hero h1 span {
  color: #0565c7;
}

.server-room {
  inset: 0 -88px 0 18px;
  background:
    linear-gradient(90deg, rgba(8, 28, 55, .06), rgba(8, 28, 55, .01)),
    url("../assets/banner.webp") center right / cover no-repeat;
}

.logo-orbit {
  top: 25px;
  left: -84px;
  width: 272px;
  filter: drop-shadow(0 18px 22px rgba(0, 22, 52, .18));
}

.logo-disc .hero-icon {
  width: 100%;
}

.logo-disc img.hero-icon {
  filter: drop-shadow(5px 5px 10px #000000);
}

.btn {
  border-radius: 6px;
  min-height: 46px;
  letter-spacing: 0;
}

.btn--green {
  background: linear-gradient(135deg, #05a451, #008d45);
  box-shadow: 0 16px 30px rgba(0, 148, 74, .22);
}

.btn--outline {
  border-color: #9db5ca;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7);
}

.stats {
  border: 1px solid rgba(226, 235, 244, .8);
  box-shadow: 0 22px 50px rgba(13, 48, 84, .10);
}

.stat-icon,
.feature-icon::before,
.process-icon::before {
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}

.stat-icon {
  width: 46px;
  height: 46px;
  background: #071832;
  color: transparent;
}

.stat-icon::before,
.stat-icon::after {
  display: none;
}

.stat-people {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M24 28a10 10 0 1 1 0-20 10 10 0 0 1 0 20Zm16.5 1a8.5 8.5 0 1 1 0-17 8.5 8.5 0 0 1 0 17ZM8 55c0-10 7-19 16-19s16 9 16 19H8Zm28.5 0c-.2-5.7-2-10.7-4.8-14.5a15.2 15.2 0 0 1 8.8-2.8C49 37.7 56 45.8 56 55H36.5Z'/%3E%3C/svg%3E");
}

.stat-building {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M8 56h48v-6h-5V25h-6v25h-8V25h-6v25h-8V25h-6v25h-5v6Zm24-48L8 20v5h48v-5L32 8Zm0 7.5L43 21H21l11-5.5Z'/%3E%3C/svg%3E");
}

.stat-globe {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 6a26 26 0 1 0 0 52 26 26 0 0 0 0-52Zm17.5 16H42a39.6 39.6 0 0 0-3.3-9.2A20.2 20.2 0 0 1 49.5 22ZM32 12c1.8 2.8 3.4 6 4.3 10h-8.6c1-4 2.5-7.2 4.3-10Zm-20 20c0-1.4.2-2.7.4-4H22a35 35 0 0 0 0 8h-9.6c-.2-1.3-.4-2.6-.4-4Zm2.5 10H22c.8 3.5 2 6.6 3.3 9.2A20.2 20.2 0 0 1 14.5 42ZM22 22h-7.5a20.2 20.2 0 0 1 10.8-9.2A39.6 39.6 0 0 0 22 22Zm10 30c-1.8-2.8-3.4-6-4.3-10h8.6c-1 4-2.5 7.2-4.3 10Zm5.5-16h-11a29 29 0 0 1 0-8h11a29 29 0 0 1 0 8Zm1.2 15.2A39.6 39.6 0 0 0 42 42h7.5a20.2 20.2 0 0 1-10.8 9.2ZM42 36a35 35 0 0 0 0-8h9.6a20.4 20.4 0 0 1 0 8H42Z'/%3E%3C/svg%3E");
}

.stat-headset {
  --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 8C19.8 8 10 17.8 10 30v14c0 4.4 3.6 8 8 8h7V32H16v-2a16 16 0 0 1 32 0v2h-9v20h6.5c-1.6 3-4.8 5-8.5 5h-7v-6h7c2.2 0 4-1.8 4-4V30C54 17.8 44.2 8 32 8Z'/%3E%3C/svg%3E");
}

.service-card,
.post-card,
.global-card,
.testimonial {
  border: 1px solid var(--premium-line);
  box-shadow: 0 18px 42px rgba(15, 53, 92, .08);
}

.service-card {
  min-height: 250px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(0, 148, 74, .32);
  box-shadow: 0 24px 55px rgba(15, 53, 92, .13);
}

.service-icon svg {
  stroke-width: 2.15;
}

.solutions {
  background:
    linear-gradient(180deg, transparent 0 calc(100% - 118px), #f6f9fd calc(100% - 118px) 100%),
    linear-gradient(90deg, #0c3d67 0 50%, #fbfdff 50% 100%);
}

.solutions__grid {
  min-height: 454px;
}

.solutions__intro {
  padding: 42px 0 78px;
  background:
    radial-gradient(circle at 87% 48%, rgba(37, 213, 195, .20), transparent 33%),
    linear-gradient(115deg, rgba(16, 50, 86, .92), rgba(15, 75, 92, .62));
}

.solutions__intro li::before {
  content: "\2713";
}

.stack-visual {
  background:
    radial-gradient(circle at 50% 47%, rgba(84, 255, 219, .32), transparent 19%),
    repeating-radial-gradient(circle at 50% 47%, rgba(111, 228, 222, .28) 0 1px, transparent 1px 17px),
    linear-gradient(135deg, #6ba8d5, #e5f3ff);
}

.stack {
  width: 168px;
  height: 168px;
}

.solutions__map {
  padding: 42px 0 78px 42px;
  background: linear-gradient(90deg, #fbfdff 0%, #fff 100%);
}

.dot-map {
  opacity: .9;
}

.feature-bar {
  margin-bottom: 42px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(98deg, #0d2f5e 0%, #073d5e 46%, #075930 100%);
}

.feature-icon {
  background: transparent;
}

.feature-icon::after {
  display: none;
}

.feature-icon::before {
  display: block;
  inset: 4px;
  border: 0;
  background: #fff;
}

.feature-sla { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M10 8h36v48H10V8Zm6 6v36h24V14H16Zm34 7h4v35h-4V21ZM22 20h12v6H22v-6Zm0 12h12v6H22v-6Zm0 12h12v4H22v-4Z'/%3E%3C/svg%3E"); }
.feature-team { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M24 28a10 10 0 1 1 0-20 10 10 0 0 1 0 20Zm17 2a9 9 0 1 1 0-18 9 9 0 0 1 0 18ZM8 55c0-10 7-19 16-19s16 9 16 19H8Zm29 0c-.3-6-2.3-11.2-5.3-15a16.5 16.5 0 0 1 9.3-2.8c8.6 0 15 8.2 15 17.8H37Z'/%3E%3C/svg%3E"); }
.feature-tech { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M28 4h8v10h-8V4Zm0 46h8v10h-8V50ZM4 28h10v8H4v-8Zm46 0h10v8H50v-8ZM13.8 8.2l7 7-5.6 5.6-7-7 5.6-5.6Zm35 35 7 7-5.6 5.6-7-7 5.6-5.6Zm7-29.4-7 7-5.6-5.6 7-7 5.6 5.6Zm-35 35-7 7-5.6-5.6 7-7 5.6 5.6ZM32 20a12 12 0 1 0 0 24 12 12 0 0 0 0-24Z'/%3E%3C/svg%3E"); }
.feature-cost { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 6a26 26 0 1 0 0 52 26 26 0 0 0 0-52Zm3 42h-6v-5c-4.2-.9-7.3-3.5-9-7l5.2-3c1.5 3 3.8 4.5 7 4.5 3 0 4.8-1.2 4.8-3.2 0-2.3-2.6-3-6.5-4-4.8-1.2-9.2-3-9.2-8.5 0-4.4 3-7.5 7.7-8.6V8h6v5.3c3.5.9 6.2 3 7.8 6l-5 3c-1.3-2.2-3-3.4-5.8-3.4-2.7 0-4.4 1.1-4.4 3 0 2.1 2.1 2.8 6 3.8 5.2 1.4 9.8 3.1 9.8 8.8 0 4.7-3.1 7.8-8.4 8.7V48Z'/%3E%3C/svg%3E"); }
.feature-security { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M32 4 54 13v17c0 14-9 24.5-22 30C19 54.5 10 44 10 30V13l22-9Zm-4 36 17-17-5-5-12 12-5-5-5 5 10 10Z'/%3E%3C/svg%3E"); }

.process {
  position: relative;
}

.timeline article {
  border-color: #e3edf6;
  box-shadow: 0 18px 36px rgba(15, 53, 92, .08);
}

.process-icon::after {
  display: none;
}

.process-icon::before {
  display: block;
  inset: 12px;
  border: 0;
  background: #fff;
}

.process-plan { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M14 8h36v48H14V8Zm8 8v32h20V16H22Zm5 8h10v6H27v-6Zm0 12h10v6H27v-6Z'/%3E%3C/svg%3E"); }
.process-design { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='m46 6 12 12-32 32-16 4 4-16L46 6Zm-5 10L20 37l7 7 21-21-7-7Z'/%3E%3C/svg%3E"); }
.process-implement { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M28 4h8v10h-8V4Zm0 46h8v10h-8V50ZM4 28h10v8H4v-8Zm46 0h10v8H50v-8ZM32 20a12 12 0 1 0 0 24 12 12 0 0 0 0-24Z'/%3E%3C/svg%3E"); }
.process-manage { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M10 12h44v34H38l-6 8-6-8H10V12Zm8 8v18h28V20H18Z'/%3E%3C/svg%3E"); }
.process-optimize { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='black' d='M10 52h44v6H10v-6Zm6-6V28h8v18h-8Zm12 0V18h8v28h-8Zm12 0V8h8v38h-8Zm-24-8 12-12 8 8 14-18 5 4-18 24-9-9-8 8-4-5Z'/%3E%3C/svg%3E"); }

@media (max-width: 1080px) {
  .hero__grid {
    grid-template-columns: 1fr;
  }

  .logo-orbit {
    left: 50%;
  }

  .solutions__grid {
    min-height: auto;
  }

  .feature-bar {
    margin-top: 0;
  }
}

@media (max-width: 700px) {
  .hero::before {
    width: 100%;
  }

  .logo-orbit {
    width: 190px;
  }

  .feature-bar {
    margin-bottom: 28px;
  }
}

/* Redesigned premium solutions/industries panel */
.solutions {
  padding: 54px 0 0;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 58%, #f5f8fc 100%);
}

.solutions__grid {
  position: relative;
  display: grid;
  grid-template-columns: .92fr 1fr 1.35fr;
  min-height: 448px;
  overflow: hidden;
  border: 1px solid rgba(218, 231, 243, .9);
  border-radius: 8px;
  background:
    linear-gradient(90deg, #0d3763 0%, #0d4664 31%, #d9efff 31.1%, #f8fbff 58%, #fff 58.1%),
    #fff;
  box-shadow: 0 24px 58px rgba(13, 49, 86, .12);
}

.solutions__grid::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 36% 48%, rgba(79, 240, 216, .28), transparent 22%),
    radial-gradient(circle at 82% 24%, rgba(5, 101, 199, .07), transparent 27%),
    linear-gradient(90deg, rgba(255,255,255,.06), transparent 42%, rgba(255,255,255,.64));
}

.solutions__intro {
  position: relative;
  z-index: 1;
  padding: 46px 42px 48px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 52%, rgba(46, 221, 202, .22), transparent 34%),
    linear-gradient(145deg, rgba(11, 44, 82, .98), rgba(8, 76, 84, .92));
}

.solutions__intro h2 {
  max-width: 310px;
  color: #fff;
  font-size: 31px;
  font-weight: 700;
  line-height: 1.14;
}

.solutions__intro p {
  max-width: 310px;
  margin: 20px 0 22px;
  color: #e7f2ff;
  font-size: 13px;
}

.solutions__intro ul {
  margin-bottom: 30px;
}

.stack-visual {
  position: relative;
  z-index: 1;
  background:
    radial-gradient(circle at 50% 47%, rgba(255,255,255,.65), transparent 18%),
    repeating-radial-gradient(circle at 50% 47%, rgba(70, 211, 206, .28) 0 1px, transparent 1px 18px),
    linear-gradient(135deg, rgba(86, 164, 214, .76), rgba(226, 246, 255, .98));
}

.stack-visual::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  border: 1px solid rgba(92, 217, 211, .32);
  transform: translate(-50%, -50%);
  box-shadow:
    0 0 0 22px rgba(92, 217, 211, .08),
    0 0 0 48px rgba(92, 217, 211, .055),
    0 0 0 78px rgba(92, 217, 211, .035);
}

.stack {
  width: 164px;
  height: 164px;
}

.stack-one { margin-top: -112px; }
.stack-two { margin-top: -34px; }
.stack-three { margin-top: 36px; }
.stack-four { margin-top: 108px; }

.solutions__map {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 28px;
  padding: 44px 40px 48px 42px;
  background:
    radial-gradient(circle at 88% 51%, rgba(5, 101, 199, .05), transparent 35%),
    linear-gradient(90deg, rgba(255,255,255,.78), #fff);
}

.solution-list {
  font-size: 13px;
  font-weight: 700;
}

.solution-list span {
  min-height: 56px;
  color: #10243d;
  border-bottom: 1px solid #e1ebf5;
}

.solution-list span::before {
  width: 34px;
  height: 34px;
  margin-right: 20px;
  background-color: #0867c7;
}

.dot-map {
  min-height: 300px;
  opacity: .92;
  transform: translateX(4px);
}

.feature-bar {
  margin-top: 0;
  margin-bottom: 42px;
  transform: translateY(-26px);
}

/* Full redesign: solutions + industries */
.solutions {
  padding: 72px 0 68px;
  background:
    radial-gradient(circle at 14% 18%, rgba(0, 148, 74, .08), transparent 26%),
    radial-gradient(circle at 86% 12%, rgba(5, 101, 199, .08), transparent 26%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 48%, #f5f8fc 100%);
}

.solutions__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.02fr 1.12fr;
  gap: 0;
  min-height: 520px;
  overflow: visible;
  border: 0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(12, 43, 78, .12);
}

.solutions__grid::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(0, 148, 74, .28), rgba(5, 101, 199, .18), rgba(255,255,255,.4));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.solutions__intro,
.stack-visual,
.solutions__map {
  position: relative;
  z-index: 1;
}

.solutions__intro {
  padding: 48px 42px;
  border-radius: 14px 0 0 14px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 35%),
    radial-gradient(circle at 100% 18%, rgba(33, 201, 185, .25), transparent 30%),
    linear-gradient(145deg, #0b2b52 0%, #0d4263 58%, #083250 100%);
}

.solutions__intro .eyebrow {
  color: #6ff0b2;
}

.solutions__intro h2 {
  max-width: 330px;
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.13;
}

.solutions__intro p {
  max-width: 330px;
  margin: 20px 0 24px;
  color: #dcecff;
  font-size: 13px;
}

.solutions__intro ul {
  display: grid;
  gap: 11px;
  margin: 0 0 30px;
  padding: 0;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

.solutions__intro li {
  margin: 0;
}

.solutions__intro li::before {
  content: "\2713";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  border-radius: 50%;
  color: #0b2f54;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  vertical-align: -3px;
}

.solutions__intro .btn {
  min-width: 142px;
  background: linear-gradient(135deg, #0876d9, #045fb8);
  box-shadow: 0 14px 28px rgba(4, 95, 184, .28);
}

.stack-visual {
  min-height: 520px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.88), transparent 17%),
    radial-gradient(circle at 50% 48%, rgba(0, 148, 74, .22), transparent 34%),
    repeating-radial-gradient(circle at 50% 48%, rgba(5, 101, 199, .12) 0 1px, transparent 1px 20px),
    linear-gradient(180deg, #dff4ff 0%, #afd7ef 100%);
}

.stack-visual::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.55);
  transform: translate(-50%, -50%);
  box-shadow:
    0 0 0 24px rgba(255,255,255,.18),
    0 0 0 56px rgba(255,255,255,.11),
    inset 0 0 40px rgba(255,255,255,.4);
}

.stack-visual::after {
  content: "";
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: 78px;
  height: 32px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(9, 42, 79, .24), transparent 68%);
}

.stack {
  width: 176px;
  height: 176px;
  transform: rotate(45deg) skew(-7deg, -7deg);
  box-shadow: 24px 30px 34px rgba(9, 42, 79, .2);
}

.stack::before {
  border-color: rgba(255,255,255,.46);
}

.stack-one {
  margin-top: -122px;
  background: linear-gradient(135deg, #fff, #dfe7ef);
}

.stack-one::after {
  inset: 66px;
  background: #00944a;
}

.stack-two {
  margin-top: -40px;
  background: linear-gradient(135deg, #28c463, #00944a);
}

.stack-three {
  margin-top: 35px;
  background: linear-gradient(135deg, #0b78dc, #0459ae);
}

.stack-four {
  margin-top: 112px;
  background: linear-gradient(135deg, #fff, #d7e0ea);
}

.solutions__map {
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: 22px;
  padding: 46px 44px;
  border-radius: 0 14px 14px 0;
  background:
    radial-gradient(circle at 82% 52%, rgba(5, 101, 199, .07), transparent 35%),
    linear-gradient(180deg, #fff 0%, #f9fcff 100%);
}

.solutions__map .blue {
  margin-bottom: 0;
  color: #0867c7;
}

.solution-list {
  display: grid;
  gap: 12px;
  font-size: 13px;
  font-weight: 700;
}

.solution-list span {
  min-height: 56px;
  padding: 10px 14px;
  border: 1px solid #e4edf6;
  border-radius: 10px;
  color: #10243d;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 24px rgba(15, 53, 92, .045);
}

.solution-list span::before {
  width: 30px;
  height: 30px;
  margin-right: 16px;
  background-color: #0867c7;
}

.dot-map {
  position: absolute;
  right: 28px;
  bottom: 28px;
  width: 190px;
  min-height: 170px;
  opacity: .34;
  transform: none;
  pointer-events: none;
}

.dot-map i {
  width: 12px;
  height: 12px;
}

.feature-bar {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  transform: none;
  margin: 26px auto 0;
  padding: 20px 26px;
  border-radius: 12px;
  background: linear-gradient(98deg, #0d2f5e 0%, #073d5e 48%, #075930 100%);
  box-shadow: 0 22px 48px rgba(0, 22, 52, .20);
}

.feature-title {
  grid-column: 1 / -1;
  margin: 0 0 12px;
  opacity: .92;
}

.feature-bar div {
  min-height: 54px;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  padding: 0 18px;
  font-size: 12px;
}

@media (max-width: 1080px) {
  .solutions__grid {
    grid-template-columns: 1fr;
  }

  .solutions__intro,
  .solutions__map {
    border-radius: 0;
  }

  .stack-visual {
    min-height: 420px;
  }

  .dot-map {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
  }
}

/* Full-width modern redesign for solutions section */
.solutions {
  position: relative;
  width: 100%;
  padding: 82px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 24%, rgba(0, 148, 74, .30), transparent 26%),
    radial-gradient(circle at 74% 16%, rgba(20, 134, 226, .24), transparent 30%),
    linear-gradient(135deg, #061a33 0%, #0b315c 46%, #eef7ff 46.2%, #ffffff 100%);
}

.solutions::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(255,255,255,.06), transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 72px);
  pointer-events: none;
}

.solutions > .container {
  width: min(1280px, calc(100% - 56px));
}

.solutions__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, .95fr) minmax(320px, .9fr) minmax(380px, 1.15fr);
  gap: 28px;
  min-height: 620px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.solutions__grid::before {
  content: "";
  position: absolute;
  inset: 28px -22px 56px -22px;
  z-index: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.10), rgba(255,255,255,.03) 43%, rgba(255,255,255,.70) 43.2%, rgba(255,255,255,.86));
  box-shadow: 0 30px 80px rgba(0, 22, 52, .20);
  backdrop-filter: blur(6px);
}

.solutions__intro,
.stack-visual,
.solutions__map {
  z-index: 1;
}

.solutions__intro {
  align-self: center;
  padding: 0 12px 0 0;
  color: #fff;
  background: transparent;
}

.solutions__intro::after {
  display: none;
}

.solutions__intro .eyebrow {
  color: #55e99f;
}

.solutions__intro h2 {
  max-width: 390px;
  color: #fff;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.08;
  font-weight: 700;
}

.solutions__intro p {
  max-width: 400px;
  color: #d8eafd;
  font-size: 15px;
  line-height: 1.7;
}

.solutions__intro ul {
  display: grid;
  gap: 12px;
  margin: 26px 0 32px;
  font-size: 13px;
  font-weight: 600;
}

.solutions__intro li::before {
  width: 20px;
  height: 20px;
  margin-right: 11px;
  color: #07345e;
}

.solutions__intro .btn {
  min-width: 150px;
  background: linear-gradient(135deg, #0d78db, #075eb4);
}

.stack-visual {
  align-self: center;
  min-height: 500px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 28px;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.72), transparent 17%),
    radial-gradient(circle at 50% 46%, rgba(0, 148, 74, .26), transparent 33%),
    repeating-radial-gradient(circle at 50% 46%, rgba(113, 232, 222, .24) 0 1px, transparent 1px 22px),
    linear-gradient(155deg, rgba(147, 210, 242, .64), rgba(255,255,255,.40));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 28px 65px rgba(4, 26, 54, .18);
  backdrop-filter: blur(10px);
}

.stack-visual::before {
  width: 360px;
  height: 360px;
  border-color: rgba(255,255,255,.45);
  box-shadow:
    0 0 0 28px rgba(255,255,255,.13),
    0 0 0 65px rgba(255,255,255,.075),
    inset 0 0 46px rgba(255,255,255,.46);
}

.stack-visual::after {
  left: 14%;
  right: 14%;
  bottom: 92px;
  height: 40px;
  background: radial-gradient(ellipse, rgba(9, 42, 79, .28), transparent 68%);
}

.stack {
  width: 188px;
  height: 188px;
}

.stack-one { margin-top: -134px; }
.stack-two { margin-top: -48px; }
.stack-three { margin-top: 32px; }
.stack-four { margin-top: 116px; }

.solutions__map {
  align-self: center;
  display: block;
  padding: 34px;
  border: 1px solid rgba(218, 231, 243, .95);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 28px 72px rgba(12, 43, 78, .13);
  backdrop-filter: blur(12px);
}

.solutions__map .blue {
  margin-bottom: 10px;
}

.solutions__map h2 {
  max-width: 420px;
  margin-bottom: 12px;
  color: #0e2038;
  font-size: 30px;
  line-height: 1.18;
}

.industry-copy {
  max-width: 430px;
  margin: 0 0 22px;
  color: #5c6f86;
  font-size: 13px;
}

.solution-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.solution-list span {
  min-height: 112px;
  display: grid;
  align-content: center;
  justify-items: start;
  padding: 18px;
  border: 1px solid #e3edf6;
  border-radius: 16px;
  background:
    linear-gradient(180deg, #fff, #f8fbff);
  box-shadow: 0 14px 32px rgba(15, 53, 92, .075);
}

.solution-list span::before {
  width: 34px;
  height: 34px;
  margin: 0 0 14px;
}

.dot-map {
  position: absolute;
  right: 30px;
  bottom: 28px;
  width: 180px;
  min-height: 150px;
  opacity: .18;
}

.feature-bar {
  width: min(1180px, calc(100% - 56px));
  margin-top: -38px;
  transform: none;
  border: 1px solid rgba(255,255,255,.14);
}

@media (max-width: 1080px) {
  .solutions {
    background: linear-gradient(135deg, #061a33 0%, #0b315c 40%, #f8fbff 40.2%, #fff 100%);
  }

  .solutions__grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .solutions__grid::before {
    inset: 0;
  }

  .solutions__intro {
    padding: 36px;
  }

  .stack-visual {
    min-height: 420px;
  }

  .solutions__map {
    margin: 0 24px 34px;
  }

  .solution-list {
    grid-template-columns: 1fr;
  }

  .feature-bar {
    margin-top: 24px;
  }
}

/* Reference-style solutions section refinement */
.solutions {
  padding: 66px 0 72px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.solutions > .container {
  width: min(1180px, calc(100% - 48px));
}

.solutions__grid {
  min-height: 610px;
  grid-template-columns: 1.02fr .9fr 1.18fr;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 22px;
  background:
    linear-gradient(132deg, transparent 0 50.8%, rgba(238, 248, 255, .96) 51% 100%),
    linear-gradient(90deg, #0b315b 0 48%, #f8fcff 48.2% 100%);
  box-shadow: 0 24px 64px rgba(10, 43, 79, .15);
}

.solutions__grid::before {
  inset: 0;
  border: 0;
  border-radius: inherit;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 48% 47%, rgba(255,255,255,.18), transparent 24%);
  background-size: 72px 72px, 72px 72px, auto;
  box-shadow: none;
}

.solutions__intro {
  align-self: stretch;
  padding: 58px 34px 54px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(120deg, rgba(5, 24, 48, .20), rgba(20, 111, 103, .10));
}

.solutions__intro h2 {
  max-width: 365px;
  font-size: clamp(34px, 3.2vw, 45px);
}

.solutions__intro p {
  max-width: 390px;
  margin: 22px 0 24px;
}

.solutions__intro ul {
  gap: 10px;
  margin-bottom: 28px;
}

.stack-visual {
  align-self: stretch;
  min-height: 610px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.stack-visual::before {
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(255,255,255,.10), transparent 62%);
}

.stack {
  width: 176px;
  height: 176px;
}

.stack-one { margin-top: -124px; }
.stack-two { margin-top: -42px; }
.stack-three { margin-top: 36px; }
.stack-four { margin-top: 116px; }

.solutions__map {
  align-self: stretch;
  padding: 58px 32px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.solutions__map h2 {
  max-width: 360px;
  font-size: 30px;
  position: relative;
  z-index: 2;
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}

.solutions__intro .eyebrow,
.solutions__intro h2,
.solutions__intro p,
.solutions__intro ul,
.solutions__intro .btn,
.solutions__map .eyebrow,
.industry-copy,
.solution-list {
  position: relative;
  z-index: 2;
}

.solutions__intro .eyebrow,
.solutions__map .eyebrow {
  display: inline-block;
  padding: 0 10px 0 0;
}

.solutions__map .eyebrow {
  background: rgba(248, 252, 255, .84);
}

.industry-copy {
  margin-bottom: 22px;
}

.solution-list {
  grid-template-columns: 1fr;
  gap: 14px;
}

.solution-list span {
  min-height: 64px;
  padding: 14px 20px;
  border-radius: 10px;
  background: rgba(255,255,255,.86);
}

.dot-map {
  right: 20px;
  bottom: 18px;
  opacity: .14;
}

.feature-bar {
  width: min(1080px, calc(100% - 72px));
  transform: translateY(-50%);
  margin: 0 auto -30px;
  border-radius: 10px;
  padding: 18px 28px 22px;
  box-shadow: 0 22px 44px rgba(7, 35, 72, .24);
}

.feature-bar::after {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 5px;
  border-radius: 0 8px 8px 0;
  background: #00944a;
}

.feature-title {
  margin-bottom: 14px;
}

.feature-bar div {
  grid-template-columns: 50px 1fr;
  min-height: 58px;
  padding: 0 22px;
}

.solutions + .process {
  padding-top: 30px;
}

/* Final direction: full-bleed section, contained content, one unified composition */
.solutions {
  padding: 78px 0 96px;
  background:
    radial-gradient(circle at 18% 28%, rgba(0, 148, 74, .20), transparent 28%),
    radial-gradient(circle at 78% 18%, rgba(5, 101, 199, .16), transparent 30%),
    linear-gradient(135deg, #071b35 0%, #0b3158 44%, #edf7ff 44.2%, #ffffff 100%);
}

.solutions > .container {
  width: min(1180px, calc(100% - 48px));
}

.solutions__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(260px, .7fr) minmax(360px, 1fr);
  gap: 34px;
  align-items: center;
  min-height: 560px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.solutions__grid::before {
  content: "";
  position: absolute;
  inset: 22px 0 28px 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 26px;
  background:
    linear-gradient(115deg, rgba(255,255,255,.10), rgba(255,255,255,.035) 42%, rgba(255,255,255,.72) 42.2%, rgba(255,255,255,.86)),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), transparent 32%);
  box-shadow: 0 30px 80px rgba(0, 22, 52, .20);
  pointer-events: none;
}

.solutions__intro,
.stack-visual,
.solutions__map {
  position: relative;
  z-index: 1;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  backdrop-filter: none;
}

.solutions__intro {
  padding: 0 0 0 28px;
}

.solutions__intro h2 {
  max-width: 360px;
  color: #fff;
  font-size: clamp(34px, 3.3vw, 46px);
  line-height: 1.08;
}

.solutions__intro p {
  max-width: 390px;
  color: #dbeeff;
  font-size: 14px;
}

.stack-visual {
  min-height: 440px;
  overflow: visible;
}

.stack-visual::before {
  width: 330px;
  height: 330px;
}

.stack {
  width: 174px;
  height: 174px;
}

.solutions__map {
  display: block;
  padding: 0 28px 0 0;
}

.solutions__map h2 {
  max-width: 360px;
  font-size: 30px;
}

.industry-copy {
  max-width: 380px;
}

.solution-list {
  grid-template-columns: 1fr;
  gap: 12px;
}

.solution-list span {
  min-height: 66px;
  display: flex;
  align-items: center;
  padding: 14px 18px;
  border: 1px solid rgba(226, 236, 246, .9);
  border-radius: 14px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 16px 36px rgba(15, 53, 92, .075);
  backdrop-filter: blur(10px);
}

.solution-list span::before {
  margin: 0 16px 0 0;
}

.dot-map {
  right: 6px;
  bottom: -26px;
  opacity: .16;
}

.feature-bar {
  width: min(1080px, calc(100% - 88px));
  margin-top: 34px;
  margin-bottom: 0;
  transform: none;
}

.solutions + .process {
  padding-top: 54px;
}

@media (max-width: 1080px) {
  .solutions__grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .solutions__intro,
  .solutions__map {
    padding: 34px;
  }

  .stack-visual {
    min-height: 360px;
  }
}

/* Thin icon + softer typography refinement */
body {
  color: #10243d;
}

h2,
.hero h1,
.solutions__intro h2,
.cta-card h2 {
  font-weight: 700;
}

.navlinks,
.btn,
.eyebrow,
.service-card h3,
.post-card h3,
.timeline h3,
.feature-bar div {
  font-weight: 700;
}

.hero h1 {
  color: #0e2038;
}

.hero h1 span,
.mini-stats strong {
  color: #0867c7;
}

.stat strong {
  color: #0d2038;
  font-weight: 700;
}

.stat-icon,
.feature-icon,
.process-icon {
  background: transparent;
  color: currentColor;
  -webkit-mask: none;
  mask: none;
}

.stat-icon svg,
.feature-icon svg,
.process-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.stat-icon {
  width: 46px;
  height: 46px;
  color: #132b48;
}

.stat-icon svg {
  stroke-width: 2.05;
}

.feature-icon {
  width: 46px;
  height: 46px;
  color: #fff;
}

.feature-icon::before,
.feature-icon::after,
.process-icon::before,
.process-icon::after {
  display: none;
}

.feature-icon svg {
  stroke-width: 1.85;
}

.process-icon {
  color: #fff;
}

.process-icon svg {
  width: 28px;
  height: 28px;
  stroke-width: 2;
}

.service-icon svg {
  stroke-width: 1.95;
}

.card-arrow {
  border-width: 1.6px;
}

.service-card p,
.timeline p,
.global-card p,
.testimonial p,
.post-card p {
  color: #5f7087;
}

/* Final lock: premium solutions panel readability and spacing */
.solutions {
  padding: 74px 0 92px;
  background:
    radial-gradient(circle at 16% 20%, rgba(0, 148, 74, .16), transparent 28%),
    radial-gradient(circle at 77% 16%, rgba(5, 101, 199, .12), transparent 30%),
    linear-gradient(135deg, #061c36 0%, #0b3159 43%, #eef8ff 43.2%, #ffffff 100%);
}

.solutions > .container {
  width: min(1180px, calc(100% - 56px));
}

.solutions__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(330px, .95fr) minmax(275px, .72fr) minmax(390px, 1fr);
  gap: 32px;
  align-items: center;
  min-height: 590px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.solutions__grid::before {
  content: "";
  position: absolute;
  inset: 28px 0 34px;
  z-index: 0;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 26px;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .075) 0 43%, rgba(255, 255, 255, .88) 43.2% 100%),
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
  background-size: auto, 72px 72px, 72px 72px;
  box-shadow: 0 30px 82px rgba(0, 22, 52, .18);
  pointer-events: none;
}

.solutions__intro,
.stack-visual,
.solutions__map {
  position: relative;
  z-index: 1;
}

.solutions__intro {
  padding: 58px 0 58px 34px;
}

.solutions__intro .eyebrow {
  color: #51e992;
}

.solutions__intro h2,
.solutions__intro p,
.solutions__intro li {
  text-shadow: 0 1px 1px rgba(0, 0, 0, .12);
}

.solutions__intro h2 {
  max-width: 380px;
  color: #ffffff;
  font-size: clamp(36px, 3.15vw, 48px);
  line-height: 1.08;
}

.solutions__intro p {
  max-width: 405px;
  color: #e7f4ff;
  font-size: 15px;
}

.solutions__intro .btn {
  width: fit-content;
  min-width: 158px;
  padding-inline: 24px;
}

.stack-visual {
  min-height: 470px;
}

.stack-visual::before {
  width: 350px;
  height: 350px;
  background:
    radial-gradient(circle, rgba(255,255,255,.24) 0 28%, rgba(255,255,255,.10) 29% 45%, transparent 46%),
    repeating-radial-gradient(circle, rgba(31, 184, 205, .22) 0 1px, transparent 1px 23px);
}

.solutions__map {
  margin: 26px 26px 26px 0;
  padding: 42px 34px 38px 42px;
  border: 1px solid rgba(218, 232, 246, .82);
  border-radius: 22px;
  background: rgba(255, 255, 255, .78);
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
  backdrop-filter: blur(14px);
}

.solutions__map .eyebrow {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 0;
  background: transparent;
  color: #0565c7;
}

.solutions__map h2 {
  max-width: 420px;
  margin: 0 0 14px;
  color: #14263e;
  font-size: clamp(30px, 2.4vw, 40px);
  line-height: 1.12;
  text-shadow: none;
}

.industry-copy {
  max-width: 430px;
  margin: 0 0 22px;
  color: #687992;
  font-size: 15px;
}

.solution-list {
  position: relative;
  z-index: 2;
  gap: 13px;
}

.solution-list span {
  min-height: 62px;
  padding: 14px 18px;
  border: 1px solid rgba(218, 231, 244, .95);
  border-radius: 12px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 12px 28px rgba(13, 54, 91, .07);
  color: #14263e;
}

.dot-map {
  right: 24px;
  bottom: 18px;
  opacity: .08;
}

.feature-bar {
  width: min(1080px, calc(100% - 96px));
  margin: 26px auto 0;
  transform: none;
  border-radius: 11px;
  background: linear-gradient(100deg, #082a52 0%, #083f61 44%, #08733f 100%);
  box-shadow: 0 20px 44px rgba(4, 30, 66, .24);
}

.feature-bar::after {
  display: none;
}

.feature-bar div {
  gap: 16px;
  grid-template-columns: 44px 1fr;
  min-height: 60px;
  padding: 0 24px;
  color: rgba(255, 255, 255, .94);
}

.feature-icon {
  width: 40px;
  height: 40px;
  color: rgba(255, 255, 255, .92);
}

.feature-icon svg {
  stroke-width: 1.65;
}

.solutions + .process {
  padding-top: 58px;
}

.feature-strip {
  position: relative;
  --feature-overlap: 66px;
  z-index: 3;
  margin-top: calc(var(--feature-overlap) * -1);
  padding: 0 0 54px;
  overflow: visible;
  background: transparent;
}

.feature-strip::before {
  display: none;
}

.feature-strip .feature-bar {
  width: min(1080px, calc(100% - 96px));
  margin: 0 auto;
  transform: none;
  border: 1px solid rgba(255, 255, 255, .42);
  background:
    linear-gradient(105deg, rgba(7, 37, 75, .86) 0%, rgba(7, 64, 94, .80) 43%, rgba(0, 132, 70, .82) 100%);
  box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
  backdrop-filter: blur(18px) saturate(135%);
}

.feature-strip .feature-bar::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, .18), transparent 24%, transparent 72%, rgba(255, 255, 255, .12));
  pointer-events: none;
}

.feature-strip + .process {
  padding-top: 40px;
}

.timeline {
  gap: 20px;
}

.timeline article {
  min-height: 205px;
  border-color: #e7f0f8;
  box-shadow: 0 14px 30px rgba(12, 44, 78, .07);
}

.process-icon {
  color: #ffffff;
}

.process-icon svg {
  stroke-width: 1.7;
}

/* Footer and final page polish */
.news {
  padding-bottom: 78px;
}

.post-card,
.cta-card,
.global-card,
.testimonial {
  border: 1px solid rgba(220, 233, 246, .9);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 18px 42px rgba(10, 43, 79, .08);
}

.post-card {
  transition: transform .22s ease, box-shadow .22s ease;
}

.post-card:hover {
  transform: translateY(-4px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 24px 50px rgba(10, 43, 79, .12);
}

.cta-card {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 12%, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 96% 100%, rgba(0, 148, 74, .30), transparent 42%),
    linear-gradient(145deg, #082a52, #0565c7);
}

.cta-card::after {
  content: "";
  position: absolute;
  right: -52px;
  bottom: -62px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
}

.footer {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 8% 18%, rgba(0, 148, 74, .24), transparent 26%),
    radial-gradient(circle at 88% 8%, rgba(5, 101, 199, .22), transparent 30%),
    linear-gradient(135deg, #04172e 0%, #062544 46%, #041c37 100%);
}

.footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: .45;
  pointer-events: none;
}

.footer__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.35fr .78fr 1.05fr 1.28fr 1.22fr;
  gap: 34px;
  padding: 58px 0 50px;
}

.footer__brand,
.footer__newsletter {
  padding: 24px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
}

.brand--light img {
  width: 174px;
  filter: brightness(0) invert(1);
}

.footer__brand p {
  max-width: 280px;
  margin: 18px 0 22px;
}

.footer h3 {
  margin: 0 0 18px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.footer a,
.footer p {
  color: rgba(219, 234, 255, .82);
  font-size: 13px;
  line-height: 1.65;
}

.footer__links a {
  position: relative;
  display: block;
  width: fit-content;
  margin: 8px 0;
  transition: color .2s ease, transform .2s ease;
}

.footer__links a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 1px;
  height: 1px;
  background: var(--green);
  transition: right .2s ease;
}

.footer__links a:hover {
  color: #ffffff;
  transform: translateX(3px);
}

.footer__links a:hover::before {
  right: 0;
}

.footer__contact p {
  margin: 0 0 14px;
}

.footer__contact span {
  display: block;
  margin-bottom: 2px;
  color: #49df8b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.footer-social {
  display: flex;
  gap: 10px;
}

.footer-social a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease;
}

.footer-social a:hover {
  transform: translateY(-2px);
  background: rgba(0, 148, 74, .82);
}

.footer form {
  display: flex;
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

.footer input {
  width: 100%;
  min-height: 46px;
  padding: 0 15px;
  border: 0;
  outline: 0;
  color: #fff;
  background: transparent;
}

.footer input::placeholder {
  color: rgba(219, 234, 255, .58);
}

.footer button {
  width: 50px;
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--green), #12a6a7);
  font-size: 17px;
  cursor: pointer;
}

.copyright {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 18px 24px;
  color: #52657d;
  background: #ffffff;
  text-align: center;
  font-size: 14px;
}

@media (max-width: 1080px) {
  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer__brand,
  .footer__newsletter {
    grid-column: span 2;
  }

  .feature-strip .feature-bar {
    width: min(720px, calc(100% - 44px));
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 18px 20px 20px;
  }

  .feature-title {
    grid-column: 1 / -1;
    width: auto;
  }

  .feature-strip .feature-bar div {
    padding: 14px 16px;
    border-right: 0;
  }

  .hero {
    overflow: hidden;
  }

  .testimonials__grid {
    grid-template-columns: 1fr;
  }

  .review-card {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .footer__grid {
    grid-template-columns: 1fr;
  }

  .footer__brand,
  .footer__newsletter {
    grid-column: auto;
  }

  .feature-strip {
    --feature-overlap: 58px;
  }

  .feature-strip .feature-bar {
    grid-template-columns: 1fr;
    width: min(100%, calc(100% - 34px));
  }

  .feature-strip .feature-bar div {
    grid-template-columns: 38px 1fr;
    min-height: auto;
    padding: 12px 10px;
  }

  .feature-icon {
    width: 34px;
    height: 34px;
  }

  .testimonials {
    width: min(100%, calc(100% - 34px));
    padding-bottom: 54px;
  }

  .testimonials__head {
    display: block;
  }

  .testimonials__head > p {
    margin-top: 12px;
  }

  .review-card {
    padding: 24px;
  }
}

/* Final process redesign */
.process {
  position: relative;
  width: min(1180px, calc(100% - 56px));
  padding: 74px 0 88px;
  margin-bottom: 26px;
}

.process::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 38px;
  width: min(900px, 86vw);
  height: 260px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 35% 45%, rgba(0, 148, 74, .10), transparent 36%),
    radial-gradient(circle at 66% 40%, rgba(5, 101, 199, .11), transparent 38%);
  filter: blur(10px);
  transform: translateX(-50%);
  pointer-events: none;
}

.process > .eyebrow,
.process > h2,
.timeline {
  position: relative;
  z-index: 1;
}

.process > .eyebrow {
  margin-bottom: 10px;
}

.process h2 {
  max-width: 720px;
  margin: 0 auto;
  color: #10243d;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.14;
}

.timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 52px;
  text-align: left;
}

.timeline::before {
  display: block;
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 52px;
  height: 2px;
  background:
    linear-gradient(90deg, rgba(0, 148, 74, .65), rgba(5, 101, 199, .65), rgba(0, 148, 74, .65));
  opacity: .28;
  z-index: 0;
}

.timeline article {
  position: relative;
  min-height: 0;
  padding: 64px 22px 24px;
  overflow: visible;
  border: 1px solid rgba(215, 230, 244, .92);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,252,255,.90));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 18px 42px rgba(10, 43, 79, .09);
  text-align: center;
}

.timeline article::before {
  display: none;
}

.timeline article::after {
  left: 50%;
  top: 51px;
  bottom: auto;
  width: 10px;
  height: 10px;
  border: 3px solid #fff;
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(0, 148, 74, .14);
  transform: translate(-50%, -50%);
}

.timeline article:nth-child(even)::after {
  background: #0565c7;
  box-shadow: 0 0 0 5px rgba(5, 101, 199, .14);
}

.timeline span {
  left: 18px;
  top: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 24px;
  border-radius: 999px;
  background: rgba(0, 148, 74, .10);
  color: #00944a;
  font-size: 11px;
  font-weight: 800;
}

.timeline article:nth-child(even) span {
  background: rgba(5, 101, 199, .10);
  color: #0565c7;
}

.process-icon {
  position: absolute;
  left: 50%;
  top: -28px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(0, 148, 74, .96), rgba(29, 183, 96, .88));
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 14px 30px rgba(0, 148, 74, .24);
  transform: translateX(-50%) rotate(45deg);
}

.timeline article:nth-child(even) .process-icon {
  background:
    linear-gradient(145deg, rgba(5, 101, 199, .98), rgba(13, 132, 230, .88));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 14px 30px rgba(5, 101, 199, .24);
}

.process-icon svg {
  width: 27px;
  height: 27px;
  stroke-width: 1.75;
  transform: rotate(-45deg);
}

.timeline h3 {
  margin: 0 0 10px;
  color: #10243d;
  font-size: 18px;
  line-height: 1.2;
  text-align: center;
}

.timeline p {
  max-width: 180px;
  margin: 0 auto;
  color: #667790;
  font-size: 14px;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 1080px) {
  .process {
    width: min(720px, calc(100% - 44px));
  }

  .timeline {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .timeline::before {
    left: 50%;
    right: auto;
    top: 20px;
    bottom: 20px;
    width: 2px;
    height: auto;
    transform: translateX(-50%);
  }
}

@media (max-width: 1080px) {
  .solutions {
    background: linear-gradient(180deg, #082845 0%, #eef8ff 100%);
  }

  .solutions__grid {
    grid-template-columns: 1fr;
    gap: 22px;
    min-height: 0;
  }

  .solutions__grid::before {
    inset: 0;
    background: rgba(255, 255, 255, .08);
  }

  .solutions__intro,
  .solutions__map {
    margin: 0;
    padding: 34px;
  }

  .solutions__map {
    background: rgba(255, 255, 255, .9);
  }

  .feature-bar {
    width: min(100%, calc(100% - 56px));
  }
}

.inner-hero {
  position: relative;
  overflow: hidden;
  min-height: 365px;
  display: grid;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(100deg, rgba(5, 23, 47, .92) 0%, rgba(6, 45, 80, .78) 48%, rgba(6, 45, 80, .22) 100%),
    var(--inner-image, url("../assets/banner.webp")) center / cover no-repeat;
}

.inner-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 90px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.95));
}

.inner-hero .container {
  position: relative;
  z-index: 1;
}

.inner-hero h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.04;
}

.inner-hero p:not(.eyebrow) {
  max-width: 610px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 16px;
}

.page-blocks {
  display: grid;
  gap: 28px;
  padding: 72px 0 88px;
}

.page-block {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 34px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(220, 233, 246, .9);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(10, 43, 79, .08);
}

.page-block:nth-child(even) {
  grid-template-columns: .9fr 1.1fr;
}

.page-block:nth-child(even) img {
  order: -1;
}

.page-block h1,
.page-block h2,
.page-block h3,
.page-block h4,
.page-block h5,
.page-block h6 {
  max-width: 560px;
  margin: 0 0 14px;
  color: var(--dark);
  line-height: 1.12;
  font-weight: 800;
}

.page-block h1 {
  font-size: clamp(36px, 4.2vw, 58px);
}

.page-block h2 {
  font-size: clamp(30px, 3.2vw, 44px);
}

.page-block h3 {
  font-size: clamp(26px, 2.7vw, 36px);
}

.page-block h4 {
  font-size: clamp(22px, 2.2vw, 30px);
}

.page-block h5 {
  font-size: clamp(19px, 1.8vw, 24px);
}

.page-block h6 {
  font-size: 16px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.page-block p:not(.eyebrow) {
  max-width: 620px;
  color: var(--muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
}

.page-block .btn {
  margin-top: 24px;
}

.page-block img {
  width: 100%;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 20px 42px rgba(8, 36, 70, .12);
}

.page-block--cta {
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, #082f59, #06713d);
}

.page-block--cta h1,
.page-block--cta h2,
.page-block--cta h3,
.page-block--cta h4,
.page-block--cta h5,
.page-block--cta h6,
.page-block--cta .eyebrow {
  color: #fff;
}

.page-block--cta p:not(.eyebrow) {
  color: rgba(255,255,255,.78);
}

@media (max-width: 760px) {
  .page-block,
  .page-block:nth-child(even) {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .page-block:nth-child(even) img {
    order: 0;
  }
}

/* Dynamic Laravel icon bridge */
.service-icon,
.stat-icon,
.feature-icon,
.process-icon {
  background-color: currentColor;
  -webkit-mask: var(--ae-icon) center / contain no-repeat;
  mask: var(--ae-icon) center / contain no-repeat;
}

.service-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.service-icon--image {
  background: none;
  -webkit-mask: none;
  mask: none;
  color: inherit;
}

.service-server { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='7' width='28' height='8' rx='2'/%3E%3Crect x='10' y='20' width='28' height='8' rx='2'/%3E%3Crect x='10' y='33' width='28' height='8' rx='2'/%3E%3Cpath d='M17 11h1m-1 13h1m-1 13h1M28 15v5m0 8v5'/%3E%3C/g%3E%3C/svg%3E"); }
.service-cloud { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 33h20a8 8 0 0 0 0-16 12 12 0 0 0-22-3A9.5 9.5 0 0 0 16 33Z'/%3E%3Cpath d='M24 26v13m-7 0h14'/%3E%3C/g%3E%3C/svg%3E"); }
.service-gear { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='8'/%3E%3Cpath d='M24 5v6m0 26v6M5 24h6m26 0h6M10.6 10.6l4.2 4.2m18.4 18.4 4.2 4.2m0-26.8-4.2 4.2M14.8 33.2l-4.2 4.2'/%3E%3C/g%3E%3C/svg%3E"); }
.service-consult { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17' cy='18' r='7'/%3E%3Cpath d='M5 41c1.2-9 5.2-13.5 12-13.5 3.7 0 6.6 1.4 8.6 4.1'/%3E%3Cpath d='M29 10h13v12H31l-5 5V10h3Z'/%3E%3Cpath d='M32 16h5'/%3E%3C/g%3E%3C/svg%3E"); }
.service-shield { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 39 11v11c0 10-5.3 16.8-15 21C14.3 38.8 9 32 9 22V11l15-6Z'/%3E%3Cpath d='m17 24 5 5 10-11'/%3E%3C/g%3E%3C/svg%3E"); }

.stat-people { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='15' r='6'/%3E%3Cpath d='M12 39c1.3-8 5.3-12 12-12s10.7 4 12 12'/%3E%3Ccircle cx='10' cy='20' r='4.5'/%3E%3Cpath d='M4 36c.8-5.5 3.6-8.3 8.5-8.3'/%3E%3Ccircle cx='38' cy='20' r='4.5'/%3E%3Cpath d='M44 36c-.8-5.5-3.6-8.3-8.5-8.3'/%3E%3C/g%3E%3C/svg%3E"); }
.stat-building { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 40h34M11 40V18h26v22M8 18l16-9 16 9M17 40V25m7 15V25m7 15V25'/%3E%3C/g%3E%3C/svg%3E"); }
.stat-globe { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='17'/%3E%3Cpath d='M7 24h34M24 7c5 5.4 7.5 11 7.5 17S29 35.6 24 41M24 7c-5 5.4-7.5 11-7.5 17S19 35.6 24 41M11 15h26M11 33h26'/%3E%3C/g%3E%3C/svg%3E"); }
.stat-headset { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 26v-2c0-9 6-16 14-16s14 7 14 16v2'/%3E%3Crect x='6' y='24' width='9' height='13' rx='4'/%3E%3Crect x='33' y='24' width='9' height='13' rx='4'/%3E%3Cpath d='M33 38c-2 3-5 4-9 4h-3'/%3E%3C/g%3E%3C/svg%3E"); }

.feature-sla { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='11' y='8' width='26' height='32' rx='3'/%3E%3Cpath d='M19 17h10M19 25h14M19 33h8M34 8v8h8'/%3E%3C/g%3E%3C/svg%3E"); }
.feature-team { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='17' r='6'/%3E%3Cpath d='M6 39c1.2-8 5.2-12 12-12s10.8 4 12 12'/%3E%3Ccircle cx='33' cy='20' r='5'/%3E%3Cpath d='M31 30c5 .5 8.6 3.6 11 9'/%3E%3C/g%3E%3C/svg%3E"); }
.feature-tech { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='7'/%3E%3Cpath d='M24 5v8m0 22v8M5 24h8m22 0h8M10.5 10.5l5.7 5.7m15.6 15.6 5.7 5.7m0-27-5.7 5.7M16.2 31.8l-5.7 5.7'/%3E%3C/g%3E%3C/svg%3E"); }
.feature-cost { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='17'/%3E%3Cpath d='M24 13v22m7-16c-2-3-12-4-12 2 0 7 12 3 12 9 0 6-10 6-14 1'/%3E%3C/g%3E%3C/svg%3E"); }
.feature-security { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 39 11v11c0 10-5.3 16.8-15 21C14.3 38.8 9 32 9 22V11l15-6Z'/%3E%3Cpath d='m17 24 5 5 10-11'/%3E%3C/g%3E%3C/svg%3E"); }

.process-plan,
.process-implement,
.process-optimize { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 8h17l7 7v25H14z'/%3E%3Cpath d='M31 8v8h7M20 30l4 4 9-13'/%3E%3C/g%3E%3C/svg%3E"); }
.process-design { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m10 35 3 3 22-22-3-3-22 22ZM30 15l3-3 3 3-3 3'/%3E%3Cpath d='m9 39 6-1-5-5-1 6Z'/%3E%3C/g%3E%3C/svg%3E"); }
.process-manage { --ae-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='10' width='30' height='22' rx='3'/%3E%3Cpath d='M18 39h12M24 32v7M17 18h14M17 24h9'/%3E%3C/g%3E%3C/svg%3E"); }

/* Frontend motion polish */
.hero {
  isolation: isolate;
  z-index: 5;
  min-height: 430px;
  background:
    radial-gradient(circle at 78% 20%, rgba(5, 101, 199, .14), transparent 26%),
    radial-gradient(circle at 12% 82%, rgba(0, 148, 74, .10), transparent 30%),
    linear-gradient(112deg, #ffffff 0%, #f4f9ff 50%, #eaf5ff 100%);
}

.hero::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background-image:
    linear-gradient(rgba(5, 101, 199, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(5, 101, 199, .055) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 76% 42%, #000 0%, transparent 62%);
}

.hero-slide {
  transform: translateX(32px) scale(.985);
  filter: blur(10px);
  transition:
    opacity .9s cubic-bezier(.22, 1, .36, 1),
    visibility .9s cubic-bezier(.22, 1, .36, 1),
    transform .9s cubic-bezier(.22, 1, .36, 1),
    filter .9s cubic-bezier(.22, 1, .36, 1);
}

.hero-slide.is-active {
  transform: translateX(0) scale(1);
  filter: blur(0);
}

.hero-slide .eyebrow,
.hero-slide h1,
.hero-slide .hero__copy > p,
.hero-slide .actions {
  opacity: 0;
  transform: translateY(22px);
  filter: blur(8px);
}

.hero-slide.is-active .eyebrow,
.hero-slide.is-active h1,
.hero-slide.is-active .hero__copy > p,
.hero-slide.is-active .actions {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 1.05s cubic-bezier(.22, 1, .36, 1),
    transform 1.05s cubic-bezier(.22, 1, .36, 1),
    filter 1.05s cubic-bezier(.22, 1, .36, 1);
}

.hero-slide.is-active h1 {
  transition-delay: .18s;
  animation: heroTypingReveal 2.15s cubic-bezier(.22, 1, .36, 1) both;
}

.hero h1 {
  position: relative;
  width: fit-content;
  max-width: 470px;
}

.hero-slide.is-active h1::after {
  position: absolute;
  top: .08em;
  right: -12px;
  width: 3px;
  height: .92em;
  border-radius: 999px;
  content: "";
  background: linear-gradient(180deg, var(--blue), var(--green));
  animation: heroCaret 1s steps(1) infinite, heroCaretOut .35s ease 2.35s forwards;
}

.hero-slide.is-active .eyebrow {
  animation: heroEyebrowIn 1.15s cubic-bezier(.22, 1, .36, 1) both;
}

.hero-slide.is-active .hero__copy > p {
  animation: heroCopyFloat 1.2s cubic-bezier(.22, 1, .36, 1) .65s both;
}

.hero-slide.is-active .actions .btn {
  position: relative;
  overflow: hidden;
  animation: heroButtonIn .95s cubic-bezier(.22, 1, .36, 1) .95s both;
}

.hero-slide.is-active .actions .btn:nth-child(2) {
  animation-delay: 1.12s;
}

.hero-slide.is-active .actions .btn::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.34) 42%, transparent 66%);
  transform: translateX(-130%);
  transition: transform .65s ease;
}

.hero-slide.is-active .actions .btn:hover::before {
  transform: translateX(130%);
}

.hero-slide.is-active .hero__copy > p {
  transition-delay: .55s;
}

.hero-slide.is-active .actions {
  transition-delay: .9s;
}

.hero__grid {
  min-height: 430px;
}

.hero__copy {
  z-index: 9;
  padding-bottom: 56px;
}

.hero__copy > p:not(.eyebrow) {
  margin-bottom: 18px;
}

.hero .actions {
  position: relative;
  z-index: 10;
  gap: 14px;
  margin-bottom: 18px;
}

.hero__visual {
  perspective: 1100px;
}

.server-room {
  overflow: hidden;
  border-radius: 34px 0 0 34px;
  box-shadow: 0 32px 80px rgba(8, 36, 70, .18);
  transform: translateX(34px) rotateY(-4deg) scale(1.03);
  transition: transform 1.05s cubic-bezier(.22, 1, .36, 1), filter 1.05s ease;
  will-change: transform;
}

.server-room::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background:
    linear-gradient(115deg, rgba(255,255,255,.28), transparent 28%, transparent 68%, rgba(5, 101, 199, .12)),
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.22), transparent 22%);
  mix-blend-mode: screen;
}

.hero-slide.is-active .server-room {
  animation: heroImageFloat 9s ease-in-out infinite;
}

.logo-orbit {
  animation: logoFloat 6s ease-in-out infinite;
}

.logo-orbit::before,
.logo-orbit::after {
  position: absolute;
  inset: 18%;
  border: 1px solid rgba(5, 101, 199, .22);
  border-radius: 999px;
  content: "";
}

.logo-orbit::before {
  animation: orbitPulse 3.6s ease-in-out infinite;
}

.logo-orbit::after {
  inset: 6%;
  border-color: rgba(0, 148, 74, .16);
  animation: orbitPulse 3.6s ease-in-out infinite .8s;
}

.logo-disc {
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 22px 30px rgba(8, 36, 70, .18));
}

.hero-dots {
  bottom: 28px;
  padding: 8px;
  border: 1px solid rgba(226, 235, 246, .86);
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 18px 42px rgba(8, 36, 70, .12);
  backdrop-filter: blur(14px);
}

.hero-dots button {
  position: relative;
  width: 9px;
  height: 9px;
  background: #b8c7d9;
  transition: width .24s ease, background .24s ease, transform .24s ease;
}

.hero-dots button:hover {
  transform: scale(1.18);
}

.hero-dots button.is-active {
  width: 34px;
  background: linear-gradient(135deg, var(--green), var(--blue));
}

.hero-arrow {
  position: absolute;
  top: 50%;
  z-index: 8;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(210, 224, 239, .92);
  border-radius: 999px;
  color: #12365f;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 42px rgba(8, 36, 70, .14);
  backdrop-filter: blur(14px);
  transform: translateY(-50%);
  transition: transform .22s ease, color .22s ease, background .22s ease, border-color .22s ease;
}

.hero-arrow::before {
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-left: 2px solid currentColor;
  content: "";
}

.hero-arrow--prev {
  left: max(18px, calc((100vw - 1180px) / 2 - 66px));
}

.hero-arrow--prev::before {
  transform: rotate(-45deg) translate(1px, 1px);
}

.hero-arrow--next {
  right: max(18px, calc((100vw - 1180px) / 2 - 66px));
}

.hero-arrow--next::before {
  transform: rotate(135deg) translate(1px, 1px);
}

.hero-arrow:hover {
  color: #fff;
  border-color: var(--blue);
  background: linear-gradient(135deg, var(--blue), var(--green));
  transform: translateY(-50%) scale(1.06);
}

.hero-progress {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 7;
  width: min(520px, calc(100% - 44px));
  height: 3px;
  overflow: hidden;
  border-radius: 999px 999px 0 0;
  background: rgba(5, 101, 199, .12);
  transform: translateX(-50%);
}

.hero-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--green), var(--blue));
  transform-origin: left;
  animation: heroProgress 6500ms linear forwards;
}

.stats {
  z-index: 3;
  margin-top: 34px;
  border: 1px solid rgba(215, 228, 241, .95);
  box-shadow:
    0 28px 70px rgba(8, 36, 70, .18),
    0 8px 18px rgba(8, 36, 70, .08);
}

.hero-dots {
  bottom: 30px;
}

.hero-progress {
  top: 0;
  bottom: auto;
  width: min(760px, calc(100% - 140px));
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: rgba(5, 101, 199, .14);
  box-shadow: 0 8px 18px rgba(8, 36, 70, .10);
}

@keyframes heroProgress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes heroImageFloat {
  0%, 100% {
    transform: translateX(24px) rotateY(-3deg) scale(1.015);
    filter: saturate(1.02);
  }
  50% {
    transform: translateX(18px) rotateY(-2deg) scale(1.035);
    filter: saturate(1.12);
  }
}

@keyframes heroTypingReveal {
  0% {
    clip-path: inset(0 100% 0 0);
    opacity: .75;
  }
  72% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes heroCaret {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}

@keyframes heroCaretOut {
  to {
    opacity: 0;
    transform: translateY(-4px);
  }
}

@keyframes heroEyebrowIn {
  0% {
    letter-spacing: .28em;
  }
  100% {
    letter-spacing: .12em;
  }
}

@keyframes heroCopyFloat {
  0% {
    opacity: 0;
    transform: translateY(14px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroButtonIn {
  0% {
    opacity: 0;
    transform: translateY(16px) scale(.96);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes logoFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

@keyframes orbitPulse {
  0%, 100% {
    opacity: .45;
    transform: scale(.92);
  }
  50% {
    opacity: .9;
    transform: scale(1.08);
  }
}

@media (max-width: 1080px) {
  .hero {
    min-height: auto;
  }

  .hero__grid {
    min-height: auto;
    padding-bottom: 76px;
  }

  .server-room {
    border-radius: 24px;
    transform: none;
  }

  .hero-slide.is-active .server-room {
    animation: none;
  }

  .logo-orbit {
    animation: none;
    transform: translateX(-50%);
  }

  .hero-arrow {
    top: 50%;
    bottom: auto;
  }

  .hero-arrow--prev {
    left: 22px;
  }

  .hero-arrow--next {
    right: 22px;
  }
}

@media (max-width: 700px) {
  .hero-dots {
    bottom: 24px;
  }

  .hero-arrow {
    width: 40px;
    height: 40px;
    top: auto;
    bottom: 68px;
  }

  .hero-progress {
    width: calc(100% - 28px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .hero-slide,
  .hero-slide .eyebrow,
  .hero-slide h1,
  .hero-slide .hero__copy > p,
  .hero-slide .actions,
  .server-room,
  .hero-dots button,
  .hero-arrow {
    transition: none;
  }

  .hero-slide.is-active .server-room,
  .logo-orbit,
  .logo-orbit::before,
  .logo-orbit::after,
  .hero-progress span,
  .hero-slide.is-active h1,
  .hero-slide.is-active h1::after,
  .hero-slide.is-active .eyebrow {
    animation: none;
  }
}

/* Live animated solution rings */
.stack-visual {
  isolation: isolate;
}

.stack-visual::before {
  position: absolute;
  inset: 13%;
  z-index: 0;
  pointer-events: none;
  content: "";
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle, rgba(115, 226, 239, .58) 0 1px, transparent 1px 18px),
    radial-gradient(circle, rgba(255,255,255,.32), transparent 62%);
  filter: drop-shadow(0 0 18px rgba(61, 213, 232, .22));
  animation: solutionRingsSpin 18s linear infinite, solutionRingsPulse 4.6s ease-in-out infinite;
}

.stack-visual::after {
  z-index: 1;
  animation: solutionRingBreathe 5.8s ease-in-out infinite;
}

.stack {
  z-index: 3;
}

.stack-one {
  z-index: 6;
}

.stack-two {
  z-index: 5;
}

.stack-three {
  z-index: 4;
}

.stack-four {
  z-index: 3;
}

@keyframes solutionRingsSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes solutionRingsPulse {
  0%, 100% {
    opacity: .62;
    scale: .92;
  }
  50% {
    opacity: 1;
    scale: 1.08;
  }
}

@keyframes solutionRingBreathe {
  0%, 100% {
    opacity: .78;
    transform: scale(.96);
  }
  50% {
    opacity: 1;
    transform: scale(1.04);
  }
}

@media (prefers-reduced-motion: reduce) {
  .stack-visual::before,
  .stack-visual::after {
    animation: none;
  }
}

/* Header and stats refinements */
.stats {
  z-index: 10;
  margin-top: -22px;
  border: 1px solid rgba(215, 228, 241, .95);
  box-shadow: 0 28px 70px rgba(8, 36, 70, .18), 0 8px 18px rgba(8, 36, 70, .08);
  box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px;
}

.topbar-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #172a45;
}

.topbar-link::before {
  display: inline-block;
  width: 15px;
  height: 15px;
  content: "";
  background: currentColor;
  opacity: .9;
  -webkit-mask: var(--topbar-icon) center / contain no-repeat;
  mask: var(--topbar-icon) center / contain no-repeat;
}

.topbar-link--phone {
  --topbar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E");
}

.topbar-link--email {
  --topbar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

.nav-item > a {
  position: relative;
  min-height: 80px;
  padding: 0;
  border-radius: 0;
  transition: color .2s ease;
}

.navlinks {
  gap: 18px;
}

.navlinks .active > a {
  color: var(--green);
  background: transparent;
  box-shadow: none;
}

.navlinks .active > a::after {
  left: 0;
  right: 0;
  bottom: 20px;
  height: 3px;
  border-radius: 999px;
  background: var(--green);
  box-shadow: 0 7px 16px rgba(0, 148, 74, .22);
}

.nav-item > a:hover {
  color: var(--green);
  background: transparent;
}

/* Stronger frontend hover states */
.btn,
.service-card,
.post-card,
.review-card,
.solution-list span,
.stat,
.footer a,
.card-arrow,
.topbar-link {
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease,
    color .24s ease,
    opacity .24s ease;
}

.btn:hover {
  transform: translateY(-3px);
}

.btn--green:hover,
.btn--blue:hover {
  color: #fff;
  box-shadow: 0 18px 38px rgba(0, 148, 74, .28);
  filter: saturate(1.08);
}

.btn--outline:hover,
.green-outline:hover {
  color: #fff;
  border-color: var(--green);
  background: linear-gradient(135deg, var(--green), var(--blue));
  box-shadow: 0 16px 34px rgba(5, 101, 199, .18);
}

.nav-item > a::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 3px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(90deg, var(--green), var(--blue));
  opacity: 0;
  transform: scaleX(.35);
  transform-origin: left;
  transition: opacity .22s ease, transform .22s ease;
}

.nav-item > a:hover::before,
.navlinks .active > a::before {
  opacity: 1;
  transform: scaleX(1);
}

.topbar-link:hover {
  color: var(--green);
  transform: translateY(-1px);
}

.stat:hover {
  transform: translateY(-6px);
  background: #fff;
  box-shadow: 0 18px 38px rgba(8, 36, 70, .10);
}

.stat:hover .stat-icon {
  transform: scale(1.08) rotate(-3deg);
}

.service-card:hover,
.post-card:hover,
.review-card:hover {
  transform: translateY(-10px);
  border-color: rgba(5, 101, 199, .28);
  box-shadow: 0 24px 56px rgba(8, 36, 70, .15);
}

article.service-card.reveal.is-visible {
  box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px;
}

.service-card:hover h3,
.post-card:hover h3 {
  color: var(--blue);
}

.service-card:hover .card-arrow {
  color: #fff;
  border-color: var(--green);
  background: linear-gradient(135deg, var(--green), var(--blue));
  transform: translateX(4px);
}

.solution-list span:hover {
  padding-left: 14px;
  color: var(--blue);
  background: linear-gradient(90deg, #f2f9ff, #ffffff);
  box-shadow: inset 3px 0 0 var(--green);
}

.solution-list span:hover::before {
  background-color: var(--green);
  transform: scale(1.08);
}

.footer a:hover {
  color: #48e695;
  opacity: 1;
}

.footer-social a:hover {
  transform: translateY(-3px);
}

.stack-visual::before {
  z-index: 0;
}

.stack-visual::after {
  z-index: 1;
}

.stack-one { z-index: 6; }
.stack-two { z-index: 5; }
.stack-three { z-index: 4; }
.stack-four { z-index: 3; }

/* Premium process timeline */
.process {
  padding-top: 74px;
  padding-bottom: 84px;
}

.process h2 {
  max-width: 720px;
  margin: 0 auto;
  line-height: 1.12;
}

.timeline {
  position: relative;
  align-items: stretch;
  gap: 18px;
  margin-top: 76px;
}

.timeline::before {
  position: absolute;
  left: 7%;
  right: 7%;
  top: 32px;
  z-index: 0;
  display: block;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(5, 101, 199, .28), rgba(0, 148, 74, .28), transparent);
}

.timeline article {
  position: relative;
  z-index: 1;
  min-height: 214px;
  padding: 58px 22px 28px;
  overflow: visible;
  border: 1px solid rgba(211, 226, 241, .95);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(5, 101, 199, .08), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
  box-shadow: 0 18px 42px rgba(8, 36, 70, .08);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.timeline article:hover {
  transform: translateY(-10px);
  border-color: rgba(5, 101, 199, .34);
  box-shadow: 0 28px 70px rgba(8, 36, 70, .16);
}

.timeline article::before {
  position: absolute;
  left: 50%;
  top: 28px;
  z-index: -1;
  width: 16px;
  height: 16px;
  clip-path: none;
  border: 4px solid #fff;
  border-radius: 999px;
  content: "";
  background: var(--green);
  box-shadow: 0 0 0 7px rgba(0, 148, 74, .12);
  transform: translateX(-50%);
}

.timeline article:nth-child(even)::before {
  background: var(--blue);
  box-shadow: 0 0 0 7px rgba(5, 101, 199, .12);
}

.timeline article::after {
  display: none;
}

.timeline span {
  position: absolute;
  left: 18px;
  top: 18px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 24px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--green);
  background: rgba(0, 148, 74, .10);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .03em;
}

.timeline article:nth-child(even) span {
  color: var(--blue);
  background: rgba(5, 101, 199, .10);
}

.process-icon {
  position: absolute;
  left: 50%;
  top: -36px;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin: 0;
  border: 1px solid rgba(0, 148, 74, .22);
  border-radius: 20px;
  color: var(--green);
  background: #fff;
  box-shadow: 0 18px 38px rgba(8, 36, 70, .14);
  transform: translateX(-50%) rotate(45deg);
  -webkit-mask: none;
  mask: none;
}

.timeline article:nth-child(even) .process-icon {
  border-color: rgba(5, 101, 199, .22);
  color: var(--blue);
  background: #fff;
}

.process-icon::before {
  position: static;
  display: block;
  width: 33px;
  height: 33px;
  border: 0;
  border-radius: 0;
  content: "";
  background: currentColor;
  box-shadow: none;
  transform: rotate(-45deg);
  -webkit-mask: var(--ae-icon) center / contain no-repeat;
  mask: var(--ae-icon) center / contain no-repeat;
}

.process-icon::after {
  display: none;
}

.timeline h3 {
  margin: 8px 0 8px;
  color: #10233f;
  font-size: 20px;
  line-height: 1.2;
}

.timeline p {
  max-width: 190px;
  margin: 0 auto;
  color: #667891;
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 1080px) {
  .timeline {
    grid-template-columns: repeat(2, 1fr);
    gap: 58px 18px;
  }

  .timeline::before {
    display: none;
  }
}

@media (max-width: 700px) {
  .process {
    padding-top: 52px;
  }

  .timeline {
    grid-template-columns: 1fr;
  }
}

/* WhatsApp-style pulse ripples behind the solution stack */
.stack-visual::before,
.stack-visual::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 280px;
  height: 280px;
  pointer-events: none;
  content: "";
  border: 2px solid rgba(0, 148, 74, .42);
  border-radius: 999px;
  background: rgba(0, 148, 74, .08);
  box-shadow:
    0 0 0 18px rgba(0, 148, 74, .08),
    0 0 0 38px rgba(5, 101, 199, .06),
    0 0 42px rgba(0, 148, 74, .24);
  transform: translate(-50%, -50%) scale(.58);
  animation: solutionPulseRipple 2.8s ease-out infinite;
}

.stack-visual::before {
  z-index: 0;
}

.stack-visual::after {
  z-index: 1;
  animation-delay: 1.4s;
}

@keyframes solutionPulseRipple {
  0% {
    opacity: .95;
    transform: translate(-50%, -50%) scale(.42);
  }
  70% {
    opacity: .22;
    transform: translate(-50%, -50%) scale(1.55);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.82);
  }
}

@media (prefers-reduced-motion: reduce) {
  .stack-visual::before,
  .stack-visual::after {
    animation: none;
  }
}

/* Final process icon live-effect override */
.timeline article {
  isolation: isolate;
}

.timeline article::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  pointer-events: none;
  content: "";
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 0%, rgba(0, 148, 74, .18), transparent 34%),
    linear-gradient(115deg, transparent 26%, rgba(255, 255, 255, .72) 44%, transparent 58%);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .35s ease, transform .35s ease;
}

.timeline article:hover::after {
  opacity: 1;
  transform: translateY(0);
}

.timeline article:nth-child(even)::after {
  background:
    radial-gradient(circle at 50% 0%, rgba(5, 101, 199, .18), transparent 34%),
    linear-gradient(115deg, transparent 26%, rgba(255, 255, 255, .72) 44%, transparent 58%);
}

.timeline span {
  transition: transform .28s ease, box-shadow .28s ease;
}

.process-icon {
  width: 78px;
  height: 78px;
  border: 1px solid rgba(0, 148, 74, .30);
  border-radius: 22px;
  color: #00944a;
  overflow: visible;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .98) 0 28%, rgba(255, 255, 255, .70) 42%, transparent 56%),
    linear-gradient(135deg, #ffffff 0%, #ecfff6 52%, #ffffff 100%);
  box-shadow:
    0 20px 42px rgba(8, 36, 70, .16),
    0 0 0 10px rgba(0, 148, 74, .055),
    inset 0 0 0 1px rgba(255, 255, 255, .82);
  transition:
    transform .35s cubic-bezier(.2, .8, .2, 1),
    border-color .35s ease,
    box-shadow .35s ease,
    background .35s ease;
}

.timeline article:nth-child(even) .process-icon {
  border-color: rgba(5, 101, 199, .30);
  color: #0565c7;
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, .98) 0 28%, rgba(255, 255, 255, .70) 42%, transparent 56%),
    linear-gradient(135deg, #ffffff 0%, #edf6ff 52%, #ffffff 100%);
  box-shadow:
    0 20px 42px rgba(8, 36, 70, .16),
    0 0 0 10px rgba(5, 101, 199, .055),
    inset 0 0 0 1px rgba(255, 255, 255, .82);
}

.process-icon::before {
  position: relative;
  z-index: 2;
  width: 34px;
  height: 34px;
  background: currentColor;
  filter: drop-shadow(0 8px 12px rgba(0, 148, 74, .18));
  transition: transform .35s ease, filter .35s ease;
}

.timeline article:nth-child(even) .process-icon::before {
  filter: drop-shadow(0 8px 12px rgba(5, 101, 199, .18));
}

.process-icon::after {
  position: absolute;
  inset: 8px;
  z-index: 1;
  display: block;
  pointer-events: none;
  content: "";
  border: 1px solid rgba(0, 148, 74, .18);
  border-radius: 17px;
  background:
    radial-gradient(circle at 70% 30%, rgba(0, 148, 74, .16) 0 6px, transparent 7px),
    linear-gradient(135deg, transparent 0 38%, rgba(255, 255, 255, .88) 48%, transparent 58% 100%);
  opacity: .92;
  transform: rotate(0deg);
  animation: processIconShimmer 3.6s ease-in-out infinite;
}

.timeline article:nth-child(even) .process-icon::after {
  border-color: rgba(5, 101, 199, .18);
  background:
    radial-gradient(circle at 70% 30%, rgba(5, 101, 199, .16) 0 6px, transparent 7px),
    linear-gradient(135deg, transparent 0 38%, rgba(255, 255, 255, .88) 48%, transparent 58% 100%);
}

.timeline article:hover .process-icon {
  transform: translateX(-50%) translateY(-6px) rotate(45deg) scale(1.04);
  border-color: rgba(0, 148, 74, .56);
  box-shadow:
    0 28px 60px rgba(8, 36, 70, .22),
    0 0 0 14px rgba(0, 148, 74, .08),
    0 0 34px rgba(0, 148, 74, .24),
    inset 0 0 0 1px rgba(255, 255, 255, .92);
}

.timeline article:nth-child(even):hover .process-icon {
  border-color: rgba(5, 101, 199, .56);
  box-shadow:
    0 28px 60px rgba(8, 36, 70, .22),
    0 0 0 14px rgba(5, 101, 199, .08),
    0 0 34px rgba(5, 101, 199, .24),
    inset 0 0 0 1px rgba(255, 255, 255, .92);
}

.timeline article:hover .process-icon::before {
  transform: rotate(-45deg) scale(1.12);
  filter: drop-shadow(0 10px 16px rgba(0, 148, 74, .28));
}

.timeline article:nth-child(even):hover .process-icon::before {
  filter: drop-shadow(0 10px 16px rgba(5, 101, 199, .28));
}

.timeline article:hover .process-icon::after {
  animation-duration: 1.6s;
}

.timeline article:hover span {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 148, 74, .12);
}

.timeline article:nth-child(even):hover span {
  box-shadow: 0 8px 18px rgba(5, 101, 199, .12);
}

@keyframes processIconShimmer {
  0%, 100% {
    opacity: .66;
    transform: rotate(0deg) scale(.96);
  }
  50% {
    opacity: 1;
    transform: rotate(180deg) scale(1.04);
  }
}

@media (prefers-reduced-motion: reduce) {
  .process-icon::after {
    animation: none;
  }

  .timeline article,
  .timeline article::after,
  .process-icon,
  .process-icon::before {
    transition: none;
  }
}

/* Global trust cards live effects */
.split-cards {
  perspective: 1200px;
}

.global-card,
.testimonial {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(197, 220, 242, .9);
  background:
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,252,255,.88)),
    radial-gradient(circle at 12% 0%, rgba(0, 148, 74, .12), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(5, 101, 199, .13), transparent 34%);
  box-shadow: none;
  transition:
    transform .35s cubic-bezier(.2, .8, .2, 1),
    border-color .35s ease,
    box-shadow .35s ease;
}

.global-card::before,
.testimonial::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  background:
    linear-gradient(120deg, transparent 0 28%, rgba(255,255,255,.85) 42%, transparent 56% 100%),
    radial-gradient(circle at var(--glow-x, 20%) var(--glow-y, 20%), rgba(0, 148, 74, .14), transparent 36%);
  opacity: 0;
  transform: translateX(-18px);
  transition: opacity .35s ease, transform .55s ease;
}

.testimonial::before {
  background:
    linear-gradient(120deg, transparent 0 28%, rgba(255,255,255,.88) 42%, transparent 56% 100%),
    radial-gradient(circle at 78% 18%, rgba(5, 101, 199, .15), transparent 38%);
}

.global-card::after,
.testimonial::after {
  position: absolute;
  inset: 1px;
  z-index: -2;
  pointer-events: none;
  content: "";
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(0, 148, 74, .18), transparent 38%, rgba(5, 101, 199, .16));
  opacity: .72;
}

.global-card:hover,
.testimonial:hover {
  transform: translateY(-10px);
  border-color: rgba(5, 101, 199, .32);
  box-shadow: none;
}

.global-card:hover::before,
.testimonial:hover::before {
  opacity: 1;
  transform: translateX(18px);
}

.mini-stats strong {
  position: relative;
  display: inline-block;
  padding: 8px 10px;
  margin-left: -10px;
  border-radius: 12px;
  transition: transform .28s ease, background .28s ease, box-shadow .28s ease;
}

.mini-stats strong:hover {
  transform: translateY(-5px);
  background: rgba(5, 101, 199, .07);
  box-shadow: none;
}

.small-map {
  position: relative;
  filter: none;
  transition: transform .35s ease, filter .35s ease;
}

.global-card:hover .small-map {
  transform: translateY(-6px) scale(1.03);
  filter: none;
}

.small-map::before,
.small-map::after {
  position: absolute;
  inset: 18%;
  pointer-events: none;
  content: "";
  border: 1px solid rgba(5, 101, 199, .18);
  border-radius: 999px;
  opacity: .7;
  transform: scale(.78);
  animation: mapGlowPulse 3.6s ease-out infinite;
}

.small-map::after {
  animation-delay: 1.8s;
}

.small-map i {
  box-shadow: none;
  animation: mapPinBounce 2.4s ease-in-out infinite;
}

.small-map i:nth-child(2) {
  animation-delay: .35s;
}

.small-map i:nth-child(3) {
  animation-delay: .7s;
}

.quote-mark {
  width: fit-content;
  padding: 0 12px 2px 0;
  text-shadow: none;
  transition: transform .28s ease, color .28s ease;
}

.testimonial:hover .quote-mark {
  color: var(--blue);
  transform: translateX(6px) scale(1.08);
}

.testimonial b {
  transition: color .25s ease, transform .25s ease;
}

.testimonial:hover b {
  color: var(--blue);
  transform: translateX(4px);
}

.pager span {
  transition: transform .25s ease, width .25s ease, background .25s ease, box-shadow .25s ease;
}

.testimonial:hover .pager .active {
  width: 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), var(--blue));
  box-shadow: none;
}

@keyframes mapGlowPulse {
  0% {
    opacity: .62;
    transform: scale(.72);
  }
  70% {
    opacity: .14;
    transform: scale(1.36);
  }
  100% {
    opacity: 0;
    transform: scale(1.52);
  }
}

@keyframes mapPinBounce {
  0%, 100% {
    transform: rotate(-45deg) translate(0, 0);
  }
  50% {
    transform: rotate(-45deg) translate(4px, -5px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .global-card,
  .testimonial,
  .global-card::before,
  .testimonial::before,
  .mini-stats strong,
  .small-map,
  .quote-mark,
  .testimonial b,
  .pager span {
    transition: none;
  }

  .small-map::before,
  .small-map::after,
  .small-map i {
    animation: none;
  }
}

/* Manual news carousel */
.news-grid[data-news-slider] {
  display: flex;
}

.news-grid[data-news-slider] > .post-card,
.news-grid[data-news-slider] > .cta-card {
  flex: 0 0 calc((100% - 44px) / 2.45);
}

@media (max-width: 1080px) {
  .news-grid[data-news-slider] > .post-card,
  .news-grid[data-news-slider] > .cta-card {
    flex-basis: calc((100% - 22px) / 2);
  }
}

@media (max-width: 700px) {
  .news__actions {
    flex-wrap: wrap;
  }

  .news-grid[data-news-slider] > .post-card,
  .news-grid[data-news-slider] > .cta-card {
    flex-basis: 100%;
  }
}

/* Final news manual slider and no-hover override */
.news-grid[data-news-slider] {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 18px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.news-grid[data-news-slider] > .post-card,
.news-grid[data-news-slider] > .cta-card {
  display: block;
  flex: 0 0 calc((100% - 44px) / 3);
  min-height: 280px;
  opacity: 1;
  transform: none;
  scroll-snap-align: start;
}

.news-grid[data-news-slider]::-webkit-scrollbar {
  display: none;
}

.news .post-card,
.news .cta-card,
.news .post-card:hover,
.news .cta-card:hover {
  border-color: rgba(220, 233, 246, .9);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    0 18px 42px rgba(10, 43, 79, .08);
  transform: none;
  transition: none;
}

.news .post-card:hover h3 {
  color: inherit;
}

.news .news-arrow,
.news .news-arrow:hover {
  color: var(--blue);
  border-color: rgba(5, 101, 199, .22);
  background: #fff;
  transform: none;
}

@media (max-width: 1080px) {
  .news-grid[data-news-slider] > .post-card,
  .news-grid[data-news-slider] > .cta-card {
    flex-basis: calc((100% - 22px) / 2);
  }
}

@media (max-width: 700px) {
  .news-grid[data-news-slider] > .post-card,
  .news-grid[data-news-slider] > .cta-card {
    flex-basis: 100%;
  }
}

/* Client success quote card cleanup */
.split-cards .testimonial {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 320px;
}

.split-cards .testimonial .eyebrow {
  margin-bottom: 12px;
}

.quote-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 0 18px;
  border-radius: 18px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--green), var(--blue));
  font-family: Georgia, serif;
  font-size: 58px;
  line-height: 1;
}

.quote-icon::first-letter {
  transform: translateY(8px);
}

.split-cards .testimonial > p:not(.eyebrow) {
  max-width: 560px;
  color: #5f728c;
  font-size: 14px;
  line-height: 1.75;
}

.split-cards .testimonial b {
  margin-top: 16px;
  color: #10233f;
  font-size: 14px;
}

.split-cards .testimonial .pager,
.split-cards .testimonial .quote-mark {
  display: none;
}

/* Final process card hover polish */
.timeline article::before {
  display: block;
  background: #ffffff;
  border-color: rgba(0, 148, 74, .30);
  box-shadow: 0 0 0 7px rgba(0, 148, 74, .10);
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.timeline article {
  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.timeline article:nth-child(even)::before {
  background: #ffffff;
  border-color: rgba(5, 101, 199, .30);
  box-shadow: 0 0 0 7px rgba(5, 101, 199, .10);
}

.timeline article:hover::before {
  background: var(--green);
  border-color: #ffffff;
  box-shadow:
    0 0 0 7px rgba(0, 148, 74, .18),
    0 0 24px rgba(0, 148, 74, .32);
  transform: translateX(-50%) scale(1.12);
}

.timeline article:nth-child(even):hover::before {
  background: var(--blue);
  border-color: #ffffff;
  box-shadow:
    0 0 0 7px rgba(5, 101, 199, .18),
    0 0 24px rgba(5, 101, 199, .32);
}

.timeline article:hover::after {
  background: var(--green);
  border-color: #ffffff;
  box-shadow:
    0 0 0 6px rgba(0, 148, 74, .18),
    0 0 22px rgba(0, 148, 74, .32);
}

.timeline article:nth-child(even):hover::after {
  background: var(--blue);
  border-color: #ffffff;
  box-shadow:
    0 0 0 6px rgba(5, 101, 199, .18),
    0 0 22px rgba(5, 101, 199, .32);
}

/* About page */
.about-hero {
  position: relative;
  overflow: hidden;
  padding: 82px 0 74px;
  background:
    radial-gradient(circle at 16% 14%, rgba(0, 148, 74, .14), transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(5, 101, 199, .17), transparent 32%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.about-hero::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background-image: radial-gradient(rgba(5, 101, 199, .14) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: .42;
  mask-image: linear-gradient(90deg, transparent, #000 24%, #000 76%, transparent);
}

.about-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 48px;
}

.about-hero__copy h1 {
  max-width: 650px;
  margin: 0;
  color: #081a35;
  font-size: clamp(36px, 5vw, 66px);
  font-weight: 900;
  line-height: 1.02;
}

.about-hero__copy > p:not(.eyebrow) {
  max-width: 560px;
  margin: 22px 0 28px;
  color: #5f728c;
  font-size: 16px;
  line-height: 1.75;
}

.about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.about-hero__visual {
  position: relative;
  min-height: 430px;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(8, 47, 89, .88), rgba(5, 101, 199, .42)),
    url("../assets/home-banner.webp") center / cover no-repeat;
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
  isolation: isolate;
}

.about-hero__visual::after {
  position: absolute;
  inset: 18px;
  pointer-events: none;
  content: "";
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 22px;
}

.about-orbit {
  position: absolute;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.36);
  animation: aboutOrbit 12s linear infinite;
}

.about-orbit--one {
  inset: 72px 96px;
}

.about-orbit--two {
  inset: 118px 148px;
  animation-direction: reverse;
}

.about-visual-card {
  position: absolute;
  z-index: 2;
  width: 210px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 18px;
  color: #fff;
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px;
  transition: transform .28s ease, background .28s ease;
}

.about-visual-card:hover {
  transform: translateY(-8px);
  background: rgba(255,255,255,.20);
}

.about-visual-card span {
  display: block;
  color: #45ef95;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.about-visual-card strong {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.45;
}

.about-visual-card--main {
  left: 32px;
  bottom: 34px;
}

.about-visual-card--support {
  right: 34px;
  top: 34px;
}

.about-visual-stack {
  position: absolute;
  left: 50%;
  top: 52%;
  width: 132px;
  height: 132px;
  border-radius: 24px;
  background: linear-gradient(135deg, #ffffff, #d9f7ff);
  box-shadow:
    24px 24px 0 rgba(0, 148, 74, .58),
    48px 48px 0 rgba(5, 101, 199, .58),
    rgba(0, 0, 0, .35) 0px 5px 15px;
  transform: translate(-50%, -50%) rotate(45deg);
}

.about-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: -42px;
  position: relative;
  z-index: 2;
}

.about-stats article,
.about-story__card,
.about-values article,
.about-journey__list article {
  border: 1px solid rgba(216, 231, 246, .95);
  border-radius: 16px;
  background: #fff;
  box-shadow: rgba(0, 0, 0, .18) 0px 3px 8px;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.about-stats article {
  padding: 24px;
}

.about-stats article:hover,
.about-story__card:hover,
.about-values article:hover,
.about-journey__list article:hover {
  transform: translateY(-8px);
  border-color: rgba(5, 101, 199, .30);
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.about-stats strong {
  display: block;
  color: var(--blue);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.about-stats span {
  display: block;
  margin-top: 8px;
  color: #667891;
  font-size: 13px;
  font-weight: 700;
}

.about-story,
.about-values,
.about-journey {
  padding: 82px 0 0;
}

.about-section-head {
  max-width: 740px;
  margin-bottom: 28px;
}

.about-section-head.center {
  margin-inline: auto;
  text-align: center;
}

.about-section-head h2,
.director-desk h2,
.about-cta h2 {
  margin: 0;
  color: #0b1d39;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.12;
}

.about-story__grid {
  display: grid;
  grid-template-columns: 1.25fr .85fr;
  gap: 20px;
}

.about-story__card {
  position: relative;
  overflow: hidden;
  padding: 30px;
}

.about-story__card--large {
  grid-row: span 2;
}

.about-story__card h3,
.about-values h3 {
  margin: 0 0 12px;
  color: #10233f;
  font-size: 22px;
}

.about-story__card p,
.about-values p,
.about-journey p {
  margin: 0 0 14px;
  color: #60738d;
  line-height: 1.75;
}

.about-card-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0, 148, 74, .12), rgba(5, 101, 199, .14));
}

.about-card-icon::before {
  width: 28px;
  height: 28px;
  content: "";
  background: var(--green);
  -webkit-mask: var(--about-icon) center / contain no-repeat;
  mask: var(--about-icon) center / contain no-repeat;
}

.about-card-icon--mission { --about-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='black' d='M24 4 42 12v12c0 11-7 18-18 22C13 42 6 35 6 24V12l18-8Zm-4 27 15-15-4-4-11 11-4-4-4 4 8 8Z'/%3E%3C/svg%3E"); }
.about-card-icon--vision { --about-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='black' d='M24 10C13 10 5 24 5 24s8 14 19 14 19-14 19-14-8-14-19-14Zm0 22a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-5a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E"); }

.director-desk {
  margin-top: 86px;
  padding: 74px 0;
  color: #fff;
  background:
    radial-gradient(circle at 85% 20%, rgba(0, 148, 74, .32), transparent 30%),
    linear-gradient(135deg, #061d38, #083b6d);
}

.director-desk__grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  align-items: center;
  gap: 52px;
}

.director-desk__portrait {
  display: grid;
  place-items: center;
  width: 280px;
  aspect-ratio: 1;
  border-radius: 34px;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.28), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
  transform: rotate(-4deg);
}

.director-desk__portrait span {
  display: grid;
  place-items: center;
  width: 128px;
  height: 128px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--green), var(--blue));
  font-size: 44px;
  font-weight: 900;
}

.director-desk .eyebrow {
  color: #59f19d;
}

.director-desk h2 {
  color: #fff;
}

.director-desk blockquote {
  max-width: 820px;
  margin: 22px 0;
  color: #f2f8ff;
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 800;
  line-height: 1.35;
}

.director-desk p {
  max-width: 780px;
  color: #cdddf0;
  line-height: 1.8;
}

.director-desk strong {
  display: block;
  margin-top: 20px;
  color: #fff;
}

.about-values__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.about-values article {
  padding: 28px;
}

.about-values article span {
  display: inline-grid;
  place-items: center;
  min-width: 48px;
  height: 28px;
  margin-bottom: 18px;
  border-radius: 999px;
  color: var(--green);
  background: rgba(0, 148, 74, .10);
  font-size: 12px;
  font-weight: 900;
}

.about-journey__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.about-journey__list article {
  position: relative;
  min-height: 190px;
  padding: 28px;
  border-radius: 0;
}

.about-journey__list article:first-child {
  border-radius: 16px 0 0 16px;
}

.about-journey__list article:last-child {
  border-radius: 0 16px 16px 0;
}

.about-journey__list span {
  display: block;
  margin-bottom: 14px;
  color: var(--blue);
  font-size: 20px;
  font-weight: 900;
}

.about-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 82px;
  margin-bottom: 82px;
  padding: 38px;
  border-radius: 22px;
  color: #fff;
  background:
    radial-gradient(circle at 92% 12%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, var(--blue), var(--green));
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.about-cta .eyebrow,
.about-cta h2 {
  color: #fff;
}

.about-cta h2 {
  max-width: 780px;
}

@keyframes aboutOrbit {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 1080px) {
  .about-hero__grid,
  .director-desk__grid,
  .about-story__grid {
    grid-template-columns: 1fr;
  }

  .about-values__grid,
  .about-journey__list,
  .about-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-journey__list article,
  .about-journey__list article:first-child,
  .about-journey__list article:last-child {
    border-radius: 16px;
  }
}

@media (max-width: 700px) {
  .about-hero {
    padding-top: 52px;
  }

  .about-hero__visual {
    min-height: 360px;
  }

  .about-stats,
  .about-values__grid,
  .about-journey__list {
    grid-template-columns: 1fr;
  }

  .director-desk__portrait {
    width: 100%;
  }

  .about-cta {
    align-items: flex-start;
    flex-direction: column;
    padding: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-orbit {
    animation: none;
  }

  .about-visual-card,
  .about-stats article,
  .about-story__card,
  .about-values article,
  .about-journey__list article {
    transition: none;
  }
}

/* About page redesign v2 */
.about-page {
  background: #ffffff;
}

.about-cover {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  display: grid;
  align-items: end;
  color: #ffffff;
  background: #071d38;
}

.about-cover__media {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 17, 35, .92) 0%, rgba(4, 17, 35, .70) 42%, rgba(4, 17, 35, .20) 100%),
    url("../assets/home-banner.webp") center / cover no-repeat;
  transform: scale(1.02);
}

.about-cover::after {
  position: absolute;
  inset: auto 0 0;
  height: 170px;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, transparent, #ffffff);
}

.about-cover__content {
  position: relative;
  z-index: 1;
  padding: 92px 0 118px;
}

.about-cover .eyebrow {
  color: #52ee9a;
}

.about-cover h1 {
  max-width: 780px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 900;
  line-height: 1.03;
}

.about-cover p:not(.eyebrow) {
  max-width: 650px;
  margin: 24px 0 0;
  color: #dceafd;
  font-size: 17px;
  line-height: 1.75;
}

.about-proof {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: -58px;
  overflow: hidden;
  border: 1px solid rgba(214, 230, 246, .95);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px;
}

.about-proof article {
  padding: 28px 30px;
  border-right: 1px solid #e4edf6;
  transition: background .25s ease, transform .25s ease;
}

.about-proof article:last-child {
  border-right: 0;
}

.about-proof article:hover {
  background: linear-gradient(180deg, #f5fbff, #ffffff);
  transform: translateY(-4px);
}

.about-proof strong {
  display: block;
  color: var(--blue);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.about-proof span {
  display: block;
  margin-top: 9px;
  color: #60738d;
  font-size: 13px;
  font-weight: 700;
}

.about-intro,
.about-method {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 34px;
  align-items: stretch;
  padding-top: 86px;
}

.about-intro__copy,
.about-intro__panel,
.director-note__grid,
.about-method__content,
.about-values-v2 article,
.about-capabilities article {
  border: 1px solid rgba(218, 232, 246, .95);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: rgba(0, 0, 0, .14) 0px 3px 8px;
}

.about-intro__copy {
  padding: 38px;
}

.about-intro__copy h2,
.about-section-title h2,
.about-method__content h2,
.about-final-cta h2 {
  margin: 0;
  color: #0b1d39;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.13;
}

.about-intro__copy p:not(.eyebrow),
.about-intro__panel li,
.about-method__steps p,
.about-values-v2 p,
.about-capabilities p {
  color: #5f728c;
  line-height: 1.75;
}

.about-intro__panel {
  padding: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 148, 74, .10), transparent 36%),
    #ffffff;
}

.about-intro__panel h3 {
  margin: 0 0 18px;
  color: #10233f;
  font-size: 22px;
}

.about-intro__panel ul {
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.about-intro__panel li {
  position: relative;
  padding-left: 30px;
}

.about-intro__panel li::before {
  position: absolute;
  left: 0;
  top: 6px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(135deg, var(--green), var(--blue));
}

.director-note {
  margin-top: 86px;
  padding: 72px 0;
  background:
    linear-gradient(90deg, #f6faff 0%, #ffffff 50%, #eef8ff 100%);
}

.director-note__grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 38px;
  padding: 42px;
}

.director-note__label {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  border-radius: 16px;
  color: #ffffff;
  background:
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(145deg, #082f59, #00944a);
}

.director-note__label span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.director-note__label strong {
  max-width: 180px;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.05;
}

.director-note blockquote {
  margin: 0 0 22px;
  color: #10233f;
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 900;
  line-height: 1.18;
}

.director-note p {
  max-width: 850px;
  color: #5f728c;
  line-height: 1.8;
}

.director-note__content > strong {
  display: block;
  margin-top: 18px;
  color: var(--blue);
}

.about-section-title {
  max-width: 760px;
  margin-bottom: 28px;
}

.about-section-title.center {
  margin-inline: auto;
  text-align: center;
}

.about-capabilities {
  padding-top: 84px;
}

.about-capabilities__grid,
.about-values-v2__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.about-capabilities article,
.about-values-v2 article {
  padding: 30px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.about-capabilities article:hover,
.about-values-v2 article:hover {
  transform: translateY(-8px);
  border-color: rgba(5, 101, 199, .28);
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.about-capabilities span {
  display: inline-grid;
  place-items: center;
  min-width: 46px;
  height: 28px;
  margin-bottom: 18px;
  border-radius: 999px;
  color: var(--green);
  background: rgba(0, 148, 74, .10);
  font-size: 12px;
  font-weight: 900;
}

.about-capabilities h3,
.about-values-v2 h3 {
  margin: 0 0 12px;
  color: #10233f;
  font-size: 20px;
  line-height: 1.25;
}

.about-method {
  padding-top: 86px;
}

.about-method__image {
  min-height: 520px;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(5, 20, 42, .08), rgba(5, 20, 42, .26)),
    url("../assets/banner.webp") center / cover no-repeat;
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.about-method__content {
  padding: 38px;
}

.about-method__steps {
  display: grid;
  gap: 16px;
  margin-top: 26px;
}

.about-method__steps article {
  padding: 20px 0 20px 22px;
  border-left: 4px solid rgba(5, 101, 199, .18);
  transition: border-color .25s ease, padding-left .25s ease;
}

.about-method__steps article:hover {
  padding-left: 30px;
  border-color: var(--green);
}

.about-method__steps span {
  display: block;
  color: var(--blue);
  font-size: 18px;
  font-weight: 900;
}

.about-values-v2 {
  padding-top: 84px;
}

.about-values-v2__grid {
  grid-template-columns: repeat(3, 1fr);
}

.about-final-cta {
  margin-top: 86px;
  margin-bottom: 86px;
  padding: 42px;
  border-radius: 20px;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, var(--blue), var(--green));
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.about-final-cta .eyebrow,
.about-final-cta h2 {
  color: #ffffff;
}

.about-final-cta h2 {
  max-width: 880px;
  margin-bottom: 24px;
}

@media (max-width: 1080px) {
  .about-proof,
  .about-capabilities__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-intro,
  .director-note__grid,
  .about-method {
    grid-template-columns: 1fr;
  }

  .director-note__label {
    min-height: 190px;
  }
}

@media (max-width: 700px) {
  .about-cover {
    min-height: 460px;
  }

  .about-cover__content {
    padding: 70px 0 96px;
  }

  .about-proof,
  .about-capabilities__grid,
  .about-values-v2__grid {
    grid-template-columns: 1fr;
  }

  .about-proof article {
    border-right: 0;
    border-bottom: 1px solid #e4edf6;
  }

  .about-proof article:last-child {
    border-bottom: 0;
  }

  .about-intro__copy,
  .about-intro__panel,
  .director-note__grid,
  .about-method__content,
  .about-final-cta {
    padding: 26px;
  }
}

/* About page command-center redesign */
.about-next {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 4%, rgba(0, 148, 74, .10), transparent 28%),
    radial-gradient(circle at 86% 8%, rgba(5, 101, 199, .12), transparent 30%),
    #ffffff;
}

.about-next-hero {
  position: relative;
  padding: 88px 0 92px;
  color: #0b1d39;
  background:
    linear-gradient(120deg, #f8fcff 0 54%, #eef8ff 54.2% 100%);
}

.about-next-hero::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background-image:
    linear-gradient(rgba(5, 101, 199, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(5, 101, 199, .055) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
}

.about-next-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 58px;
}

.about-next-hero__copy h1 {
  max-width: 720px;
  margin: 0;
  color: #081a35;
  font-size: clamp(40px, 5.2vw, 70px);
  font-weight: 900;
  line-height: 1.02;
}

.about-next-hero__copy > p:not(.eyebrow) {
  max-width: 590px;
  margin: 22px 0 28px;
  color: #60738d;
  font-size: 16px;
  line-height: 1.8;
}

.about-next-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.about-command {
  position: relative;
  min-height: 470px;
  padding: 18px;
  border: 1px solid rgba(198, 220, 241, .95);
  border-radius: 28px;
  background:
    radial-gradient(circle at 80% 10%, rgba(0, 148, 74, .20), transparent 30%),
    linear-gradient(145deg, rgba(8, 47, 89, .96), rgba(6, 29, 56, .98));
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
  isolation: isolate;
}

.about-command::before,
.about-command::after {
  position: absolute;
  pointer-events: none;
  content: "";
  border-radius: 999px;
}

.about-command::before {
  inset: 74px 110px;
  border: 1px solid rgba(82, 238, 154, .18);
  animation: commandPulse 4s ease-in-out infinite;
}

.about-command::after {
  right: 42px;
  bottom: 42px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(82, 238, 154, .20), transparent 65%);
  filter: blur(2px);
}

.command-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  color: rgba(255,255,255,.82);
  background: rgba(255,255,255,.08);
}

.command-top span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #52ee9a;
}

.command-top span:nth-child(2) {
  background: #56a9ff;
}

.command-top span:nth-child(3) {
  background: #d7e8f8;
}

.command-top strong {
  margin-left: 10px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.command-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 16px;
}

.command-panel {
  min-height: 148px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  color: #fff;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  transition: transform .28s ease, background .28s ease, border-color .28s ease;
}

.command-panel:hover {
  transform: translateY(-7px);
  border-color: rgba(82, 238, 154, .36);
  background: rgba(255,255,255,.12);
}

.command-panel small {
  display: block;
  color: rgba(222, 238, 255, .72);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.command-panel strong {
  display: block;
  margin-top: 18px;
  color: #52ee9a;
  font-size: 44px;
  line-height: 1;
}

.command-panel--status i {
  display: block;
  height: 8px;
  margin-top: 22px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
}

.command-panel--status i::before {
  display: block;
  width: 86%;
  height: 100%;
  border-radius: inherit;
  content: "";
  background: linear-gradient(90deg, var(--green), #52ee9a);
}

.command-panel--nodes div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 22px;
}

.command-panel--nodes span {
  aspect-ratio: 1;
  border-radius: 14px;
  background:
    radial-gradient(circle, #52ee9a 0 18%, transparent 20%),
    rgba(255,255,255,.10);
  animation: nodeBlink 2.4s ease-in-out infinite;
}

.command-panel--nodes span:nth-child(even) {
  animation-delay: .45s;
}

.command-panel--chart {
  display: flex;
  flex-direction: column;
}

.command-panel--chart b {
  display: block;
  height: 9px;
  margin-top: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #52ee9a, #56a9ff);
}

.command-panel--chart b:nth-child(2) { width: 78%; }
.command-panel--chart b:nth-child(3) { width: 58%; }
.command-panel--chart b:nth-child(4) { width: 92%; }
.command-panel--chart b:nth-child(5) { width: 68%; }

.command-panel--ticket em {
  display: inline-block;
  margin-top: 16px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #52ee9a;
  background: rgba(82, 238, 154, .12);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

.command-network {
  position: absolute;
  inset: auto 22px 22px;
  z-index: 1;
  height: 110px;
  border-radius: 20px;
  background-image: radial-gradient(rgba(86, 169, 255, .26) 1.4px, transparent 1.4px);
  background-size: 15px 15px;
}

.command-network span {
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 999px;
  background: #52ee9a;
  box-shadow: 0 0 0 8px rgba(82, 238, 154, .12);
}

.command-network span:nth-child(1) { left: 18%; top: 34%; }
.command-network span:nth-child(2) { left: 42%; top: 62%; background: #56a9ff; }
.command-network span:nth-child(3) { left: 66%; top: 28%; }
.command-network span:nth-child(4) { left: 82%; top: 58%; background: #56a9ff; }

.about-next-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: -38px;
  position: relative;
  z-index: 4;
}

.about-next-stats article,
.about-next-story article,
.about-next-services article,
.about-next-values article,
.process-console {
  border: 1px solid rgba(216, 231, 246, .95);
  border-radius: 18px;
  background: #fff;
  box-shadow: rgba(0, 0, 0, .24) 0px 3px 8px;
}

.about-next-stats article {
  padding: 26px;
  transition: transform .25s ease, box-shadow .25s ease;
}

.about-next-stats article:hover,
.about-next-story article:hover,
.about-next-services article:hover,
.about-next-values article:hover {
  transform: translateY(-8px);
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.about-next-stats strong {
  display: block;
  color: var(--blue);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.about-next-stats span {
  display: block;
  margin-top: 9px;
  color: #60738d;
  font-size: 13px;
  font-weight: 700;
}

.about-next-story,
.about-next-services,
.about-next-process,
.about-next-values {
  padding-top: 86px;
}

.about-next-title {
  max-width: 760px;
  margin-bottom: 28px;
}

.about-next-title.center {
  margin-inline: auto;
  text-align: center;
}

.about-next-title h2,
.process-console h2,
.about-next-cta h2 {
  margin: 0;
  color: #0b1d39;
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.12;
}

.about-next-story__grid {
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 20px;
}

.about-next-story article {
  padding: 30px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.about-next-story .story-lead {
  grid-row: span 2;
  padding: 38px;
  background:
    radial-gradient(circle at 92% 0%, rgba(0, 148, 74, .10), transparent 32%),
    #fff;
}

.about-next-story h3,
.about-next-services h3,
.about-next-values span {
  margin: 0 0 12px;
  color: #10233f;
  font-size: 22px;
  line-height: 1.25;
}

.about-next-story article > span {
  display: inline-grid;
  place-items: center;
  min-width: 46px;
  height: 28px;
  margin-bottom: 18px;
  border-radius: 999px;
  color: var(--green);
  background: rgba(0, 148, 74, .10);
  font-size: 12px;
  font-weight: 900;
}

.about-next-story p,
.about-next-services p,
.process-console p,
.about-next-values p,
.director-next p {
  color: #60738d;
  line-height: 1.75;
}

.director-next {
  margin-top: 88px;
  padding: 76px 0;
  background:
    radial-gradient(circle at 90% 18%, rgba(82, 238, 154, .18), transparent 28%),
    linear-gradient(135deg, #061d38, #082f59);
}

.director-next__grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
}

.director-next__mark {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(145deg, var(--green), var(--blue));
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.director-next__mark span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.director-next__mark strong {
  font-size: 38px;
  font-weight: 900;
  line-height: 1.05;
}

.director-next__message {
  padding: 8px 0;
}

.director-next blockquote {
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(28px, 3.4vw, 48px);
  font-weight: 900;
  line-height: 1.14;
}

.director-next p {
  max-width: 840px;
  color: #d4e4f4;
}

.director-next__message > strong {
  display: block;
  margin-top: 20px;
  color: #52ee9a;
}

.about-next-services__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.about-next-services article {
  padding: 30px;
  transition: transform .25s ease, box-shadow .25s ease;
}

.about-service-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(0, 148, 74, .12), rgba(5, 101, 199, .14));
}

.about-service-icon::before {
  width: 30px;
  height: 30px;
  content: "";
  background: var(--blue);
  -webkit-mask: var(--about-service-icon) center / contain no-repeat;
  mask: var(--about-service-icon) center / contain no-repeat;
}

.about-service-icon--infra { --about-service-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='black' d='M10 7h28v8H10V7Zm0 13h28v8H10v-8Zm0 13h28v8H10v-8Zm7-22h4v2h-4v-2Zm0 13h4v2h-4v-2Zm0 13h4v2h-4v-2Z'/%3E%3C/svg%3E"); }
.about-service-icon--remote { --about-service-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='black' d='M12 9h24a4 4 0 0 1 4 4v17a4 4 0 0 1-4 4H12a4 4 0 0 1-4-4V13a4 4 0 0 1 4-4Zm2 6v13h20V15H14Zm-4 24h28v3H10v-3Z'/%3E%3C/svg%3E"); }
.about-service-icon--audit { --about-service-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='black' d='M14 6h16l8 8v28H14V6Zm15 3v8h8l-8-8ZM19 24h14v4H19v-4Zm0 8h14v4H19v-4Zm0-16h7v4h-7v-4Z'/%3E%3C/svg%3E"); }
.about-service-icon--consult { --about-service-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='black' d='M16 22a7 7 0 1 1 0-14 7 7 0 0 1 0 14ZM5 41c1-9 5-14 11-14s10 5 11 14H5Zm25-30h13v14H32l-6 6V11h4Zm4 6h6v3h-6v-3Z'/%3E%3C/svg%3E"); }

.process-console {
  padding: 42px;
  background:
    radial-gradient(circle at 92% 0%, rgba(5, 101, 199, .10), transparent 32%),
    #ffffff;
}

.process-console__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 30px;
}

.process-console__steps article {
  padding: 24px;
  border-radius: 16px;
  background: #f7fbff;
  transition: transform .25s ease, background .25s ease;
}

.process-console__steps article:hover {
  transform: translateY(-7px);
  background: #eef8ff;
}

.process-console__steps span {
  display: block;
  margin-bottom: 12px;
  color: var(--blue);
  font-size: 18px;
  font-weight: 900;
}

.about-next-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.about-next-values article {
  padding: 30px;
  transition: transform .25s ease, box-shadow .25s ease;
}

.about-next-values span {
  display: block;
  font-weight: 900;
}

.about-next-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 88px;
  margin-bottom: 88px;
  padding: 42px;
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, var(--blue), var(--green));
  box-shadow: rgba(0, 0, 0, .35) 0px 5px 15px;
}

.about-next-cta .eyebrow,
.about-next-cta h2 {
  color: #fff;
}

.about-next-cta h2 {
  max-width: 760px;
}

@keyframes commandPulse {
  0%, 100% {
    opacity: .55;
    transform: scale(.94);
  }
  50% {
    opacity: 1;
    transform: scale(1.04);
  }
}

@keyframes nodeBlink {
  0%, 100% {
    opacity: .55;
    transform: scale(.94);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

@media (max-width: 1080px) {
  .about-next-hero__grid,
  .director-next__grid {
    grid-template-columns: 1fr;
  }

  .about-next-stats,
  .about-next-services__grid,
  .process-console__steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-next-story__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .about-next-hero {
    padding: 58px 0 70px;
  }

  .about-command {
    min-height: auto;
  }

  .command-grid,
  .about-next-stats,
  .about-next-services__grid,
  .process-console__steps,
  .about-next-values {
    grid-template-columns: 1fr;
  }

  .director-next__mark {
    min-height: 220px;
  }

  .process-console,
  .about-next-cta {
    padding: 28px;
  }

  .about-next-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-command::before,
  .command-panel--nodes span {
    animation: none;
  }

  .command-panel,
  .about-next-stats article,
  .about-next-story article,
  .about-next-services article,
  .process-console__steps article,
  .about-next-values article {
    transition: none;
  }
}

/* About page calmer corporate layout */
.about-page-banner {
  position: relative;
  overflow: hidden;
  padding: 78px 0 86px;
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(5, 23, 48, .88), rgba(5, 23, 48, .58)),
    linear-gradient(135deg, #083b6d, #0565c7 52%, #00944a);
}

.about-page-banner::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .38;
}

.about-page-banner .container {
  position: relative;
  z-index: 1;
}

.about-page-banner .eyebrow {
  color: #8ff0bf;
}

.about-page-banner h1 {
  max-width: 720px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 800;
  line-height: 1.12;
}

.about-page-banner p:not(.eyebrow) {
  max-width: 560px;
  margin: 14px 0 0;
  color: #dceafd;
  font-size: 15px;
}

.about-next-hero--intro {
  padding: 68px 0 76px;
  background:
    radial-gradient(circle at 88% 8%, rgba(5, 101, 199, .10), transparent 28%),
    linear-gradient(180deg, #ffffff, #f8fbff);
}

.about-next-hero--intro::before {
  opacity: .38;
}

.about-next-hero__copy h1 {
  max-width: 660px;
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 800;
  line-height: 1.14;
}

.about-next-title h2,
.process-console h2,
.about-next-cta h2 {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
}

.director-next blockquote {
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 800;
}

.director-next__mark strong {
  font-size: 30px;
  font-weight: 800;
}

.about-next-story h3,
.about-next-services h3,
.about-next-values span {
  font-size: 19px;
  font-weight: 800;
}

.command-panel strong,
.about-next-stats strong {
  font-size: 30px;
  font-weight: 800;
}

.about-next-story,
.about-next-services,
.about-next-process,
.about-next-values {
  padding-top: 68px;
}

.director-next {
  margin-top: 70px;
  padding: 64px 0;
}

.about-next-cta {
  margin-top: 70px;
  margin-bottom: 72px;
}

/* About page final studio redesign */
.about-studio {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 18%, rgba(0, 160, 96, .08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 46%, #ffffff 100%);
  color: #122640;
}

.about-studio-hero {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: center;
  isolation: isolate;
  background: #07192e;
  margin-bottom: 30px;
  overflow: hidden;
}

.about-studio-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 86px;
  background: #ffffff;
  clip-path: ellipse(66% 88% at 50% 100%);
  z-index: 0;
}

.about-studio-hero__image,
.about-studio-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.about-studio-hero__image {
  background-image: url("../assets/about-banner.svg");
  background-size: min(820px, 58vw) auto;
  background-repeat: no-repeat;
  background-position: right 7% center;
  transform: scale(1.02);
  animation: aboutHeroDrift 12s ease-in-out infinite alternate;
}

.about-studio-hero__shade {
  z-index: -1;
  background:
    radial-gradient(circle at 76% 42%, rgba(0, 159, 96, .16), transparent 24%),
    linear-gradient(90deg, rgba(5, 17, 32, .96) 0%, rgba(5, 17, 32, .86) 47%, rgba(5, 17, 32, .46) 100%),
    linear-gradient(180deg, rgba(5, 17, 32, .08), rgba(5, 17, 32, .64));
}

.about-studio-hero__content {
  position: relative;
  z-index: 1;
  padding: 58px 15px 76px;
}

.about-studio-hero .eyebrow {
  color: #8ff0bf;
}

.about-studio-hero h1 {
  max-width: 600px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 750;
  line-height: 1.16;
  letter-spacing: 0;
}

.about-studio-hero p:not(.eyebrow) {
  max-width: 560px;
  margin: 18px 0 0;
  color: rgba(235, 246, 255, .9);
  font-size: 15px;
  line-height: 1.75;
}

.about-studio-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.about-studio-hero .btn--outline {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .45);
  background: rgba(255, 255, 255, .08);
}

.about-studio-hero .btn--outline:hover {
  color: #102640;
  border-color: #ffffff;
  background: #ffffff;
}

.about-studio-intro {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: 48px;
  align-items: center;
  padding: 74px 15px 74px;
  isolation: isolate;
}

.about-studio-intro::before {
  content: "";
  position: absolute;
  inset: 28px 15px;
  z-index: -2;
  border: 1px solid rgba(200, 224, 244, .74);
  border-radius: 34px;
  background:
    radial-gradient(circle at 6% 18%, rgba(0, 159, 96, .12), transparent 27%),
    radial-gradient(circle at 92% 76%, rgba(0, 110, 208, .11), transparent 29%),
    linear-gradient(135deg, rgba(255, 255, 255, .88), rgba(244, 250, 255, .72));
}

.about-studio-intro::after {
  content: "";
  position: absolute;
  right: 48%;
  top: 78px;
  bottom: 78px;
  width: 1px;
  z-index: -1;
  background: linear-gradient(180deg, transparent, rgba(0, 110, 208, .24), transparent);
}

.about-studio-intro__copy {
  position: relative;
  padding: 34px 0 34px 34px;
}

.about-studio-intro__copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: 38px;
  bottom: 38px;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #009f60, #006ed0);
}

.about-studio-intro__copy h2,
.director-studio__content h2,
.about-studio-section-head h2,
.about-studio-cta h2 {
  margin: 0;
  color: #122640;
  font-size: clamp(26px, 2.7vw, 34px);
  font-weight: 750;
  line-height: 1.18;
  letter-spacing: 0;
}

.about-studio-intro__copy p:not(.eyebrow),
.director-studio__content p,
.about-studio-section-head p,
.about-studio-card p,
.about-studio-steps p,
.about-studio-values p {
  color: #60738d;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.72;
}

.about-studio-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  perspective: 900px;
}

.about-studio-metrics article,
.about-studio-card,
.about-studio-values article {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(190, 215, 238, .88);
  border-radius: 18px;
  background: rgba(255, 255, 255, .84);
  transition: transform .28s ease, border-color .28s ease, background .28s ease, box-shadow .28s ease;
}

.about-studio-metrics article {
  min-height: 142px;
  padding: 24px 24px 22px;
  display: grid;
  align-content: end;
  isolation: isolate;
}

.about-studio-metrics article::before,
.about-studio-card::before,
.about-studio-values article::before {
  content: "";
  position: absolute;
  inset: auto 18px 18px auto;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(0, 159, 96, .1);
  transform: scale(.6);
  opacity: 0;
  transition: transform .32s ease, opacity .32s ease;
}

.about-studio-metrics article::after {
  content: "";
  position: absolute;
  left: 24px;
  top: 22px;
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(0, 110, 208, .13), rgba(0, 159, 96, .13));
  border: 1px solid rgba(0, 110, 208, .14);
  transition: transform .28s ease, background .28s ease;
}

.about-studio-metrics article:nth-child(1)::after {
  clip-path: polygon(50% 8%, 58% 38%, 90% 38%, 64% 56%, 74% 88%, 50% 68%, 26% 88%, 36% 56%, 10% 38%, 42% 38%);
  border-radius: 0;
}

.about-studio-metrics article:nth-child(2)::after {
  border-radius: 50%;
  box-shadow: inset 0 0 0 10px rgba(255, 255, 255, .65);
}

.about-studio-metrics article:nth-child(3)::after {
  clip-path: polygon(50% 4%, 92% 30%, 92% 72%, 50% 96%, 8% 72%, 8% 30%);
  border-radius: 0;
}

.about-studio-metrics article:nth-child(4)::after {
  border-radius: 18px 18px 8px 8px;
}

.about-studio-metrics article:hover,
.about-studio-card:hover,
.about-studio-values article:hover {
  transform: translateY(-8px) rotateX(2deg);
  border-color: rgba(0, 159, 96, .35);
  background: #ffffff;
  box-shadow: rgba(0, 0, 0, .1) 0 20px 38px;
}

.about-studio-metrics article:hover::after {
  transform: translateY(-4px) rotate(-8deg) scale(1.08);
  background: linear-gradient(135deg, rgba(0, 159, 96, .24), rgba(0, 110, 208, .2));
}

.about-studio-metrics article:hover::before,
.about-studio-card:hover::before,
.about-studio-values article:hover::before {
  opacity: 1;
  transform: scale(1);
}

.about-studio-metrics strong {
  display: block;
  color: #006ed0;
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
}

.about-studio-metrics span {
  display: block;
  margin-top: 12px;
  color: #526983;
  font-size: 13px;
  font-weight: 700;
}

.director-studio {
  position: relative;
  overflow: hidden;
  padding: 94px 0;
  background:
    radial-gradient(circle at 10% 18%, rgba(210, 169, 79, .16), transparent 24%),
    radial-gradient(circle at 92% 86%, rgba(0, 159, 96, .10), transparent 28%),
    linear-gradient(180deg, #fffdf8 0%, #f6f2e9 100%);
}

.director-studio::before {
  position: absolute;
  top: 34px;
  right: -80px;
  width: 380px;
  height: 380px;
  border: 1px solid rgba(24, 53, 45, .08);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 64px rgba(210, 169, 79, .045);
}

.director-studio__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 430px) minmax(0, 1fr);
  gap: 72px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(24, 53, 45, .10);
  border-radius: 42px 12px 42px 12px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 28px 70px rgba(44, 55, 48, .10);
  backdrop-filter: blur(14px);
}

.director-studio__photo {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border-radius: 30px 8px 30px 8px;
  background:
    radial-gradient(circle at 22% 16%, rgba(210, 169, 79, .22), transparent 26%),
    linear-gradient(145deg, #e9efe8, #f8f4e9);
  box-shadow: 0 24px 48px rgba(44, 55, 48, .12);
}

.director-studio__photo::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(24, 53, 45, .10);
  border-radius: 24px 6px 24px 6px;
  pointer-events: none;
}

.director-studio__photo img {
  position: absolute;
  right: 50%;
  bottom: 22px;
  width: min(76%, 300px);
  transform: translateX(50%);
  transition: transform .45s ease;
}

.director-studio__photo:hover img {
  transform: translateX(50%) scale(1.045);
}

.director-studio__badge {
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;
  z-index: 2;
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, .20);
  border-radius: 20px 6px 20px 6px;
  color: #ffffff;
  background:
    linear-gradient(115deg, rgba(57, 83, 111, .96) 0%, rgba(45, 103, 120, .96) 45%, rgba(54, 166, 106, .96) 100%);
  box-shadow: 0 20px 38px rgba(35, 65, 86, .22);
}

.director-studio__badge span {
  display: block;
  color: rgba(255, 255, 255, .72);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.director-studio__badge strong {
  display: block;
  margin-top: 6px;
  font-size: 17px;
  font-weight: 820;
}

.director-studio__content {
  position: relative;
  max-width: 760px;
}

.director-studio__content::before {
  display: block;
  margin-bottom: 18px;
  color: rgba(210, 169, 79, .55);
  content: "“";
  font-family: Georgia, serif;
  font-size: 94px;
  line-height: .55;
}

.director-studio__content h2 {
  max-width: 720px;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 850;
  line-height: 1.12;
}

.director-studio__content > p:not(.eyebrow) {
  max-width: 690px;
  margin-top: 20px;
  color: #66736d;
  font-size: 15px;
  line-height: 1.82;
}

.director-studio__content blockquote {
  position: relative;
  margin: 28px 0 24px;
  padding: 22px 26px;
  border: 1px solid rgba(23, 131, 83, .16);
  border-left: 5px solid #178353;
  border-radius: 0 22px 22px 0;
  color: #18352d;
  background: rgba(255, 255, 255, .72);
  font-size: 18px;
  font-weight: 760;
  line-height: 1.62;
}

.director-studio__footer {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  padding-top: 6px;
}

.director-studio__footer > strong {
  color: #178353;
  font-size: 14px;
  font-weight: 800;
}

.director-studio__points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.director-studio__points span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(24, 53, 45, .10);
  border-radius: 999px;
  color: #4f625b;
  background: #fffaf0;
  font-size: 11px;
  font-weight: 800;
}

.about-studio-services {
  padding: 86px 15px 70px;
}

.about-studio-vmg {
  position: relative;
  overflow: hidden;
  padding: 88px 0 104px;
  background:
    radial-gradient(circle at 92% 8%, rgba(217, 174, 82, .12), transparent 24%),
    radial-gradient(circle at 4% 88%, rgba(0, 159, 96, .08), transparent 28%),
    #f7f5ef;
}

.about-studio-vmg::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 42%;
  height: 100%;
  content: "";
  background-image: radial-gradient(rgba(16, 62, 45, .12) 1px, transparent 1px);
  background-size: 20px 20px;
  mask-image: linear-gradient(135deg, transparent, #000);
}

.about-studio-vmg__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
  gap: 90px;
  align-items: end;
  margin-bottom: 58px;
}

.about-studio-vmg__head h2 {
  max-width: 680px;
  margin: 0;
  color: #18352d;
  font-size: clamp(32px, 3.4vw, 48px);
  font-weight: 850;
  line-height: 1.1;
}

.about-studio-vmg__head > p {
  margin: 0 0 4px;
  padding-left: 24px;
  border-left: 2px solid #d2a94f;
  color: #66736d;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.75;
}

.about-studio-vmg__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.about-studio-vmg__grid::before {
  position: absolute;
  top: 50%;
  right: -40px;
  left: -40px;
  height: 110px;
  border-radius: 999px;
  content: "";
  background: rgba(255, 255, 255, .62);
  transform: translateY(-50%) rotate(-2deg);
}

.about-studio-vmg__card {
  position: relative;
  overflow: hidden;
  z-index: 1;
  min-height: 500px;
  padding: 32px 32px 38px;
  border: 1px solid rgba(24, 53, 45, .12);
  border-radius: 8px 42px 8px 42px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 22px 55px rgba(44, 55, 48, .09);
  transition: transform .32s ease, box-shadow .32s ease;
}

.about-studio-vmg__card--mission {
  transform: translateY(-18px);
  border-color: rgba(255, 255, 255, .18);
  color: #ffffff;
  background:
    linear-gradient(115deg, rgba(57, 83, 111, .96) 0%, rgba(45, 103, 120, .96) 45%, rgba(54, 166, 106, .96) 100%);
  box-shadow:
    0 28px 65px rgba(35, 65, 86, .25),
    inset 0 0 0 1px rgba(255, 255, 255, .12);
}

.about-studio-vmg__card::before {
  position: absolute;
  right: 18px;
  bottom: -40px;
  color: rgba(24, 53, 45, .068);
  content: attr(data-step);
  font-size: 176px;
  font-weight: 900;
  letter-spacing: -.1em;
  line-height: 1;
}

.about-studio-vmg__card--vision::before {
  content: "01";
}

.about-studio-vmg__card--mission::before {
  color: rgba(255, 255, 255, .09);
  content: "02";
}

.about-studio-vmg__card--goal::before {
  content: "03";
}

.about-studio-vmg__card::after {
  position: absolute;
  top: 0;
  left: 32px;
  width: 64px;
  height: 5px;
  border-radius: 0 0 999px 999px;
  content: "";
  background: #d2a94f;
}

.about-studio-vmg__card:hover {
  transform: translateY(-10px);
  box-shadow: 0 32px 70px rgba(44, 55, 48, .14);
}

.about-studio-vmg__card--mission:hover {
  transform: translateY(-28px);
}

.about-studio-vmg__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #178353;
}

.about-studio-vmg__meta span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}

.about-studio-vmg__meta small {
  color: #8a918c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.about-studio-vmg__card--mission .about-studio-vmg__meta {
  color: #f1cf7e;
}

.about-studio-vmg__card--mission .about-studio-vmg__meta small {
  color: rgba(255, 255, 255, .62);
}

.about-studio-vmg__icon {
  position: relative;
  z-index: 1;
  width: 62px;
  height: 62px;
  margin: 40px 0 30px;
  border: 1px solid rgba(23, 131, 83, .20);
  border-radius: 50%;
  background: #fffaf0;
  box-shadow:
    0 14px 28px rgba(44, 55, 48, .08),
    inset 0 0 0 8px rgba(23, 131, 83, .045);
}

.about-studio-vmg__icon::before,
.about-studio-vmg__icon::after {
  position: absolute;
  content: "";
}

.about-studio-vmg__icon::before {
  inset: 15px;
  background: #178353;
  -webkit-mask: var(--vmg-icon) center / contain no-repeat;
  mask: var(--vmg-icon) center / contain no-repeat;
}

.about-studio-vmg__icon::after {
  right: 8px;
  bottom: 8px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d2a94f;
  box-shadow: 0 0 0 4px #fffaf0;
}

.about-studio-vmg__card--vision {
  --vmg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 24s7-11 19-11 19 11 19 11-7 11-19 11S5 24 5 24Z'/%3E%3Ccircle cx='24' cy='24' r='5'/%3E%3Cpath d='M24 6v3M24 39v3M8 10l3 3M40 10l-3 3'/%3E%3C/g%3E%3C/svg%3E");
}

.about-studio-vmg__card--mission .about-studio-vmg__icon {
  border-color: rgba(241, 207, 126, .34);
  background: rgba(255, 255, 255, .12);
  box-shadow: 0 16px 30px rgba(0, 0, 0, .12);
}

.about-studio-vmg__card--mission .about-studio-vmg__icon::before {
  background: #f1cf7e;
}

.about-studio-vmg__card--mission .about-studio-vmg__icon::after {
  background: #f1cf7e;
  box-shadow: 0 0 0 4px rgba(23, 77, 60, .95);
}

.about-studio-vmg__card--mission {
  --vmg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 32c7-13 18 1 30-16'/%3E%3Ccircle cx='9' cy='32' r='4'/%3E%3Ccircle cx='24' cy='26' r='4'/%3E%3Ccircle cx='39' cy='16' r='4'/%3E%3Cpath d='M34 16h5v5'/%3E%3C/g%3E%3C/svg%3E");
}

.about-studio-vmg__card--goal .about-studio-vmg__icon::before {
  background: #178353;
}

.about-studio-vmg__card--goal .about-studio-vmg__icon::after {
  background: #d2a94f;
}

.about-studio-vmg__card--goal {
  --vmg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='22' cy='26' r='14'/%3E%3Ccircle cx='22' cy='26' r='6'/%3E%3Cpath d='M31 17 41 7M35 7h6v6'/%3E%3C/g%3E%3C/svg%3E");
}

.about-studio-vmg__card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 18px;
  color: #18352d;
  font-size: 30px;
  font-weight: 820;
}

.about-studio-vmg__card--mission h3 {
  color: #ffffff;
}

.about-studio-vmg__card p,
.about-studio-value__list p {
  position: relative;
  z-index: 1;
  color: #66736d;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.72;
}

.about-studio-vmg__card--mission p {
  color: rgba(255, 255, 255, .78);
}

.about-studio-section-head {
  max-width: 720px;
  margin-bottom: 34px;
}

.about-studio-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.about-studio-card {
  min-height: 250px;
  padding: 26px 24px;
}

.about-studio-card__icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  margin-bottom: 28px;
  place-items: center;
  border-radius: 16px;
  background: rgba(0, 110, 208, .1);
  color: #006ed0;
  font-size: 13px;
  font-weight: 800;
  transition: background .28s ease, color .28s ease, transform .28s ease;
}

.about-studio-card:hover .about-studio-card__icon {
  background: #009f60;
  color: #ffffff;
  transform: rotate(-6deg) scale(1.06);
}

.about-studio-card h3,
.about-studio-value__list h3,
.about-studio-values span,
.about-studio-steps span {
  margin: 0;
  color: #122640;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.35;
}

.about-studio-value {
  padding: 18px 15px 82px;
}

.about-studio-value__grid {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 34px;
  align-items: start;
}

.about-studio-value__visual {
  position: sticky;
  top: 115px;
  min-height: 460px;
  overflow: hidden;
  border-radius: 26px;
  background:
    radial-gradient(circle at 22% 22%, rgba(0, 159, 96, .24), transparent 30%),
    radial-gradient(circle at 78% 78%, rgba(0, 110, 208, .2), transparent 34%),
    linear-gradient(135deg, #07192e, #0a3158);
}

.about-studio-value__visual::before {
  content: "";
  position: absolute;
  inset: 38px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 22px;
}

.about-studio-value__visual span {
  position: absolute;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  backdrop-filter: blur(10px);
  animation: valueFloat 6s ease-in-out infinite alternate;
}

.about-studio-value__visual span:nth-child(1) {
  top: 72px;
  left: 54px;
}

.about-studio-value__visual span:nth-child(2) {
  top: 180px;
  right: 42px;
  animation-delay: .5s;
}

.about-studio-value__visual span:nth-child(3) {
  bottom: 152px;
  left: 48px;
  animation-delay: 1s;
}

.about-studio-value__visual span:nth-child(4) {
  right: 48px;
  bottom: 58px;
  animation-delay: 1.5s;
}

.about-studio-value__list {
  display: grid;
  gap: 14px;
}

.about-studio-value__list article {
  position: relative;
  padding: 22px 24px 22px 58px;
  border: 1px solid rgba(190, 215, 238, .78);
  border-radius: 18px;
  background: rgba(255, 255, 255, .78);
  transition: transform .28s ease, border-color .28s ease, background .28s ease;
}

.about-studio-value__list article::before {
  content: "";
  position: absolute;
  top: 27px;
  left: 24px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #009f60;
  box-shadow: 0 0 0 7px rgba(0, 159, 96, .1);
}

.about-studio-value__list article:hover {
  transform: translateX(8px);
  border-color: rgba(0, 159, 96, .34);
  background: #ffffff;
}

.about-studio-value__list h3 {
  margin-bottom: 8px;
}

.about-studio-process {
  padding: 78px 0;
  background: #07192e;
  color: #ffffff;
}

.about-studio-process .eyebrow {
  color: #8ff0bf;
}

.about-studio-process .about-studio-section-head h2 {
  color: #ffffff;
}

.about-studio-process .about-studio-section-head p {
  color: rgba(230, 242, 255, .78);
}

.about-studio-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, .18);
}

.about-studio-steps article {
  position: relative;
  padding: 34px 26px 0 0;
}

.about-studio-steps article::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #009f60;
  box-shadow: 0 0 0 8px rgba(0, 159, 96, .16);
  transition: transform .28s ease, box-shadow .28s ease;
}

.about-studio-steps article:hover::before {
  transform: scale(1.22);
  box-shadow: 0 0 0 13px rgba(0, 159, 96, .22);
}

.about-studio-steps span {
  color: #ffffff;
}

.about-studio-steps p {
  color: rgba(230, 242, 255, .74);
}

.about-studio-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 82px 15px 28px;
}

.about-studio-values article {
  padding: 28px;
}

.about-studio-values span {
  display: block;
  margin-bottom: 12px;
}

.about-studio-cta {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  margin-top: 54px;
  margin-bottom: 80px;
  padding: 34px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 20%, rgba(0, 159, 96, .2), transparent 34%),
    linear-gradient(135deg, #0a2948, #07192e);
}

.about-studio-cta .eyebrow,
.about-studio-cta h2 {
  color: #ffffff;
}

.about-studio-cta h2 {
  max-width: 780px;
  font-size: clamp(24px, 2.6vw, 34px);
}

@keyframes aboutHeroDrift {
  from {
    transform: scale(1.02) translate3d(0, 0, 0);
  }
  to {
    transform: scale(1.06) translate3d(-18px, 0, 0);
  }
}

@keyframes valueFloat {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -14px, 0);
  }
}

@media (max-width: 1100px) {
  .about-studio-card-grid,
  .about-studio-steps,
  .about-studio-vmg__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .about-studio-vmg__grid {
    overflow: visible;
    padding: 0;
  }

  .about-studio-vmg__card {
    min-height: auto;
    border: 1px solid rgba(24, 53, 45, .12);
  }

  .about-studio-vmg__card:last-child {
    grid-column: 1 / -1;
  }

  .about-studio-vmg__card--mission,
  .about-studio-vmg__card--mission:hover {
    transform: none;
  }

  .about-studio-steps {
    border-top: 0;
  }

  .about-studio-steps article {
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, .18);
  }
}

@media (max-width: 860px) {
  .about-studio-hero {
    min-height: 430px;
    border-bottom-left-radius: 36px;
    border-bottom-right-radius: 36px;
  }

  .about-studio-intro,
  .director-studio__grid,
  .about-studio-value__grid,
  .about-studio-values {
    grid-template-columns: 1fr;
  }

  .about-studio-vmg__head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .director-studio__photo {
    max-width: 430px;
    min-height: 380px;
  }

  .director-studio__grid {
    gap: 34px;
    padding: 24px;
  }

  .about-studio-value__visual {
    position: relative;
    top: auto;
    min-height: 320px;
  }

  .about-studio-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .about-studio-hero__shade {
    background: linear-gradient(180deg, rgba(5, 17, 32, .9), rgba(5, 17, 32, .76));
  }

  .about-studio-hero__content {
    padding-top: 58px;
    padding-bottom: 76px;
  }

  .about-studio-hero h1 {
    font-size: 32px;
  }

  .about-studio-metrics,
  .about-studio-card-grid,
  .about-studio-vmg__grid,
  .about-studio-steps {
    grid-template-columns: 1fr;
  }

  .about-studio-vmg {
    padding: 62px 0 68px;
  }

  .about-studio-vmg__head {
    margin-bottom: 30px;
  }

  .about-studio-vmg__grid {
    gap: 14px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .about-studio-vmg__card,
  .about-studio-vmg__card:last-child {
    grid-column: auto;
    padding: 28px 24px 30px;
  }

  .about-studio-vmg__icon {
    margin: 24px 0 26px;
  }

  .about-studio-services,
  .about-studio-intro,
  .director-studio,
  .about-studio-process {
    padding-top: 58px;
    padding-bottom: 54px;
  }

  .director-studio__grid {
    padding: 18px;
    border-radius: 28px 10px 28px 10px;
  }

  .director-studio__photo {
    min-height: 330px;
  }

  .director-studio__badge {
    right: 16px;
    bottom: 16px;
    left: 16px;
  }

  .director-studio__content::before {
    font-size: 70px;
  }

  .director-studio__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .director-studio__points {
    justify-content: flex-start;
  }
}

/* About page home-level top redesign */
.about-level {
  background: #ffffff;
}

.about-level-hero {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 88% 12%, rgba(0, 159, 96, .25), transparent 26%),
    radial-gradient(circle at 12% 100%, rgba(21, 118, 211, .30), transparent 32%),
    linear-gradient(120deg, #041224 0%, #082b50 54%, #063c4c 100%);
  isolation: isolate;
}

/* Contact page */
.contact-page {
  background: #fffdf8;
}

.contact-hero {
  position: relative;
  overflow: hidden;
  padding: 92px 0 108px;
  color: #ffffff;
  background:
    radial-gradient(circle at 84% 16%, rgba(86, 227, 165, .24), transparent 25%),
    linear-gradient(115deg, #06182d 0%, #2d6778 50%, #36a66a 100%);
}

.contact-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000, transparent 90%);
}

.contact-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 470px);
  gap: 72px;
  align-items: center;
}

.contact-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(38px, 5vw, 66px);
  font-weight: 900;
  line-height: 1.05;
}

.contact-hero p:not(.eyebrow) {
  max-width: 680px;
  color: rgba(236, 248, 255, .78);
  font-size: 16px;
  line-height: 1.8;
}

.contact-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.contact-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.contact-hero__stats span {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: rgba(236, 248, 255, .75);
  background: rgba(255,255,255,.08);
  font-size: 12px;
  font-weight: 700;
}

.contact-hero__stats strong {
  color: #8ff0bf;
  font-size: 16px;
}

.contact-hero .btn--outline {
  color: #ffffff;
  border-color: rgba(255,255,255,.42);
  background: rgba(255,255,255,.08);
}

.contact-hero__card {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 38px 12px 38px 12px;
  background: rgba(255,255,255,.14);
  box-shadow: 0 28px 70px rgba(0, 0, 0, .18);
  backdrop-filter: blur(16px);
}

.contact-hero__card::before {
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 230px;
  height: 230px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 46px rgba(255,255,255,.04);
}

.contact-hero__card-label {
  margin: 4px 0 18px;
  color: #8ff0bf;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.contact-hero__card article {
  position: relative;
  z-index: 1;
  padding: 20px 18px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.contact-hero__card article:first-of-type {
  border-top: 0;
}

.contact-hero__card span {
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.contact-hero__card a {
  display: block;
  margin-top: 8px;
  color: #ffffff;
  font-size: 19px;
  font-weight: 800;
}

.contact-hero__card p {
  margin: 8px 0 0;
  color: rgba(236, 248, 255, .76);
}

.contact-main {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 420px);
  gap: 30px;
  margin-top: -54px;
  padding-top: 0;
  padding-bottom: 90px;
}

.contact-form-card,
.contact-info-panel,
.contact-office-grid article,
.contact-domestic {
  border: 1px solid rgba(24, 53, 45, .10);
  background: #ffffff;
  box-shadow: 0 24px 55px rgba(44, 55, 48, .08);
}

.contact-form-card {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding: 40px;
  border-radius: 38px 12px 38px 12px;
}

.contact-form-card::before {
  position: absolute;
  top: -120px;
  right: -100px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  content: "";
  background: rgba(210, 169, 79, .10);
}

.contact-form-card__head {
  position: relative;
  z-index: 1;
  max-width: 690px;
}

.contact-form-card h2,
.contact-info-panel h2,
.contact-section-head h2 {
  margin: 0;
  color: #18352d;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 850;
  line-height: 1.12;
}

.contact-form-card > p,
.contact-info-panel p,
.contact-office-grid p {
  color: #66736d;
  line-height: 1.75;
}

.contact-form {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.contact-form label {
  display: grid;
  gap: 8px;
  color: #18352d;
  font-size: 12px;
  font-weight: 800;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid rgba(24, 53, 45, .14);
  border-radius: 16px;
  padding: 15px 16px;
  color: #18352d;
  background: #fbfaf6;
  font: inherit;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form__wide,
.contact-form button {
  grid-column: 1 / -1;
}

.contact-form button {
  width: fit-content;
  border: 0;
}

.contact-info-panel {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding: 34px;
  border-radius: 12px 38px 12px 38px;
  color: #ffffff;
  background:
    radial-gradient(circle at 86% 12%, rgba(210, 169, 79, .26), transparent 25%),
    linear-gradient(145deg, #18352d, #246b4f);
}

.contact-info-panel__mark {
  position: absolute;
  right: -20px;
  bottom: -42px;
  color: rgba(255,255,255,.06);
  font-size: 140px;
  font-weight: 900;
  letter-spacing: -.08em;
  line-height: 1;
}

.contact-info-panel h2 {
  color: #ffffff;
}

.contact-info-panel .eyebrow {
  color: #8ff0bf;
}

.contact-info-panel article {
  position: relative;
  z-index: 1;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.13);
}

.contact-info-panel article:last-child {
  border-bottom: 0;
}

.contact-info-panel article span,
.contact-office-grid article span {
  display: block;
  margin-bottom: 8px;
  color: #42e095;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.contact-info-panel a {
  color: #ffffff;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.45;
  word-break: break-word;
}

.contact-info-panel p {
  color: rgba(241, 248, 255, .86);
  font-weight: 600;
}

.contact-presence {
  position: relative;
  overflow: hidden;
  padding: 86px 0 98px;
  background:
    radial-gradient(circle at 8% 20%, rgba(0, 159, 96, .08), transparent 26%),
    #f7f5ef;
}

.contact-presence::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image: radial-gradient(rgba(24, 53, 45, .12) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(120deg, transparent, #000 42%, transparent 88%);
}

.contact-section-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 680px) minmax(0, 1fr);
  margin-bottom: 38px;
}

.contact-office-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.contact-office-grid article {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  padding: 26px;
  border-radius: 28px 8px 28px 8px;
  transition: transform .25s ease, box-shadow .25s ease;
}

.contact-office-grid article::after {
  position: absolute;
  right: -42px;
  bottom: -46px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  content: "";
  background: rgba(23, 131, 83, .08);
}

.contact-office-grid article:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 65px rgba(44, 55, 48, .12);
}

.contact-office-grid__featured {
  grid-row: span 2;
  color: #ffffff;
  background:
    linear-gradient(115deg, rgba(57, 83, 111, .96) 0%, rgba(45, 103, 120, .96) 45%, rgba(54, 166, 106, .96) 100%) !important;
}

.contact-office-grid__featured h3 {
  color: #ffffff;
}

.contact-office-grid__featured p {
  color: rgba(236, 248, 255, .78);
}

.contact-office-grid__featured span {
  color: #8ff0bf;
}

.contact-office-grid h3 {
  margin: 0 0 10px;
  color: #18352d;
  font-size: 18px;
}

.contact-domestic {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  padding: 28px;
  border-radius: 8px 26px 8px 26px;
}

.contact-domestic h3 {
  margin: 0 0 18px;
  color: #18352d;
}

.contact-domestic div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-domestic span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 0 14px;
  border-radius: 999px;
  color: #4f625b;
  background: #fffaf0;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 980px) {
  .contact-hero__grid,
  .contact-main,
  .contact-section-head {
    grid-template-columns: 1fr;
  }

  .contact-office-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-main {
    margin-top: -34px;
  }

  .contact-office-grid__featured {
    grid-row: auto;
  }
}

@media (max-width: 640px) {
  .contact-hero {
    padding: 64px 0 70px;
  }

  .contact-main,
  .contact-presence {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-form-card,
  .contact-info-panel {
    padding: 24px;
  }

  .contact-office-grid {
    grid-template-columns: 1fr;
  }
}

/* Contact page reference layout */
.contact-page--reference {
  background: #ffffff;
  color: #102640;
}

.contact-hero--reference {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  padding: 0;
  color: #ffffff;
  background:
    linear-gradient(120deg, rgba(4, 18, 36, .94) 0%, rgba(8, 43, 80, .86) 52%, rgba(6, 60, 76, .78) 100%),
    url("../assets/banner.webp") center / cover no-repeat;
  isolation: isolate;
}

.contact-hero--reference::after {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  content: "";
  background:
    radial-gradient(circle at 78% 40%, transparent 0 90px, rgba(143, 240, 191, .13) 91px 92px, transparent 93px 145px, rgba(255, 255, 255, .08) 146px 147px, transparent 148px),
    linear-gradient(115deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 84px),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: auto, 180px 180px, 72px 72px, 72px 72px;
  mask-image: linear-gradient(90deg, #000, #000 88%, transparent);
}

.contact-hero--reference::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 1;
  height: 74px;
  content: "";
  background: #ffffff;
  clip-path: polygon(0 58%, 12% 48%, 28% 62%, 46% 38%, 64% 52%, 82% 30%, 100% 46%, 100% 100%, 0 100%);
}

.contact-hero--reference .contact-hero__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(0, 760px) minmax(300px, 1fr);
  gap: 42px;
  min-height: 360px;
}

.contact-hero--reference .contact-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 620px;
  padding: 48px 0 72px;
}

.contact-hero--reference h1 {
  max-width: 620px;
  color: #ffffff;
  font-size: clamp(34px, 3.5vw, 52px);
  line-height: 1.04;
  text-shadow: 0 18px 46px rgba(0, 0, 0, .28);
}

.contact-hero--reference h1 span {
  color: #35d17d;
}

.contact-hero--reference p:not(.eyebrow) {
  max-width: 520px;
  color: rgba(236, 248, 255, .82);
  font-size: 16px;
  line-height: 1.75;
}

.contact-hero--reference .contact-hero__actions {
  margin-top: 28px;
}

.contact-hero--reference .btn--outline {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .44);
  background: rgba(255, 255, 255, .10);
  backdrop-filter: blur(10px);
}

.contact-hero__visual {
  position: relative;
  min-height: 360px;
}

.contact-hero__image {
  display: none;
}

.contact-phone-ring {
  position: absolute;
  top: 50%;
  right: min(90px, 8vw);
  display: grid;
  width: 180px;
  height: 180px;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transform: translateY(-50%);
  animation: contactPhoneShake 1.8s ease-in-out infinite;
}

.contact-phone-ring::before,
.contact-phone-ring::after {
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(143, 240, 191, .24);
  border-radius: 50%;
  content: "";
  animation: contactPhonePulse 2.4s ease-in-out infinite;
}

.contact-phone-ring::after {
  inset: -1px;
  border-color: rgba(255, 255, 255, .16);
  animation-delay: .5s;
}

.contact-phone-ring span {
  position: relative;
  z-index: 2;
  width: 116px;
  height: 116px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.contact-phone-ring span::before {
  position: absolute;
  inset: 0;
  content: "";
  background: #35d17d;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M16 7 9 12c0 15 12 27 27 27l5-7-9-6-4 4c-5-2-8-5-10-10l4-4-6-9Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M16 7 9 12c0 15 12 27 27 27l5-7-9-6-4 4c-5-2-8-5-10-10l4-4-6-9Z'/%3E%3C/svg%3E") center / contain no-repeat;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .28));
}

.contact-cta__mark {
  position: absolute;
  display: grid;
  place-items: center;
  color: #102640;
  font-size: 160px;
  font-weight: 900;
  line-height: 1;
  text-shadow:
    -4px -4px 0 #ffffff,
    4px -4px 0 #ffffff,
    -4px 4px 0 #ffffff,
    4px 4px 0 #ffffff;
}

.contact-cta__mark::after {
  position: absolute;
  right: -28px;
  top: -10px;
  color: #08a64f;
  content: "↗";
  font-size: .55em;
  text-shadow: none;
}

.contact-icon,
.contact-action-icon,
.contact-line-icon {
  display: inline-grid;
  place-items: center;
}

.contact-icon {
  grid-row: span 2;
  width: 44px;
  height: 44px;
  background: #102640;
  -webkit-mask: var(--contact-icon) center / contain no-repeat;
  mask: var(--contact-icon) center / contain no-repeat;
}

.contact-icon--people,
.contact-line-icon--experts {
  --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='17' r='6'/%3E%3Cpath d='M6 39c1.4-8 5.4-12 12-12s10.6 4 12 12'/%3E%3Ccircle cx='34' cy='20' r='5'/%3E%3Cpath d='M31 30c5 .7 8.4 3.7 11 9'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-icon--team {
  --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='16' cy='18' r='5'/%3E%3Ccircle cx='32' cy='18' r='5'/%3E%3Cpath d='M7 38c1-7 4-10 9-10s8 3 9 10M23 38c1-7 4-10 9-10s8 3 9 10'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-icon--globe {
  --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='17'/%3E%3Cpath d='M7 24h34M24 7c5 5 8 11 8 17s-3 12-8 17M24 7c-5 5-8 11-8 17s3 12 8 17'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-icon--support {
  --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 27v-5a14 14 0 0 1 28 0v5'/%3E%3Crect x='5' y='25' width='9' height='12' rx='3'/%3E%3Crect x='34' y='25' width='9' height='12' rx='3'/%3E%3Cpath d='M34 36c-2 4-5 6-10 6h-4'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-action-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  padding-top: 38px;
}

.contact-action-grid article {
  display: grid;
  grid-template-columns: 66px 1fr 32px;
  gap: 16px;
  align-items: center;
  padding: 24px;
  border: 1px solid rgba(190, 215, 238, .76);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(8, 36, 70, .08);
}

.contact-action-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #08a64f;
}

.contact-action-icon::before {
  width: 24px;
  height: 24px;
  content: "";
  background: #ffffff;
  -webkit-mask: var(--contact-icon) center / contain no-repeat;
  mask: var(--contact-icon) center / contain no-repeat;
}

.contact-action-icon--phone { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M16 7 9 12c0 15 12 27 27 27l5-7-9-6-4 4c-5-2-8-5-10-10l4-4-6-9Z'/%3E%3C/svg%3E"); }
.contact-action-icon--mail { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='12' width='34' height='24' rx='3'/%3E%3Cpath d='m8 14 16 13 16-13'/%3E%3C/g%3E%3C/svg%3E"); }
.contact-action-icon--pin { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 43s14-12 14-25a14 14 0 0 0-28 0c0 13 14 25 14 25Z'/%3E%3Ccircle cx='24' cy='18' r='5'/%3E%3C/g%3E%3C/svg%3E"); }

.contact-action-grid h3,
.contact-action-grid p {
  margin: 0;
}

.contact-action-grid h3 {
  color: #102640;
  font-size: 17px;
}

.contact-action-grid p {
  color: #7a8ba0;
  font-size: 12px;
}

.contact-action-grid a {
  color: #102640;
  font-size: 13px;
  font-weight: 800;
}

.contact-action-grid b {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(16, 38, 64, .22);
  border-radius: 50%;
  color: #102640;
}

.contact-page--reference .contact-main {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
  margin-top: 0;
  padding-top: 42px;
}

.contact-page--reference .contact-form-card,
.contact-page--reference .contact-info-panel {
  border-radius: 16px;
}

.contact-page--reference .contact-info-panel {
  background:
    radial-gradient(circle at 88% 16%, rgba(0, 148, 255, .22), transparent 24%),
    linear-gradient(145deg, #082d5b, #041a35);
}

.contact-page--reference .contact-info-panel::after {
  position: absolute;
  right: 26px;
  top: 26px;
  width: 70px;
  height: 70px;
  content: "";
  background-image: radial-gradient(rgba(255,255,255,.28) 1px, transparent 1px);
  background-size: 10px 10px;
}

.contact-page--reference .contact-info-panel article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 18px;
  align-items: start;
  padding: 22px 0;
}

.contact-page--reference .contact-info-panel article::before {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  justify-self: center;
  display: block;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(41, 224, 136, .32);
  border-radius: 14px;
  content: "";
  background: rgba(8, 166, 79, .13);
}

.contact-page--reference .contact-info-panel article::after {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  justify-self: center;
  width: 20px;
  height: 20px;
  margin-top: 11px;
  content: "";
  background: #2be18b;
  -webkit-mask: var(--contact-info-icon) center / contain no-repeat;
  mask: var(--contact-info-icon) center / contain no-repeat;
}

.contact-info-panel__item--location {
  --contact-info-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 43s14-12 14-25a14 14 0 0 0-28 0c0 13 14 25 14 25Z'/%3E%3Ccircle cx='24' cy='18' r='5'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-info-panel__item--phone {
  --contact-info-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M16 7 9 12c0 15 12 27 27 27l5-7-9-6-4 4c-5-2-8-5-10-10l4-4-6-9Z'/%3E%3C/svg%3E");
}

.contact-info-panel__item--email {
  --contact-info-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='12' width='34' height='24' rx='3'/%3E%3Cpath d='m8 14 16 13 16-13'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-info-panel__item--hours {
  --contact-info-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='17'/%3E%3Cpath d='M24 13v12l8 5'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-page--reference .contact-form input,
.contact-page--reference .contact-form textarea,
.contact-page--reference .contact-form select {
  border-color: rgba(190, 215, 238, .96);
  background: #ffffff;
}

.contact-page--reference .contact-form select {
  width: 100%;
  border: 1px solid rgba(190, 215, 238, .96);
  border-radius: 16px;
  padding: 15px 16px;
  color: #60738d;
  font: inherit;
}

.contact-why {
  padding: 64px 0;
  background: linear-gradient(180deg, #f4fbff, #eef7ff);
}

.contact-center-head {
  max-width: 720px;
  margin: 0 auto 28px;
  text-align: center;
}

.contact-center-head h2 {
  margin: 0;
  color: #102640;
  font-size: clamp(28px, 3vw, 38px);
}

.contact-why-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.contact-why-grid article {
  min-height: 150px;
  padding: 26px 20px;
  border-radius: 12px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 18px 42px rgba(8, 36, 70, .08);
}

.contact-line-icon {
  width: 42px;
  height: 42px;
  margin: 0 auto 14px;
  background: #08a64f;
  -webkit-mask: var(--contact-icon) center / contain no-repeat;
  mask: var(--contact-icon) center / contain no-repeat;
}

.contact-line-icon--shield { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 39 11v11c0 10-5.3 16.8-15 21C14.3 38.8 9 32 9 22V11l15-6Z'/%3E%3Cpath d='m17 24 5 5 10-11'/%3E%3C/g%3E%3C/svg%3E"); }
.contact-line-icon--lock { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='20' width='28' height='20' rx='3'/%3E%3Cpath d='M16 20v-6a8 8 0 0 1 16 0v6M24 28v5'/%3E%3C/g%3E%3C/svg%3E"); }
.contact-line-icon--bolt { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M27 4 11 27h12l-2 17 16-24H25l2-16Z'/%3E%3C/svg%3E"); }
.contact-line-icon--scale { --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 40h32M13 34V22M24 34V12M35 34V18'/%3E%3C/g%3E%3C/svg%3E"); }

.contact-why-grid h3,
.contact-process h3 {
  margin: 0 0 8px;
  color: #102640;
  font-size: 15px;
}

.contact-why-grid p,
.contact-process p {
  margin: 0;
  color: #60738d;
  font-size: 12px;
}

.contact-process {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
  align-items: center;
  padding-top: 58px;
  padding-bottom: 58px;
}

.contact-process__title h2 {
  margin: 0;
  color: #102640;
  font-size: 32px;
  line-height: 1.08;
}

.contact-process__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 38px;
}

.contact-process__steps article {
  position: relative;
  min-height: 145px;
  padding: 28px 20px;
  border: 1px solid rgba(190, 215, 238, .96);
  border-radius: 10px;
  background: #ffffff;
  text-align: center;
}

.contact-process__step i {
  display: block;
  width: 38px;
  height: 38px;
  margin: 6px auto 14px;
  background: #102640;
  -webkit-mask: var(--process-icon) center / contain no-repeat;
  mask: var(--process-icon) center / contain no-repeat;
}

.contact-process__step--connect {
  --process-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='17' r='6'/%3E%3Cpath d='M7 39c1.4-8 5-12 11-12s9.6 4 11 12'/%3E%3Cpath d='M33 16h8M37 12v8M33 30h8'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-process__step--assess {
  --process-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='21' cy='21' r='12'/%3E%3Cpath d='m30 30 10 10'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-process__step--plan {
  --process-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='6'/%3E%3Cpath d='M24 5v7M24 36v7M5 24h7M36 24h7M10 10l5 5M33 33l5 5M38 10l-5 5M15 33l-5 5'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-process__step--deliver {
  --process-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 39 11v11c0 10-5.3 16.8-15 21C14.3 38.8 9 32 9 22V11l15-6Z'/%3E%3Cpath d='m17 24 5 5 10-11'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-process__steps article:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -30px;
  color: #08a64f;
  content: "→";
  font-size: 24px;
}

.contact-process__steps span {
  position: absolute;
  left: 16px;
  top: 0px;
  min-width: 42px;
  padding: 6px 10px;
  border-radius: 8px;
  color: #ffffff;
  background: linear-gradient(135deg, #08a64f, #006ed0);
  font-size: 11px;
  font-weight: 900;
}

.contact-global-map {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 66px clamp(18px, 4.6vw, 76px) 58px;
  background:
    radial-gradient(circle at 12% 14%, rgba(8, 166, 79, .14), transparent 26%),
    radial-gradient(circle at 84% 22%, rgba(7, 118, 177, .14), transparent 24%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 44%, #eef8f3 100%);
}

.contact-global-map::before {
  position: absolute;
  inset: 24px 0 auto;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(8, 166, 79, .35), transparent);
}

.contact-map-faq {
  padding-bottom: 38px;
}

.contact-map-head {
  position: relative;
  z-index: 2;
  max-width: 790px;
  margin: 0 auto 28px;
  text-align: center;
}

.contact-map-head h2 {
  margin: 6px 0 10px;
  color: #102640;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.1;
}

.contact-map-head p:last-child {
  margin: 0 auto;
  max-width: 620px;
  color: #62748d;
  font-size: 15px;
  line-height: 1.8;
}

.contact-map-card,
.contact-faq {
  min-height: 340px;
  border: 1px solid rgba(190, 215, 238, .96);
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
}

.contact-world-map {
  position: relative;
  display: grid;
  grid-template-columns: minmax(210px, 250px) minmax(0, 1.85fr) minmax(250px, 320px);
  width: min(1500px, 100%);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(190, 215, 238, .76);
  border-radius: 30px;
  background: #061f2d;
  box-shadow: 0 32px 92px rgba(13, 42, 70, .18);
}

.contact-world-map__list {
  position: relative;
  z-index: 5;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 24px;
  border-right: 1px solid rgba(255, 255, 255, .18);
  background:
    linear-gradient(180deg, rgba(8, 31, 50, .96), rgba(3, 49, 39, .96));
  backdrop-filter: blur(8px);
}

.contact-world-map__list button {
  position: relative;
  padding: 16px 16px 16px 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 16px;
  text-align: left;
  background: rgba(255, 255, 255, .075);
  cursor: pointer;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.contact-world-map__list button::before {
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 3px;
  border-radius: 999px;
  content: "";
  background: transparent;
  transition: background .22s ease;
}

.contact-world-map__list button:hover,
.contact-world-map__list button.is-active {
  transform: translateX(4px);
  border-color: rgba(16, 210, 116, .78);
  background: rgba(8, 166, 79, .22);
}

.contact-world-map__list button.is-active::before {
  background: #14d87c;
}

.contact-world-map__list strong {
  display: block;
  color: #ffffff;
  font-size: 17px;
}

.contact-world-map__list span {
  display: block;
  margin-top: 5px;
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
  font-weight: 700;
}

.contact-world-map__stage {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background:
    linear-gradient(135deg, #08233b 0%, #062f32 55%, #0c6f46 100%);
}

.contact-world-map__stage::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3, 24, 38, .08), rgba(3, 24, 38, .16)),
    linear-gradient(90deg, rgba(6, 31, 45, .18), transparent 35%, rgba(5, 48, 39, .14));
}

.contact-world-map__stage iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  filter: saturate(.92) contrast(.98);
}

.contact-world-pin {
  position: absolute;
  z-index: 4;
  min-width: 90px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .52);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(6, 32, 35, .52);
  backdrop-filter: blur(6px);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  text-shadow: 0 2px 8px rgba(0,0,0,.24);
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
}

.contact-world-pin::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 5px;
  border: 3px solid #ffffff;
  border-radius: 50%;
  content: "";
  background: #9cbfad;
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
  vertical-align: -2px;
  transition: background .22s ease, transform .22s ease;
}

.contact-world-pin.is-active::before {
  background: #009f60;
  transform: scale(1.2);
}

.contact-world-pin:hover,
.contact-world-pin.is-active {
  transform: translateY(-3px);
  border-color: rgba(16, 210, 116, .86);
  background: rgba(8, 166, 79, .82);
}

.contact-world-pin--canada { left: 30%; top: 31%; }
.contact-world-pin--us { left: 31%; top: 48%; }
.contact-world-pin--uk { left: 55%; top: 35%; }
.contact-world-pin--uae { left: 67%; top: 52%; }
.contact-world-pin--india { left: 73%; top: 50%; }
.contact-world-pin--australia { left: 86%; top: 74%; }

.contact-world-card {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px 28px;
  border-left: 1px solid rgba(255, 255, 255, .18);
  background:
    radial-gradient(circle at 84% 0%, rgba(8, 166, 79, .16), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(244, 250, 247, .98));
}

.contact-world-card__meta {
  display: grid;
  gap: 7px;
  margin-bottom: 28px;
  padding: 14px 15px;
  border: 1px solid rgba(8, 166, 79, .15);
  border-radius: 16px;
  background: rgba(8, 166, 79, .08);
}

.contact-world-card__meta small {
  display: inline-flex;
  color: #087a46;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.contact-world-card__meta b {
  color: #102640;
  font-size: 22px;
  line-height: 1.1;
}

.contact-world-card span {
  color: #087a46;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.contact-world-card strong {
  display: block;
  margin-top: 10px;
  color: #071d35;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.contact-world-card p {
  max-width: 100%;
  margin: 18px 0 24px;
  color: #435a75;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.75;
}

.contact-world-card .btn {
  width: 100%;
  min-height: 40px;
  padding: 0 16px;
  font-size: 12px;
}

.contact-faq {
  margin-top: 52px;
  padding: 28px;
}

.contact-faq h2 {
  margin: 0 0 20px;
  color: #102640;
}

.contact-faq details {
  border: 1px solid rgba(190, 215, 238, .96);
  border-radius: 9px;
  margin-bottom: 12px;
  padding: 14px 16px;
}

.contact-faq summary {
  cursor: pointer;
  color: #102640;
  font-size: 13px;
  font-weight: 800;
}

.contact-faq details p {
  color: #60738d;
  font-size: 13px;
}

.contact-cta {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
  overflow: hidden;
  min-height: 142px;
  margin-bottom: 58px;
  padding: 24px 50px;
  border-radius: 20px;
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(4, 26, 53, .92), rgba(4, 26, 53, .58)),
    url("../assets/banner.webp") center right / cover no-repeat;
  box-shadow: rgba(50, 50, 93, 0.25) 0 50px 100px -20px, rgba(0, 0, 0, 0.3) 0 30px 60px -30px, rgba(10, 37, 64, 0.35) 0 -2px 6px 0 inset;
}

.contact-cta h2 {
  grid-column: 1;
  grid-row: 1;
  max-width: 640px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 2.8vw, 36px);
  line-height: 1.08;
}

.contact-cta h2 span {
  color: #08a64f;
}

.contact-cta p {
  grid-column: 1;
  grid-row: 2;
  max-width: 540px;
  margin: 10px 0 0;
  color: rgba(236, 248, 255, .82);
  font-size: 14px;
  line-height: 1.55;
}

.contact-cta .btn {
  grid-column: 2;
  grid-row: 1 / span 2;
  justify-self: end;
  align-self: center;
  min-height: 40px;
  padding: 0 20px;
  font-size: 12px;
}

.contact-cta__copy {
  display: contents;
}

.contact-cta__mark {
  display: none;
}

.contact-page--reference .contact-form-card,
.contact-page--reference .contact-info-panel,
.contact-action-grid article,
.contact-why-grid article,
.contact-process__steps article,
.contact-world-map,
.contact-faq,
.contact-cta {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background-position .5s ease;
}

.contact-action-grid article,
.contact-why-grid article,
.contact-process__steps article,
.contact-faq details,
.contact-world-map__list button {
  position: relative;
  overflow: hidden;
}

.contact-action-grid article::before,
.contact-why-grid article::before,
.contact-faq details::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(120deg, transparent 0%, rgba(8, 166, 79, .10) 38%, rgba(0, 110, 208, .09) 52%, transparent 72%);
  opacity: 0;
  transform: translateX(-45%);
  transition: opacity .32s ease, transform .55s ease;
  pointer-events: none;
}

.contact-action-grid article:hover,
.contact-why-grid article:hover,
.contact-process__steps article:hover,
.contact-faq details:hover {
  transform: translateY(-7px);
  border-color: rgba(8, 166, 79, .42);
  box-shadow: 0 28px 64px rgba(8, 36, 70, .14);
}

.contact-process__steps article:hover {
  background: #ffffff;
}

.contact-action-grid article:hover::before,
.contact-why-grid article:hover::before,
.contact-faq details:hover::before {
  opacity: 1;
  transform: translateX(30%);
}

.contact-action-grid article:hover .contact-action-icon,
.contact-why-grid article:hover .contact-line-icon,
.contact-process__steps article:hover i {
  animation: contactIconFloat 1.4s ease-in-out infinite;
}

.contact-action-icon,
.contact-line-icon,
.contact-process__step i,
.contact-page--reference .contact-info-panel article::before {
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}

.contact-action-icon {
  box-shadow: 0 12px 28px rgba(8, 166, 79, .22);
}

.contact-action-grid article:hover .contact-action-icon {
  box-shadow: 0 18px 34px rgba(8, 166, 79, .32);
}

.contact-page--reference .contact-form-card:hover,
.contact-page--reference .contact-info-panel:hover,
.contact-world-map:hover,
.contact-cta:hover {
  transform: translateY(-5px);
}

.contact-page--reference .contact-form-card:hover {
  box-shadow: 0 30px 70px rgba(8, 36, 70, .10);
}

.contact-page--reference .contact-info-panel:hover {
  box-shadow: 0 32px 80px rgba(4, 26, 53, .24);
}

.contact-page--reference .contact-info-panel article:hover::before {
  transform: scale(1.08);
  box-shadow: 0 0 0 8px rgba(43, 225, 139, .08);
}

.contact-page--reference .contact-info-panel article:hover::after {
  animation: contactIconPulse 1.1s ease-in-out infinite;
}

.contact-page--reference .contact-form input,
.contact-page--reference .contact-form textarea,
.contact-page--reference .contact-form select {
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.contact-page--reference .contact-form input:focus,
.contact-page--reference .contact-form textarea:focus,
.contact-page--reference .contact-form select:focus {
  border-color: rgba(8, 166, 79, .62);
  box-shadow: 0 0 0 4px rgba(8, 166, 79, .10);
  transform: translateY(-1px);
  outline: 0;
}

.contact-global-map::after,
.contact-cta::after {
  position: absolute;
  inset: 0;
  content: "";
  background: radial-gradient(circle at var(--glow-x, 20%) 20%, rgba(8, 166, 79, .16), transparent 28%);
  opacity: .8;
  animation: contactGradientDrift 9s ease-in-out infinite alternate;
  pointer-events: none;
}

.contact-world-map,
.contact-cta {
  isolation: isolate;
}

.contact-world-map > *,
.contact-cta > * {
  position: relative;
  z-index: 1;
}

.contact-world-map:hover {
  box-shadow: 0 38px 105px rgba(13, 42, 70, .24);
}

.contact-world-map__list button:hover {
  box-shadow: inset 0 0 0 1px rgba(20, 216, 124, .18), 0 14px 34px rgba(0, 0, 0, .16);
}

.contact-world-map__stage iframe {
  transition: filter .4s ease, transform .5s ease;
}

.contact-world-map:hover .contact-world-map__stage iframe {
  filter: saturate(1.04) contrast(1.02);
  transform: scale(1.015);
}

.contact-world-card__meta {
  position: relative;
  overflow: hidden;
}

.contact-world-card__meta::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .62), transparent);
  transform: translateX(-120%);
  animation: contactSoftSweep 4.5s ease-in-out infinite;
}

.contact-faq details[open] {
  border-color: rgba(8, 166, 79, .35);
  box-shadow: 0 18px 44px rgba(8, 36, 70, .08);
}

.contact-cta {
  background-size: auto, 108% auto;
}

.contact-cta:hover {
  background-position: center right, center center;
  box-shadow: rgba(50, 50, 93, 0.3) 0 58px 110px -24px, rgba(0, 0, 0, 0.32) 0 34px 64px -34px, rgba(10, 37, 64, 0.38) 0 -2px 7px 0 inset;
}

.contact-cta::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: linear-gradient(110deg, transparent 0 35%, rgba(255, 255, 255, .13) 48%, transparent 62%);
  transform: translateX(-120%);
  transition: transform .8s ease;
}

.contact-cta:hover::before {
  transform: translateX(120%);
}

@keyframes contactIconFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-4px) scale(1.05);
  }
}

@keyframes contactIconPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: .78;
    transform: scale(.9);
  }
}

@keyframes contactGradientDrift {
  0% {
    --glow-x: 12%;
    opacity: .55;
  }
  100% {
    --glow-x: 86%;
    opacity: .95;
  }
}

@keyframes contactSoftSweep {
  0%, 58% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(120%);
  }
}

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

@keyframes contactPhoneShake {
  0%, 100% {
    transform: translateY(-50%) rotate(0deg);
  }
  12%, 36% {
    transform: translateY(-50%) rotate(-7deg);
  }
  24%, 48% {
    transform: translateY(-50%) rotate(7deg);
  }
  60% {
    transform: translateY(-50%) rotate(0deg);
  }
}

@keyframes contactPhoneShakeMobile {
  0%, 100% {
    transform: rotate(0deg);
  }
  12%, 36% {
    transform: rotate(-7deg);
  }
  24%, 48% {
    transform: rotate(7deg);
  }
  60% {
    transform: rotate(0deg);
  }
}

@keyframes contactPhonePulse {
  0%, 100% {
    opacity: .45;
    transform: scale(.86);
  }
  50% {
    opacity: .95;
    transform: scale(1.12);
  }
}

@media (max-width: 1020px) {
  .contact-hero--reference .contact-hero__grid,
  .contact-page--reference .contact-main,
  .contact-process,
  .contact-world-map {
    grid-template-columns: 1fr;
  }

  .contact-hero__image {
    display: none;
  }

  .contact-hero__visual {
    min-height: 360px;
  }

  .contact-phone-ring {
    right: 50%;
    transform: translate(50%, -50%);
  }

  .contact-action-grid,
  .contact-why-grid,
  .contact-process__steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-process__steps article::after {
    display: none;
  }

  .contact-global-map {
    padding-inline: 20px;
  }

  .contact-world-map {
    grid-template-rows: auto minmax(500px, auto) auto;
  }

  .contact-world-card {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
  }

  .contact-world-map__list {
    grid-template-columns: repeat(3, 1fr);
    border-right: 0;
    border-bottom: 1px solid rgba(190, 215, 238, .86);
    padding: 14px;
  }

  .contact-world-map__list button {
    border-left: 1px solid rgba(255, 255, 255, .14);
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }

  .contact-world-map__list button.is-active {
    box-shadow: inset 0 4px 0 #08a64f;
  }

}

@media (max-width: 640px) {
  .contact-hero--reference .contact-hero__copy {
    padding: 48px 0 42px;
  }

  .contact-hero--reference {
    min-height: auto;
  }

  .contact-hero--reference .contact-hero__grid {
    min-height: auto;
  }

  .contact-phone-ring {
    position: relative;
    top: auto;
    right: auto;
    margin: 0 auto 74px;
    transform: none;
    animation-name: contactPhoneShakeMobile;
  }

  .contact-action-grid,
  .contact-why-grid,
  .contact-process__steps {
    grid-template-columns: 1fr;
  }

  .contact-cta {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 36px 24px;
    margin-bottom: 38px;
  }

  .contact-cta h2,
  .contact-cta p,
  .contact-cta .btn {
    grid-column: 1;
  }

  .contact-cta .btn {
    grid-row: auto;
    justify-self: start;
  }

  .contact-cta__mark {
    opacity: .16;
    right: 20px;
  }

  .contact-world-map__list {
    grid-template-columns: 1fr;
  }

  .contact-world-map__stage {
    min-height: 430px;
  }

  .contact-world-pin {
    min-width: 0;
    padding: 7px 9px;
    font-size: 11px;
  }

  .contact-world-card {
    padding: 26px;
  }

}

.about-level-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 78% 40%, transparent 0 90px, rgba(143, 240, 191, .13) 91px 92px, transparent 93px 145px, rgba(255, 255, 255, .08) 146px 147px, transparent 148px),
    linear-gradient(115deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 84px),
    linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: auto, 180px 180px, 72px 72px, 72px 72px;
  mask-image: linear-gradient(90deg, #000, #000 88%, transparent);
}

.about-level-hero .container::after {
  display: none;
}

.about-level-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 74px;
  background: #ffffff;
  clip-path: polygon(0 58%, 12% 48%, 28% 62%, 46% 38%, 64% 52%, 82% 30%, 100% 46%, 100% 100%, 0 100%);
}

.about-level-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 820px);
  gap: 0;
  align-items: center;
  padding: 58px 15px 86px;
}

.about-level-hero__copy .eyebrow {
  color: #8ff0bf;
}

.about-level-hero__copy h1 {
  max-width: 620px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(34px, 3.5vw, 52px);
  font-weight: 850;
  line-height: 1.04;
  letter-spacing: 0;
}

.about-level-hero__copy p:not(.eyebrow) {
  max-width: 580px;
  margin: 16px 0 0;
  color: rgba(236, 246, 255, .86);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

.about-level-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

.about-level-hero .btn--outline {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .08);
}

.about-level-hero .btn--outline:hover {
  color: #102640;
  border-color: #ffffff;
  background: #ffffff;
}

.about-level-hero__visual {
  position: relative;
  min-height: 300px;
}

.about-level-hero__visual::before {
  content: "";
  position: absolute;
  inset: 26px 0 0 76px;
  border-radius: 46px;
  background: url("../assets/about-banner.svg") center / cover no-repeat;
  opacity: .74;
  filter: saturate(1.05);
  transform: rotate(-2deg);
}

.about-level-screen {
  position: absolute;
  left: 0;
  right: 42px;
  top: 30px;
  min-height: 238px;
  padding: 24px;
  border: 1px solid rgba(174, 221, 255, .28);
  border-radius: 32px;
  background: rgba(255, 255, 255, .12);
  box-shadow: rgba(0, 0, 0, .24) 0 28px 70px;
  backdrop-filter: blur(18px);
  animation: aboutLevelFloat 7s ease-in-out infinite;
}

.about-level-screen > span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .42);
}

.about-level-screen > span:nth-child(2) {
  background: #009f60;
}

.about-level-screen > span:nth-child(3) {
  background: #1576d3;
}

.about-level-screen strong {
  display: block;
  margin: 24px 0 18px;
  color: #ffffff;
  font-size: 21px;
  font-weight: 800;
}

.about-level-screen__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.about-level-screen__grid i {
  display: block;
  min-height: 54px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .08));
  border: 1px solid rgba(255, 255, 255, .14);
  position: relative;
  overflow: hidden;
}

.about-level-screen__grid i::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 20px;
  height: 8px;
  border-radius: 999px;
  background: rgba(143, 240, 191, .8);
  box-shadow: 0 22px 0 rgba(255, 255, 255, .18);
}

.about-level-orbit {
  position: absolute;
  right: 4px;
  top: 4px;
  width: 94px;
  height: 94px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: rgba(0, 159, 96, .32) 0 22px 54px;
  animation: aboutLevelPulse 3.8s ease-in-out infinite;
}

.about-level-orbit img {
  max-width: 50px;
  filter: drop-shadow(5px 5px 10px #000000);
}

.about-level-intro {
  position: relative;
  padding: 34px 0 74px;
  background:
    radial-gradient(circle at 0% 30%, rgba(0, 159, 96, .08), transparent 27%),
    linear-gradient(180deg, #ffffff, #f7fbff);
}

.about-level-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr);
  gap: 64px;
  align-items: center;
}

.about-level-story {
  position: relative;
  padding: 36px 0 36px 32px;
}

.about-level-story::before {
  content: "";
  position: absolute;
  left: 0;
  top: 38px;
  bottom: 38px;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #009f60, #006ed0);
}

.about-level-story h2 {
  max-width: 650px;
  margin: 0;
  color: #122640;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 850;
  line-height: 1.16;
}

.about-level-story p:not(.eyebrow) {
  max-width: 720px;
  color: #60738d;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.78;
}

.about-level-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.about-level-pills span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: #ffffff;
  color: #122640;
  border: 1px solid rgba(190, 215, 238, .86);
  font-size: 12px;
  font-weight: 800;
  transition: transform .25s ease, color .25s ease, border-color .25s ease;
}

.about-level-pills span:hover {
  transform: translateY(-4px);
  color: #009f60;
  border-color: rgba(0, 159, 96, .36);
}

.about-level-proof {
  position: relative;
  min-height: 510px;
  overflow: hidden;
  padding: 38px 40px 30px;
  border-radius: 42px 12px 42px 12px;
  color: #ffffff;
  background:
    radial-gradient(circle at 84% 18%, rgba(27, 199, 133, .32), transparent 25%),
    radial-gradient(circle at 12% 92%, rgba(21, 118, 211, .42), transparent 34%),
    linear-gradient(145deg, #06182d 0%, #0a2c50 58%, #07515b 100%);
  box-shadow: 0 32px 80px rgba(7, 32, 61, .22);
  isolation: isolate;
}

.about-level-proof::before {
  position: absolute;
  top: 88px;
  right: -70px;
  z-index: -1;
  width: 310px;
  height: 310px;
  border: 1px solid rgba(143, 240, 191, .20);
  border-radius: 50%;
  content: "";
  box-shadow:
    0 0 0 48px rgba(143, 240, 191, .06),
    0 0 0 96px rgba(143, 240, 191, .035);
}

.about-level-proof::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(135deg, #000, transparent 76%);
}

.about-level-proof__eyebrow {
  margin: 0;
  color: #8ff0bf;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.about-level-proof__core {
  position: relative;
  max-width: 290px;
  padding: 28px 0 25px;
}

.about-level-proof__core > span {
  display: block;
  color: #ffffff;
  font-size: clamp(72px, 7vw, 104px);
  font-weight: 900;
  letter-spacing: -.08em;
  line-height: .9;
}

.about-level-proof sup {
  color: #56e3a5;
  font-size: .43em;
  vertical-align: top;
}

.about-level-proof__core strong {
  display: block;
  max-width: 250px;
  margin-top: 18px;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.25;
}

.about-level-proof__core p {
  margin: 10px 0 0;
  color: rgba(225, 240, 250, .72);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
}

.about-level-proof__milestones {
  position: absolute;
  top: 86px;
  right: 34px;
  display: grid;
  gap: 28px;
  width: 150px;
}

.about-level-proof__milestones::before {
  position: absolute;
  top: 11px;
  bottom: 12px;
  left: -24px;
  width: 1px;
  content: "";
  background: linear-gradient(#56e3a5, rgba(86, 227, 165, .08));
}

.about-level-proof__milestones article {
  position: relative;
  padding-left: 0;
}

.about-level-proof__milestones article::before {
  position: absolute;
  top: 10px;
  left: -29px;
  width: 11px;
  height: 11px;
  border: 3px solid #0a3452;
  border-radius: 50%;
  content: "";
  background: #56e3a5;
  box-shadow: 0 0 0 4px rgba(86, 227, 165, .14);
}

.about-level-proof__milestones strong {
  display: block;
  color: #ffffff;
  font-size: 31px;
  font-weight: 850;
  line-height: 1;
}

.about-level-proof__milestones p {
  margin: 7px 0 0;
  color: rgba(225, 240, 250, .70);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.about-level-proof__spectrum {
  position: absolute;
  right: 40px;
  bottom: 30px;
  left: 40px;
  display: flex;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.about-level-proof__spectrum span {
  position: relative;
  color: rgba(236, 248, 255, .72);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.about-level-proof__spectrum span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  left: calc(100% + 12px);
  width: 14px;
  height: 1px;
  content: "";
  background: rgba(86, 227, 165, .50);
}

@keyframes aboutLevelFloat {
  0%, 100% {
    transform: translateY(0) rotate(-1deg);
  }
  50% {
    transform: translateY(-14px) rotate(1deg);
  }
}

@keyframes aboutLevelPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

@media (max-width: 1020px) {
  .about-level-hero__grid,
  .about-level-intro__grid {
    grid-template-columns: 1fr;
  }

  .about-level-hero__visual {
    min-height: 280px;
  }

  .about-level-proof {
    width: min(100%, 620px);
  }
}

@media (max-width: 640px) {
  .about-level-hero {
    min-height: auto;
  }

  .about-level-hero__grid {
    padding-top: 48px;
    padding-bottom: 76px;
  }

  .about-level-hero__copy h1 {
    font-size: 32px;
  }

  .about-level-screen {
    right: 0;
  }

  .about-level-proof {
    min-height: auto;
    padding: 30px 26px 26px;
    border-radius: 30px 10px 30px 10px;
  }

  .about-level-proof__core {
    max-width: none;
    padding-bottom: 28px;
  }

  .about-level-proof__milestones {
    position: relative;
    top: auto;
    right: auto;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    width: auto;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
  }

  .about-level-proof__milestones::before,
  .about-level-proof__milestones article::before {
    display: none;
  }

  .about-level-proof__milestones strong {
    font-size: 25px;
  }

  .about-level-proof__spectrum {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    gap: 12px;
    padding-top: 18px;
  }

  .about-level-proof__spectrum span:not(:last-child)::after {
    display: none;
  }

  .about-level-story {
    padding-left: 24px;
  }
}

/* About page redesign */
.about-page {
  background:
    radial-gradient(circle at top left, rgba(29, 185, 84, 0.08), transparent 28%),
    radial-gradient(circle at 85% 8%, rgba(15, 76, 129, 0.08), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 18%, #f4f8fc 100%);
  padding-bottom: 84px;
}

.about-page-banner,
.about-page-strip,
.about-page-director,
.about-page-values,
.about-page-team {
  padding-top: 42px;
}

.about-page-banner { padding-top: 34px; }

.about-page-banner__grid,
.about-page-director__grid,
.about-page-team__grid {
  display: grid;
  gap: 28px;
  align-items: center;
}

.about-page-banner__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }

.about-page-banner__copy h1,
.about-page-director__content h2,
.about-page-section-head h2,
.about-page-team__copy h2 {
  color: #0e2a57;
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.about-page-banner__copy h1 {
  font-size: clamp(2.6rem, 4.2vw, 4.35rem);
  max-width: 25ch;
  margin: 0 0 18px;
}

.about-page-banner__copy p:not(.eyebrow),
.about-page-director__content p,
.about-page-team__copy p,
.about-page-values__grid p,
.about-page-strip p {
  color: #4a5f80;
  line-height: 1.75;
}

.about-page-banner__copy p:not(.eyebrow) {
  max-width: 53ch;
  margin-bottom: 16px;
}

.about-page-banner__visual,
.about-page-director__photo,
.about-page-team__visual { position: relative; }

.about-page-banner__visual img,
.about-page-director__photo img,
.about-page-team__visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(8, 27, 61, 0.16);
}

.about-page-float-card,
.about-page-stat-card {
  position: absolute;
  background: #ffff;
  color: #fff;
  box-shadow: 0 22px 40px rgba(10, 28, 59, 0.24);
}
.blue-bx {
   position: absolute;
  background: radial-gradient(circle at 100% 50%, rgba(15, 130, 255, 0.18), transparent 28%),
    linear-gradient(115deg, #05254b 0%, #062f62 44%, #073a79 72%, #064088 100%);
  color: #fff;
  box-shadow: 0 22px 40px rgba(10, 28, 59, 0.24);
}
.about-page-float-card {
  left: -18px;
  bottom: -24px;
  width: min(320px, 60%);
  border-radius: 22px;
  padding: 20px 22px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.about-page-float-card__icon,
.about-page-highlight__icon,
.about-page-stat-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.about-page-float-card__icon {
  width: 40px;
  height: 40px;
  color: #12c16a;
  flex: 0 0 auto;
}

.about-page-float-card strong {
  display: block;
  font-size: 0.98rem;
  margin-bottom: 6px;
}

.about-page-float-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.5;
  font-size: 0.92rem;
}

.about-page-strip__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(13, 59, 120, 0.16);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 22px 44px rgba(5, 20, 48, 0.12);
}

.about-page-strip article {
  background: linear-gradient(180deg, #0b2f5f 0%, #0f4aa1 100%);
  padding: 28px 26px;
  min-height: 170px;
}

.about-page-strip h3 {
  color: #fff;
  font-size: 1.08rem;
  margin-bottom: 12px;
}

.about-page-director__grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  background: linear-gradient(180deg, #f7faff 0%, #eef3fa 100%);
  border-radius: 28px;
  padding: 18px;
  box-shadow: 0 22px 46px rgba(7, 25, 58, 0.08);
}

.about-page-director__content { padding: 18px 16px; }

.about-page-director__content p { max-width: 56ch; }

.about-page-director__content h2,
.about-page-section-head h2,
.about-page-team__copy h2 {
  font-size: clamp(2rem, 2.7vw, 3rem);
  margin-bottom: 16px;
}

.about-page-signature { margin-top: 20px; }

.about-page-signature strong,
.about-page-stat-card strong {
  display: block;
  font-size: 1.4rem;
  color: #0e2a57;
}

.about-page-signature span,
.about-page-stat-card p { color: #6a7d9c; }

.about-page-values__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.about-page-values__grid article,
.about-page-team__copy,
.about-page-team__visual { border-radius: 24px; }

.about-page-values__grid article {
  background: #fff;
  border: 1px solid rgba(13, 59, 120, 0.08);
  padding: 24px 18px;
  box-shadow: 0 12px 28px rgba(16, 42, 80, 0.06);
  min-height: 194px;
}

.about-page-values__grid span {
  display: inline-block;
  margin-bottom: 14px;
  color: #0e2a57;
  font-weight: 700;
  font-size: 1rem;
}

.about-page-team__grid {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  align-items: stretch;
}

.about-page-team__copy {
  background: #fff;
  padding: 32px;
  box-shadow: 0 18px 44px rgba(8, 27, 61, 0.08);
}

.about-page-team__list {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.about-page-team__list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
  color: #0e2a57;
  font-weight: 600;
  line-height: 1.5;
}

.about-page-team__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #18b869;
  font-weight: 800;
}

.about-page-team__visual img {
  min-height: 100%;
  object-fit: cover;
}

.about-page-stat-card {
  right: 22px;
  bottom: 22px;
  width: 184px;
  border-radius: 22px;
  padding: 20px 18px;
  text-align: center;
}

.about-page-stat-card__icon {
  width: 34px;
  height: 34px;
  margin: 0 auto 10px;
  color: #31d27c;
}

.about-page-section-head {
  text-align: center;
  margin-bottom: 24px;
}

.about-page-section-head .eyebrow { justify-content: center; }

@media (max-width: 1100px) {
  .about-page-banner__grid,
  .about-page-director__grid,
  .about-page-team__grid,
  .about-page-strip__grid,
  .about-page-values__grid {
    grid-template-columns: 1fr;
  }

  .about-page-float-card {
    left: 18px;
    right: 18px;
    bottom: -18px;
    width: auto;
  }
}

@media (max-width: 767px) {
  .about-page { padding-bottom: 56px; }

  .about-page-banner,
  .about-page-strip,
  .about-page-director,
  .about-page-values,
  .about-page-team {
    padding-top: 28px;
  }

  .about-page-banner__copy h1 { max-width: none; }

  .about-page-team__copy,
  .about-page-director__grid { padding: 18px; }

  .about-page-values__grid article { min-height: auto; }

  .about-page-stat-card {
    width: 160px;
    right: 14px;
    bottom: 14px;
  }
}

/* About page final tuning */
.about-page {
  background: #ffff;
}

.gap-t {
  margin-top:80px!important;
}
.about-page-banner {
  padding: 28px 0 22px;
  color: #0e2a57;
  background: transparent;
}

.about-page-banner::after {
  display: none;
}

.about-page-banner__grid {
  align-items: center;
  gap: 36px;
}

.about-page-banner__copy {
  padding: 6px 0 0;
}

.about-page-banner__copy .eyebrow {
  color: #0ca864;
}

.about-page-banner__copy h1 {
  width: min(100%, 470px);
  margin: 0 0 16px;
  color: #0f2651;
  font-size: clamp(34px, 2.35vw, 46px);
  line-height: 1.03;
  font-weight: 700;
}

.about-page-banner__copy p:not(.eyebrow) {
  max-width: 55ch;
  margin: 0 0 16px;
  color: #49617f;
  font-size: 14.5px;
  line-height: 1.68;
}

.about-page-banner__actions {
  margin-top: 12px;
}

.about-page-banner__visual {
  padding-top: 4px;
}

.about-page-banner__visual img {
  aspect-ratio: 1.56 / 1;
  object-fit: cover;
  background: #eff5fb;
  border-radius: 24px;
}

.about-page-float-card {
     left: -85px;
    bottom: -18px;
    width: 252px;
    border-radius: 20px;
    padding: 16px 16px 15px;
    flex-direction: column;
    gap: 10px;

}

.about-page-float-card__icon {
  width: 28px;
  height: 28px;
}

.about-page-float-card strong {
  margin-bottom: 4px;
  font-size: 0.95rem;
}

.about-page-float-card p {
  font-size: 0.84rem;
}

.about-page-strip {
  padding-top: 18px;
}

.about-page-strip__grid {
  position: relative;
  gap: 0;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(135deg, #061f43 0%, #0a2f62 42%, #0a3c81 68%, #0b4a9e 100%);
  box-shadow: 0 28px 56px rgba(7, 28, 58, 0.20);
}

.about-page-strip article {
  position: relative;
  z-index: 1;
  min-height: 228px;
  padding: 24px 26px 22px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  column-gap: 20px;
  align-items: start;
  background: transparent;
}

.about-page-strip article:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.about-page-strip__icon {
  width: 76px;
  height: 76px;
  margin-top: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: linear-gradient(145deg, #22d36b 0%, #0aa04f 100%);
  box-shadow:
    0 0 0 12px rgba(16, 184, 104, 0.16),
    0 18px 28px rgba(0, 0, 0, 0.12);
}

.about-page-strip__icon svg {
  width: 34px;
  height: 34px;
}

.about-page-strip__icon--vision {
  background: linear-gradient(145deg, #3a8cff 0%, #1063dd 100%);
  box-shadow:
    0 0 0 12px rgba(47, 134, 255, 0.16),
    0 18px 28px rgba(0, 0, 0, 0.12);
}

.about-page-strip__icon--goal {
  background: linear-gradient(145deg, #26c95a 0%, #119d47 100%);
  box-shadow:
    0 0 0 12px rgba(53, 218, 103, 0.16),
    0 18px 28px rgba(0, 0, 0, 0.12);
}

.about-page-strip h3 {
  grid-column: 2;
  margin: 6px 0 8px;
  color: #ffffff;
  font-size: 1.06rem;
  font-weight: 700;
}

.about-page-strip h3::after {
  content: "";
  display: block;
  width: 28px;
  height: 3px;
  margin-top: 8px;
  border-radius: 999px;
  background: #1fba6b;
}

.about-page-strip p {
  grid-column: 2;
  margin: 0;
  max-width: 26ch;
  color: rgba(255, 255, 255, 0.80);
  font-size: 13.5px;
  line-height: 1.72;
}

.about-page-strip article:nth-child(2) h3::after {
  background: #2f7dff;
}

.about-page-strip article:nth-child(3) h3::after {
  background: #1dbf68;
}

.about-page-director {
  padding-top: 30px;
}

.about-page-director__grid {
  border-radius: 24px;
  padding: 14px;
  gap: 16px;
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 1.42fr);
  align-items: center;
}

.about-page-director__photo {
  aspect-ratio: 1.14 / 1;
  overflow: hidden;
}

.about-page-director__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-page-director__content {
  padding: 8px 22px 8px 10px;
  position: relative;
  overflow: hidden;
}

.about-page-director__content .eyebrow {
  margin-bottom: 6px;
}

.about-page-director__content h2 {
  max-width: 16ch;
  margin-bottom: 10px;
  font-size: clamp(26px, 2.2vw, 34px);
}

.about-page-director__content p {
  margin-bottom: 10px;
  font-size: 13.5px;
  line-height: 1.68;
  max-width: 64ch;
}

.about-page-director__photo img {
  object-position: center top;
}

.about-page-director__content > * {
  position: relative;
  z-index: 1;
}

.about-page-director__content::after {
  position: absolute;
  right: 18px;
  bottom: 10px;
  z-index: 0;
  color: rgba(186, 237, 226, 0.8);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 164px;
  line-height: 0.8;
  letter-spacing: -0.08em;
  content: "”";
  pointer-events: none;
}

.about-page-signature strong {
  font-size: 1.08rem;
}

.about-page-signature {
  margin-top: 22px;
  padding-right: 76px;
}

.about-page-values {
  padding-top: 30px;
}

.about-page-section-head {
  margin-bottom: 18px;
}

.about-page-section-head .eyebrow {
  margin-bottom: 4px;
}

.about-page-section-head h2 {
  margin-bottom: 0;
  font-size: clamp(28px, 2.5vw, 36px);
}

.about-page-values__grid {
  gap: 14px;
}

.about-page-values__grid article {
  min-height: 190px;
  padding: 22px 16px 18px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.about-page-values__icon {
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  color: #23b869;
}

.about-page-values__icon svg {
  width: 44px;
  height: 44px;
}

.about-page-values__grid span {
  margin-bottom: 8px;
  font-size: 0.98rem;
}

.about-page-values__grid p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
}

.about-page-team {
  padding-top: 28px;
}

.about-page-team__grid {
  gap: 18px;
}

.about-page-team__copy {
  padding: 28px;
}

.about-page-team__copy .eyebrow {
  margin-bottom: 6px;
}

.about-page-team__copy h2 {
  max-width: 12ch;
  margin-bottom: 12px;
  font-size: clamp(27px, 2.45vw, 36px);
}

.about-page-team__copy p {
  margin-bottom: 14px;
  font-size: 14px;
}

.about-page-team__visual {
  min-height: 100%;
  overflow: hidden;
}

.about-page-team__visual img {
  width: 100%;
  height: 100%;
  min-height: 360px;
}

.about-page-stat-card {
  right: 18px;
  bottom: 18px;
  width: 185px;
  padding: 18px 16px 16px;
}

.about-page-stat-card__icon {
  width: 40px;
  height: 40px;
}

.about-page-stat-card strong {
  font-size: 2.18rem;
}

.about-page-stat-card h4 {
  font-size: 1.18rem;
  color:#323232;
  margin: 0px;
}

.about-page-stat-card p {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.55;
}

.about-page-team__list li::before {
  content: '\2713';
}

@media (max-width: 1100px) {
  .about-page-banner__grid,
  .about-page-director__grid,
  .about-page-team__grid,
  .about-page-strip__grid,
  .about-page-values__grid {
    grid-template-columns: 1fr;
  }

  .about-page-banner__copy h1,
  .about-page-director__content h2,
  .about-page-team__copy h2 {
    max-width: none;
  }

  .about-page-banner__visual img {
    aspect-ratio: 1.75 / 1;
  }

  .about-page-team__visual img {
    min-height: 300px;
  }

  .about-page-float-card {
    left: 18px;
    right: auto;
    bottom: -16px;
  }

  .about-page-strip article:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }

  .about-page-strip article {
    grid-template-columns: 78px minmax(0, 1fr);
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .about-page-banner {
    padding-top: 24px;
  }

  .about-page-banner__grid,
  .about-page-director__grid,
  .about-page-team__grid,
  .about-page-strip__grid,
  .about-page-values__grid {
    gap: 12px;
  }

  .about-page-banner__copy h1 {
    font-size: clamp(32px, 10vw, 42px);
  }

  .about-page-banner__copy p:not(.eyebrow),
  .about-page-director__content p,
  .about-page-team__copy p,
  .about-page-values__grid p,
  .about-page-strip p {
    font-size: 14px;
  }

  .about-page-banner__visual img {
    aspect-ratio: 1.35 / 1;
  }

  .about-page-director__grid,
  .about-page-team__copy {
    padding: 16px;
  }

  .about-page-director__content {
    padding: 6px 8px;
  }

  .about-page-director__content::after {
    right: 10px;
    bottom: 8px;
    font-size: 118px;
  }

  .about-page-team__visual img {
    min-height: 240px;
  }

  .about-page-stat-card {
    width: 148px;
    right: 12px;
    bottom: 12px;
  }

  .about-page-signature {
    padding-right: 56px;
  }

  .about-page-strip article {
    padding: 22px 18px;
    grid-template-columns: 1fr;
    row-gap: 10px;
  }

  .about-page-strip__icon {
    width: 60px;
    height: 60px;
  }

  .about-page-strip h3,
  .about-page-strip p {
    grid-column: auto;
    max-width: none;
  }
}

/* Director desk final override */
.about-page-director__grid {
  padding: 10px;
  gap: 12px;
  align-items: center;
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1.58fr);
}

.about-page-director__photo {
  aspect-ratio: 1.12 / 1;
  max-width: 320px;
}

.about-page-director__content {
  padding: 6px 36px 6px 6px;
}

.about-page-director__content h2 {
  max-width: 18ch;
  margin-bottom: 10px;
  font-size: clamp(26px, 2.15vw, 34px);
}

.about-page-director__content p {
  max-width: 70ch;
  margin-bottom: 10px;
  font-size: 13.5px;
  line-height: 1.68;
}

.about-page-director__content::after {
  right: 0;
  top: 50%;
  transform: translateY(-20%);
  font-size: 100px;
  color: rgba(186, 237, 226, 0.66);
}

.about-page-signature {
  margin-top: 14px;
  padding-right: 44px;
}

.about-page-signature strong {
  font-size: 1rem;
}

@media (max-width: 1100px) {
  .about-page-director__grid {
    grid-template-columns: 1fr;
  }

  .about-page-director__photo {
    aspect-ratio: 1.35 / 1;
  }

  .about-page-director__content {
    padding: 6px 8px;
  }

  .about-page-director__content::after {
    right: 10px;
    bottom: 6px;
    top: auto;
    transform: none;
    font-size: 100px;
  }
}

@media (max-width: 767px) {
  .about-page-director__grid {
    padding: 12px;
  }

  .about-page-director__photo {
    aspect-ratio: 1.3 / 1;
  }

  .about-page-director__content::after {
    right: 8px;
    font-size: 84px;
  }

  .about-page-signature {
    padding-right: 44px;
  }
}

/* About page final strip polish */
.about-page-strip {
  padding-top: 22px;
}

.about-page-strip__grid {
  position: relative;
  min-height: 214px;
  padding: 0;
  gap: 0;
  border: 1px solid rgba(229, 240, 252, 0.45);
  border-radius: 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 50%, rgba(15, 130, 255, 0.18), transparent 28%),
    linear-gradient(115deg, #05254b 0%, #062f62 44%, #073a79 72%, #064088 100%);
  box-shadow: 0 22px 48px rgba(8, 33, 67, 0.18);
}

.about-page-strip__grid::before,
.about-page-strip__grid::after {
  display: none !important;
  content: none !important;
}

.about-page-strip article {
  min-height: 214px;
  padding: 30px 34px;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 24px;
  align-items: start;
}

.about-page-strip article:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.about-page-strip__icon {
  grid-row: 1 / span 2;
  width: 76px;
  height: 76px;
  margin: 0;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(145deg, #19cf72 0%, #079e52 100%);
  box-shadow:
    0 0 0 12px rgba(21, 204, 112, 0.20),
    0 0 0 22px rgba(21, 204, 112, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.about-page-strip__icon--vision {
  background: linear-gradient(145deg, #168aff 0%, #0865e8 100%);
  box-shadow:
    0 0 0 12px rgba(22, 138, 255, 0.22),
    0 0 0 22px rgba(22, 138, 255, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.about-page-strip__icon--goal {
  background: linear-gradient(145deg, #20c76e 0%, #0a994f 100%);
  box-shadow:
    0 0 0 12px rgba(24, 197, 108, 0.20),
    0 0 0 22px rgba(24, 197, 108, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.about-page-strip__icon svg {
  width: 38px;
  height: 38px;
  stroke: currentColor;
}

.about-page-strip h3 {
  grid-column: 2;
  margin: 4px 0 14px;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
}

.about-page-strip h3::after {
  width: 38px;
  height: 3px;
  margin-top: 12px;
  background: #19cf72;
}

.about-page-strip article:nth-child(2) h3::after {
  background: #168aff;
}

.about-page-strip article:nth-child(3) h3::after {
  background: #19cf72;
}

.about-page-strip p {
  grid-column: 2;
  max-width: 29ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14.5px;
  line-height: 1.68;
  font-weight: 500;
}

.about-page-director__content::after {
  content: "\201D";
  right: 10px;
  top: 54%;
  bottom: auto;
  transform: translateY(-8%);
  font-size: 118px;
  line-height: 0.8;
}

@media (max-width: 1100px) {
  .about-page-strip article {
    min-height: auto;
    padding: 28px 30px;
  }

  .about-page-strip article:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.20);
  }
}

@media (max-width: 767px) {
  .about-page-strip__grid {
    min-height: 0;
    border-radius: 18px;
  }

  .about-page-strip article {
    grid-template-columns: 72px minmax(0, 1fr);
    padding: 24px 20px;
    column-gap: 18px;
  }

  .about-page-strip__icon {
    width: 58px;
    height: 58px;
    box-shadow:
      0 0 0 9px rgba(21, 204, 112, 0.18),
      0 0 0 16px rgba(21, 204, 112, 0.08);
  }

  .about-page-strip__icon--vision {
    box-shadow:
      0 0 0 9px rgba(22, 138, 255, 0.20),
      0 0 0 16px rgba(22, 138, 255, 0.09);
  }

  .about-page-strip__icon svg {
    width: 29px;
    height: 29px;
  }

  .about-page-strip h3,
  .about-page-strip p {
    grid-column: 2;
  }

  .about-page-strip h3 {
    font-size: 18px;
  }

  .about-page-strip p {
    max-width: none;
    font-size: 14px;
  }
}

/* Director message final reference match */
.about-page-director {
  padding-top: 26px;
}

.about-page-director__grid {
  min-height: 282px;
  padding: 12px 18px;
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 36px;
  align-items: center;
  border-radius: 22px;
  background: linear-gradient(105deg, #f7fbff 0%, #eef5fc 100%);
  box-shadow: 0 18px 42px rgba(18, 47, 83, 0.08);
}

.about-page-director__photo {
  width: 280px;
  max-width: 280px;
  aspect-ratio: 1.12 / 1;
  border-radius: 20px;
  overflow: hidden;
  align-self: center;
}

.about-page-director__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.about-page-director__content {
  min-height: 236px;
  padding: 0 118px 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: visible;
}

.about-page-director__content .eyebrow {
  margin: 0 0 8px;
  color: #18a864;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.about-page-director__content h2 {
  max-width: 520px;
  margin: 0 0 16px;
  color: #082754;
  font-size: 28px;
  line-height: 1.08;
  font-weight: 800;
}

.about-page-director__content p {
  max-width: 720px;
  margin: 0 0 10px;
  color: #425a7b;
  font-size: 14px;
  line-height: 1.58;
  font-weight: 500;
}

.about-page-director__content::after {
     content: "\201D";
    position: absolute;
    right: 50px;
    top: 90%;
    bottom: auto;
    z-index: 0;
    transform: translateY(-20%);
    color: rgb(87 169 154 / 28%);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 266px;
    line-height: 0.72;
    letter-spacing: -0.08em;
    pointer-events: none;

}

.about-page-signature {
  margin-top: 4px;
  padding-right: 0;
}

.about-page-signature strong {
  display: block;
  margin-bottom: 3px;
  color: #082754;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}

.about-page-signature span {
  color: #647b9b;
  font-size: 14px;
  line-height: 1.2;
}

@media (max-width: 1100px) {
  .about-page-director__grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 18px;
  }

  .about-page-director__photo {
    width: min(100%, 340px);
    max-width: 340px;
  }

  .about-page-director__content {
    min-height: 0;
    padding-right: 88px;
  }
}

@media (max-width: 767px) {
  .about-page-director__grid {
    min-height: 0;
    padding: 14px;
    border-radius: 18px;
  }

  .about-page-director__photo {
    width: 100%;
    max-width: none;
    aspect-ratio: 1.32 / 1;
  }

  .about-page-director__content {
    padding-right: 0;
  }

  .about-page-director__content h2 {
    font-size: 25px;
  }

  .about-page-director__content::after {
    right: 0;
    top: auto;
    bottom: -8px;
    transform: none;
    font-size: 72px;
  }
}

/* About lower section green accents */
.about-page-values__icon,
.about-page-values__icon svg,
.about-page-team__copy .eyebrow,
.about-page-stat-card__icon {
  color: #22c66f;
}

.about-page-section-head .eyebrow {
  color: #13a95f;
}

.about-page-values__grid article > span:not(.about-page-values__icon) {
  color: #082754;
  font-weight: 800;
}

.about-page-values__grid p {
  color: #425a7b;
}

.about-page-team__copy .eyebrow {
  font-weight: 800;
}

.about-page-team__list li::before {
  color: #18bf6a;
}

.about-page-stat-card__icon svg {
  stroke: currentColor;
}

/* About contact-style hero and interactions */
.about-contact-hero {
  padding: 88px 0 104px;
  background:
    radial-gradient(circle at 80% 14%, rgba(53, 209, 125, 0.26), transparent 25%),
    linear-gradient(115deg, #06182d 0%, #1d5e72 48%, #22a86a 100%);
}

.about-page {
  scroll-behavior: smooth;
}

#about-mission {
  scroll-margin-top: 126px;
}

.about-contact-hero .contact-hero__grid {
  min-height: 350px;
}

.about-contact-hero .contact-hero__copy {
  padding: 44px 0 70px;
}

.about-contact-hero .contact-hero__copy .eyebrow {
  color: #8ff0bf;
}

.about-contact-hero .contact-hero__actions .btn {
  transition: transform .28s ease, box-shadow .28s ease, background .28s ease, border-color .28s ease;
}

.about-contact-hero .contact-hero__actions .btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

.about-contact-hero__visual {
  display: grid;
  place-items: center;
}

.about-contact-hero__mark {
  position: relative;
  width: 210px;
  height: 210px;
  animation: aboutHeroFloat 5s ease-in-out infinite;
}

.about-contact-hero__mark::before,
.about-contact-hero__mark::after {
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(143, 240, 191, 0.28);
  border-radius: 50%;
  content: "";
  animation: aboutHeroPulse 2.8s ease-in-out infinite;
}

.about-contact-hero__mark::after {
  inset: -6px;
  border-color: rgba(255, 255, 255, 0.17);
  animation-delay: .55s;
}

.about-contact-hero__mark span {
  position: absolute;
  inset: 42px;
  background: #35d17d;
  filter: drop-shadow(0 20px 34px rgba(0, 0, 0, 0.30));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17' cy='17' r='6'/%3E%3Ccircle cx='32' cy='18' r='5'/%3E%3Cpath d='M6 39c1.5-8 5.2-12 11-12s9.5 4 11 12M28 31c5.7.5 9.8 3.2 12 8'/%3E%3Cpath d='M34 7v8h8'/%3E%3Cpath d='M34 15 43 6'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='17' cy='17' r='6'/%3E%3Ccircle cx='32' cy='18' r='5'/%3E%3Cpath d='M6 39c1.5-8 5.2-12 11-12s9.5 4 11 12M28 31c5.7.5 9.8 3.2 12 8'/%3E%3Cpath d='M34 7v8h8'/%3E%3Cpath d='M34 15 43 6'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

.about-page-strip__grid,
.about-page-director__grid,
.about-page-values__grid article,
.about-page-team__copy,
.about-page-team__visual,
.about-page-stat-card {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, filter .32s ease;
}

.about-page-strip article,
.about-page-values__grid article,
.about-page-team__list li,
.about-page-stat-card {
  transition: transform .28s ease, color .28s ease, background .28s ease, box-shadow .28s ease;
}

.about-page-strip article:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.035);
}

.about-page-strip article:hover .about-page-strip__icon {
  transform: scale(1.06);
  box-shadow:
    0 0 0 13px rgba(21, 204, 112, 0.24),
    0 0 0 24px rgba(21, 204, 112, 0.11),
    0 20px 38px rgba(0, 0, 0, 0.18);
}

.about-page-strip article:nth-child(2):hover .about-page-strip__icon {
  box-shadow:
    0 0 0 13px rgba(22, 138, 255, 0.26),
    0 0 0 24px rgba(22, 138, 255, 0.12),
    0 20px 38px rgba(0, 0, 0, 0.18);
}

.about-page-director__grid:hover,
.about-page-values__grid article:hover,
.about-page-team__copy:hover,
.about-page-team__visual:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 54px rgba(18, 47, 83, 0.13);
}

.about-page-director__photo img,
.about-page-team__visual img {
  transition: transform .55s ease, filter .55s ease;
}

.about-page-director__grid:hover .about-page-director__photo img,
.about-page-team__visual:hover img {
  transform: scale(1.045);
  filter: saturate(1.08) contrast(1.04);
}

.about-page-values__grid article:hover .about-page-values__icon {
  transform: translateY(-3px) scale(1.08);
  color: #12b864;
}

.about-page-team__list li:hover {
  transform: translateX(6px);
  color: #082754;
}

.about-page-stat-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 26px 46px rgba(18, 47, 83, 0.18);
}

@keyframes aboutHeroFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(-2deg); }
}

@keyframes aboutHeroPulse {
  0%, 100% { transform: scale(0.94); opacity: .7; }
  50% { transform: scale(1.08); opacity: 1; }
}

@media (max-width: 1100px) {
  .about-contact-hero .contact-hero__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .about-contact-hero .contact-hero__copy {
    padding-bottom: 18px;
  }

  .about-contact-hero__visual {
    min-height: 190px;
  }

  .about-contact-hero__mark {
    width: 160px;
    height: 160px;
  }
}

@media (max-width: 767px) {
  .about-contact-hero {
    padding: 62px 0 82px;
  }

  .about-contact-hero .contact-hero__copy {
    padding-top: 18px;
  }
}

/* About final correction: banner + contact-style effects */
.about-contact-hero {
  min-height: 360px;
  padding: 0;
  background:
    linear-gradient(120deg, rgba(4, 18, 36, .94) 0%, rgba(8, 43, 80, .86) 52%, rgba(6, 60, 76, .78) 100%),
    url("../assets/banner.webp") center / cover no-repeat;
}

.about-contact-hero .contact-hero__grid {
  min-height: 360px;
}

.about-contact-hero .contact-hero__copy {
  max-width: 620px;
  padding: 48px 0 72px;
}

.about-contact-hero .contact-hero__visual {
  min-height: 360px;
}

.about-contact-hero.contact-hero--reference h1 {
  max-width: 620px;
  font-size: clamp(34px, 3.5vw, 52px);
}

.about-contact-hero.contact-hero--reference p:not(.eyebrow) {
  max-width: 500px;
  font-size: 15px;
  line-height: 1.65;
}

.about-contact-hero .contact-hero__actions {
  margin-top: 20px;
}

.about-contact-hero__mark {
  width: 160px;
  height: 160px;
}

.about-contact-hero__mark span {
  inset: 34px;
}

.about-page-banner {
  padding-top: 44px;
}

.about-page-banner__visual,
.about-page-director__grid,
.about-page-values__grid article,
.about-page-team__copy,
.about-page-team__visual,
.about-page-stat-card,
.about-page-strip article {
  position: relative;
  overflow: hidden;
}

.about-page-banner__visual::before,
.about-page-director__grid::before,
.about-page-values__grid article::before,
.about-page-team__copy::before,
.about-page-team__visual::before,
.about-page-stat-card::before,
.about-page-strip article::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: linear-gradient(120deg, transparent 0%, rgba(8, 166, 79, .10) 38%, rgba(0, 110, 208, .08) 52%, transparent 72%);
  opacity: 0;
  transform: translateX(-45%);
  transition: opacity .32s ease, transform .55s ease;
  pointer-events: none;
}

.about-page-banner__visual > *,
.about-page-director__grid > *,
.about-page-values__grid article > *,
.about-page-team__copy > *,
.about-page-team__visual > *,
.about-page-stat-card > *,
.about-page-strip article > * {
  position: relative;
  z-index: 1;
}

.about-page-banner__visual:hover,
.about-page-director__grid:hover,
.about-page-values__grid article:hover,
.about-page-team__copy:hover,
.about-page-team__visual:hover,
.about-page-stat-card:hover,
.about-page-strip article:hover {
  transform: translateY(-7px);
  border-color: rgba(8, 166, 79, .38);
  box-shadow: 0 28px 64px rgba(8, 36, 70, .14);
}

.about-page-banner__visual:hover::before,
.about-page-director__grid:hover::before,
.about-page-values__grid article:hover::before,
.about-page-team__copy:hover::before,
.about-page-team__visual:hover::before,
.about-page-stat-card:hover::before,
.about-page-strip article:hover::before {
  opacity: 1;
  transform: translateX(30%);
}

.about-page-float-card__icon,
.about-page-strip__icon,
.about-page-values__icon,
.about-page-stat-card__icon {
  transition: transform .3s ease, box-shadow .3s ease, color .3s ease;
}

.about-page-banner__visual:hover .about-page-float-card__icon,
.about-page-strip article:hover .about-page-strip__icon,
.about-page-values__grid article:hover .about-page-values__icon,
.about-page-stat-card:hover .about-page-stat-card__icon {
  animation: contactIconFloat 1.4s ease-in-out infinite;
}

.about-page-strip article:hover {
  background: transparent;
}

.about-page-strip article:hover .about-page-strip__icon {
  transform: none;
}

.about-page-team__list li:hover {
  transform: translateX(5px);
}

@media (max-width: 1100px) {
  .about-contact-hero .contact-hero__grid {
    min-height: 360px;
  }

  .about-contact-hero .contact-hero__visual {
    min-height: 180px;
  }
}

@media (max-width: 767px) {
  .about-contact-hero {
    min-height: 320px;
    padding: 0;
  }

  .about-contact-hero .contact-hero__grid {
    min-height: 320px;
  }
}

/* About first content section reference repair */
.about-page-banner {
  padding: 46px 0 28px;
  background: #ffffff;
}

.about-page-banner__grid {
  grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1.14fr);
  gap: 72px;
  align-items: center;
}

.about-page-banner__copy h1 {
  width: min(100%, 520px);
  font-size: 32px;
  line-height: 1.16;
  font-weight: 800;
}

.about-page-banner__copy p:not(.eyebrow) {
  max-width: 56ch;
  margin-bottom: 17px;
  font-size: 14px;
  line-height: 1.75;
}

.about-page-banner__visual {
  position: relative;
  overflow: visible !important;
  padding: 0 0 62px;
  border-radius: 0;
  box-shadow: none;
}

.about-page-banner__visual:hover {
  transform: none;
  box-shadow: none;
}

.about-page-banner__visual::before {
  display: none;
}

.about-page-banner__visual img {
  display: block;
  width: 100%;
  aspect-ratio: 1.75 / 1;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 18px 42px rgba(8, 36, 70, 0.10);
}

.about-page-float-card {
  left: -96px;
  bottom: 28px;
  width: 258px;
  min-height: 124px;
  padding: 18px 18px 17px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  border-radius: 18px;
  background: linear-gradient(145deg, #06254c 0%, #0d4d98 100%);
  box-shadow: 0 22px 44px rgba(5, 27, 57, 0.24);
}

.about-page-float-card__icon {
  width: 32px;
  height: 32px;
  color: #16bf6e;
}

.about-page-float-card strong {
  color: #ffffff;
  font-size: 15px;
  line-height: 1.25;
}

.about-page-float-card p {
  margin-top: 9px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12.5px;
  line-height: 1.55;
}

@media (max-width: 1100px) {
  .about-page-banner__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-page-float-card {
    left: 24px;
    bottom: 24px;
  }
}

@media (max-width: 767px) {
  .about-page-banner {
    padding-top: 30px;
  }

  .about-page-banner__copy h1 {
    font-size: 28px;
  }

  .about-page-banner__visual {
    padding-bottom: 92px;
  }

  .about-page-float-card {
    left: 14px;
    right: 14px;
    bottom: 18px;
    width: auto;
  }
}

/* Keep about content stable; hover only the icons */
.about-page-strip article:hover,
.about-page-values__grid article:hover,
.about-page-director__grid:hover,
.about-page-team__copy:hover,
.about-page-team__visual:hover,
.about-page-stat-card:hover,
.about-page-banner__visual:hover {
  transform: none;
  box-shadow: inherit;
  border-color: inherit;
  background: inherit;
}

.about-page-strip article::before,
.about-page-values__grid article::before,
.about-page-director__grid::before,
.about-page-team__copy::before,
.about-page-team__visual::before,
.about-page-stat-card::before,
.about-page-banner__visual::before {
  display: none;
}

.about-page-director__grid:hover .about-page-director__photo img,
.about-page-team__visual:hover img {
  transform: none;
  filter: none;
}

.about-page-team__list li:hover {
  transform: none;
}

.about-page-strip article:hover .about-page-strip__icon,
.about-page-values__grid article:hover .about-page-values__icon,
.about-page-banner__visual:hover .about-page-float-card__icon,
.about-page-stat-card:hover .about-page-stat-card__icon {
  animation: contactIconFloat 1.4s ease-in-out infinite;
  transform: none;
}

.about-page-strip__icon:hover,
.about-page-values__icon:hover,
.about-page-float-card__icon:hover,
.about-page-stat-card__icon:hover {
  animation: contactIconFloat 1.4s ease-in-out infinite;
  color: #18bf6a;
}

/* Premium about interactions: icon-only, no content hover */
.about-page-strip article:hover,
.about-page-values__grid article:hover,
.about-page-director__grid:hover,
.about-page-team__copy:hover,
.about-page-team__visual:hover,
.about-page-stat-card:hover,
.about-page-banner__visual:hover {
  transform: none !important;
  background: transparent !important;
  filter: none !important;
}

.about-page-values__grid article:hover,
.about-page-director__grid:hover,
.about-page-team__copy:hover,
.about-page-team__visual:hover,
.about-page-stat-card:hover {
  box-shadow: 0 14px 36px rgba(8, 36, 70, 0.07) !important;
}

.about-page-strip article:hover {
  box-shadow: none !important;
}

.about-page-strip article::before,
.about-page-values__grid article::before,
.about-page-director__grid::before,
.about-page-team__copy::before,
.about-page-team__visual::before,
.about-page-stat-card::before,
.about-page-banner__visual::before {
  display: none !important;
  opacity: 0 !important;
  content: none !important;
}

.about-page-strip h3,
.about-page-strip p,
.about-page-values__grid article > span:not(.about-page-values__icon),
.about-page-values__grid p,
.about-page-team__copy h2,
.about-page-team__copy p,
.about-page-team__list li,
.about-page-stat-card strong,
.about-page-stat-card h4,
.about-page-stat-card p {
  transition: none !important;
  transform: none !important;
}

.about-page-float-card__icon,
.about-page-strip__icon,
.about-page-values__icon,
.about-page-stat-card__icon {
  position: relative;
  overflow: visible;
  will-change: transform, filter;
  transition: transform .34s cubic-bezier(.22, 1, .36, 1), filter .34s ease, color .34s ease, box-shadow .34s ease;
}

.about-page-strip__icon::after,
.about-page-float-card__icon::after,
.about-page-stat-card__icon::after {
  position: absolute;
  inset: -9px;
  border: 1px solid currentColor;
  border-radius: inherit;
  content: "";
  opacity: 0;
  transform: scale(.86);
  transition: opacity .34s ease, transform .34s ease;
  pointer-events: none;
}

.about-page-values__icon::after {
  position: absolute;
  inset: -8px;
  border: 1px solid rgba(24, 191, 106, .34);
  border-radius: 18px;
  content: "";
  opacity: 0;
  transform: scale(.86);
  transition: opacity .34s ease, transform .34s ease;
  pointer-events: none;
}

.about-page-strip article:hover .about-page-strip__icon,
.about-page-strip__icon:hover,
.about-page-values__grid article:hover .about-page-values__icon,
.about-page-values__icon:hover,
.about-page-banner__visual:hover .about-page-float-card__icon,
.about-page-float-card__icon:hover,
.about-page-stat-card:hover .about-page-stat-card__icon,
.about-page-stat-card__icon:hover {
  animation: aboutPremiumIconFloat 1.85s ease-in-out infinite !important;
  transform: translateY(-3px) scale(1.055) !important;
  color: #18bf6a;
  filter: drop-shadow(0 14px 18px rgba(24, 191, 106, .22));
}

.about-page-strip article:nth-child(2):hover .about-page-strip__icon {
  color: #ffffff;
  filter: drop-shadow(0 14px 20px rgba(22, 138, 255, .28));
}

.about-page-strip article:hover .about-page-strip__icon::after,
.about-page-strip__icon:hover::after,
.about-page-values__grid article:hover .about-page-values__icon::after,
.about-page-values__icon:hover::after,
.about-page-banner__visual:hover .about-page-float-card__icon::after,
.about-page-float-card__icon:hover::after,
.about-page-stat-card:hover .about-page-stat-card__icon::after,
.about-page-stat-card__icon:hover::after {
  opacity: .36;
  transform: scale(1.16);
  animation: aboutPremiumRing 1.85s ease-in-out infinite;
}

.about-page-strip article:hover .about-page-strip__icon svg *,
.about-page-strip__icon:hover svg *,
.about-page-values__grid article:hover .about-page-values__icon svg *,
.about-page-values__icon:hover svg *,
.about-page-banner__visual:hover .about-page-float-card__icon svg *,
.about-page-float-card__icon:hover svg *,
.about-page-stat-card:hover .about-page-stat-card__icon svg *,
.about-page-stat-card__icon:hover svg * {
  stroke-dasharray: 120;
  stroke-dashoffset: 0;
  animation: aboutPremiumDraw 1.2s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes aboutPremiumIconFloat {
  0%, 100% { transform: translateY(-2px) scale(1.045); }
  50% { transform: translateY(-6px) scale(1.075); }
}

@keyframes aboutPremiumRing {
  0%, 100% { opacity: .18; transform: scale(1.02); }
  50% { opacity: .48; transform: scale(1.20); }
}

@keyframes aboutPremiumDraw {
  0% { stroke-dashoffset: 42; }
  100% { stroke-dashoffset: 0; }
}

/* About team section reference repair */
.about-page-team {
  padding-top: 30px;
  padding-bottom: 0;
  background: #ffffff;
}

.about-page-team__grid {
  display: grid;
  grid-template-columns: minmax(270px, 0.44fr) minmax(0, 1fr);
  gap: 26px;
  align-items: center;
}

.about-page-team__copy {
  padding: 26px 0 18px 18px;
  background: transparent;
  border: 0;
  box-shadow: none !important;
  overflow: visible;
}

.about-page-team__copy .eyebrow {
  margin-bottom: 8px;
  color: #10aa61;
  font-size: 12px;
  line-height: 1;
}

.about-page-team__copy h2 {
  max-width: 310px;
  margin-bottom: 14px;
  font-size: 28px;
  line-height: 1.08;
}

.about-page-team__copy p {
  max-width: 390px;
  margin-bottom: 15px;
  font-size: 13px;
  line-height: 1.65;
}

.about-page-team__list {
  gap: 8px;
}

.about-page-team__list li {
  font-size: 12.5px;
  line-height: 1.35;
}

.about-page-team__visual {
  position: relative;
  min-height: 0;
  height: 252px;
  align-self: center;
  overflow: hidden;
  border-radius: 15px;
  background: #eaf2f6;
  box-shadow: 0 18px 42px rgba(8, 36, 70, 0.11);
}

.about-page-team__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.about-page-stat-card {
  position: absolute;
  right: 26px;
  top: 50%;
  bottom: auto;
  width: 176px;
  min-height: 205px;
  padding: 24px 18px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(226, 234, 241, .95);
  border-radius: 10px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 34px rgba(8, 36, 70, 0.16) !important;
  text-align: center;
}

.about-page-stat-card__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 13px;
  color: #18bf6a;
}

.about-page-stat-card strong {
  display: block;
  color: #0f2651;
  font-size: 30px;
  line-height: 1;
}

.about-page-stat-card h4 {
  margin: 7px 0 10px;
  color: #0f2651;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}

.about-page-stat-card p {
  margin: 0;
  color: #526981;
  font-size: 12px;
  line-height: 1.45;
}

.about-page-team__visual:hover,
.about-page-team__copy:hover,
.about-page-stat-card:hover {
  transform: none !important;
}

.about-page-stat-card:hover {
  transform: translateY(-50%) !important;
}

@media (max-width: 1100px) {
  .about-page-team__grid {
    grid-template-columns: 1fr;
  }

  .about-page-team__copy {
    padding-left: 0;
  }

  .about-page-team__visual {
    height: 320px;
  }
}

@media (max-width: 767px) {
  .about-page-team__copy {
    padding-top: 10px;
  }

  .about-page-team__visual {
    height: 260px;
  }

  .about-page-stat-card {
    right: 14px;
    width: 138px;
    min-height: 160px;
    padding: 15px 12px;
  }
}

/* About page home-aligned spacing and icon/card effects */
.about-page {
  background: #ffffff;
}

.about-page-banner,
.about-page-strip,
.about-page-director,
.about-page-values,
.about-page-team {
  padding-top: 58px;
}

.about-page-team {
  padding-bottom: 58px;
}

.about-page-banner + .about-page-strip,
.about-page-strip + .about-page-director,
.about-page-director + .about-page-values,
.about-page-values + .about-page-team {
  margin-top: 0;
}

.about-page-banner__visual,
.about-page-director__grid,
.about-page-values__grid article,
.about-page-team__visual,
.about-page-stat-card {
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    filter .24s ease;
}

.about-page-values__grid article,
.about-page-director__grid,
.about-page-team__visual,
.about-page-stat-card {
  border: 1px solid #e6eef7;
  box-shadow: 0 12px 30px rgba(11, 38, 72, .07);
}

.about-page-values__grid article:hover,
.about-page-director__grid:hover,
.about-page-team__visual:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(5, 101, 199, .24) !important;
  box-shadow: 0 24px 56px rgba(8, 36, 70, .14) !important;
}

.about-page-stat-card:hover {
  transform: translateY(-50%) !important;
  box-shadow: 0 22px 48px rgba(8, 36, 70, .18) !important;
}

.about-page-banner__visual:hover {
  transform: translateY(-4px) !important;
}

.about-page-banner__visual:hover img {
  box-shadow: 0 24px 56px rgba(8, 36, 70, .14);
  filter: drop-shadow(5px 5px 10px #000000);
}

.about-page-strip article {
  transition: background .24s ease;
}

.about-page-strip article:hover {
  background: rgba(255, 255, 255, .035) !important;
}

.about-page-strip h3,
.about-page-strip p,
.about-page-values__grid article > span:not(.about-page-values__icon),
.about-page-values__grid p,
.about-page-team__copy h2,
.about-page-team__copy p,
.about-page-team__list li,
.about-page-stat-card strong,
.about-page-stat-card h4,
.about-page-stat-card p {
  color: inherit;
  transform: none !important;
}

.about-page-float-card__icon,
.about-page-strip__icon,
.about-page-values__icon,
.about-page-stat-card__icon {
  transition:
    transform .3s ease,
    box-shadow .3s ease,
    filter .3s ease,
    color .3s ease;
}

.about-page-banner__visual:hover .about-page-float-card__icon,
.about-page-float-card__icon:hover,
.about-page-strip article:hover .about-page-strip__icon,
.about-page-strip__icon:hover,
.about-page-values__grid article:hover .about-page-values__icon,
.about-page-values__icon:hover,
.about-page-stat-card:hover .about-page-stat-card__icon,
.about-page-stat-card__icon:hover {
  animation: contactIconFloat 1.4s ease-in-out infinite !important;
  filter: drop-shadow(0 12px 20px rgba(8, 166, 79, .24));
}

.about-page-strip article:hover .about-page-strip__icon {
  box-shadow:
    0 0 0 12px rgba(21, 204, 112, .22),
    0 0 0 22px rgba(21, 204, 112, .10),
    inset 0 1px 0 rgba(255, 255, 255, .22);
}

.about-page-strip article:nth-child(2):hover .about-page-strip__icon {
  box-shadow:
    0 0 0 12px rgba(22, 138, 255, .22),
    0 0 0 22px rgba(22, 138, 255, .10),
    inset 0 1px 0 rgba(255, 255, 255, .22);
  filter: drop-shadow(0 12px 20px rgba(22, 138, 255, .24));
}

.about-page-values__grid article:hover .about-page-values__icon {
  color: #05763d;
}

.about-page-team__list li::before {
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease;
}

.about-page-team__list li:hover::before {
  transform: scale(1.08);
  box-shadow: 0 0 0 5px rgba(8, 166, 79, .10);
}

.about-page-director__grid:hover .about-page-director__photo img,
.about-page-team__visual:hover img {
  transform: scale(1.015) !important;
  filter: saturate(1.04) contrast(1.02) !important;
}

@media (max-width: 767px) {
  .about-page-banner,
  .about-page-strip,
  .about-page-director,
  .about-page-values,
  .about-page-team {
    padding-top: 42px;
  }

  .about-page-team {
    padding-bottom: 42px;
  }
}

/* Mission/Vision/Goal visibility and spacing fix */
.about-page-banner {
  padding-bottom: 18px;
}

.about-page-strip {
  padding-top: 18px !important;
}

.about-page-director,
.about-page-values,
.about-page-team {
  padding-top: 24px !important;
}

.about-page-team {
  padding-bottom: 34px !important;
}

.about-page-strip__grid {
  min-height: 188px;
}

.about-page-strip article {
  min-height: 188px;
  padding: 26px 30px;
  grid-template-columns: 86px minmax(0, 1fr);
  column-gap: 22px;
}

.about-page-strip h3 {
  margin: 2px 0 12px;
  color: #ffffff !important;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 800;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .24);
}

.about-page-strip h3::after {
  margin-top: 10px;
}

.about-page-strip p {
  max-width: 31ch;
  color: rgba(255, 255, 255, .92) !important;
  font-size: 13.5px;
  line-height: 1.62;
  font-weight: 500;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}

.about-page-strip__icon {
  width: 72px;
  height: 72px;
}

.about-page-strip__icon svg {
  width: 34px;
  height: 34px;
}

@media (max-width: 1100px) {
  .about-page-strip article {
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .about-page-banner {
    padding-bottom: 8px;
  }

  .about-page-strip {
    padding-top: 12px !important;
  }

  .about-page-strip article {
    grid-template-columns: 66px minmax(0, 1fr);
    padding: 22px 18px;
    column-gap: 16px;
  }

  .about-page-strip__icon {
    width: 56px;
    height: 56px;
  }
}

/* Preserve icon contrast on hover */
.about-page-strip article:hover .about-page-strip__icon,
.about-page-strip__icon:hover,
.about-page-strip article:nth-child(2):hover .about-page-strip__icon,
.about-page-strip__icon--vision:hover,
.about-page-strip article:nth-child(3):hover .about-page-strip__icon,
.about-page-strip__icon--goal:hover {
  color: #ffffff !important;
}

.about-page-strip article:hover .about-page-strip__icon svg,
.about-page-strip__icon:hover svg,
.about-page-strip article:hover .about-page-strip__icon svg *,
.about-page-strip__icon:hover svg * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

.about-page-values__grid article:hover .about-page-values__icon,
.about-page-values__icon:hover,
.about-page-stat-card:hover .about-page-stat-card__icon,
.about-page-stat-card__icon:hover,
.about-page-banner__visual:hover .about-page-float-card__icon,
.about-page-float-card__icon:hover {
  color: #18bf6a !important;
}

.about-page-values__grid article:hover .about-page-values__icon svg *,
.about-page-values__icon:hover svg *,
.about-page-stat-card:hover .about-page-stat-card__icon svg *,
.about-page-stat-card__icon:hover svg *,
.about-page-banner__visual:hover .about-page-float-card__icon svg *,
.about-page-float-card__icon:hover svg * {
  stroke: currentColor !important;
}

/* Our Values process-style icon effect */
.about-page-values__grid article {
  position: relative;
  overflow: visible;
  min-height: 214px !important;
  padding: 52px 22px 24px !important;
  border: 1px solid rgba(211, 226, 241, .95) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(5, 101, 199, .08), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f9fcff 100%) !important;
  box-shadow: 0 18px 42px rgba(8, 36, 70, .08) !important;
}

.about-page-values__icon {
  position: absolute;
  display: grid;
  place-items: center;
  left: 50%;
  top: -22px;
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  color: #16b96a !important;
  border: 1px solid rgba(22, 185, 106, .22);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(243, 252, 247, .94));
  box-shadow:
    0 14px 30px rgba(8, 36, 70, .12),
    0 0 0 8px rgba(22, 185, 106, .05);
  transform: translateX(-50%) rotate(45deg);
}

.about-page-values__icon::before {
  position: absolute;
  inset: 7px;
  border-radius: 14px;
  content: "";
  background:
    radial-gradient(circle at 72% 24%, rgba(22, 185, 106, .18) 0 4px, transparent 5px),
    linear-gradient(180deg, rgba(236, 251, 243, .94), rgba(255,255,255,.98));
  pointer-events: none;
}

.about-page-values__icon::after {
  display: block;
  position: absolute;
  inset: -8px;
  border: 1px solid rgba(22, 185, 106, .12);
  border-radius: 20px;
  content: "";
}

.about-page-values__icon svg {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 24px !important;
  height: 24px !important;
  transform: translate(-50%, -50%) rotate(-45deg);
  transform-origin: center;
}

.about-page-values__grid article:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(5, 101, 199, .34) !important;
  box-shadow: 0 28px 70px rgba(8, 36, 70, .16) !important;
}

.about-page-values__grid article:hover .about-page-values__icon,
.about-page-values__icon:hover {
  animation: none !important;
  transform: translateX(-50%) translateY(-3px) rotate(45deg) scale(1.03) !important;
  border-color: rgba(22, 185, 106, .30);
  box-shadow:
    0 18px 36px rgba(8, 36, 70, .15),
    0 0 0 10px rgba(22, 185, 106, .06);
}

.about-page-values__grid article:hover .about-page-values__icon svg,
.about-page-values__icon:hover svg {
  transform: translate(-50%, -50%) rotate(-45deg) scale(1.05);
}

.about-page-values__grid article:hover .about-page-values__icon::before,
.about-page-values__icon:hover::before {
  animation: none;
}

.about-page-values__grid article > span:not(.about-page-values__icon),
.about-page-values__grid p {
  transform: none !important;
}

.about-page-values__grid article > span:not(.about-page-values__icon) {
  display: block;
  margin-top: 0;
  margin-bottom: 10px !important;
  text-align: center;
  color: #10243d;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
}

.about-page-values__grid p {
  margin: 0 auto;
  max-width: 180px;
  text-align: center;
  color: #667790;
  font-size: 14px;
  line-height: 1.55 !important;
}

/* Keep team stat card readable on hover */
.about-page-team__visual .about-page-stat-card,
.about-page-team__visual .about-page-stat-card:hover {
  background: rgba(255, 255, 255, .97) !important;
  color: #0f2651 !important;
  border-color: rgba(226, 234, 241, .96) !important;
  box-shadow: 0 18px 42px rgba(8, 36, 70, .18) !important;
  opacity: 1 !important;
}

.about-page-team__visual .about-page-stat-card strong,
.about-page-team__visual .about-page-stat-card:hover strong,
.about-page-team__visual .about-page-stat-card h4,
.about-page-team__visual .about-page-stat-card:hover h4 {
  color: #0f2651 !important;
  opacity: 1 !important;
}

.about-page-team__visual .about-page-stat-card p,
.about-page-team__visual .about-page-stat-card:hover p {
  color: #526981 !important;
  opacity: 1 !important;
}

.about-page-team__visual .about-page-stat-card__icon,
.about-page-team__visual .about-page-stat-card:hover .about-page-stat-card__icon {
  color: #18bf6a !important;
  opacity: 1 !important;
}

/* About page image shadow only */
.about-page img {
  filter: drop-shadow(5px 5px 10px #000000);
}

.about-page svg,
.about-page [class*="icon"] svg {
  filter: none;
}

/* Final about section gap correction */
.about-page-strip {
  padding-bottom: 0 !important;
}

.about-page-director {
  padding-top: 8px !important;
}

.about-page-director__grid {
  min-height: 244px !important;
  padding: 10px 18px !important;
}

.about-page-director__photo {
  width: 280px;
  max-width: 280px;
  aspect-ratio: 1.18 / 1 !important;
}

.about-page-director__content {
  min-height: 210px !important;
}

.about-page-director__content h2 {
  margin-bottom: 12px !important;
}

.about-page-director__content p {
  margin-bottom: 8px !important;
  line-height: 1.55 !important;
}

.about-page-signature {
  margin-top: 2px !important;
}

.about-page-values {
  padding-top: 74px !important;
  position: relative;
  overflow: hidden;
}

.about-page-section-head {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto 24px !important;
  text-align: center;
}

.about-page-values::before {
  position: absolute;
  left: 50%;
  top: 38px;
  width: min(900px, 86vw);
  height: 260px;
  border-radius: 999px;
  content: "";
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 35% 45%, rgba(0, 148, 74, .10), transparent 36%),
    radial-gradient(circle at 66% 40%, rgba(5, 101, 199, .11), transparent 38%);
  filter: blur(10px);
  pointer-events: none;
}

.about-page-values__grid {
  position: relative;
  z-index: 1;
}

.about-page-section-head .eyebrow {
  margin-bottom: 10px !important;
}

.about-page-section-head h2 {
  max-width: 720px;
  margin: 0 auto;
  color: #10243d;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.14;
}

.about-page-values__grid {
  align-items: stretch;
  gap: 18px !important;
}

.about-page-values__grid article {
  min-height: 220px !important;
  padding: 28px 22px 24px !important;
}

.about-page-values__icon {
  margin-bottom: 16px !important;
}

.about-page-values__grid span {
  display: block;
  margin-bottom: 10px !important;
}

.about-page-values__grid p {
  line-height: 1.5 !important;
}

.about-page-team {
  padding-top: 14px !important;
  padding-bottom: 26px !important;
  position: relative;
  overflow: hidden;
}

.about-page-team::before {
  position: absolute;
  left: 20%;
  top: -28px;
  width: min(620px, 78vw);
  height: 190px;
  content: "";
  background:
    radial-gradient(circle at 36% 40%, rgba(18, 191, 106, .13), transparent 58%),
    radial-gradient(circle at 62% 46%, rgba(22, 125, 255, .08), transparent 62%);
  filter: blur(8px);
  pointer-events: none;
}

.about-page-team__grid {
  position: relative;
  z-index: 1;
}

.about-page-team__copy {
  padding-top: 12px !important;
  padding-bottom: 10px !important;
}

.about-page-team__copy h2 {
  margin-bottom: 10px !important;
}

.about-page-team__copy p {
  margin-bottom: 10px !important;
}

.about-page-team__list {
  gap: 7px !important;
}

.about-page-team__visual {
  height: 260px !important;
}

.about-page-stat-card {
  min-height: 180px !important;
  padding: 18px 16px !important;
}

@media (max-width: 1100px) {
  .about-page-director__photo {
    width: min(100%, 340px);
    max-width: 340px;
  }

  .about-page-director__content {
    min-height: 0 !important;
  }
}

/* Final navbar dropdown polish: top-level underline stays out of flyout rows. */
.submenu .nav-item > a,
.submenu .nav-item > a:hover,
.submenu .nav-item:focus-within > a {
  position: relative;
  min-height: auto !important;
  padding: 12px 14px !important;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  transform: none;
}

.submenu .nav-item > a::before {
  display: none !important;
  content: none !important;
}

.submenu .nav-item > a::after {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.submenu .nav-item > a:hover,
.submenu .nav-item:focus-within > a {
  background: linear-gradient(135deg, rgba(0, 148, 74, .10), rgba(5, 101, 199, .08));
  color: var(--green);
}

.submenu .has-submenu > a::after {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  content: ">" !important;
  flex: 0 0 auto;
  margin-left: 18px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

/* Infrastructure solution page */
.infra-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(21, 191, 106, .08), transparent 28%),
    radial-gradient(circle at 86% 12%, rgba(5, 101, 199, .10), transparent 30%),
    #ffffff;
}

.infra-page::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  content: "";
  background-image:
    linear-gradient(rgba(7, 21, 47, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 21, 47, .045) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(circle at 50% 18%, #000 0 34%, transparent 68%);
  pointer-events: none;
}

.infra-top-banner {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 300px;
  display: flex;
  align-items: center;
  color: #ffffff;
  background:
    radial-gradient(circle at 82% 18%, rgba(18, 191, 106, .28), transparent 27%),
    radial-gradient(circle at 15% 94%, rgba(5, 101, 199, .36), transparent 32%),
    linear-gradient(116deg, #06182d 0%, #0a3762 54%, #0a6a49 100%);
}

.infra-top-banner::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000 0 64%, transparent 100%);
}

.infra-top-banner::after {
  position: absolute;
  right: 8%;
  top: 50%;
  z-index: -1;
  width: 230px;
  height: 230px;
  content: "";
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  box-shadow:
    0 0 0 42px rgba(255,255,255,.045),
    0 0 0 86px rgba(255,255,255,.025);
  transform: translateY(-50%);
}

.infra-top-banner__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  padding: 62px 0;
}

.infra-top-banner .eyebrow {
  color: #8ff0bf;
  margin-bottom: 12px;
}

.infra-top-banner h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px, 5.2vw, 72px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -1.8px;
}

.infra-top-banner p:not(.eyebrow) {
  max-width: 660px;
  margin: 18px 0 0;
  color: rgba(236, 248, 255, .80);
  font-size: 15.5px;
  line-height: 1.75;
  font-weight: 500;
}

.infra-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .14);
  backdrop-filter: blur(14px);
  color: rgba(236, 248, 255, .76);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.infra-breadcrumb a {
  color: #ffffff;
}

.infra-breadcrumb span::before {
  content: "/";
  margin-right: 12px;
  color: rgba(255,255,255,.42);
}

.infra-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 68px 0 74px;
  background:
    linear-gradient(110deg, rgba(248, 252, 255, .98) 0 47%, rgba(232, 245, 255, .94) 47.2% 100%);
}

.infra-hero::before,
.infra-hero::after {
  position: absolute;
  content: "";
  border-radius: 999px;
  pointer-events: none;
}

.infra-hero::before {
  right: -120px;
  top: -130px;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(5, 101, 199, .20), transparent 62%);
}

.infra-hero::after {
  left: 42%;
  bottom: -150px;
  width: 460px;
  height: 280px;
  background: radial-gradient(circle, rgba(18, 191, 106, .18), transparent 64%);
  filter: blur(10px);
}

.infra-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(420px, 1fr);
  align-items: center;
  gap: 60px;
}

.infra-hero__copy h1 {
  max-width: 650px;
  margin: 0;
  color: #07152f;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -1.7px;
}

.infra-hero__copy > p:not(.eyebrow) {
  max-width: 650px;
  margin: 22px 0 28px;
  color: #3f526c;
  font-size: 15.5px;
  line-height: 1.82;
  font-weight: 500;
}

.infra-hero__visual {
  position: relative;
  min-height: 430px;
  border: 1px solid rgba(217, 231, 245, .72);
  border-radius: 34px;
  background:
    radial-gradient(circle at 68% 30%, rgba(21, 191, 106, .28), transparent 22%),
    radial-gradient(circle at 48% 64%, rgba(5, 101, 199, .36), transparent 28%),
    linear-gradient(135deg, #06172e, #07335f 52%, #0b593f);
  box-shadow:
    0 34px 70px rgba(7, 32, 62, .22),
    inset 0 1px 0 rgba(255, 255, 255, .18);
  transform-style: preserve-3d;
}

.infra-hero__visual::before {
  position: absolute;
  inset: 32px;
  content: "";
  border-radius: 26px;
  background:
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 84%, transparent);
}

.infra-orbit {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  animation: infraSpin 16s linear infinite;
}

.infra-orbit--one {
  inset: 54px 84px 54px 84px;
}

.infra-orbit--two {
  inset: 104px 134px 104px 134px;
  animation-duration: 23s;
  animation-direction: reverse;
}

.infra-core {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 160px;
  height: 160px;
  border-radius: 38px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(236, 250, 255, .82));
  box-shadow:
    0 22px 44px rgba(0, 0, 0, .26),
    0 0 0 14px rgba(255, 255, 255, .07);
  transform: translate(-50%, -50%) rotate(45deg);
}

.infra-core strong {
  color: #082f59;
  font-size: 46px;
  font-weight: 900;
  transform: rotate(-45deg);
}

.infra-core span {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 26px rgba(18, 191, 106, .7);
}

.infra-core span:nth-child(1) { left: -36px; top: 18px; }
.infra-core span:nth-child(2) { right: -32px; top: 30px; background: #2b94ff; }
.infra-core span:nth-child(3) { left: 18px; bottom: -34px; background: #2b94ff; }
.infra-core span:nth-child(4) { right: 16px; bottom: -32px; }

.infra-metric {
  position: absolute;
  display: grid;
  gap: 3px;
  min-width: 150px;
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, .20);
  border-radius: 18px;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  box-shadow: 0 18px 36px rgba(0, 0, 0, .18);
  backdrop-filter: blur(14px);
}

.infra-metric strong {
  font-size: 28px;
  line-height: 1;
}

.infra-metric span {
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  font-weight: 700;
}

.infra-metric--uptime {
  left: 30px;
  bottom: 38px;
}

.infra-metric--secure {
  right: 32px;
  top: 38px;
}

.infra-hero__visual:hover {
  transform: translateY(-6px);
  box-shadow:
    0 42px 86px rgba(7, 32, 62, .28),
    inset 0 1px 0 rgba(255, 255, 255, .18);
}

.infra-intro,
.infra-why {
  display: grid;
  grid-template-columns: .95fr 1fr;
  gap: 34px;
  align-items: center;
  padding: 58px 0;
}

.infra-intro__content {
  position: relative;
  padding: 36px;
  border: 1px solid rgba(224, 236, 247, .86);
  border-radius: 28px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 22px 56px rgba(8, 36, 70, .10);
}

.infra-intro__content::before,
.infra-section-head::before {
  position: absolute;
  inset: -34px;
  z-index: -1;
  content: "";
  background:
    radial-gradient(circle at 42% 48%, rgba(18, 191, 106, .14), transparent 58%),
    radial-gradient(circle at 62% 45%, rgba(22, 125, 255, .10), transparent 60%);
  filter: blur(8px);
}

.infra-intro h2,
.infra-section-head h2,
.infra-why h2,
.infra-cta h2 {
  margin: 0;
  color: #07152f;
  font-size: clamp(28px, 3.1vw, 44px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -.8px;
}

.infra-intro p:not(.eyebrow),
.infra-section-head p:not(.eyebrow),
.infra-why p,
.infra-cta p {
  color: #4e627b;
  font-size: 14.5px;
  line-height: 1.75;
  font-weight: 500;
}

.infra-intro__panel {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.infra-intro__panel span {
  display: grid;
  place-items: center;
  min-height: 132px;
  border: 1px solid rgba(220, 233, 246, .92);
  border-radius: 24px;
  color: #07152f;
  font-size: 22px;
  font-weight: 900;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(246, 252, 255, .88));
  box-shadow: 0 16px 40px rgba(8, 36, 70, .09);
  transition: transform .28s ease, box-shadow .28s ease, color .28s ease;
}

.infra-intro__panel span:hover {
  color: var(--green);
  transform: translateY(-8px);
  box-shadow: 0 24px 56px rgba(8, 36, 70, .14);
}

.infra-services,
.infra-approach {
  position: relative;
  padding: 64px 0;
  overflow: hidden;
  background: linear-gradient(180deg, #f7fbff, #ffffff);
}

.infra-services::before,
.infra-approach::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    radial-gradient(circle at 8% 10%, rgba(18, 191, 106, .12), transparent 28%),
    radial-gradient(circle at 90% 18%, rgba(5, 101, 199, .12), transparent 32%);
  pointer-events: none;
}

.infra-section-head {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.infra-service-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 22px;
}

.infra-service-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 28px;
  padding: 28px;
  border: 1px solid rgba(220, 233, 246, .92);
  border-radius: 28px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 44px rgba(8, 36, 70, .09);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.infra-service-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  content: "";
  background: linear-gradient(180deg, var(--green), #167dff);
}

.infra-service-card:hover {
  transform: translateY(-8px);
  border-color: rgba(5, 101, 199, .28);
  box-shadow: 0 30px 68px rgba(8, 36, 70, .16);
}

.infra-card-top span {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 28px;
  margin-bottom: 18px;
  border-radius: 999px;
  color: var(--green);
  background: rgba(18, 191, 106, .11);
  font-size: 12px;
  font-weight: 900;
}

.infra-card-top h3 {
  margin: 0 0 12px;
  color: #07152f;
  font-size: 28px;
  line-height: 1.14;
  font-weight: 900;
}

.infra-card-top p {
  margin: 0;
  color: #51677f;
  font-size: 13.5px;
  line-height: 1.72;
  font-weight: 500;
}

.infra-card-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.infra-card-columns h4 {
  margin: 0 0 12px;
  color: #082f59;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.infra-card-columns ul,
.infra-why__grid {
  list-style: none;
  padding: 0;
  margin: 0;
}

.infra-card-columns li {
  position: relative;
  margin: 9px 0;
  padding-left: 22px;
  color: #263c56;
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 600;
}

.infra-card-columns li::before,
.infra-why__grid article span::before {
  position: absolute;
  content: "";
  border-radius: 50%;
  background: var(--green);
}

.infra-card-columns li::before {
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 5px rgba(18, 191, 106, .10);
}

.infra-why__copy {
  padding-right: 20px;
}

.infra-why__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.infra-why__grid article {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  padding: 16px 18px;
  border: 1px solid rgba(220, 233, 246, .92);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(8, 36, 70, .07);
  color: #0b1f3d;
  font-size: 13px;
  line-height: 1.42;
  font-weight: 800;
  transition: transform .24s ease, box-shadow .24s ease, color .24s ease;
}

.infra-why__grid article span {
  position: relative;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(18, 191, 106, .11);
}

.infra-why__grid article span::before {
  left: 10px;
  top: 10px;
  width: 10px;
  height: 10px;
}

.infra-why__grid article:hover {
  color: var(--green);
  transform: translateY(-6px);
  box-shadow: 0 22px 48px rgba(8, 36, 70, .13);
}

.infra-timeline {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.infra-timeline article {
  position: relative;
  min-height: 238px;
  padding: 30px 22px 24px;
  border: 1px solid rgba(220, 233, 246, .92);
  border-radius: 24px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 16px 40px rgba(8, 36, 70, .09);
  transition: transform .28s ease, box-shadow .28s ease;
}

.infra-timeline article::before {
  position: absolute;
  right: 18px;
  top: 18px;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  content: "";
  background:
    radial-gradient(circle at 70% 26%, rgba(18, 191, 106, .26) 0 5px, transparent 6px),
    linear-gradient(135deg, rgba(18, 191, 106, .10), rgba(5, 101, 199, .10));
  transform: rotate(45deg);
}

.infra-timeline article span {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 28px;
  margin-bottom: 34px;
  border-radius: 999px;
  color: #0565c7;
  background: rgba(5, 101, 199, .10);
  font-size: 12px;
  font-weight: 900;
}

.infra-timeline h3 {
  margin: 0 0 12px;
  color: #07152f;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 900;
}

.infra-timeline p {
  margin: 0;
  color: #5a6e86;
  font-size: 12.5px;
  line-height: 1.6;
  font-weight: 600;
}

.infra-timeline article:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(8, 36, 70, .15);
}

.infra-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 58px;
  margin-bottom: 58px;
  padding: 38px 42px;
  border-radius: 30px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 20%, rgba(18, 191, 106, .34), transparent 28%),
    linear-gradient(135deg, #061a34, #083a65 56%, #07553b);
  box-shadow: 0 28px 70px rgba(7, 32, 62, .22);
}

.infra-cta h2,
.infra-cta p {
  color: #fff;
}

.infra-cta p {
  max-width: 780px;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, .78);
}

@keyframes infraSpin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 1100px) {
  .infra-hero__grid,
  .infra-intro,
  .infra-why {
    grid-template-columns: 1fr;
  }

  .infra-hero__visual {
    min-height: 360px;
  }

  .infra-service-card {
    grid-template-columns: 1fr;
  }

  .infra-timeline {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .infra-hero {
    padding: 58px 0;
  }

  .infra-hero__grid {
    gap: 34px;
  }

  .infra-hero__visual {
    min-height: 320px;
  }

  .infra-metric {
    min-width: 124px;
    padding: 14px;
  }

  .infra-core {
    width: 122px;
    height: 122px;
  }

  .infra-core strong {
    font-size: 34px;
  }

  .infra-intro,
  .infra-why {
    padding: 42px 0;
  }

  .infra-intro__content,
  .infra-service-card,
  .infra-cta {
    padding: 24px;
    border-radius: 22px;
  }

  .infra-intro__panel,
  .infra-card-columns,
  .infra-why__grid,
  .infra-timeline {
    grid-template-columns: 1fr;
  }

  .infra-services,
  .infra-approach {
    padding: 46px 0;
  }

  .infra-cta {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 42px;
    margin-bottom: 42px;
  }
}

/* Infrastructure page premium refinement pass */
.infra-top-banner {
  min-height: 260px;
}

.infra-top-banner__inner {
  padding: 52px 0;
}

.infra-top-banner h1 {
  font-size: clamp(40px, 4.4vw, 58px);
  letter-spacing: -1.2px;
}

.infra-hero {
  padding: 50px 0 58px;
}

.infra-hero__grid {
  grid-template-columns: minmax(0, .98fr) minmax(390px, .92fr);
  gap: 46px;
}

.infra-hero__copy h1 {
  max-width: 600px;
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 1.08;
  letter-spacing: -1px;
}

.infra-hero__copy > p:not(.eyebrow) {
  max-width: 620px;
  margin: 18px 0 22px;
  font-size: 14px;
  line-height: 1.75;
}

.infra-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.infra-hero__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid rgba(5, 101, 199, .13);
  border-radius: 999px;
  color: #163455;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 10px 22px rgba(8, 36, 70, .06);
  font-size: 11.5px;
  font-weight: 800;
}

.infra-hero__chips span::before {
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  content: "";
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(18, 191, 106, .12);
}

.infra-hero__visual {
  min-height: 360px;
  border-radius: 26px;
}

.infra-core {
  width: 132px;
  height: 132px;
  border-radius: 30px;
}

.infra-core strong {
  font-size: 38px;
}

.infra-metric {
  min-width: 132px;
  padding: 15px 17px;
  border-radius: 15px;
}

.infra-metric strong {
  font-size: 24px;
}

.infra-intro,
.infra-why {
  padding: 48px 0;
}

.infra-intro {
  grid-template-columns: 1.05fr .95fr;
}

.infra-intro__content {
  padding: 30px;
  border-radius: 24px;
}

.infra-intro h2,
.infra-section-head h2,
.infra-why h2,
.infra-cta h2 {
  font-size: clamp(25px, 2.45vw, 34px);
  letter-spacing: -.45px;
}

.infra-intro p:not(.eyebrow),
.infra-section-head p:not(.eyebrow),
.infra-why p,
.infra-cta p {
  font-size: 13.5px;
  line-height: 1.68;
}

.infra-intro__panel {
  gap: 14px;
}

.infra-intro__panel span {
  position: relative;
  overflow: hidden;
  place-items: start;
  justify-content: center;
  min-height: 112px;
  padding: 22px;
  border-radius: 20px;
  font-size: 20px;
}

.infra-intro__panel span::after {
  position: absolute;
  right: -18px;
  bottom: -18px;
  width: 82px;
  height: 82px;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle, rgba(18, 191, 106, .20), transparent 62%);
}

.infra-intro__panel small {
  display: block;
  margin-bottom: 7px;
  color: var(--green);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.infra-services,
.infra-approach {
  padding: 54px 0;
}

.infra-section-head {
  max-width: 690px;
  margin-bottom: 28px;
}

.infra-service-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.infra-service-card {
  display: block;
  padding: 0;
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(248, 252, 255, .94));
}

.infra-service-card::before {
  width: 100%;
  height: 4px;
  inset: 0 0 auto;
}

.infra-card-top {
  position: relative;
  padding: 26px 26px 20px;
  border-bottom: 1px solid rgba(220, 233, 246, .72);
}

.infra-card-top::after {
  position: absolute;
  right: 24px;
  top: 24px;
  width: 70px;
  height: 70px;
  content: "";
  border-radius: 22px;
  background:
    radial-gradient(circle at 72% 26%, rgba(18, 191, 106, .26) 0 6px, transparent 7px),
    linear-gradient(135deg, rgba(18, 191, 106, .10), rgba(5, 101, 199, .10));
  transform: rotate(45deg);
}

.infra-card-top span {
  width: 44px;
  height: 26px;
  margin-bottom: 14px;
}

.infra-card-top h3 {
  max-width: calc(100% - 96px);
  font-size: 22px;
}

.infra-card-top p {
  max-width: 94%;
  font-size: 13px;
}

.infra-card-top a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.infra-card-top a span {
  display: inline;
  width: auto;
  height: auto;
  margin: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

.infra-card-columns {
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 22px 26px 24px;
}

.infra-card-columns > div {
  padding-right: 18px;
}

.infra-card-columns > div + div {
  padding-left: 18px;
  padding-right: 0;
  border-left: 1px solid rgba(220, 233, 246, .72);
}

.infra-card-columns h4 {
  font-size: 11.5px;
  letter-spacing: .08em;
}

.infra-card-columns li {
  margin: 8px 0;
  font-size: 11.8px;
  line-height: 1.42;
}

.infra-why {
  grid-template-columns: .86fr 1.14fr;
}

.infra-why__grid {
  gap: 12px;
}

.infra-why__grid article {
  min-height: 70px;
  padding: 14px 16px;
  border-radius: 16px;
  font-size: 12.3px;
}

.infra-why__grid article span {
  flex-basis: 28px;
  width: 28px;
  height: 28px;
}

.infra-why__grid article span::before {
  left: 9px;
  top: 9px;
}

.infra-timeline article {
  min-height: 210px;
  padding: 24px 18px 20px;
  border-radius: 18px;
}

.infra-timeline article::before {
  width: 50px;
  height: 50px;
  border-radius: 15px;
}

.infra-timeline article span {
  margin-bottom: 28px;
}

.infra-timeline h3 {
  font-size: 15px;
}

.infra-timeline p {
  font-size: 11.5px;
}

@media (max-width: 1100px) {
  .infra-service-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .infra-top-banner {
    min-height: 230px;
  }

  .infra-top-banner__inner {
    align-items: flex-start;
    flex-direction: column;
    padding: 42px 0;
  }

  .infra-hero__grid,
  .infra-intro,
  .infra-why {
    grid-template-columns: 1fr;
  }

  .infra-card-columns {
    grid-template-columns: 1fr;
  }

  .infra-card-columns > div + div {
    margin-top: 18px;
    padding-left: 0;
    border-left: 0;
  }
}

/* Infrastructure why section: richer band so page does not feel like a white document. */
.infra-why {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  align-items: initial !important;
  padding: 82px 0 !important;
  background:
    radial-gradient(circle at 12% 30%, rgba(18, 191, 106, .22), transparent 28%),
    radial-gradient(circle at 86% 24%, rgba(5, 101, 199, .22), transparent 32%),
    linear-gradient(112deg, #eefbf5 0%, #f7fbff 42%, #e8f3ff 100%);
}

.infra-why::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  border-radius: inherit;
  background-image:
    linear-gradient(rgba(7, 21, 47, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 21, 47, .045) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 84%, transparent 100%);
}

.infra-why::after {
  position: absolute;
  right: -4%;
  top: 50%;
  z-index: -1;
  width: 420px;
  height: 420px;
  content: "";
  border: 1px solid rgba(5, 101, 199, .09);
  border-radius: 50%;
  box-shadow:
    0 0 0 58px rgba(255, 255, 255, .18),
    0 0 0 118px rgba(18, 191, 106, .04),
    0 34px 90px rgba(8, 36, 70, .10);
  opacity: .58;
  transform: translateY(-50%);
}

.infra-why__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 46px;
  align-items: center;
  padding: 42px;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.68), rgba(255,255,255,.38));
  box-shadow:
    0 32px 80px rgba(8, 36, 70, .12),
    inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
}

.infra-why__inner.container {
  width: min(1180px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
}

.infra-why__copy {
  position: relative;
  padding: 28px 30px 28px 0;
}

.infra-why__copy::before {
  display: block;
  width: 72px;
  height: 5px;
  margin-bottom: 20px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(90deg, var(--green), #167dff);
  box-shadow: 0 10px 26px rgba(18, 191, 106, .28);
}

.infra-why__copy .eyebrow {
  color: #00944a;
  letter-spacing: .02em;
}

.infra-why__copy h2 {
  max-width: 510px;
  color: #07152f;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.08;
}

.infra-why__copy p {
  max-width: 520px;
  color: #405774;
  font-size: 14.5px;
}

.infra-why__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.infra-why__grid article {
  overflow: hidden;
  min-height: 86px;
  padding: 18px 20px;
  border: 1px solid rgba(194, 218, 239, .88);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(248, 252, 255, .84));
  box-shadow:
    0 18px 42px rgba(8, 36, 70, .08),
    inset 0 1px 0 rgba(255,255,255,.9);
}

.infra-why__grid article::after {
  position: absolute;
  right: -22px;
  bottom: -28px;
  width: 92px;
  height: 92px;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle, rgba(18, 191, 106, .16), transparent 64%);
  opacity: 0;
  transition: opacity .24s ease, transform .24s ease;
}

.infra-why__grid article span {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  background:
    radial-gradient(circle, #00944a 0 5px, transparent 6px),
    rgba(18, 191, 106, .12);
  box-shadow: 0 0 0 8px rgba(18, 191, 106, .055);
}

.infra-why__grid article span::before {
  display: none;
}

.infra-why__grid article:hover {
  color: #07152f;
  transform: translateY(-7px);
  border-color: rgba(18, 191, 106, .34);
  background:
    linear-gradient(135deg, rgba(255,255,255,1), rgba(239, 250, 245, .96));
  box-shadow:
    0 28px 64px rgba(8, 36, 70, .15),
    0 0 0 1px rgba(18, 191, 106, .06);
}

.infra-why__grid article:hover::after {
  opacity: 1;
  transform: scale(1.08);
}

.infra-approach {
  margin-top: 0;
  padding-top: 74px !important;
}

@media (max-width: 1100px) {
  .infra-why__inner {
    grid-template-columns: 1fr;
    padding: 36px 30px;
  }
}

@media (max-width: 767px) {
  .infra-why {
    padding: 46px 0 !important;
  }

  .infra-why__inner {
    width: min(100% - 28px, 1180px);
    padding: 28px 20px;
    border-radius: 24px;
  }

  .infra-why__copy {
    padding: 0;
  }

  .infra-why__grid {
    grid-template-columns: 1fr;
  }
}

/* Infrastructure intro: home-style green/blue section treatment */
.infra-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 72px 0 !important;
  grid-template-columns: none !important;
  background:
    radial-gradient(circle at 16% 28%, rgba(25, 184, 93, .28), transparent 30%),
    radial-gradient(circle at 82% 22%, rgba(5, 101, 199, .30), transparent 34%),
    linear-gradient(112deg, #06182d 0%, #07345f 52%, #087047 100%);
}

.infra-intro::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, #000 0 76%, transparent 100%);
}

.infra-intro::after {
  position: absolute;
  right: -120px;
  top: 50%;
  z-index: -1;
  width: 420px;
  height: 420px;
  content: "";
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 56px rgba(255,255,255,.045),
    0 0 0 116px rgba(25,184,93,.06);
  transform: translateY(-50%);
}

.infra-intro > .infra-intro__content,
.infra-intro > .infra-intro__panel {
  width: min(1180px, calc(100% - 48px));
}

.infra-intro {
  display: block !important;
}

.infra-intro__content {
  display: inline-block;
  width: min(560px, calc(100% - 48px)) !important;
  margin-left: max(24px, calc((100vw - 1180px) / 2));
  vertical-align: middle;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.infra-intro__content::before {
  display: none;
}

.infra-intro__content .eyebrow {
  color: #8ff0bf;
}

.infra-intro__content h2 {
  color: #ffffff;
  font-size: clamp(31px, 3.2vw, 46px);
  line-height: 1.08;
}

.infra-intro__content p:not(.eyebrow) {
  color: rgba(236, 248, 255, .78);
  font-size: 14.5px;
}

.infra-intro__panel {
  display: inline-grid !important;
  width: min(560px, calc(100% - 48px)) !important;
  margin-left: 56px;
  vertical-align: middle;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.infra-intro__panel span {
  min-height: 124px;
  border: 1px solid rgba(255,255,255,.18);
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 74%, rgba(143, 240, 191, .28), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.07));
  box-shadow:
    0 24px 52px rgba(0, 0, 0, .16),
    inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter: blur(14px);
}

.infra-intro__panel small {
  color: #8ff0bf;
}

.infra-intro__panel span:hover {
  color: #ffffff;
  transform: translateY(-8px);
  border-color: rgba(143, 240, 191, .48);
  background:
    radial-gradient(circle at 88% 74%, rgba(143, 240, 191, .42), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.09));
  box-shadow:
    0 34px 70px rgba(0, 0, 0, .22),
    0 0 0 1px rgba(143, 240, 191, .08);
}

@media (max-width: 1100px) {
  .infra-intro__content,
  .infra-intro__panel {
    display: block !important;
    width: min(100% - 48px, 760px) !important;
    margin-inline: auto !important;
  }

  .infra-intro__panel {
    display: grid !important;
    margin-top: 30px !important;
  }
}

@media (max-width: 767px) {
  .infra-intro {
    padding: 48px 0 !important;
  }

  .infra-intro__panel {
    grid-template-columns: 1fr;
  }
}

/* Infrastructure why section: compact reference-style gradient strip */
.infra-why {
  padding: 42px 0 !important;
  background: #ffffff !important;
}

.infra-why::before,
.infra-why::after {
  display: none !important;
}

.infra-why__inner {
  display: block !important;
  overflow: hidden;
  padding: 24px 28px 28px !important;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 10px;
  background:
    radial-gradient(circle at 90% 0%, rgba(72, 219, 137, .28), transparent 34%),
    linear-gradient(108deg, #3f5f7f 0%, #315f7c 34%, #24756c 67%, #38b874 100%);
  box-shadow:
    0 24px 58px rgba(8, 36, 70, .18),
    inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: none;
}

.infra-why__copy {
  padding: 0 !important;
  text-align: center;
}

.infra-why__copy::before {
  display: none;
}

.infra-why__copy .eyebrow {
  margin: 0 0 18px !important;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.infra-why__copy h2 {
  display: none;
}

.infra-why__copy p {
  display: none;
}

.infra-why__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;
}

.infra-why__grid article {
  position: relative;
  overflow: visible;
  min-height: 74px;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 13px;
  line-height: 1.22;
  font-weight: 900;
  transition: transform .24s ease, opacity .24s ease;
}

.infra-why__grid article:not(:first-child)::before {
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 1px;
  content: "";
  background: rgba(255,255,255,.26);
}

.infra-why__grid article::after {
  display: none !important;
}

.infra-why__grid article span {
  position: relative;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  margin-right: 16px;
  border: 2px solid rgba(255,255,255,.88);
  border-radius: 12px;
  background: transparent !important;
  box-shadow: none !important;
}

.infra-why__grid article:nth-child(1) span::before,
.infra-why__grid article:nth-child(5) span::before {
  display: block;
  left: 12px;
  top: 9px;
  width: 16px;
  height: 21px;
  border: 2px solid #fff;
  border-radius: 2px;
  background: transparent;
}

.infra-why__grid article:nth-child(1) span::after,
.infra-why__grid article:nth-child(5) span::after {
  position: absolute;
  right: 5px;
  top: 6px;
  width: 10px;
  height: 2px;
  content: "";
  background: #fff;
  box-shadow: 0 6px 0 #fff, 0 12px 0 #fff;
}

.infra-why__grid article:nth-child(2) span,
.infra-why__grid article:nth-child(6) span {
  border-radius: 50%;
}

.infra-why__grid article:nth-child(2) span::before,
.infra-why__grid article:nth-child(6) span::before {
  display: block;
  left: 9px;
  top: 7px;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: transparent;
  box-shadow: 15px 0 0 -2px transparent, 15px 0 0 0 #fff;
}

.infra-why__grid article:nth-child(2) span::after,
.infra-why__grid article:nth-child(6) span::after {
  position: absolute;
  left: 7px;
  bottom: 7px;
  width: 24px;
  height: 12px;
  content: "";
  border: 2px solid #fff;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
}

.infra-why__grid article:nth-child(3) span,
.infra-why__grid article:nth-child(7) span {
  border-radius: 50%;
}

.infra-why__grid article:nth-child(3) span::before,
.infra-why__grid article:nth-child(7) span::before {
  display: block;
  left: 18px;
  top: 7px;
  width: 2px;
  height: 26px;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 0 0 0 #fff;
}

.infra-why__grid article:nth-child(3) span::after,
.infra-why__grid article:nth-child(7) span::after {
  position: absolute;
  left: 7px;
  top: 18px;
  width: 26px;
  height: 2px;
  content: "";
  background: #fff;
  box-shadow: 8px -8px 0 -1px #fff, -8px 8px 0 -1px #fff;
}

.infra-why__grid article:nth-child(4) span,
.infra-why__grid article:nth-child(8) span {
  border-radius: 50%;
}

.infra-why__grid article:nth-child(4) span::before,
.infra-why__grid article:nth-child(8) span::before {
  display: block;
  left: 11px;
  top: 7px;
  width: 18px;
  height: 24px;
  border: 2px solid #fff;
  border-radius: 10px 10px 12px 12px;
  background: transparent;
}

.infra-why__grid article:nth-child(4) span::after,
.infra-why__grid article:nth-child(8) span::after {
  position: absolute;
  left: 16px;
  top: 14px;
  width: 10px;
  height: 7px;
  content: "";
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}

.infra-why__grid article:hover {
  transform: translateY(-4px);
  opacity: .92;
}

@media (max-width: 1100px) {
  .infra-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 18px !important;
  }

  .infra-why__grid article:nth-child(odd)::before {
    display: none;
  }
}

@media (max-width: 767px) {
  .infra-why__inner {
    width: min(100% - 28px, 1180px);
    padding: 22px 16px !important;
  }

  .infra-why__grid {
    grid-template-columns: 1fr;
  }

  .infra-why__grid article {
    padding: 12px 4px !important;
  }

  .infra-why__grid article::before {
    display: none !important;
  }
}

/* Hard final override: make the Why strip visibly full-width gradient. */
main.infra-page > section.infra-why {
  display: block !important;
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
  padding: 54px 0 !important;
  background-color: #315f7c !important;
  background-image:
    radial-gradient(circle at 12% 30%, rgba(255,255,255,.14), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(82, 235, 148, .32), transparent 34%),
    linear-gradient(105deg, #3f5f7f 0%, #315f7c 31%, #24756c 68%, #38b874 100%) !important;
}

main.infra-page > section.infra-why::before,
main.infra-page > section.infra-why::after {
  display: none !important;
}

main.infra-page .infra-why__inner.container {
  display: block !important;
  width: min(1180px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

main.infra-page .infra-why__copy {
  padding: 0 !important;
  margin-bottom: 22px !important;
  text-align: center !important;
}

main.infra-page .infra-why__copy .eyebrow {
  color: #ffffff !important;
  margin: 0 !important;
  font-size: 13px !important;
}

main.infra-page .infra-why__copy h2,
main.infra-page .infra-why__copy p {
  display: none !important;
}

main.infra-page .infra-why__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

main.infra-page .infra-why__grid article {
  display: flex !important;
  align-items: center !important;
  min-height: 82px !important;
  padding: 0 28px !important;
  color: #ffffff !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
}

main.infra-page .infra-why__grid article:not(:first-child)::before {
  display: block !important;
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 1px;
  content: "";
  background: rgba(255,255,255,.28);
}

main.infra-page .infra-why__grid article::after {
  display: none !important;
}

main.infra-page .infra-why__grid article span {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  margin-right: 18px !important;
  border: 2px solid rgba(255,255,255,.92) !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 1100px) {
  main.infra-page .infra-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 18px !important;
  }

  main.infra-page .infra-why__grid article:nth-child(odd)::before {
    display: none !important;
  }
}

@media (max-width: 767px) {
  main.infra-page > section.infra-why {
    padding: 38px 0 !important;
  }

  main.infra-page .infra-why__grid {
    grid-template-columns: 1fr !important;
  }

  main.infra-page .infra-why__grid article {
    padding: 12px 0 !important;
  }

  main.infra-page .infra-why__grid article::before {
    display: none !important;
  }
}

/* Hard final override: Complete Infrastructure section from screenshot. */
main.infra-page > section.infra-intro {
  display: block !important;
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 42px 0 !important;
  background-color: #0a365f !important;
  background-image:
    radial-gradient(circle at 13% 22%, rgba(104, 231, 170, .26), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(74, 165, 255, .24), transparent 34%),
    linear-gradient(108deg, #06182d 0%, #0b3864 42%, #08704a 100%) !important;
}

main.infra-page > section.infra-intro::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  background:
    radial-gradient(circle at 72% 50%, rgba(255,255,255,.09), transparent 0 13%, rgba(255,255,255,.045) 13.3% 24%, transparent 24.4%),
    linear-gradient(90deg, rgba(255,255,255,.06), transparent 52%);
  pointer-events: none;
}

main.infra-page > section.infra-intro::after {
  position: absolute;
  right: -140px;
  top: 50%;
  z-index: -1;
  width: 420px;
  height: 420px;
  content: "";
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 52px rgba(255,255,255,.04),
    0 0 0 108px rgba(104,231,170,.055);
  transform: translateY(-50%);
  pointer-events: none;
}

main.infra-page .infra-intro__inner.container {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  align-items: center !important;
  gap: 38px !important;
  width: min(1180px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
}

main.infra-page .infra-intro__content {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

main.infra-page .infra-intro__content::before {
  display: block !important;
  width: 74px;
  height: 5px;
  margin: 0 0 14px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(90deg, #8ff0bf, #3fa7ff);
  box-shadow: 0 12px 28px rgba(143,240,191,.28);
}

main.infra-page .infra-intro__content .eyebrow {
  color: #8ff0bf !important;
  margin-bottom: 8px !important;
  font-size: 11px !important;
}

main.infra-page .infra-intro__content h2 {
  max-width: 520px;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(25px, 2.45vw, 32px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.8px;
}

main.infra-page .infra-intro__content p:not(.eyebrow) {
  max-width: 560px;
  margin: 14px 0 0 !important;
  color: rgba(236,248,255,.78) !important;
  font-size: 12.8px !important;
  line-height: 1.58 !important;
}

.infra-intro__stats {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 10px;
  margin-top: 16px;
}

.infra-intro__stats strong {
  min-width: 96px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  color: #ffffff;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  font-size: 17px;
  line-height: 1;
}

.infra-intro__stats span {
  display: block;
  margin-top: 5px;
  color: rgba(236,248,255,.70);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

main.infra-page .infra-intro__panel {
  display: grid !important;
  width: auto !important;
  margin: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

main.infra-page .infra-intro__panel article {
  position: relative;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  min-height: 118px !important;
  padding: 14px 16px !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 16px !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 94% 50%, rgba(143,240,191,.26), transparent 26%),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.075)) !important;
  box-shadow:
    0 24px 54px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
  backdrop-filter: blur(14px);
}

main.infra-page .infra-intro__panel article::before {
  position: absolute;
  right: 16px;
  top: 50%;
  width: 9px;
  height: 9px;
  content: "";
  border-radius: 50%;
  background: #8ff0bf;
  box-shadow:
    0 0 0 10px rgba(143,240,191,.12),
    0 0 26px rgba(143,240,191,.38);
  transform: translateY(-50%);
}

main.infra-page .infra-intro__panel article::after {
  display: none !important;
}

main.infra-page .infra-intro__panel article > span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 13px;
  color: #8ff0bf;
  background: rgba(255,255,255,.10);
  font-size: 12px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

main.infra-page .infra-intro__panel small {
  display: block;
  margin-bottom: 5px;
  color: #8ff0bf !important;
  font-size: 9px !important;
  letter-spacing: .08em;
  line-height: 1;
}

main.infra-page .infra-intro__panel strong {
  display: block;
  color: #ffffff;
  font-size: 17px;
  line-height: 1.1;
}

main.infra-page .infra-intro__panel p {
  max-width: 220px;
  margin: 5px 0 0;
  color: rgba(236,248,255,.68);
  font-size: 11px;
  line-height: 1.35;
  font-weight: 600;
}

main.infra-page .infra-intro__panel article:hover {
  transform: translateY(-4px);
  border-color: rgba(143,240,191,.52) !important;
  background:
    radial-gradient(circle at 94% 50%, rgba(143,240,191,.42), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.25), rgba(255,255,255,.10)) !important;
  box-shadow:
    0 34px 74px rgba(0,0,0,.24),
    0 0 0 1px rgba(143,240,191,.08) !important;
}

@media (max-width: 1100px) {
  main.infra-page .infra-intro__inner.container {
    grid-template-columns: 1fr !important;
  }

  main.infra-page .infra-intro__panel article {
    min-height: 104px !important;
  }
}

@media (max-width: 767px) {
  main.infra-page > section.infra-intro {
    padding: 34px 0 !important;
  }

  main.infra-page .infra-intro__panel {
    grid-template-columns: 1fr !important;
  }

  .infra-intro__stats {
    grid-template-columns: 1fr;
  }
}

/* Final compact pass: keep the premium gradient, reduce the section height. */
main.infra-page > section.infra-intro {
  min-height: auto !important;
  padding: 30px 0 !important;
  background-image:
    radial-gradient(circle at 8% 16%, rgba(139, 240, 190, .22), transparent 28%),
    radial-gradient(circle at 92% 38%, rgba(54, 164, 255, .18), transparent 32%),
    linear-gradient(105deg, #06172d 0%, #0b3561 48%, #07714b 100%) !important;
}

main.infra-page > section.infra-intro::before {
  background:
    radial-gradient(circle at 83% 50%, rgba(255,255,255,.08), transparent 0 11%, rgba(255,255,255,.035) 11.4% 21%, transparent 21.4%),
    linear-gradient(90deg, rgba(255,255,255,.05), transparent 58%) !important;
}

main.infra-page > section.infra-intro::after {
  right: -92px !important;
  width: 300px !important;
  height: 300px !important;
  opacity: .9;
  box-shadow:
    0 0 0 38px rgba(255,255,255,.035),
    0 0 0 82px rgba(104,231,170,.045) !important;
}

main.infra-page .infra-intro__inner.container {
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr) !important;
  gap: 32px !important;
  width: min(1180px, calc(100% - 64px)) !important;
}

main.infra-page .infra-intro__content::before {
  width: 64px !important;
  height: 4px !important;
  margin-bottom: 10px !important;
}

main.infra-page .infra-intro__content .eyebrow {
  margin-bottom: 7px !important;
  font-size: 10px !important;
}

main.infra-page .infra-intro__content h2 {
  max-width: 500px !important;
  font-size: clamp(24px, 2.2vw, 30px) !important;
  line-height: 1.08 !important;
}

main.infra-page .infra-intro__content p:not(.eyebrow) {
  max-width: 545px !important;
  margin-top: 12px !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

main.infra-page .infra-intro__stats {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
  margin-top: 13px !important;
}

main.infra-page .infra-intro__stats strong {
  min-width: 88px !important;
  padding: 8px 10px !important;
  border-radius: 11px !important;
  font-size: 15px !important;
}

main.infra-page .infra-intro__stats span {
  margin-top: 4px !important;
  font-size: 7.8px !important;
}

main.infra-page .infra-intro__panel {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

main.infra-page .infra-intro__panel article {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 12px !important;
  min-height: 78px !important;
  padding: 11px 14px !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 94% 50%, rgba(143,240,191,.23), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.07)) !important;
}

main.infra-page .infra-intro__panel article > span {
  width: 30px !important;
  height: 30px !important;
  border-radius: 11px !important;
  font-size: 10px !important;
}

main.infra-page .infra-intro__panel small {
  margin-bottom: 4px !important;
  font-size: 8px !important;
}

main.infra-page .infra-intro__panel strong {
  font-size: 15px !important;
}

main.infra-page .infra-intro__panel p {
  display: none !important;
}

main.infra-page .infra-intro__panel article::before {
  right: 14px !important;
  width: 7px !important;
  height: 7px !important;
  box-shadow:
    0 0 0 8px rgba(143,240,191,.11),
    0 0 20px rgba(143,240,191,.34) !important;
}

main.infra-page .infra-intro__panel article:hover {
  transform: translateY(-3px) !important;
}

@media (max-width: 1100px) {
  main.infra-page .infra-intro__inner.container {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  main.infra-page > section.infra-intro {
    padding: 28px 0 !important;
  }

  main.infra-page .infra-intro__inner.container {
    width: min(100% - 32px, 1180px) !important;
    gap: 22px !important;
  }

  main.infra-page .infra-intro__panel {
    grid-template-columns: 1fr !important;
  }
}

/* Ultra compact correction for the infrastructure intro band. */
main.infra-page > section.infra-intro {
  padding: 24px 0 !important;
}

main.infra-page .infra-intro__inner.container {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important;
  gap: 30px !important;
}

main.infra-page .infra-intro__content h2 {
  max-width: 650px !important;
  font-size: clamp(22px, 2vw, 27px) !important;
  letter-spacing: -.55px !important;
}

main.infra-page .infra-intro__content p:not(.eyebrow) {
  max-width: 650px !important;
  margin-top: 9px !important;
  font-size: 11.2px !important;
  line-height: 1.45 !important;
}

main.infra-page .infra-intro__stats {
  margin-top: 10px !important;
}

main.infra-page .infra-intro__stats strong {
  min-width: 78px !important;
  padding: 7px 9px !important;
  font-size: 14px !important;
}

main.infra-page .infra-intro__stats span {
  font-size: 7px !important;
}

main.infra-page .infra-intro__panel {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: start !important;
  align-self: center !important;
  align-content: start !important;
  height: max-content !important;
  grid-auto-rows: auto !important;
}

main.infra-page .infra-intro__panel article {
  flex: 0 0 calc(50% - 4px) !important;
  min-height: 66px !important;
  height: auto !important;
  padding: 9px 12px !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 10px !important;
}

main.infra-page .infra-intro__panel article > span {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 9px !important;
  font-size: 9px !important;
}

/* ELV solution page */
.elv-page {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 16%, rgba(0, 160, 91, .08), transparent 30%),
    radial-gradient(circle at 88% 26%, rgba(10, 110, 210, .10), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 46%, #ffffff 100%);
}

.elv-top-banner {
  background:
    linear-gradient(90deg, rgba(2, 20, 42, .84), rgba(3, 98, 70, .72)),
    url("../assets/office.webp") center / cover no-repeat;
}

.elv-page .infra-top-banner::before {
  z-index: 0 !important;
  opacity: .82;
  background:
    radial-gradient(circle at 78% 46%, rgba(143, 240, 191, .28), transparent 20%),
    radial-gradient(circle at 92% 32%, rgba(65, 172, 255, .24), transparent 24%),
    repeating-linear-gradient(112deg, transparent 0 54px, rgba(143,240,191,.16) 55px 56px, transparent 57px 118px),
    repeating-linear-gradient(112deg, transparent 0 86px, rgba(65,172,255,.13) 87px 88px, transparent 89px 170px) !important;
  background-size: 100% 100%, 100% 100%, 360px 100%, 520px 100% !important;
  mask-image: linear-gradient(90deg, transparent 0%, #000 32%, #000 100%) !important;
  animation: elvBannerFlow 12s linear infinite;
}

.elv-page .infra-top-banner::after {
  z-index: 0 !important;
  right: 7% !important;
  width: 330px !important;
  height: 160px !important;
  border: 0 !important;
  border-radius: 999px !important;
  opacity: .92;
  background:
    radial-gradient(circle at 18% 50%, #8ff0bf 0 7px, transparent 8px),
    radial-gradient(circle at 50% 22%, #41acff 0 6px, transparent 7px),
    radial-gradient(circle at 82% 58%, #8ff0bf 0 7px, transparent 8px),
    linear-gradient(18deg, transparent 0 18%, rgba(143,240,191,.38) 18.3% 19.2%, transparent 19.5% 48%, rgba(65,172,255,.34) 48.3% 49.2%, transparent 49.5%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14),
    0 20px 70px rgba(0,0,0,.16),
    inset 0 0 34px rgba(255,255,255,.08) !important;
  backdrop-filter: blur(3px);
  transform: translateY(-50%) rotate(-8deg) !important;
  animation: elvBannerDrift 9s ease-in-out infinite;
}

.elv-page .infra-top-banner__inner {
  position: relative;
  z-index: 1;
}

.elv-page .infra-top-banner .infra-top-banner__inner::after {
  position: absolute;
  right: 9%;
  top: 50%;
  z-index: -1;
  width: 170px;
  height: 170px;
  content: "";
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 50%;
  box-shadow:
    0 0 0 34px rgba(143,240,191,.045),
    inset 0 0 38px rgba(65,172,255,.10);
  transform: translateY(-50%);
  animation: elvBannerOrbit 18s linear infinite;
}

@keyframes elvBannerFlow {
  from {
    background-position: 0 0, 0 0, 0 0, 0 0;
  }
  to {
    background-position: 0 0, 0 0, 360px 0, 520px 0;
  }
}

@keyframes elvBannerDrift {
  0% {
    background-position: 0 0, 0 0, 0 0, 0 0;
    transform: translateY(-50%) rotate(-8deg) translate3d(0, 0, 0);
  }
  50% {
    background-position: 18px 4px, -12px 8px, 22px 0, -18px 0;
    transform: translateY(-50%) rotate(-8deg) translate3d(-14px, 6px, 0);
  }
  100% {
    background-position: 0 0, 0 0, 0 0, 0 0;
    transform: translateY(-50%) rotate(-8deg) translate3d(0, 0, 0);
  }
}

@keyframes elvBannerOrbit {
  0% {
    transform: translateY(-50%) rotate(0deg) scale(1);
  }
  50% {
    transform: translateY(-50%) rotate(180deg) scale(1.04);
  }
  100% {
    transform: translateY(-50%) rotate(360deg) scale(1);
  }
}

.elv-banner-live {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.elv-banner-live::before {
  position: absolute;
  right: 6%;
  top: 50%;
  width: 360px;
  height: 190px;
  content: "";
  border: 1px solid rgba(143, 240, 191, .20);
  border-radius: 999px;
  box-shadow:
    0 0 0 30px rgba(255,255,255,.035),
    inset 0 0 44px rgba(65,172,255,.12);
  transform: translateY(-50%) rotate(-9deg);
  animation: elvLiveOrbit 14s linear infinite;
}

.elv-live-dot {
  position: absolute;
  z-index: 2;
  display: block;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #8ff0bf;
  box-shadow:
    0 0 0 10px rgba(143,240,191,.14),
    0 0 24px rgba(143,240,191,.55);
}

.elv-live-dot--one {
  right: 31%;
  top: 36%;
  animation: elvDotOne 5.6s ease-in-out infinite;
}

.elv-live-dot--two {
  right: 16%;
  top: 42%;
  background: #41acff;
  box-shadow:
    0 0 0 10px rgba(65,172,255,.14),
    0 0 24px rgba(65,172,255,.55);
  animation: elvDotTwo 6.4s ease-in-out infinite;
}

.elv-live-dot--three {
  right: 23%;
  top: 66%;
  animation: elvDotThree 7s ease-in-out infinite;
}

.elv-live-line {
  position: absolute;
  z-index: 1;
  right: 15%;
  top: 49%;
  display: block;
  height: 2px;
  width: 245px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(143,240,191,.82), rgba(65,172,255,.62), transparent);
  opacity: .78;
  transform-origin: right center;
}

.elv-live-line--one {
  transform: rotate(18deg);
  animation: elvLineFlow 3.4s linear infinite;
}

.elv-live-line--two {
  top: 58%;
  right: 18%;
  width: 210px;
  transform: rotate(-22deg);
  animation: elvLineFlow 4.2s linear infinite reverse;
}

.elv-live-scan {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  background: linear-gradient(105deg, transparent 0 43%, rgba(255,255,255,.24) 46%, rgba(143,240,191,.20) 47%, transparent 50%);
  transform: translateX(-55%);
  animation: elvScanBeam 4.8s linear infinite;
}

@keyframes elvDotOne {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(48px, 22px, 0); }
}

@keyframes elvDotTwo {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-54px, 30px, 0); }
}

@keyframes elvDotThree {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(38px, -42px, 0); }
}

@keyframes elvLineFlow {
  0% {
    background-position: -245px 0;
    opacity: .48;
  }
  50% {
    opacity: .95;
  }
  100% {
    background-position: 245px 0;
    opacity: .48;
  }
}

@keyframes elvScanBeam {
  0% { transform: translateX(-70%); }
  100% { transform: translateX(70%); }
}

@keyframes elvLiveOrbit {
  from { transform: translateY(-50%) rotate(-9deg); }
  to { transform: translateY(-50%) rotate(351deg); }
}

/* Real live banner effects: Infrastructure */
.infra-banner-live,
.av-banner-live {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.infra-page .infra-top-banner__inner,
.av-page .infra-top-banner__inner {
  position: relative;
  z-index: 1;
}

.infra-banner-live::before {
  position: absolute;
  right: 6%;
  top: 50%;
  width: 360px;
  height: 190px;
  content: "";
  border: 1px solid rgba(143, 240, 191, .20);
  border-radius: 28px;
  box-shadow:
    0 0 0 32px rgba(255,255,255,.035),
    inset 0 0 44px rgba(65,172,255,.12);
  transform: translateY(-50%) rotate(10deg);
  animation: infraRackDrift 15s linear infinite;
}

.infra-live-node {
  position: absolute;
  z-index: 2;
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #8ff0bf;
  box-shadow:
    0 0 0 9px rgba(143,240,191,.14),
    0 0 24px rgba(143,240,191,.55);
}

.infra-live-node--one {
  right: 32%;
  top: 34%;
  animation: infraNodeOne 6s ease-in-out infinite;
}

.infra-live-node--two {
  right: 15%;
  top: 38%;
  background: #41acff;
  box-shadow:
    0 0 0 9px rgba(65,172,255,.14),
    0 0 24px rgba(65,172,255,.55);
  animation: infraNodeTwo 6.8s ease-in-out infinite;
}

.infra-live-node--three {
  right: 23%;
  top: 67%;
  animation: infraNodeThree 7.4s ease-in-out infinite;
}

.infra-live-packet {
  position: absolute;
  z-index: 2;
  right: 13%;
  top: 50%;
  display: block;
  width: 230px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(143,240,191,.88), transparent);
  transform-origin: right center;
}

.infra-live-packet--one {
  transform: rotate(15deg);
  animation: infraPacketMove 3s linear infinite;
}

.infra-live-packet--two {
  top: 61%;
  right: 18%;
  width: 200px;
  background: linear-gradient(90deg, transparent, rgba(65,172,255,.82), transparent);
  transform: rotate(-20deg);
  animation: infraPacketMove 3.8s linear infinite reverse;
}

.infra-live-beam {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  background: linear-gradient(108deg, transparent 0 44%, rgba(143,240,191,.22) 47%, rgba(255,255,255,.18) 48%, transparent 51%);
  animation: infraBeamSweep 5.2s linear infinite;
}

@keyframes infraNodeOne {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(42px, 24px, 0); }
}

@keyframes infraNodeTwo {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-48px, 34px, 0); }
}

@keyframes infraNodeThree {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(34px, -38px, 0); }
}

@keyframes infraPacketMove {
  0% { background-position: -230px 0; opacity: .45; }
  50% { opacity: .95; }
  100% { background-position: 230px 0; opacity: .45; }
}

@keyframes infraBeamSweep {
  0% { transform: translateX(-72%); }
  100% { transform: translateX(72%); }
}

@keyframes infraRackDrift {
  from { transform: translateY(-50%) rotate(10deg); }
  to { transform: translateY(-50%) rotate(370deg); }
}

/* Real live banner effects: Audio Visual */
.av-banner-live::before {
  position: absolute;
  right: 6%;
  top: 50%;
  width: 350px;
  height: 190px;
  content: "";
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 34px;
  box-shadow:
    0 0 0 30px rgba(255,255,255,.035),
    inset 0 0 48px rgba(65,172,255,.14);
  transform: translateY(-50%) rotate(-7deg);
  animation: avPanelFloat 8s ease-in-out infinite;
}

.av-live-wave {
  position: absolute;
  z-index: 1;
  right: 8%;
  top: 50%;
  display: block;
  width: 310px;
  height: 310px;
  border: 2px solid rgba(143,240,191,.22);
  border-radius: 50%;
  transform: translateY(-50%) scale(.7);
  animation: avWavePulse 4.6s ease-out infinite;
}

.av-live-wave--two {
  border-color: rgba(65,172,255,.20);
  animation-delay: 1.8s;
}

.av-live-dot {
  position: absolute;
  z-index: 2;
  display: block;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #8ff0bf;
  box-shadow:
    0 0 0 9px rgba(143,240,191,.14),
    0 0 24px rgba(143,240,191,.55);
}

.av-live-dot--one {
  right: 30%;
  top: 35%;
  animation: avDotFloatOne 5.8s ease-in-out infinite;
}

.av-live-dot--two {
  right: 14%;
  top: 60%;
  background: #41acff;
  box-shadow:
    0 0 0 9px rgba(65,172,255,.14),
    0 0 24px rgba(65,172,255,.55);
  animation: avDotFloatTwo 6.6s ease-in-out infinite;
}

.av-live-equalizer {
  position: absolute;
  right: 18%;
  top: 47%;
  z-index: 2;
  display: flex;
  align-items: end;
  gap: 8px;
  height: 78px;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(6px);
}

.av-live-equalizer i {
  display: block;
  width: 8px;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, #8ff0bf, #41acff);
  animation: avEqualize 1.2s ease-in-out infinite;
}

.av-live-equalizer i:nth-child(2) { animation-delay: .12s; }
.av-live-equalizer i:nth-child(3) { animation-delay: .24s; }
.av-live-equalizer i:nth-child(4) { animation-delay: .36s; }
.av-live-equalizer i:nth-child(5) { animation-delay: .48s; }

.av-live-light {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  background: linear-gradient(108deg, transparent 0 43%, rgba(255,255,255,.22) 46%, rgba(65,172,255,.18) 47%, transparent 51%);
  animation: avLightSweep 5s linear infinite;
}

@keyframes avPanelFloat {
  0%, 100% { transform: translateY(-50%) rotate(-7deg) translate3d(0, 0, 0); }
  50% { transform: translateY(-50%) rotate(-7deg) translate3d(-12px, 7px, 0); }
}

@keyframes avWavePulse {
  0% { opacity: .62; transform: translateY(-50%) scale(.52); }
  100% { opacity: 0; transform: translateY(-50%) scale(1.15); }
}

@keyframes avDotFloatOne {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(52px, 28px, 0); }
}

@keyframes avDotFloatTwo {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-44px, -36px, 0); }
}

@keyframes avEqualize {
  0%, 100% { height: 20px; }
  50% { height: 56px; }
}

@keyframes avLightSweep {
  0% { transform: translateX(-72%); }
  100% { transform: translateX(72%); }
}

/* Policy pages */
.policy-page {
  overflow: visible;
  background:
    radial-gradient(circle at 12% 12%, rgba(0, 155, 88, .08), transparent 28%),
    radial-gradient(circle at 88% 22%, rgba(0, 109, 214, .10), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 48%, #ffffff 100%);
}

.policy-hero {
  position: relative;
  min-height: 292px;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  color: #ffffff;
  background:
    linear-gradient(90deg, rgba(3,18,38,.92) 0%, rgba(5,52,88,.82) 48%, rgba(5,122,78,.62) 100%),
    url("../assets/office.webp") center / cover no-repeat;
}

.policy-hero::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background:
    radial-gradient(circle at 78% 42%, rgba(143,240,191,.26), transparent 24%),
    repeating-linear-gradient(112deg, transparent 0 64px, rgba(143,240,191,.14) 65px 66px, transparent 67px 138px);
  animation: policyLineFlow 14s linear infinite;
  opacity: .82;
  pointer-events: none;
}

.policy-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding: 54px 0;
}

.policy-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(40px, 4.7vw, 66px);
  line-height: 1;
  letter-spacing: -1.8px;
}

.policy-hero p:not(.eyebrow) {
  max-width: 720px;
  margin: 16px 0 0;
  color: rgba(236,248,255,.82);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.65;
}

.policy-breadcrumb {
  flex: 0 0 auto;
}

.policy-live {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.policy-live__dot {
  position: absolute;
  right: 22%;
  top: 38%;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #8ff0bf;
  box-shadow: 0 0 0 10px rgba(143,240,191,.14), 0 0 24px rgba(143,240,191,.55);
  animation: policyDotOne 6s ease-in-out infinite;
}

.policy-live__dot--two {
  right: 10%;
  top: 64%;
  background: #41acff;
  box-shadow: 0 0 0 10px rgba(65,172,255,.14), 0 0 24px rgba(65,172,255,.55);
  animation: policyDotTwo 7s ease-in-out infinite;
}

.policy-live__line {
  position: absolute;
  right: 9%;
  top: 51%;
  width: 250px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(143,240,191,.85), rgba(65,172,255,.62), transparent);
  transform: rotate(18deg);
  animation: policyLinePulse 3.6s linear infinite;
}

.policy-live__line--two {
  top: 61%;
  right: 14%;
  width: 205px;
  transform: rotate(-22deg);
  animation-direction: reverse;
}

.policy-live__scan {
  position: absolute;
  inset: 0;
  display: block;
  background: linear-gradient(108deg, transparent 0 44%, rgba(255,255,255,.18) 47%, rgba(143,240,191,.18) 48%, transparent 51%);
  animation: policyScan 5.4s linear infinite;
}

.policy-content {
  padding: 42px 0 36px;
}

.policy-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: start;
  gap: 34px;
}

.policy-sidebar {
  position: sticky;
  top: 40px;
  max-height: calc(100vh - 60px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,155,88,.38) rgba(8,49,92,.06);
  padding: 26px;
  border: 1px solid rgba(8,49,92,.12);
  border-radius: 26px;
  background:
    radial-gradient(circle at 94% 8%, rgba(16,196,116,.16), transparent 28%),
    linear-gradient(180deg, #ffffff, #f7fbff);
  box-shadow: 0 24px 62px rgba(8,35,67,.10);
}

.policy-sidebar::-webkit-scrollbar {
  width: 6px;
}

.policy-sidebar::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(8,49,92,.06);
}

.policy-sidebar::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(0,155,88,.38);
}

.policy-sidebar > span {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  color: #009b58;
  background: rgba(0,155,88,.10);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.policy-sidebar h2 {
  margin: 16px 0 18px;
  color: #06172f;
  font-size: 24px;
  line-height: 1.1;
}

.policy-sidebar nav {
  display: grid;
  gap: 9px;
}

.policy-sidebar a {
  display: block;
  padding: 11px 13px;
  border: 1px solid rgba(8,49,92,.08);
  border-radius: 14px;
  color: #102844;
  background: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  transition: transform .25s ease, border-color .25s ease, color .25s ease;
}

.policy-sidebar a:hover {
  border-color: rgba(0,155,88,.28);
  color: #009b58;
  transform: translateX(4px);
}

.policy-card-stack {
  display: grid;
  gap: 18px;
}

.policy-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 20px;
  padding: 28px;
  border: 1px solid rgba(8,49,92,.12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 96% 10%, rgba(16,196,116,.12), transparent 24%),
    linear-gradient(180deg, #ffffff, #f8fbff);
  box-shadow: 0 22px 54px rgba(8,35,67,.09);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.policy-card:hover {
  border-color: rgba(0,155,88,.28);
  box-shadow: 0 30px 70px rgba(8,35,67,.14);
  transform: translateY(-5px);
}

.policy-card__number {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  color: #009b58;
  background: rgba(0,155,88,.10);
  font-size: 13px;
  font-weight: 900;
}

.policy-card h2 {
  margin: 0;
  color: #06172f;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.15;
}

.policy-card ul {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.policy-card li {
  position: relative;
  padding-left: 24px;
  color: #4d6682;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.75;
}

.policy-card li::before {
  position: absolute;
  left: 0;
  top: .62em;
  width: 9px;
  height: 9px;
  content: "";
  border-radius: 50%;
  background: #10c474;
  box-shadow: 0 0 0 5px rgba(16,196,116,.10);
}

.policy-contact {
  margin: 20px 0 0;
  padding: 14px 16px;
  border: 1px solid rgba(0,155,88,.16);
  border-radius: 16px;
  color: #102844;
  background: rgba(0,155,88,.06);
  font-weight: 800;
}

.policy-contact a {
  color: #009b58;
}

.policy-cta {
  margin-top: 56px;
  margin-bottom: 82px;
}

@keyframes policyLineFlow {
  from { background-position: 0 0, 0 0; }
  to { background-position: 0 0, 420px 0; }
}

@keyframes policyDotOne {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(44px, 24px, 0); }
}

@keyframes policyDotTwo {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-42px, -34px, 0); }
}

@keyframes policyLinePulse {
  0% { background-position: -250px 0; opacity: .46; }
  50% { opacity: .9; }
  100% { background-position: 250px 0; opacity: .46; }
}

@keyframes policyScan {
  0% { transform: translateX(-72%); }
  100% { transform: translateX(72%); }
}

/* Distinct policy page banner treatments */
.policy-page--cookies-policy .policy-hero {
  background:
    radial-gradient(circle at 84% 36%, rgba(143,240,191,.22), transparent 24%),
    radial-gradient(circle at 14% 84%, rgba(65,172,255,.16), transparent 28%),
    linear-gradient(105deg, #06172f 0%, #0b3b64 52%, #08704b 100%);
}

.policy-page--privacy-policy .policy-hero {
  background:
    radial-gradient(circle at 74% 38%, rgba(65,172,255,.24), transparent 25%),
    radial-gradient(circle at 90% 70%, rgba(143,240,191,.18), transparent 24%),
    linear-gradient(120deg, #03142d 0%, #103a72 54%, #075b68 100%);
}

.policy-page--terms-and-condition .policy-hero {
  background:
    radial-gradient(circle at 82% 44%, rgba(255,255,255,.12), transparent 24%),
    radial-gradient(circle at 16% 78%, rgba(143,240,191,.16), transparent 28%),
    linear-gradient(115deg, #07172b 0%, #17334f 44%, #0b6242 100%);
}

.policy-page--cookies-policy .policy-hero::before {
  background:
    radial-gradient(circle at 78% 44%, rgba(143,240,191,.22), transparent 24%),
    radial-gradient(circle at 88% 72%, rgba(255,255,255,.10), transparent 20%),
    radial-gradient(circle at 62% 28%, rgba(65,172,255,.12), transparent 18%);
  animation: cookieGlowDrift 10s ease-in-out infinite;
}

.policy-page--cookies-policy .policy-live__line,
.policy-page--cookies-policy .policy-live__scan {
  display: none;
}

.policy-page--cookies-policy .policy-live__dot {
  width: 10px;
  height: 10px;
  background: #8ff0bf;
  animation: cookieDotFloat 7s ease-in-out infinite;
}

.policy-page--cookies-policy .policy-live__dot--one {
  right: 17%;
  top: 35%;
}

.policy-page--cookies-policy .policy-live__dot--two {
  right: 10%;
  top: 68%;
  animation-delay: 1.4s;
}

.cookie-live-chip {
  position: absolute;
  right: 13%;
  top: 42%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 108px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255,255,255,.12);
  box-shadow: 0 18px 42px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  animation: cookieChipFloat 6.4s ease-in-out infinite;
}

.cookie-live-chip--two {
  right: 24%;
  top: 60%;
  color: #8ff0bf;
  animation-delay: 1.2s;
}

.cookie-live-ring {
  position: absolute;
  right: 8%;
  top: 50%;
  z-index: 1;
  display: block;
  width: 210px;
  height: 210px;
  border: 1px dashed rgba(143,240,191,.28);
  border-radius: 50%;
  box-shadow: inset 0 0 36px rgba(65,172,255,.10);
  transform: translateY(-50%);
  animation: cookieRingSpin 18s linear infinite;
}

.policy-page--privacy-policy .policy-hero::before {
  background:
    radial-gradient(circle at 72% 38%, rgba(65,172,255,.28), transparent 24%),
    radial-gradient(circle at 90% 68%, rgba(143,240,191,.18), transparent 22%),
    repeating-radial-gradient(circle at 78% 50%, rgba(255,255,255,.15) 0 1px, transparent 2px 26px);
  animation: policyPrivacyOrbit 16s linear infinite;
}

.policy-page--terms-and-condition .policy-hero::before {
  background:
    radial-gradient(circle at 80% 46%, rgba(143,240,191,.20), transparent 24%),
    linear-gradient(118deg, transparent 0 54%, rgba(255,255,255,.18) 54.4% 55%, transparent 55.4%),
    linear-gradient(118deg, transparent 0 68%, rgba(65,172,255,.13) 68.4% 69%, transparent 69.4%);
  animation: policyTermsSlide 7s ease-in-out infinite alternate;
}

.policy-page--privacy-policy .policy-live__line {
  width: 170px;
  height: 170px;
  border: 1px solid rgba(65,172,255,.28);
  border-radius: 50%;
  background: transparent;
  animation: policyPrivacyRing 10s linear infinite;
}

.policy-page--privacy-policy .policy-live__line--two {
  width: 112px;
  height: 112px;
  right: 13%;
  top: 48%;
  border-color: rgba(143,240,191,.24);
  animation-duration: 7s;
  animation-direction: reverse;
}

.policy-page--terms-and-condition .policy-live__line {
  width: 240px;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.78), rgba(143,240,191,.70), transparent);
  animation: policyTermsUnderline 3.8s linear infinite;
}

.policy-page--terms-and-condition .policy-live__dot {
  border-radius: 4px;
  transform: rotate(45deg);
}

.policy-page--terms-and-condition .policy-live__dot--two {
  border-radius: 50%;
}

.policy-page--privacy-policy .policy-live__scan {
  background: conic-gradient(from 0deg at 82% 50%, transparent 0 68%, rgba(65,172,255,.18), transparent 76% 100%);
  animation: policyPrivacySweep 8s linear infinite;
}

.policy-page--terms-and-condition .policy-live__scan {
  background: linear-gradient(90deg, transparent 0 60%, rgba(255,255,255,.16) 63%, transparent 66%);
  animation: policyTermsScan 6s linear infinite;
}

@keyframes policyPrivacyOrbit {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 0 0, 0 0, 180px 120px; }
}

@keyframes policyTermsSlide {
  from { background-position: 0 0, -90px 0, -160px 0; }
  to { background-position: 0 0, 120px 0, 80px 0; }
}

@keyframes policyPrivacyRing {
  from { transform: rotate(0deg) scale(1); opacity: .78; }
  50% { transform: rotate(180deg) scale(1.06); opacity: 1; }
  to { transform: rotate(360deg) scale(1); opacity: .78; }
}

@keyframes policyTermsUnderline {
  from { background-position: -240px 0; opacity: .45; }
  50% { opacity: .95; }
  to { background-position: 240px 0; opacity: .45; }
}

@keyframes policyPrivacySweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes policyTermsScan {
  from { transform: translateX(-70%); }
  to { transform: translateX(70%); }
}

@media (max-width: 1100px) {
  .policy-layout {
    grid-template-columns: 1fr;
  }

  .policy-sidebar {
    position: relative;
    top: auto;
  }
}

@media (max-width: 767px) {
  .policy-hero__inner {
    display: block;
    padding: 42px 0;
  }

  .policy-hero h1 {
    font-size: 38px;
  }

  .policy-breadcrumb {
    margin-top: 24px;
  }

  .policy-content {
    padding: 56px 0 24px;
  }

  .policy-card {
    grid-template-columns: 1fr;
    padding: 22px;
  }
}

.elv-hero {
  position: relative;
  padding: 86px 0 76px;
  isolation: isolate;
  background:
    radial-gradient(circle at 76% 28%, rgba(18, 184, 110, .16), transparent 26%),
    linear-gradient(105deg, #f7fcff 0%, #edf8ff 52%, #e8fff4 100%);
}

.elv-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image:
    linear-gradient(rgba(10, 61, 98, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 61, 98, .055) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 82%, transparent 100%);
}

.elv-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1fr);
  align-items: center;
  gap: 68px;
}

.elv-hero__copy h1 {
  max-width: 680px;
  margin: 0;
  color: #06172f;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -2.4px;
}

.elv-hero__copy > p:not(.eyebrow) {
  max-width: 620px;
  margin: 24px 0 0;
  color: #49617e;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.72;
}

.elv-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.elv-hero__chips span {
  padding: 10px 15px;
  border: 1px solid rgba(0, 155, 90, .18);
  border-radius: 999px;
  color: #08264a;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 12px 28px rgba(5, 46, 86, .08);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.elv-hero__visual {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 34px;
  background:
    radial-gradient(circle at 68% 48%, rgba(18, 184, 110, .28), transparent 28%),
    linear-gradient(135deg, #071b36 0%, #0b3d66 54%, #087348 100%);
  box-shadow:
    0 34px 80px rgba(7, 30, 57, .18),
    inset 0 1px 0 rgba(255, 255, 255, .22);
}

.elv-hero__visual::before {
  position: absolute;
  inset: 32px;
  content: "";
  border-radius: 28px;
  background-image:
    linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: .7;
}

.elv-radar {
  position: absolute;
  right: -90px;
  top: 28px;
  width: 350px;
  height: 350px;
  border: 1px solid rgba(133, 225, 255, .28);
  border-radius: 50%;
  box-shadow:
    0 0 0 48px rgba(255, 255, 255, .04),
    0 0 0 96px rgba(18, 184, 110, .055),
    inset 0 0 44px rgba(78, 172, 255, .13);
}

.elv-core {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 146px;
  height: 146px;
  border-radius: 35px;
  color: #07315c;
  background: linear-gradient(145deg, #ffffff, #dceef8);
  box-shadow: 0 28px 54px rgba(0, 0, 0, .22);
  transform: translate(-50%, -50%) rotate(45deg);
}

.elv-core strong {
  font-size: 34px;
  font-weight: 900;
  transform: rotate(-45deg);
}

.elv-core span {
  position: absolute;
  inset: -18px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: inherit;
}

.elv-device {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 132px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 18px;
  color: #ffffff;
  background: rgba(255, 255, 255, .13);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
  backdrop-filter: blur(10px);
}

.elv-device span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #15c876;
  box-shadow: 0 0 0 9px rgba(21, 200, 118, .16);
}

.elv-device strong {
  font-size: 12px;
  letter-spacing: .08em;
}

.elv-device--camera { left: 40px; top: 62px; }
.elv-device--fire { right: 44px; top: 142px; }
.elv-device--bms { left: 78px; bottom: 74px; }
.elv-device--access { right: 72px; bottom: 54px; }

.elv-intro {
  position: relative;
  padding: 34px 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(142, 239, 192, .20), transparent 28%),
    linear-gradient(105deg, #071a31 0%, #0b3d66 50%, #087049 100%);
}

.elv-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 42px;
}

.elv-intro h2 {
  max-width: 720px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 2.9vw, 40px);
  line-height: 1.1;
}

.elv-intro p:not(.eyebrow) {
  max-width: 820px;
  margin: 13px 0 0;
  color: rgba(238, 248, 255, .78);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.62;
}

.elv-intro__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  gap: 10px;
}

.elv-intro__metrics article {
  min-width: 110px;
  padding: 16px 14px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 17px;
  color: #ffffff;
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
  text-align: center;
}

.elv-intro__metrics strong {
  display: block;
  font-size: 26px;
  line-height: 1;
}

.elv-intro__metrics span {
  display: block;
  margin-top: 7px;
  color: rgba(238, 248, 255, .70);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.elv-services {
  padding: 86px 0;
}

.elv-section-head {
  max-width: 790px;
}

.elv-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}

.elv-service-card {
  position: relative;
  min-height: 100%;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(8, 49, 92, .12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 10%, rgba(16, 196, 116, .16), transparent 24%),
    linear-gradient(180deg, #ffffff, #f7fbff);
  box-shadow: 0 22px 54px rgba(8, 35, 67, .10);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.elv-service-card::after {
  position: absolute;
  right: -34px;
  bottom: -38px;
  width: 124px;
  height: 124px;
  content: "";
  border: 1px solid rgba(16, 196, 116, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgba(16, 196, 116, .055);
}

.elv-service-card:hover {
  border-color: rgba(16, 196, 116, .38);
  box-shadow: 0 30px 70px rgba(8, 35, 67, .16);
  transform: translateY(-7px);
}

.elv-service-card__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.elv-service-card__head > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 15px;
  color: #009b58;
  background: rgba(0, 155, 88, .11);
  font-size: 12px;
  font-weight: 900;
}

.elv-service-card small {
  display: block;
  color: #009b58;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.elv-service-card h3 {
  margin: 6px 0 0;
  color: #081b38;
  font-size: 20px;
  line-height: 1.18;
}

.elv-service-card p {
  position: relative;
  z-index: 1;
  margin: 18px 0 0;
  color: #506782;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.62;
}

.elv-service-card ul {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 9px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.elv-service-card li {
  position: relative;
  padding-left: 20px;
  color: #102844;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.elv-service-card li::before {
  position: absolute;
  left: 0;
  top: .3em;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: #10c474;
  box-shadow: 0 0 0 5px rgba(16, 196, 116, .10);
}

.elv-expertise {
  padding: 38px 0;
  background:
    linear-gradient(100deg, rgba(6, 24, 48, .94), rgba(9, 67, 100, .90), rgba(10, 157, 92, .86)),
    radial-gradient(circle at 12% 50%, rgba(255,255,255,.15), transparent 24%);
}

.elv-expertise__inner {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: 34px;
}

.elv-expertise__copy h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
}

.elv-expertise__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 22px;
  background: rgba(255, 255, 255, .16);
}

.elv-expertise__row article {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 84px;
  padding: 16px 18px;
  color: #ffffff;
  background: rgba(255, 255, 255, .06);
  transition: background .25s ease, transform .25s ease;
}

.elv-expertise__row article:hover {
  background: rgba(255, 255, 255, .14);
  transform: translateY(-2px);
}

.elv-expertise__row span {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .13);
  box-shadow: inset 0 0 0 7px rgba(143, 240, 191, .92);
}

.elv-expertise__row strong {
  font-size: 12px;
  line-height: 1.25;
}

.elv-approach {
  padding: 86px 0 72px;
  background:
    radial-gradient(circle at 50% 10%, rgba(0, 155, 88, .12), transparent 28%),
    linear-gradient(180deg, #ffffff, #f5fbff);
}

.elv-approach__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.elv-approach__grid article {
  position: relative;
  padding: 28px 22px 24px;
  border: 1px solid rgba(8, 49, 92, .13);
  border-radius: 24px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 24px 54px rgba(8, 35, 67, .10);
  transition: transform .28s ease, border-color .28s ease;
}

.elv-approach__grid article:hover {
  border-color: rgba(0, 155, 88, .35);
  transform: translateY(-6px);
}

.elv-approach__grid span {
  display: inline-grid;
  place-items: center;
  min-width: 42px;
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  color: #006dd6;
  background: rgba(0, 109, 214, .10);
  font-size: 11px;
  font-weight: 900;
}

.elv-approach__grid h3 {
  margin: 18px 0 8px;
  color: #081b38;
  font-size: 22px;
}

.elv-approach__grid p {
  margin: 0;
  color: #526a85;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
}

.elv-cta {
  margin-top: 0;
  margin-bottom: 82px;
}

@media (max-width: 1100px) {
  .elv-hero__grid,
  .elv-intro__inner,
  .elv-expertise__inner {
    grid-template-columns: 1fr;
  }

  .elv-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .elv-expertise__row,
  .elv-approach__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .elv-hero {
    padding: 54px 0;
  }

  .elv-hero__grid {
    gap: 34px;
  }

  .elv-hero__copy h1 {
    font-size: 38px;
  }

  .elv-hero__visual {
    min-height: 330px;
  }

  .elv-intro__metrics,
  .elv-service-grid,
  .elv-expertise__row,
  .elv-approach__grid {
    grid-template-columns: 1fr;
  }

  .elv-services,
  .elv-approach {
    padding: 58px 0;
  }
}

/* Audio Visual solution page */
.av-page {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 12%, rgba(0, 155, 88, .08), transparent 28%),
    radial-gradient(circle at 90% 20%, rgba(0, 109, 214, .10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 48%, #ffffff 100%);
}

.av-top-banner {
  background:
    linear-gradient(90deg, rgba(3, 18, 38, .88), rgba(4, 97, 82, .74)),
    url("../assets/guy-shows-document-girl-group-young-freelancers-office-have-conversation-working.webp") center / cover no-repeat;
}

.av-hero {
  position: relative;
  padding: 86px 0 78px;
  isolation: isolate;
  background:
    radial-gradient(circle at 76% 38%, rgba(0, 155, 88, .14), transparent 28%),
    linear-gradient(105deg, #f8fcff 0%, #edf8ff 54%, #ecfff7 100%);
}

.av-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-image:
    linear-gradient(rgba(8, 49, 92, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8, 49, 92, .055) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 82%, transparent);
}

.av-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1fr);
  align-items: center;
  gap: 68px;
}

.av-hero__copy h1 {
  max-width: 760px;
  margin: 0;
  color: #06172f;
  font-size: clamp(40px, 4.8vw, 68px);
  line-height: .99;
  letter-spacing: -2.2px;
}

.av-hero__copy > p:not(.eyebrow) {
  max-width: 650px;
  margin: 24px 0 0;
  color: #4c6480;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.72;
}

.av-hero__visual {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 24%, rgba(65, 172, 255, .26), transparent 24%),
    radial-gradient(circle at 80% 72%, rgba(18, 200, 118, .30), transparent 28%),
    linear-gradient(135deg, #06172f 0%, #0b3d68 52%, #08724b 100%);
  box-shadow:
    0 34px 80px rgba(7, 30, 57, .18),
    inset 0 1px 0 rgba(255, 255, 255, .22);
}

.av-hero__visual::before {
  position: absolute;
  inset: 34px;
  content: "";
  border-radius: 28px;
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px);
  background-size: 46px 46px;
}

.av-screen {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 250px;
  height: 154px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 24px;
  color: #ffffff;
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.08)),
    radial-gradient(circle at 80% 20%, rgba(143,240,191,.28), transparent 28%);
  box-shadow: 0 30px 70px rgba(0,0,0,.25);
  backdrop-filter: blur(12px);
  transform: translate(-50%, -50%);
}

.av-screen span {
  position: absolute;
  bottom: -34px;
  width: 98px;
  height: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}

.av-screen strong {
  font-size: 54px;
  line-height: 1;
}

.av-screen small {
  color: rgba(255,255,255,.74);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.av-orbit {
  position: absolute;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
}

.av-orbit--one {
  inset: 54px 92px;
}

.av-orbit--two {
  left: 74px;
  top: 84px;
  width: 330px;
  height: 330px;
  box-shadow: 0 0 0 52px rgba(255,255,255,.035);
}

.av-node {
  position: absolute;
  z-index: 3;
  padding: 11px 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255,255,255,.14);
  box-shadow: 0 16px 38px rgba(0,0,0,.18);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.av-node--video { left: 58px; top: 82px; }
.av-node--audio { right: 70px; top: 120px; }
.av-node--control { right: 92px; bottom: 78px; }

.av-zones {
  padding: 34px 0;
  background:
    linear-gradient(100deg, #071a31 0%, #0b3d66 50%, #087049 100%);
}

.av-zones__inner {
  display: grid;
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1fr);
  align-items: center;
  gap: 34px;
}

.av-zones h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
}

.av-zones__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.av-zones__grid article {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  color: #ffffff;
  background: rgba(255,255,255,.09);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  transition: transform .25s ease, background .25s ease;
}

.av-zones__grid article:hover {
  background: rgba(255,255,255,.15);
  transform: translateY(-3px);
}

.av-zones__grid span {
  color: #8ff0bf;
  font-size: 12px;
  font-weight: 900;
}

.av-zones__grid strong {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.25;
}

.av-solutions {
  padding: 86px 0;
}

.av-section-head {
  max-width: 830px;
}

.av-solution-stack {
  display: grid;
  gap: 24px;
  margin-top: 36px;
}

.av-solution-card {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(8, 49, 92, .12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 96% 14%, rgba(16, 196, 116, .15), transparent 22%),
    linear-gradient(180deg, #ffffff, #f7fbff);
  box-shadow: 0 24px 62px rgba(8, 35, 67, .10);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.av-solution-card:hover {
  border-color: rgba(16, 196, 116, .36);
  box-shadow: 0 34px 78px rgba(8, 35, 67, .16);
  transform: translateY(-6px);
}

.av-solution-card__intro > span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 15px;
  color: #009b58;
  background: rgba(0,155,88,.11);
  font-size: 12px;
  font-weight: 900;
}

.av-solution-card small {
  display: block;
  margin-top: 20px;
  color: #009b58;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.av-solution-card h3 {
  margin: 7px 0 0;
  color: #06172f;
  font-size: clamp(26px, 2.6vw, 36px);
  line-height: 1.08;
}

.av-solution-card p {
  margin: 16px 0 0;
  color: #506782;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.66;
}

.av-space-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.av-space-tags em {
  padding: 8px 11px;
  border-radius: 999px;
  color: #08264a;
  background: rgba(0, 109, 214, .08);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.av-solution-card__lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.av-solution-card__lists div {
  padding: 20px;
  border: 1px solid rgba(8, 49, 92, .10);
  border-radius: 22px;
  background: rgba(255,255,255,.70);
}

.av-solution-card h4 {
  margin: 0 0 15px;
  color: #081b38;
  font-size: 15px;
}

.av-solution-card ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.av-solution-card li {
  position: relative;
  padding-left: 20px;
  color: #102844;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}

.av-solution-card li::before {
  position: absolute;
  left: 0;
  top: .35em;
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: #10c474;
  box-shadow: 0 0 0 5px rgba(16,196,116,.10);
}

.av-why {
  padding: 56px 0;
  background:
    linear-gradient(103deg, rgba(6,24,48,.94), rgba(9,67,100,.91), rgba(10,157,92,.86)),
    radial-gradient(circle at 14% 50%, rgba(255,255,255,.16), transparent 24%);
}

.av-why__inner {
  display: grid;
  grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr);
  align-items: center;
  gap: 38px;
}

.av-why__copy h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(27px, 3.1vw, 42px);
  line-height: 1.1;
}

.av-why__copy p:not(.eyebrow) {
  margin: 16px 0 0;
  color: rgba(238,248,255,.75);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.65;
}

.av-why__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.16);
}

.av-why__grid article {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 86px;
  padding: 16px 18px;
  color: #ffffff;
  background: rgba(255,255,255,.06);
  transition: background .25s ease, transform .25s ease;
}

.av-why__grid article:hover {
  background: rgba(255,255,255,.14);
  transform: translateY(-2px);
}

.av-why__grid span {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  background: rgba(255,255,255,.13);
  box-shadow: inset 0 0 0 7px rgba(143,240,191,.92);
}

.av-why__grid strong {
  font-size: 12px;
  line-height: 1.25;
}

.av-cta {
  margin-top: 76px;
  margin-bottom: 82px;
}

@media (max-width: 1100px) {
  .av-hero__grid,
  .av-zones__inner,
  .av-solution-card,
  .av-why__inner {
    grid-template-columns: 1fr;
  }

  .av-zones__grid,
  .av-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .av-hero {
    padding: 54px 0;
  }

  .av-hero__grid {
    gap: 34px;
  }

  .av-hero__copy h1 {
    font-size: 38px;
  }

  .av-hero__visual {
    min-height: 330px;
  }

  .av-zones__grid,
  .av-solution-card__lists,
  .av-why__grid {
    grid-template-columns: 1fr;
  }

  .av-solutions {
    padding: 58px 0;
  }
}

/* Solution page alignment pass: match Infrastructure scale and premium motion. */
.elv-hero,
.av-hero {
  padding: 74px 0 68px !important;
}

.elv-hero__grid,
.av-hero__grid {
  grid-template-columns: minmax(0, .94fr) minmax(420px, 1fr) !important;
  gap: 62px !important;
}

.elv-hero__copy h1,
.av-hero__copy h1 {
  max-width: 620px !important;
  font-size: clamp(34px, 3.65vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -1.55px !important;
}

.elv-hero__copy > p:not(.eyebrow),
.av-hero__copy > p:not(.eyebrow) {
  max-width: 600px !important;
  margin-top: 18px !important;
  margin-bottom: 26px !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
}

.av-hero__copy .actions {
  margin-top: 0 !important;
}

.elv-hero__visual,
.av-hero__visual {
  min-height: 390px !important;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, .24));
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.elv-hero__visual:hover,
.av-hero__visual:hover {
  border-color: rgba(143, 240, 191, .45);
  box-shadow:
    0 42px 92px rgba(7, 30, 57, .22),
    inset 0 1px 0 rgba(255, 255, 255, .24);
  transform: translateY(-5px);
}

.elv-radar,
.av-orbit,
.av-orbit--two {
  animation: solutionSoftPulse 5.8s ease-in-out infinite;
}

.elv-core,
.av-screen {
  animation: solutionFloat 4.8s ease-in-out infinite;
}

.elv-device,
.av-node {
  transition: transform .28s ease, background .28s ease, box-shadow .28s ease;
}

.elv-device:hover,
.av-node:hover {
  background: rgba(255, 255, 255, .20);
  box-shadow: 0 22px 52px rgba(0, 0, 0, .24);
  transform: translateY(-4px);
}

.elv-section-head,
.av-section-head {
  max-width: 760px !important;
}

.elv-section-head h2,
.av-section-head h2 {
  max-width: 720px !important;
  font-size: clamp(26px, 2.45vw, 34px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.9px !important;
}

.elv-service-card,
.av-solution-card,
.elv-approach__grid article,
.av-zones__grid article,
.av-why__grid article,
.elv-expertise__row article {
  will-change: transform;
}

.elv-service-card:hover,
.av-solution-card:hover,
.elv-approach__grid article:hover {
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, .10));
}

@keyframes solutionFloat {
  0%, 100% {
    transform: translate(-50%, -50%) translateY(0) rotate(var(--solution-rotate, 0deg));
  }
  50% {
    transform: translate(-50%, -50%) translateY(-10px) rotate(var(--solution-rotate, 0deg));
  }
}

@keyframes solutionSoftPulse {
  0%, 100% {
    opacity: .72;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.025);
  }
}

.elv-core {
  --solution-rotate: 45deg;
}

.elv-core strong {
  transform: rotate(-45deg) !important;
}

.av-screen {
  --solution-rotate: 0deg;
}

@media (max-width: 1100px) {
  .elv-hero__grid,
  .av-hero__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .elv-hero,
  .av-hero {
    padding: 50px 0 !important;
  }

  .elv-hero__copy h1,
  .av-hero__copy h1 {
    font-size: 34px !important;
    letter-spacing: -1px !important;
  }

  .elv-hero__visual,
  .av-hero__visual {
    min-height: 320px !important;
  }
}

main.infra-page .infra-intro__panel small {
  margin-bottom: 3px !important;
  font-size: 7.5px !important;
}

main.infra-page .infra-intro__panel strong {
  font-size: 14px !important;
}

@keyframes cookieGlowDrift {
  0%, 100% { opacity: .78; transform: translate3d(0, 0, 0); }
  50% { opacity: 1; transform: translate3d(-12px, 8px, 0); }
}

@keyframes cookieDotFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-34px, 26px, 0) scale(1.18); }
}

@keyframes cookieChipFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-16px, -12px, 0); }
}

@keyframes cookieRingSpin {
  from { transform: translateY(-50%) rotate(0deg); }
  to { transform: translateY(-50%) rotate(360deg); }
}

/* Premium animated title accent */
.section-head h2,
.infra-section-head h2,
.about-page-section-head h2,
.about-studio-section-head h2,
.contact-section-head h2,
.contact-center-head h2,
.contact-process__title h2,
.contact-map-head h2,
.policy-hero h1 {
  position: relative;
  display: inline-block;
  padding-bottom: 18px;
}

.section-head h2::after,
.infra-section-head h2::after,
.about-page-section-head h2::after,
.about-studio-section-head h2::after,
.contact-section-head h2::after,
.contact-center-head h2::after,
.contact-process__title h2::after,
.contact-map-head h2::after,
.policy-hero h1::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 118px;
  height: 3px;
  content: "";
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(8,47,89,.22), rgba(0,148,74,.36), rgba(8,47,89,.22), transparent);
  transform: none;
  overflow: hidden;
}

.section-head h2::before,
.infra-section-head h2::before,
.about-page-section-head h2::before,
.about-studio-section-head h2::before,
.contact-section-head h2::before,
.contact-center-head h2::before,
.contact-process__title h2::before,
.contact-map-head h2::before,
.policy-hero h1::before {
  position: absolute;
  left: 12px;
  bottom: -5px;
  z-index: 1;
  width: 13px;
  height: 13px;
  content: "";
  border-radius: 50%;
  background: var(--green);
  box-shadow:
    0 0 0 7px rgba(0,148,74,.10),
    0 0 18px rgba(0,148,74,.36);
  animation: titleAccentDot 3.8s ease-in-out infinite;
}

.policy-hero h1::after {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.30), rgba(143,240,191,.72), rgba(255,255,255,.30), transparent);
}

.policy-hero h1::before {
  background: #8ff0bf;
  box-shadow:
    0 0 0 7px rgba(143,240,191,.14),
    0 0 20px rgba(143,240,191,.48);
}

@keyframes titleAccentDot {
  0%, 100% {
    transform: translateX(0) scale(1);
  }
  50% {
    transform: translateX(95px) scale(1.08);
  }
}

/* Variation: home titles use a premium shimmer line instead of the dot. */
.section-head h2::before {
  display: none;
}

.section-head h2::after {
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(0,148,74,.16), rgba(0,148,74,.72), rgba(5,101,199,.52), transparent);
  background-size: 220% 100%;
  animation: titleAccentShimmer 3.6s ease-in-out infinite;
}

/* Variation: solution titles use two small breathing dots. */
.infra-section-head h2::before {
  left: 10px;
  width: 10px;
  height: 10px;
  animation: titleTwinDotLeft 2.8s ease-in-out infinite;
}

.infra-section-head h2::after {
  height: 3px;
  background:
    radial-gradient(circle at calc(50% + 44px) 50%, var(--green) 0 5px, transparent 6px),
    linear-gradient(90deg, transparent, rgba(8,47,89,.18), rgba(0,148,74,.38), rgba(8,47,89,.18), transparent);
  animation: titleLineBreathe 3.4s ease-in-out infinite;
}

/* Variation: about/contact/policy titles keep the moving dot, centered. */
.about-page-section-head h2::before,
.about-studio-section-head h2::before,
.contact-section-head h2::before,
.contact-center-head h2::before,
.contact-process__title h2::before,
.contact-map-head h2::before,
.policy-hero h1::before {
  left: 12px;
}

@keyframes titleAccentShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes titleTwinDotLeft {
  0%, 100% { transform: translateX(0) scale(1); opacity: .72; }
  50% { transform: translateX(88px) scale(1.1); opacity: 1; }
}

@keyframes titleLineBreathe {
  0%, 100% { opacity: .72; transform: scaleX(.92); transform-origin: left center; }
  50% { opacity: 1; transform: scaleX(1); transform-origin: left center; }
}

/* Keep accent alignment tied to actual heading alignment. */
.infra-section-head h2::after,
.about-page-section-head h2::after,
.about-studio-section-head h2::after,
.contact-center-head h2::after,
.contact-process__title h2::after,
.contact-map-head h2::after {
  left: 50%;
  transform: translateX(-50%);
}

.about-page-section-head h2::before,
.about-studio-section-head h2::before,
.contact-center-head h2::before,
.contact-process__title h2::before,
.contact-map-head h2::before {
  left: calc(50% - 54px);
}

.infra-section-head h2::before {
  left: calc(50% - 44px);
}

.infra-section-head h2::after {
  transform: translateX(-50%) scaleX(.92);
  transform-origin: center;
}

@keyframes titleLineBreathe {
  0%, 100% { opacity: .72; transform: translateX(-50%) scaleX(.92); transform-origin: center; }
  50% { opacity: 1; transform: translateX(-50%) scaleX(1); transform-origin: center; }
}

@media (max-width: 767px) {
  .section-head h2,
  .infra-section-head h2,
  .about-page-section-head h2,
  .about-studio-section-head h2,
  .contact-section-head h2,
  .contact-center-head h2,
  .contact-process__title h2,
  .contact-map-head h2,
  .policy-hero h1 {
    padding-bottom: 15px;
  }
}

/* Infrastructure banner aligned with other solution pages. */
.infra-page .infra-top-banner {
  min-height: 270px !important;
  background:
    linear-gradient(90deg, rgba(3, 18, 38, .90) 0%, rgba(5, 52, 88, .78) 45%, rgba(5, 122, 78, .36) 100%),
    url("../assets/home-banner.webp") center right / cover no-repeat !important;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}

.infra-page .infra-top-banner::before {
  z-index: -1;
  background:
    radial-gradient(circle at 78% 34%, rgba(143, 240, 191, .22), transparent 25%),
    radial-gradient(circle at 92% 72%, rgba(65, 172, 255, .18), transparent 28%),
    linear-gradient(118deg, transparent 0 58%, rgba(255, 255, 255, .12) 58.4% 59.1%, transparent 59.5%),
    linear-gradient(118deg, transparent 0 70%, rgba(143, 240, 191, .10) 70.3% 71%, transparent 71.4%) !important;
  background-size: auto !important;
  mask-image: linear-gradient(90deg, #000 0 78%, rgba(0,0,0,.28) 100%) !important;
}

.infra-page .infra-top-banner::after {
  right: 7% !important;
  width: 240px !important;
  height: 240px !important;
  border-radius: 34px !important;
  opacity: .72;
  box-shadow:
    0 0 0 28px rgba(255,255,255,.04),
    0 0 0 72px rgba(143,240,191,.035),
    0 28px 70px rgba(0,0,0,.16) !important;
  transform: translateY(-50%) rotate(12deg) !important;
}

.infra-page .infra-top-banner__inner {
  min-height: 270px;
  padding: 48px 0 !important;
  align-items: center !important;
}

.infra-page .infra-top-banner h1 {
  font-size: clamp(38px, 4.4vw, 60px) !important;
  letter-spacing: -1.35px !important;
}

.infra-page .infra-top-banner p:not(.eyebrow) {
  max-width: 610px !important;
  margin-top: 14px !important;
  color: rgba(236, 248, 255, .84) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.infra-page .infra-breadcrumb {
  background: rgba(255, 255, 255, .12) !important;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.infra-page .infra-breadcrumb:hover {
  border-color: rgba(143, 240, 191, .44);
  background: rgba(255, 255, 255, .18) !important;
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  .infra-page .infra-top-banner,
  .infra-page .infra-top-banner__inner {
    min-height: 230px !important;
  }

  .infra-page .infra-top-banner__inner {
    padding: 36px 0 !important;
  }

  .infra-page .infra-top-banner h1 {
    font-size: 36px !important;
  }
}

/* Solutions landing page */
.solutions-page {
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 20%, rgba(20, 188, 111, .12), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(18, 104, 204, .14), transparent 31%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 38%, #f5fbff 100%);
}

.solutions-page-hero {
  position: relative;
  padding: 34px 0 44px;
  isolation: isolate;
  background:
    linear-gradient(115deg, rgba(255,255,255,.98) 0 43%, rgba(220, 239, 255, .78) 43% 100%),
    linear-gradient(90deg, rgba(17, 185, 106, .12), rgba(16, 106, 205, .10));
}

.solutions-page-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  opacity: .45;
  background-image:
    linear-gradient(rgba(14, 56, 96, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14, 56, 96, .08) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 86%, transparent 100%);
}

.solutions-page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1fr);
  align-items: center;
  gap: 56px;
}

.solutions-page-hero__copy {
  max-width: 650px;
}

.solutions-page-hero__copy h1 {
  max-width: 12ch;
  margin: 10px 0 18px;
  color: #091936;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .98;
  letter-spacing: -2.8px;
  font-weight: 800;
}

.solutions-page-hero__copy p:not(.eyebrow) {
  max-width: 620px;
  color: #506786;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 600;
}

.solutions-page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}

.solutions-page-hero__visual {
  position: relative;
  min-height: 330px;
  border-radius: 26px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 26%, rgba(23, 197, 117, .24), transparent 28%),
    linear-gradient(135deg, #061a34 0%, #073862 58%, #0a765f 100%);
  box-shadow: 0 24px 55px rgba(9, 25, 54, .20);
}

.solutions-page-hero__visual::before,
.solutions-page-hero__visual::after {
  position: absolute;
  content: "";
  border-radius: 999px;
  pointer-events: none;
}

.solutions-page-hero__visual::before {
  width: 380px;
  height: 380px;
  right: -88px;
  top: -74px;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 56px rgba(255,255,255,.04), inset 0 0 0 116px rgba(255,255,255,.035);
  animation: solutionsFloat 8s ease-in-out infinite;
}

.solutions-page-hero__visual::after {
  inset: 30px;
  border-radius: 22px;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: .34;
}

.solutions-orbit {
  position: absolute;
  inset: 38px;
  z-index: 1;
}

.solutions-orbit__ring {
  position: absolute;
  inset: 34px 78px 34px 72px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 44% 56% 50% 50%;
  animation: solutionsRotate 18s linear infinite;
}

.solutions-orbit__ring--two {
  inset: 68px 116px 68px 112px;
  border-color: rgba(23, 197, 117, .34);
  animation-duration: 12s;
  animation-direction: reverse;
}

.solutions-orbit__core {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  border-radius: 32px;
  color: #0a3157;
  background: linear-gradient(145deg, #ffffff, #dff1ff);
  box-shadow: 0 24px 42px rgba(0,0,0,.20), 0 0 0 16px rgba(255,255,255,.07);
  transform: translate(-50%, -50%) rotate(45deg);
  font-size: 34px;
  font-weight: 800;
}

.solutions-orbit__core {
  transform: translate(-50%, -50%) rotate(0deg);
}

.solutions-orbit__node {
  position: absolute;
  display: grid;
  place-items: center;
  min-width: 78px;
  height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255,255,255,.13);
  backdrop-filter: blur(10px);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .3px;
  animation: solutionsBob 4.8s ease-in-out infinite;
}

.solutions-orbit__node--one { left: 8%; top: 13%; }
.solutions-orbit__node--two { right: 10%; top: 20%; animation-delay: .6s; }
.solutions-orbit__node--three { left: 13%; bottom: 15%; animation-delay: 1s; }
.solutions-orbit__node--four { right: 6%; bottom: 17%; animation-delay: 1.4s; }

.solutions-orbit__line {
  position: absolute;
  left: 12%;
  right: 8%;
  top: 48%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #18c574, #1686f0, #18c574);
  transform: rotate(-8deg);
  box-shadow: 0 0 24px rgba(23, 197, 117, .44);
  animation: solutionsPulse 3.2s ease-in-out infinite;
}

.solutions-parent {
  padding: 68px 0 62px;
}

.solutions-page-head {
  max-width: 760px;
  margin: 0 auto 32px;
}

.solutions-page-head p:not(.eyebrow) {
  max-width: 650px;
  margin: 12px auto 0;
  color: #5b708d;
  font-weight: 600;
  line-height: 1.7;
}

.solutions-parent__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.solutions-parent-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 356px;
  padding: 24px;
  border: 1px solid rgba(21, 97, 170, .14);
  border-radius: 22px;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 14%, rgba(21, 191, 108, .13), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248, 252, 255,.92));
  box-shadow: 0 18px 38px rgba(9, 25, 54, .08);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.solutions-parent-card::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: 0;
  background: linear-gradient(135deg, rgba(5, 37, 73, .98), rgba(0, 132, 104, .92));
  transition: opacity .35s ease;
}

.solutions-parent-card > * {
  position: relative;
  z-index: 1;
}

.solutions-parent-card:hover {
  transform: translateY(-10px);
  border-color: rgba(24, 197, 116, .44);
  box-shadow: 0 28px 54px rgba(9, 25, 54, .15);
}

.solutions-parent-card:hover::before {
  opacity: 1;
}

.solutions-parent-card__top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.solutions-parent-card__top span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #08a55d;
  background: rgba(20, 188, 111, .12);
  font-size: 12px;
  font-weight: 800;
}

.solutions-parent-card__top strong {
  color: #0b1d3b;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 800;
}

.solutions-parent-card p {
  margin: 0 0 18px;
  color: #526984;
  font-size: 14px;
  line-height: 1.68;
  font-weight: 600;
}

.solutions-parent-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.solutions-parent-card__tags span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #0d345e;
  background: rgba(13, 87, 158, .08);
  font-size: 11px;
  font-weight: 800;
}

.solutions-parent-card a,
.solutions-parent-card__soon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #08a55d;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.solutions-parent-card:hover .solutions-parent-card__top span {
  color: #ffffff;
  background: rgba(255,255,255,.16);
}

.solutions-parent-card:hover .solutions-parent-card__top strong,
.solutions-parent-card:hover p,
.solutions-parent-card:hover a,
.solutions-parent-card:hover .solutions-parent-card__soon {
  color: #ffffff;
}

.solutions-parent-card:hover .solutions-parent-card__tags span {
  color: #ffffff;
  background: rgba(255,255,255,.14);
}

.solutions-system {
  padding: 58px 0;
  background:
    radial-gradient(circle at 8% 22%, rgba(23, 197, 117, .28), transparent 34%),
    linear-gradient(120deg, #092141 0%, #0b5270 54%, #07905f 100%);
}

.solutions-system__inner {
  display: grid;
  grid-template-columns: .78fr 1.1fr;
  align-items: center;
  gap: 44px;
}

.solutions-system__copy .eyebrow,
.solutions-system__copy h2,
.solutions-system__copy p {
  color: #ffffff;
}

.solutions-system__copy h2 {
  margin: 10px 0 16px;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.05;
  letter-spacing: -1.7px;
}

.solutions-system__copy p:not(.eyebrow) {
  color: rgba(255,255,255,.78);
  font-weight: 600;
  line-height: 1.75;
}

.solutions-system__items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.solutions-system__items article {
  min-height: 188px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 22px 42px rgba(0,0,0,.12);
  backdrop-filter: blur(12px);
  transition: transform .35s ease, background .35s ease;
}

.solutions-system__items article:hover {
  transform: translateY(-8px);
  background: rgba(255,255,255,.16);
}

.solutions-system__items span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 28px;
  margin-bottom: 22px;
  border-radius: 999px;
  color: #053e36;
  background: #b8ffdb;
  font-size: 12px;
  font-weight: 800;
}

.solutions-system__items strong {
  display: block;
  color: #ffffff;
  font-size: 22px;
  font-weight: 800;
}

.solutions-system__items p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
}

.solutions-page-cta {
  padding: 60px 0 72px;
}

.solutions-page-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 34px 38px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 28%, rgba(23, 197, 117, .24), transparent 28%),
    linear-gradient(135deg, #071b34, #0b765b);
  box-shadow: 0 24px 52px rgba(9, 25, 54, .16);
}

.solutions-page-cta h2 {
  max-width: 760px;
  margin: 8px 0 0;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.12;
  letter-spacing: -1.2px;
}

.solutions-page-cta .eyebrow {
  color: #9ff5c6;
}

@keyframes solutionsFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-18px, 18px, 0) scale(1.03); }
}

@keyframes solutionsRotate {
  to { transform: rotate(360deg); }
}

@keyframes solutionsBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

@keyframes solutionsPulse {
  0%, 100% { opacity: .62; transform: rotate(-8deg) scaleX(.92); }
  50% { opacity: 1; transform: rotate(-8deg) scaleX(1); }
}

@media (max-width: 1180px) {
  .solutions-parent__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .solutions-page-hero__grid,
  .solutions-system__inner {
    grid-template-columns: 1fr;
  }

  .solutions-page-hero__copy h1 {
    max-width: 780px;
  }

  .solutions-system__items {
    grid-template-columns: 1fr;
  }

  .solutions-page-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .solutions-page-hero {
    padding: 30px 0 36px;
  }

  .solutions-page-hero__grid {
    gap: 30px;
  }

  .solutions-page-hero__visual {
    min-height: 260px;
  }

  .solutions-parent {
    padding: 48px 0;
  }

  .solutions-parent__grid {
    grid-template-columns: 1fr;
  }

  .solutions-parent-card {
    min-height: auto;
  }

  .solutions-page-cta__inner {
    padding: 28px 22px;
  }
}

/* Final solutions landing: image banner + visual parent solution cards */
.solutions-page-banner {
  position: relative;
  min-height: 340px;
  padding: 58px 0 64px;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .94) 0%, rgba(5, 39, 70, .83) 44%, rgba(6, 118, 95, .58) 100%),
    url("../assets/home-banner.webp") center right / cover no-repeat;
}

.solutions-page-banner::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background:
    radial-gradient(circle at 80% 46%, rgba(45, 220, 132, .22), transparent 22%),
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: auto, 52px 52px, 52px 52px;
  opacity: .9;
}

.solutions-page-banner::after {
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: -1px;
  height: 42px;
  content: "";
  background: #ffffff;
  clip-path: polygon(0 55%, 13% 38%, 28% 66%, 47% 24%, 64% 54%, 82% 15%, 100% 45%, 100% 100%, 0 100%);
}

.solutions-page-banner__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(2, 14, 29, .52), transparent 62%);
}

.solutions-page-banner__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, .72fr);
  align-items: center;
  gap: 48px;
}

.solutions-page-banner .solutions-page-hero__copy h1 {
  max-width: 650px;
  margin: 10px 0 18px;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.02;
  letter-spacing: -2.1px;
  text-shadow: 0 18px 38px rgba(0,0,0,.24);
}

.solutions-page-banner .solutions-page-hero__copy h1 span {
  color: #31df83;
}

.solutions-page-banner .solutions-page-hero__copy p:not(.eyebrow) {
  max-width: 590px;
  color: rgba(255, 255, 255, .82);
  font-size: 17px;
  line-height: 1.62;
  font-weight: 600;
}

.solutions-page-banner .eyebrow {
  color: #9ff5c6;
}

.solutions-page-banner .btn--green {
  box-shadow: 0 18px 38px rgba(0, 166, 95, .28);
}

.solutions-page-banner__visual {
  position: relative;
  min-height: 230px;
}

.solutions-page-banner__visual .solutions-orbit {
  inset: 0 20px 0 auto;
  width: 310px;
}

.solutions-page-banner__visual .solutions-orbit__ring {
  inset: 12px;
  border-color: rgba(255,255,255,.22);
  box-shadow: inset 0 0 0 34px rgba(255,255,255,.035), inset 0 0 0 72px rgba(255,255,255,.028);
}

.solutions-page-banner__visual .solutions-orbit__ring--two {
  inset: 42px;
  border-color: rgba(49, 223, 131, .36);
}

.solutions-page-banner__visual .solutions-orbit__core {
  width: 92px;
  height: 92px;
  border-radius: 999px;
  color: #31df83;
  background: rgba(4, 22, 43, .22);
  box-shadow: 0 0 0 12px rgba(49, 223, 131, .08), 0 24px 48px rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
}

.solutions-page-banner__visual .solutions-orbit__core svg {
  width: 58px;
  height: 58px;
}

.solutions-page-banner__visual .solutions-orbit__node {
  background: rgba(255,255,255,.11);
}

.solutions-page-banner__visual .solutions-orbit__line {
  opacity: .45;
}

.solutions-parent {
  position: relative;
  background:
    radial-gradient(circle at 14% 14%, rgba(28, 212, 121, .10), transparent 28%),
    radial-gradient(circle at 88% 34%, rgba(22, 125, 221, .10), transparent 28%),
    #ffffff;
}

.solutions-parent__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}

.solutions-parent-card {
  grid-column: span 2;
  min-height: 440px;
  padding: 0;
  border-radius: 26px;
  background: #ffffff;
}

.solutions-parent-card:nth-child(1),
.solutions-parent-card:nth-child(2) {
  grid-column: span 3;
}

.solutions-parent-card__image {
  position: relative;
  height: 178px;
  overflow: hidden;
  border-radius: 26px 26px 0 0;
  background: #082141;
}

.solutions-parent-card__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 22%, rgba(5, 20, 41, .58) 100%);
}

.solutions-parent-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.05);
  transform: scale(1.02);
  transition: transform .55s ease, filter .55s ease;
}

.solutions-parent-card:hover .solutions-parent-card__image img {
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.18) contrast(1.05);
  transform: scale(1.09);
}

.solutions-parent-card__top,
.solutions-parent-card > p,
.solutions-parent-card__tags,
.solutions-parent-card > a,
.solutions-parent-card__soon {
  margin-left: 24px;
  margin-right: 24px;
}

.solutions-parent-card__top {
  margin-top: 22px;
}

.solutions-parent-card > a,
.solutions-parent-card__soon {
  margin-bottom: 24px;
}

.solutions-parent-card::before {
  top: 178px;
  background:
    radial-gradient(circle at 86% 18%, rgba(46, 223, 131, .18), transparent 26%),
    linear-gradient(135deg, rgba(5, 37, 73, .98), rgba(0, 132, 104, .94));
}

@media (max-width: 1100px) {
  .solutions-parent__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solutions-parent-card,
  .solutions-parent-card:nth-child(1),
  .solutions-parent-card:nth-child(2) {
    grid-column: span 1;
  }
}

@media (max-width: 767px) {
  .solutions-page-banner {
    min-height: auto;
    padding: 42px 0 56px;
  }

  .solutions-page-banner__grid {
    grid-template-columns: 1fr;
  }

  .solutions-page-banner__visual {
    min-height: 180px;
  }

  .solutions-page-banner__visual .solutions-orbit {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .solutions-parent__grid {
    grid-template-columns: 1fr;
  }
}

/* Services landing page */
.services-page {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 20%, rgba(28, 212, 121, .12), transparent 26%),
    radial-gradient(circle at 86% 28%, rgba(22, 125, 221, .13), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 42%, #f6fbff 100%);
}

.services-page-banner {
  position: relative;
  min-height: 340px;
  padding: 58px 0 64px;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .94) 0%, rgba(6, 44, 77, .84) 46%, rgba(5, 126, 88, .60) 100%),
    url("../assets/NOC-SOC-Services.png") center right / cover no-repeat;
}

.services-page-banner::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background:
    radial-gradient(circle at 78% 46%, rgba(45, 220, 132, .25), transparent 22%),
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: auto, 52px 52px, 52px 52px;
}

.services-page-banner::after {
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: -1px;
  height: 42px;
  content: "";
  background: #ffffff;
  clip-path: polygon(0 46%, 14% 62%, 30% 34%, 48% 64%, 64% 26%, 83% 56%, 100% 38%, 100% 100%, 0 100%);
}

.services-page-banner__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(2, 14, 29, .56), transparent 62%);
}

.services-page-banner__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, .72fr);
  align-items: center;
  gap: 48px;
}

.services-page-banner__copy h1 {
  max-width: 720px;
  margin: 10px 0 18px;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.02;
  letter-spacing: -2.1px;
  text-shadow: 0 18px 38px rgba(0,0,0,.24);
}

.services-page-banner__copy h1 span {
  color: #31df83;
}

.services-page-banner__copy p:not(.eyebrow) {
  max-width: 620px;
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.62;
  font-weight: 600;
}

.services-page-banner .eyebrow {
  color: #9ff5c6;
}

.services-page-banner__actions {
  margin-top: 24px;
}

.services-page-banner__visual {
  position: relative;
  min-height: 230px;
}

.services-radar {
  position: absolute;
  inset: 0 20px 0 auto;
  width: 310px;
}

.services-radar__ring {
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  box-shadow: inset 0 0 0 42px rgba(255,255,255,.035), inset 0 0 0 92px rgba(255,255,255,.028);
  animation: servicesRadarPulse 4.8s ease-in-out infinite;
}

.services-radar__ring--two {
  inset: 48px;
  border-color: rgba(49, 223, 131, .36);
  animation-delay: .9s;
}

.services-radar__scan {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 132px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #31df83);
  transform-origin: left center;
  animation: servicesScan 4.2s linear infinite;
  box-shadow: 0 0 22px rgba(49, 223, 131, .55);
}

.services-radar__core {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border-radius: 999px;
  color: #31df83;
  background: rgba(4, 22, 43, .22);
  box-shadow: 0 0 0 12px rgba(49, 223, 131, .08), 0 24px 48px rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
  transform: translate(-50%, -50%);
}

.services-radar__core svg {
  width: 58px;
  height: 58px;
}

.services-parent {
  position: relative;
  padding: 68px 0 62px;
  background:
    radial-gradient(circle at 14% 14%, rgba(28, 212, 121, .10), transparent 28%),
    radial-gradient(circle at 88% 34%, rgba(22, 125, 221, .10), transparent 28%),
    #ffffff;
}

.services-page-head {
  max-width: 780px;
  margin: 0 auto 32px;
}

.services-page-head p:not(.eyebrow) {
  max-width: 650px;
  margin: 12px auto 0;
  color: #5b708d;
  font-weight: 600;
  line-height: 1.7;
}

.services-parent__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}

.services-parent-card {
  position: relative;
  grid-column: span 2;
  min-height: 430px;
  border: 1px solid rgba(21, 97, 170, .14);
  border-radius: 26px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(9, 25, 54, .08);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.services-parent-card:nth-child(1),
.services-parent-card:nth-child(2) {
  grid-column: span 3;
}

.services-parent-card::before {
  position: absolute;
  inset: 178px 0 0;
  content: "";
  opacity: 0;
  background:
    radial-gradient(circle at 86% 18%, rgba(46, 223, 131, .18), transparent 26%),
    linear-gradient(135deg, rgba(5, 37, 73, .98), rgba(0, 132, 104, .94));
  transition: opacity .35s ease;
}

.services-parent-card:hover {
  transform: translateY(-10px);
  border-color: rgba(24, 197, 116, .44);
  box-shadow: 0 28px 54px rgba(9, 25, 54, .15);
}

.services-parent-card:hover::before {
  opacity: 1;
}

.services-parent-card__image {
  position: relative;
  height: 178px;
  overflow: hidden;
  background: #082141;
}

.services-parent-card__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 22%, rgba(5, 20, 41, .58) 100%);
}

.services-parent-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.05);
  transform: scale(1.02);
  transition: transform .55s ease, filter .55s ease;
}

.services-parent-card:hover .services-parent-card__image img {
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.18) contrast(1.05);
  transform: scale(1.09);
}

.services-parent-card__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 252px;
  padding: 24px;
}

.services-parent-card__top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.services-parent-card__top span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #08a55d;
  background: rgba(20, 188, 111, .12);
  font-size: 12px;
  font-weight: 800;
}

.services-parent-card__top strong {
  color: #0b1d3b;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
}

.services-parent-card p {
  margin: 0 0 18px;
  color: #526984;
  font-size: 14px;
  line-height: 1.68;
  font-weight: 600;
}

.services-parent-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.services-parent-card__tags span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #0d345e;
  background: rgba(13, 87, 158, .08);
  font-size: 11px;
  font-weight: 800;
}

.services-parent-card:hover .services-parent-card__top span {
  color: #ffffff;
  background: rgba(255,255,255,.16);
}

.services-parent-card:hover .services-parent-card__top strong,
.services-parent-card:hover p {
  color: #ffffff;
}

.services-parent-card:hover .services-parent-card__tags span {
  color: #ffffff;
  background: rgba(255,255,255,.14);
}

.services-flow {
  padding: 58px 0;
  background:
    radial-gradient(circle at 10% 20%, rgba(23, 197, 117, .28), transparent 34%),
    linear-gradient(120deg, #092141 0%, #0b5270 54%, #07905f 100%);
}

.services-flow__inner {
  display: grid;
  grid-template-columns: .78fr 1.1fr;
  align-items: center;
  gap: 44px;
}

.services-flow__copy .eyebrow,
.services-flow__copy h2,
.services-flow__copy p {
  color: #ffffff;
}

.services-flow__copy h2 {
  margin: 10px 0 16px;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.05;
  letter-spacing: -1.7px;
}

.services-flow__copy p:not(.eyebrow) {
  color: rgba(255,255,255,.78);
  font-weight: 600;
  line-height: 1.75;
}

.services-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.services-flow__steps article {
  min-height: 188px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 22px 42px rgba(0,0,0,.12);
  backdrop-filter: blur(12px);
  transition: transform .35s ease, background .35s ease;
}

.services-flow__steps article:hover {
  transform: translateY(-8px);
  background: rgba(255,255,255,.16);
}

.services-flow__steps span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 28px;
  margin-bottom: 22px;
  border-radius: 999px;
  color: #053e36;
  background: #b8ffdb;
  font-size: 12px;
  font-weight: 800;
}

.services-flow__steps strong {
  display: block;
  color: #ffffff;
  font-size: 22px;
  font-weight: 800;
}

.services-flow__steps p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
}

.services-page-cta {
  padding: 60px 0 72px;
}

.services-page-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 34px 38px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 86% 28%, rgba(23, 197, 117, .24), transparent 28%),
    linear-gradient(135deg, #071b34, #0b765b);
  box-shadow: 0 24px 52px rgba(9, 25, 54, .16);
}

.services-page-cta h2 {
  max-width: 760px;
  margin: 8px 0 0;
  color: #ffffff;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.12;
  letter-spacing: -1.2px;
}

.services-page-cta .eyebrow {
  color: #9ff5c6;
}

@keyframes servicesScan {
  to { transform: rotate(360deg); }
}

@keyframes servicesRadarPulse {
  0%, 100% { transform: scale(.96); opacity: .75; }
  50% { transform: scale(1.04); opacity: 1; }
}

@media (max-width: 1100px) {
  .services-parent__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-parent-card,
  .services-parent-card:nth-child(1),
  .services-parent-card:nth-child(2) {
    grid-column: span 1;
  }
}

@media (max-width: 991px) {
  .services-page-banner__grid,
  .services-flow__inner {
    grid-template-columns: 1fr;
  }

  .services-flow__steps {
    grid-template-columns: 1fr;
  }

  .services-page-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .services-page-banner {
    min-height: auto;
    padding: 42px 0 56px;
  }

  .services-page-banner__visual {
    min-height: 180px;
  }

  .services-radar {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .services-parent {
    padding: 48px 0;
  }

  .services-parent__grid {
    grid-template-columns: 1fr;
  }

  .services-page-cta__inner {
    padding: 28px 22px;
  }
}

/* Services premium redesign: distinct from solutions landing */
.services-page .services-page-banner {
  min-height: 340px !important;
  padding: 58px 0 64px !important;
  background:
    linear-gradient(90deg, rgba(3, 17, 35, .96) 0%, rgba(5, 44, 79, .84) 48%, rgba(0, 134, 99, .62) 100%),
    url("../assets/NOC-SOC-Services.png") center right / cover no-repeat !important;
}

.services-page .services-page-banner__grid {
  min-height: 218px;
}

.services-parent {
  padding: 70px 0 72px !important;
  background:
    radial-gradient(circle at 16% 12%, rgba(29, 214, 123, .14), transparent 26%),
    radial-gradient(circle at 84% 18%, rgba(20, 128, 227, .13), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f5fbff 100%) !important;
}

.services-command {
  display: grid;
  grid-template-columns: 1.08fr .92fr .92fr;
  grid-auto-rows: minmax(218px, auto);
  gap: 22px;
}

.services-command-card {
  position: relative;
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  min-height: 218px;
  border: 1px solid rgba(29, 107, 177, .16);
  border-radius: 26px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(241, 250, 255,.92));
  box-shadow: 0 18px 42px rgba(9, 25, 54, .09);
  isolation: isolate;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.services-command-card::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  opacity: 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(68, 230, 145, .24), transparent 24%),
    linear-gradient(135deg, #071c39, #075b70 58%, #079760);
  transition: opacity .35s ease;
}

.services-command-card::after {
  position: absolute;
  inset: -40% auto -40% -70%;
  width: 46%;
  content: "";
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  transform: rotate(18deg);
  transition: left .75s ease, opacity .35s ease;
}

.services-command-card:hover {
  transform: translateY(-9px);
  border-color: rgba(31, 210, 121, .46);
  box-shadow: 0 30px 62px rgba(9, 25, 54, .16);
}

.services-command-card:hover::before {
  opacity: 1;
}

.services-command-card:hover::after {
  left: 120%;
  opacity: 1;
}

.services-command-card--featured {
  grid-column: span 1;
  grid-row: span 2;
  grid-template-columns: 1fr;
  min-height: 458px;
  background:
    radial-gradient(circle at 80% 15%, rgba(31, 210, 121, .16), transparent 24%),
    linear-gradient(160deg, #082344, #0a6b69);
}

.services-command-card--featured .services-parent-card__image {
  height: 230px;
}

.services-command-card--featured .services-parent-card__body {
  min-height: 228px;
}

.services-command-card .services-parent-card__image {
  height: 100%;
  border-radius: 0;
}

.services-command-card .services-parent-card__image img {
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.04);
}

.services-command-card .services-parent-card__body {
  min-height: auto;
  padding: 22px 22px 24px;
}

.services-command-card .services-parent-card__top {
  align-items: flex-start;
}

.services-command-card .services-parent-card__top span {
  flex: 0 0 auto;
  border-radius: 999px;
}

.services-command-card .services-parent-card__top strong {
  font-size: 20px;
}

.services-command-card p {
  font-size: 13.5px;
  line-height: 1.62;
}

.services-command-card--featured .services-parent-card__top span,
.services-command-card--featured .services-parent-card__top strong,
.services-command-card--featured p {
  color: #ffffff;
}

.services-command-card--featured .services-parent-card__top span {
  background: rgba(255,255,255,.15);
}

.services-command-card--featured .services-parent-card__tags span {
  color: #ffffff;
  background: rgba(255,255,255,.14);
}

.services-command-card:hover .services-parent-card__top span,
.services-command-card:hover .services-parent-card__top strong,
.services-command-card:hover p {
  color: #ffffff;
}

.services-command-card:hover .services-parent-card__top span {
  background: rgba(255,255,255,.16);
}

.services-command-card:hover .services-parent-card__tags span {
  color: #ffffff;
  background: rgba(255,255,255,.14);
}

.services-flow {
  position: relative;
  overflow: hidden;
}

.services-flow::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: .24;
}

.services-flow__inner {
  position: relative;
  z-index: 1;
}

@media (max-width: 1180px) {
  .services-command {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-command-card--featured {
    grid-column: span 2;
    grid-template-columns: .9fr 1.1fr;
    min-height: 300px;
  }

  .services-command-card--featured .services-parent-card__image {
    height: 100%;
  }
}

@media (max-width: 767px) {
  .services-page .services-page-banner {
    min-height: 340px !important;
    padding: 42px 0 56px !important;
  }

  .services-command,
  .services-command-card,
  .services-command-card--featured {
    grid-template-columns: 1fr;
  }

  .services-command-card--featured {
    grid-column: span 1;
    min-height: auto;
  }

  .services-command-card .services-parent-card__image,
  .services-command-card--featured .services-parent-card__image {
    height: 190px;
  }
}

/* Services final clean premium pass */
.services-page .services-page-banner__copy h1 {
  max-width: 520px !important;
  font-size: clamp(42px, 4.5vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -1.5px !important;
}

.services-page .services-page-banner__copy p:not(.eyebrow) {
  max-width: 560px !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}

.services-page .services-parent {
  padding: 68px 0 74px !important;
  background:
    radial-gradient(circle at 20% 18%, rgba(22, 185, 106, .13), transparent 26%),
    radial-gradient(circle at 80% 26%, rgba(25, 120, 220, .12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6fbff 100%) !important;
}

.services-premium-layout {
  display: grid;
  grid-template-columns: minmax(310px, .86fr) minmax(0, 1.35fr);
  align-items: stretch;
  gap: 28px;
}

.services-premium-intro {
  position: sticky;
  top: 102px;
  align-self: start;
  min-height: 520px;
  padding: 34px;
  border: 1px solid rgba(24, 103, 177, .14);
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 18%, rgba(29, 214, 123, .18), transparent 28%),
    linear-gradient(145deg, #ffffff, #eff8ff);
  box-shadow: 0 24px 54px rgba(9, 25, 54, .10);
}

.services-premium-intro::before {
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  content: "";
  background: radial-gradient(circle, rgba(19, 188, 111, .22), rgba(21, 124, 221, .10) 58%, transparent 60%);
}

.services-premium-intro__line {
  display: block;
  width: 72px;
  height: 4px;
  margin-bottom: 28px;
  border-radius: 999px;
  background: linear-gradient(90deg, #09a85e, #167fe8);
}

.services-premium-intro h3 {
  position: relative;
  max-width: 11ch;
  margin: 0 0 18px;
  color: #091936;
  font-size: clamp(32px, 3.1vw, 46px);
  line-height: 1.05;
  letter-spacing: -1.5px;
  font-weight: 800;
}

.services-premium-intro p {
  position: relative;
  max-width: 430px;
  margin: 0;
  color: #526984;
  font-size: 15px;
  line-height: 1.75;
  font-weight: 600;
}

.services-premium-intro__stats {
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  border-radius: 22px;
  background: linear-gradient(135deg, #082344, #0a8a63);
  box-shadow: 0 18px 36px rgba(9, 25, 54, .16);
}

.services-premium-intro__stats strong {
  color: #ffffff;
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
}

.services-premium-intro__stats span {
  color: rgba(255,255,255,.80);
  font-size: 13px;
  font-weight: 800;
  text-align: right;
}

.services-premium-list {
  display: grid;
  gap: 18px;
}

.services-premium-list .services-command-card {
  display: grid !important;
  grid-template-columns: 178px minmax(0, 1fr) !important;
  min-height: 178px !important;
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,255,.96)) !important;
  box-shadow: 0 18px 42px rgba(9, 25, 54, .08) !important;
}

.services-premium-list .services-command-card::before {
  inset: 0 !important;
  background:
    radial-gradient(circle at 94% 18%, rgba(31, 218, 126, .20), transparent 24%),
    linear-gradient(135deg, #071d3b, #075f72 58%, #07955f) !important;
}

.services-premium-list .services-command-card .services-parent-card__image {
  height: 100% !important;
}

.services-premium-list .services-command-card .services-parent-card__body {
  min-height: 178px !important;
  padding: 24px 26px !important;
}

.services-premium-list .services-parent-card__top {
  margin-bottom: 10px !important;
}

.services-premium-list .services-parent-card__top strong {
  font-size: 22px !important;
}

.services-premium-list .services-command-card p {
  max-width: 620px;
  margin-bottom: 16px !important;
  font-size: 14px !important;
}

.services-premium-list .services-parent-card__tags span {
  padding: 6px 10px !important;
}

.services-premium-list .services-command-card:hover {
  transform: translateX(8px) translateY(-4px) !important;
}

@media (max-width: 991px) {
  .services-premium-layout {
    grid-template-columns: 1fr;
  }

  .services-premium-intro {
    position: relative;
    top: auto;
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .services-page .services-page-banner__copy h1 {
    font-size: 42px !important;
  }

  .services-premium-list .services-command-card {
    grid-template-columns: 1fr !important;
  }

  .services-premium-list .services-command-card .services-parent-card__image {
    height: 190px !important;
  }

  .services-premium-intro__stats {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: 28px;
  }
}

/* Services simple 3-column card layout */
.services-simple-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.services-simple-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(20, 101, 176, .14);
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(9, 25, 54, .08);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.services-simple-card::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: 0;
  background:
    radial-gradient(circle at 86% 20%, rgba(29, 214, 123, .16), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(233, 248, 255, .72) 100%);
  transition: opacity .35s ease;
}

.services-simple-card:hover {
  transform: translateY(-10px);
  border-color: rgba(26, 196, 112, .42);
  box-shadow: 0 30px 58px rgba(9, 25, 54, .15);
}

.services-simple-card:hover::before {
  opacity: 1;
}

.services-simple-card__image {
  position: relative;
  height: 210px;
  overflow: hidden;
  background: #092141;
}

.services-simple-card__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 35%, rgba(4, 21, 42, .42) 100%);
}

.services-simple-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.05);
  transform: scale(1.02);
  transition: transform .55s ease, filter .55s ease;
}

.services-simple-card:hover .services-simple-card__image img {
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.16) contrast(1.04);
  transform: scale(1.08);
}

.services-simple-card__body {
  position: relative;
  z-index: 1;
  padding: 26px 26px 28px;
}

.services-simple-card__number {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 30px;
  margin-bottom: 16px;
  border-radius: 999px;
  color: #09a85e;
  background: rgba(22, 185, 106, .12);
  font-size: 12px;
  font-weight: 800;
}

.services-simple-card h3 {
  margin: 0 0 12px;
  color: #091936;
  font-size: 23px;
  line-height: 1.18;
  font-weight: 800;
}

.services-simple-card p {
  min-height: 95px;
  margin: 0 0 22px;
  color: #526984;
  font-size: 14px;
  line-height: 1.68;
  font-weight: 600;
}

.services-simple-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 12px;
  color: #ffffff;
  background: #08a55d;
  box-shadow: 0 12px 26px rgba(8, 165, 93, .22);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.services-simple-card a:hover {
  transform: translateY(-2px);
  background: #067f4b;
  box-shadow: 0 16px 32px rgba(8, 165, 93, .30);
}

@media (max-width: 1100px) {
  .services-simple-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .services-simple-grid {
    grid-template-columns: 1fr;
  }

  .services-simple-card p {
    min-height: auto;
  }
}

/* Services card polish: cleaner professional finish */
.services-simple-grid {
  gap: 30px !important;
}

.services-simple-card {
  border-color: rgba(11, 50, 92, .10) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow:
    0 18px 36px rgba(9, 25, 54, .07),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.services-simple-card::before {
  background:
    linear-gradient(180deg, rgba(12, 96, 180, .035), rgba(16, 185, 106, .055)),
    radial-gradient(circle at 88% 18%, rgba(18, 185, 106, .10), transparent 28%) !important;
}

.services-simple-card::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.78);
}

.services-simple-card:hover {
  transform: translateY(-7px) !important;
  border-color: rgba(9, 168, 94, .28) !important;
  box-shadow:
    0 26px 54px rgba(9, 25, 54, .13),
    0 0 0 4px rgba(9, 168, 94, .045) !important;
}

.services-simple-card__image {
  height: 196px !important;
  border-bottom: 1px solid rgba(11, 50, 92, .08);
}

.services-simple-card__image::after {
  background:
    linear-gradient(180deg, rgba(5, 20, 42, .02) 0%, rgba(5, 20, 42, .32) 100%),
    linear-gradient(90deg, rgba(9, 25, 54, .18), transparent 54%) !important;
}

.services-simple-card__image img {
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.02) contrast(1.02) !important;
}

.services-simple-card:hover .services-simple-card__image img {
  filter: drop-shadow(5px 5px 10px #000000) saturate(1.08) contrast(1.04) !important;
  transform: scale(1.055) !important;
}

.services-simple-card__body {
  padding: 24px 24px 26px !important;
}

.services-simple-card__number {
  width: auto !important;
  height: 28px !important;
  padding: 0 12px !important;
  margin-bottom: 14px !important;
  border: 1px solid rgba(9, 168, 94, .12);
  color: #079554 !important;
  background: rgba(9, 168, 94, .08) !important;
  letter-spacing: .4px;
}

.services-simple-card h3 {
  margin-bottom: 11px !important;
  color: #071936 !important;
  font-size: 22px !important;
  letter-spacing: -.35px;
}

.services-simple-card p {
  min-height: 102px !important;
  margin-bottom: 24px !important;
  color: #52677f !important;
  font-size: 13.8px !important;
  line-height: 1.72 !important;
}

.services-simple-card a {
  min-height: 42px !important;
  padding: 0 17px !important;
  border: 1px solid rgba(9, 168, 94, .14);
  border-radius: 999px !important;
  color: #079554 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(237, 251, 244, .90)) !important;
  box-shadow: none !important;
}

.services-simple-card a span {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  color: #ffffff;
  background: #09a85e;
  transition: transform .25s ease;
}

.services-simple-card a:hover {
  color: #ffffff !important;
  background: #09a85e !important;
  box-shadow: 0 14px 28px rgba(9, 168, 94, .20) !important;
}

.services-simple-card a:hover span {
  color: #09a85e;
  background: #ffffff;
  transform: translateX(2px);
}

@media (max-width: 767px) {
  .services-simple-card__image {
    height: 210px !important;
  }

  .services-simple-card p {
    min-height: auto !important;
  }
}

/* Brand social platform icons */
.socials {
  gap: 14px;
}

.social-icon {
  display: inline-grid !important;
  place-items: center;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  border-radius: 6px;
  background: transparent !important;
  text-indent: 0 !important;
  line-height: 1 !important;
  transition: transform .25s ease, filter .25s ease;
}

.social-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.social-icon--linkedin { color: #0a66c2 !important; }
.social-icon--twitter { color: #1da1f2 !important; }
.social-icon--youtube { color: #ff0000 !important; }
.social-icon--facebook { color: #1877f2 !important; }
.social-icon--instagram { color: #e4405f !important; }

.social-icon:hover {
  transform: translateY(-2px) scale(1.08);
  filter: saturate(1.18);
}

.footer-social {
  align-items: center;
  gap: 12px;
}

.footer-social .social-icon {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.08) !important;
}

.footer-social .social-icon svg {
  width: 17px;
  height: 17px;
}

.footer-social .social-icon:hover {
  background: rgba(255,255,255,.14) !important;
}

/* Final social icon alignment fix */
.topbar .socials {
  gap: 10px !important;
  line-height: 1;
}

.topbar .socials strong {
  margin-right: 4px;
  line-height: 1;
}

.topbar .socials .social-icon {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border-radius: 0 !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  vertical-align: middle;
}

.topbar .socials .social-icon svg {
  width: 15px !important;
  height: 15px !important;
}

.topbar .socials .social-icon--youtube svg {
  width: 17px !important;
  height: 17px !important;
}

.topbar .socials .social-icon--instagram svg {
  width: 16px !important;
  height: 16px !important;
}

.topbar .socials .social-icon:hover {
  transform: translateY(-1px) scale(1.04) !important;
}

.footer-social .social-icon--youtube svg {
  width: 19px !important;
  height: 19px !important;
}

/* Premium navbar/dropdown refinement */
.navbar {
  z-index: 1100 !important;
}

.navlinks {
  gap: 22px !important;
}

.navlinks > .nav-item > a {
  position: relative;
  min-height: 78px !important;
  padding-inline: 2px;
  letter-spacing: .15px;
}

.navlinks > .nav-item > a::after {
  left: 50% !important;
  right: auto !important;
  bottom: 20px !important;
  width: 0 !important;
  height: 4px !important;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), var(--blue)) !important;
  transform: translateX(-50%);
  transition: width .28s cubic-bezier(.22, 1, .36, 1), opacity .28s ease !important;
  opacity: 0;
}

.navlinks > .nav-item:hover > a::after,
.navlinks > .nav-item:focus-within > a::after,
.navlinks > .active > a::after {
  width: 34px !important;
  opacity: 1;
}

.navlinks > .nav-item:hover > a,
.navlinks > .nav-item:focus-within > a {
  color: var(--green);
}

.submenu {
  top: calc(100% - 5px) !important;
  left: 50% !important;
  min-width: 270px !important;
  padding: 14px !important;
  border: 1px solid rgba(184, 211, 235, .72) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247, 252, 255,.94)) !important;
  box-shadow:
    0 26px 64px rgba(5, 25, 51, .18),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  backdrop-filter: blur(16px);
  transform: translate(-50%, 14px) scale(.985) !important;
  transition:
    opacity .24s ease,
    transform .28s cubic-bezier(.22, 1, .36, 1),
    visibility .24s ease !important;
}

.submenu::before {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 3px;
  content: "";
  border-radius: 999px;
  background: linear-gradient(90deg, var(--green), var(--blue));
}

.submenu::after {
  position: absolute;
  left: 50%;
  top: -7px;
  width: 14px;
  height: 14px;
  content: "";
  border-left: 1px solid rgba(184, 211, 235, .72);
  border-top: 1px solid rgba(184, 211, 235, .72);
  background: rgba(255,255,255,.98);
  transform: translateX(-50%) rotate(45deg);
}

.nav-item:hover > .submenu,
.nav-item:focus-within > .submenu {
  transform: translate(-50%, 0) scale(1) !important;
}

.submenu .nav-item + .nav-item {
  margin-top: 4px;
}

.submenu .nav-item > a {
  position: relative;
  min-height: 44px !important;
  padding: 12px 14px 12px 38px !important;
  border: 1px solid transparent;
  border-radius: 12px !important;
  color: #10223e !important;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: -.05px;
  background: transparent;
  transition:
    color .22s ease,
    background .22s ease,
    border-color .22s ease,
    transform .22s ease !important;
}

.submenu .nav-item > a::before {
  position: absolute;
  left: 15px;
  top: 50%;
  width: 9px;
  height: 9px;
  content: "" !important;
  border-radius: 999px;
  background: rgba(0, 148, 74, .18);
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.88);
  transform: translateY(-50%);
  opacity: 1 !important;
}

.submenu .nav-item > a:hover,
.submenu .nav-item:focus-within > a,
.submenu .nav-item.active > a {
  color: var(--green) !important;
  border-color: rgba(0, 148, 74, .10);
  background:
    linear-gradient(90deg, rgba(0,148,74,.10), rgba(5,101,199,.055)) !important;
  transform: translateX(3px);
}

.submenu .nav-item > a:hover::before,
.submenu .nav-item:focus-within > a::before,
.submenu .nav-item.active > a::before {
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(0,148,74,.10);
}

.submenu .has-submenu > a::after {
  margin-left: auto !important;
  color: var(--green) !important;
  font-size: 13px !important;
  line-height: 1;
  transform: translateX(0);
  transition: transform .22s ease;
}

.submenu .has-submenu:hover > a::after,
.submenu .has-submenu:focus-within > a::after {
  transform: translateX(3px);
}

.submenu .submenu {
  top: -14px !important;
  left: calc(100% + 16px) !important;
  transform: translate(12px, 0) scale(.985) !important;
}

.submenu .nav-item:hover > .submenu,
.submenu .nav-item:focus-within > .submenu {
  transform: translate(0, 0) scale(1) !important;
}

.submenu .submenu::after {
  left: -7px;
  top: 26px;
  transform: rotate(-45deg);
}

@media (max-width: 991px) {
  .submenu,
  .submenu .submenu {
    left: 0 !important;
    transform: none !important;
    border-radius: 14px !important;
  }

  .submenu::after {
    display: none;
  }

  .nav-item:hover > .submenu,
  .nav-item:focus-within > .submenu,
  .submenu .nav-item:hover > .submenu,
  .submenu .nav-item:focus-within > .submenu {
    transform: none !important;
  }
}

/* Desktop mega menu refinement inspired by the reference site */
@media (min-width: 992px) {
  .navlinks > .has-submenu > .submenu {
    left: 50% !important;
    width: min(820px, calc(100vw - 80px)) !important;
    min-width: 720px !important;
    padding: 22px !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    border-radius: 24px !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.98), rgba(244, 251, 255,.95)),
      radial-gradient(circle at 88% 14%, rgba(0,148,74,.12), transparent 28%) !important;
    box-shadow:
      0 28px 78px rgba(5, 25, 51, .20),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
  }

  .navlinks > .has-submenu > .submenu::before {
    left: 24px;
    right: 24px;
    height: 4px;
  }

  .navlinks > .has-submenu > .submenu > .nav-item {
    min-width: 0;
  }

  .navlinks > .has-submenu > .submenu > .nav-item > a {
    min-height: 88px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-direction: column;
    gap: 6px;
    padding: 18px 18px 18px 46px !important;
    border: 1px solid rgba(13, 70, 122, .08);
    border-radius: 18px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,252,255,.72));
    white-space: normal !important;
  }

  .navlinks > .has-submenu > .submenu > .nav-item > a::before {
    left: 18px;
    top: 24px;
    width: 12px;
    height: 12px;
    background: linear-gradient(135deg, var(--green), var(--blue));
    box-shadow: 0 0 0 6px rgba(0,148,74,.09);
  }

  .submenu .nav-link-label {
    display: block;
    color: inherit;
    line-height: 1.25;
  }

  .submenu small {
    display: block;
    max-width: 19ch;
    color: #60728c;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 700;
    text-transform: none;
    white-space: normal;
  }

  .navlinks > .has-submenu > .submenu > .nav-item:hover > a small,
  .navlinks > .has-submenu > .submenu > .nav-item:focus-within > a small {
    color: rgba(8, 47, 89, .72);
  }

  .navlinks > .has-submenu > .submenu > .has-submenu > a::after {
    position: absolute;
    right: 16px;
    top: 18px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    margin: 0 !important;
    border-radius: 999px;
    background: rgba(0,148,74,.10);
  }

  .navlinks > .has-submenu > .submenu > .nav-item > .submenu {
    position: static !important;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    width: auto !important;
    min-width: 0 !important;
    margin: 9px 0 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    backdrop-filter: none;
  }

  .navlinks > .has-submenu > .submenu > .nav-item > .submenu::before,
  .navlinks > .has-submenu > .submenu > .nav-item > .submenu::after {
    display: none;
  }

  .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item {
    margin: 0 !important;
  }

  .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a {
    min-height: 30px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: rgba(8, 47, 89, .055);
    color: #26435f !important;
    font-size: 10.5px;
    line-height: 1;
  }

  .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a::before,
  .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a::after {
    display: none !important;
  }

  .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a:hover {
    color: #ffffff !important;
    background: var(--green) !important;
    transform: translateY(-1px);
  }

  .navlinks > .has-submenu > .submenu > .nav-item:nth-child(1),
  .navlinks > .has-submenu > .submenu > .nav-item:nth-child(2) {
    grid-column: span 1;
  }

  .navlinks > .has-submenu > .submenu > .nav-item:nth-child(5) {
    grid-column: span 1;
  }
}

/* Contact process heading accent alignment */
.contact-process__title {
  text-align: center !important;
}

.contact-process__title h2 {
  display: inline-block !important;
  margin-inline: auto !important;
}

.contact-process__title h2::after {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.contact-process__title h2::before {
  left: calc(50% - 54px) !important;
}

/* Cleaner desktop navigation dropdown */
@media (min-width: 992px) {
  .site-header .navlinks > .has-submenu {
    position: relative;
  }

  .site-header .navlinks > .has-submenu > .submenu {
    left: 50% !important;
    width: max-content !important;
    min-width: 310px !important;
    max-width: min(720px, calc(100vw - 44px)) !important;
    padding: 14px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
    gap: 8px !important;
    border: 1px solid rgba(9, 50, 91, .10) !important;
    border-top: 3px solid var(--green) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 24px 55px rgba(7, 31, 59, .16) !important;
    backdrop-filter: blur(18px) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu::before,
  .site-header .navlinks > .has-submenu > .submenu::after {
    display: none !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item {
    margin: 0 !important;
    min-width: 0 !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > a {
    min-height: auto !important;
    padding: 13px 42px 13px 16px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: var(--navy) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > a::before {
    position: static !important;
    flex: 0 0 9px !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: var(--green) !important;
    box-shadow: 0 0 0 6px rgba(0, 148, 74, .10) !important;
    transform: none !important;
    opacity: 1 !important;
    content: "" !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item:hover > a,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item:focus-within > a,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item.active > a {
    background: linear-gradient(135deg, rgba(0, 148, 74, .10), rgba(0, 102, 204, .08)) !important;
    border-color: rgba(0, 148, 74, .18) !important;
    color: var(--green) !important;
    box-shadow: 0 10px 22px rgba(8, 47, 89, .08) !important;
    transform: translateY(-1px) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .has-submenu > a::after {
    right: 14px !important;
    top: 50% !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    display: block !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--green) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu {
    position: absolute !important;
    left: calc(100% + 10px) !important;
    top: 0 !important;
    width: 230px !important;
    min-width: 230px !important;
    display: block !important;
    padding: 10px !important;
    border: 1px solid rgba(9, 50, 91, .10) !important;
    border-top: 3px solid var(--blue) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 20px 44px rgba(7, 31, 59, .14) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item:hover > .submenu,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item:focus-within > .submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item + .nav-item {
    margin-top: 4px !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a {
    min-height: auto !important;
    padding: 10px 12px !important;
    display: block !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #24425f !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a::before,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a::after {
    display: none !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a:hover,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a:focus {
    background: rgba(0, 102, 204, .08) !important;
    color: var(--blue) !important;
  }
}

/* Premium motion layer: subtle, layout-safe enhancements only */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: auto;
  }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    transform: translateY(0);
    transition:
      transform .42s cubic-bezier(.22, 1, .36, 1),
      box-shadow .35s ease,
      backdrop-filter .35s ease,
      background-color .35s ease;
    will-change: transform;
  }

  .site-header.is-scrolled {
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 14px 34px rgba(8, 36, 70, .10);
    backdrop-filter: blur(14px);
  }

  .site-header.is-hidden {
    transform: translateY(-100%);
  }

  .navlinks > .nav-item > a::after,
  .nav-item > a::before {
    transition: transform .32s cubic-bezier(.22, 1, .36, 1), opacity .32s ease, width .32s ease;
  }

  .btn,
  button,
  .card-arrow,
  .services-simple-card a,
  .footer__links a,
  .social-icon {
    transition:
      transform .28s cubic-bezier(.22, 1, .36, 1),
      box-shadow .28s ease,
      border-color .28s ease,
      background-color .28s ease,
      color .28s ease,
      opacity .28s ease;
  }

  .btn:hover,
  .services-simple-card a:hover,
  .card-arrow:hover {
    transform: translateY(-2px);
  }

  .btn--green:hover,
  .navbar__inner > .btn:hover {
    box-shadow: 0 18px 36px rgba(0, 148, 74, .22);
  }

  .reveal-up {
    transform: translateY(30px);
  }

  .reveal-left {
    transform: translateX(-28px);
  }

  .reveal-right {
    transform: translateX(28px);
  }

  .reveal-scale {
    transform: scale(.975);
    transform-origin: center;
  }

  .reveal-up.is-visible,
  .reveal-left.is-visible,
  .reveal-right.is-visible,
  .reveal-scale.is-visible {
    transform: translate(0, 0) scale(1);
  }

  .stagger-card {
    transition-duration: .78s !important;
    transition-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
  }

  .hero .site-header,
  .hero__copy,
  .hero__visual,
  .contact-hero__copy,
  .contact-hero__visual,
  .services-page-banner__copy,
  .services-page-banner__visual,
  .solutions-page-hero__copy,
  .solutions-page-banner__visual,
  .infra-top-banner__inner > div {
    will-change: transform, opacity;
  }

  html.motion-ready .site-header,
  html.motion-ready .hero__copy > *,
  html.motion-ready .contact-hero__copy > *,
  html.motion-ready .services-page-banner__copy > *,
  html.motion-ready .solutions-page-hero__copy > *,
  html.motion-ready .infra-top-banner__inner > div > * {
    opacity: 0;
    transform: translateY(18px);
  }

  html.hero-motion-ready .site-header,
  html.hero-motion-ready .hero__copy > *,
  html.hero-motion-ready .contact-hero__copy > *,
  html.hero-motion-ready .services-page-banner__copy > *,
  html.hero-motion-ready .solutions-page-hero__copy > *,
  html.hero-motion-ready .infra-top-banner__inner > div > * {
    opacity: 1;
    transform: translateY(0);
    transition:
      opacity .78s cubic-bezier(.22, 1, .36, 1),
      transform .78s cubic-bezier(.22, 1, .36, 1);
  }

  html.hero-motion-ready .hero__copy > *:nth-child(2),
  html.hero-motion-ready .contact-hero__copy > *:nth-child(2),
  html.hero-motion-ready .services-page-banner__copy > *:nth-child(2),
  html.hero-motion-ready .solutions-page-hero__copy > *:nth-child(2),
  html.hero-motion-ready .infra-top-banner__inner > div > *:nth-child(2) {
    transition-delay: .08s;
  }

  html.hero-motion-ready .hero__copy > *:nth-child(3),
  html.hero-motion-ready .contact-hero__copy > *:nth-child(3),
  html.hero-motion-ready .services-page-banner__copy > *:nth-child(3),
  html.hero-motion-ready .solutions-page-hero__copy > *:nth-child(3),
  html.hero-motion-ready .infra-top-banner__inner > div > *:nth-child(3) {
    transition-delay: .16s;
  }

  html.hero-motion-ready .hero__copy > *:nth-child(4),
  html.hero-motion-ready .contact-hero__copy > *:nth-child(4),
  html.hero-motion-ready .services-page-banner__copy > *:nth-child(4),
  html.hero-motion-ready .solutions-page-hero__copy > *:nth-child(4),
  html.hero-motion-ready .infra-top-banner__inner > div > *:nth-child(4) {
    transition-delay: .24s;
  }

  html.motion-ready .hero__visual,
  html.motion-ready .contact-hero__visual,
  html.motion-ready .services-page-banner__visual,
  html.motion-ready .solutions-page-banner__visual {
    opacity: 0;
    transform: scale(1.035);
  }

  html.hero-motion-ready .hero__visual,
  html.hero-motion-ready .contact-hero__visual,
  html.hero-motion-ready .services-page-banner__visual,
  html.hero-motion-ready .solutions-page-banner__visual {
    opacity: 1;
    transform: scale(1);
    transition:
      opacity .95s cubic-bezier(.16, 1, .3, 1) .12s,
      transform .95s cubic-bezier(.16, 1, .3, 1) .12s;
  }

  .service-card:hover,
  .services-simple-card:hover,
  .solutions-parent-card:hover,
  .infra-service-card:hover,
  .elv-service-card:hover,
  .av-solution-card:hover,
  .review-card:hover,
  .post-card:hover,
  .policy-card:hover,
  .contact-action-grid article:hover,
  .contact-why-grid article:hover {
    transform: translateY(-6px) scale(1.01);
  }

  .service-card:hover [class*="icon"],
  .services-simple-card:hover img,
  .solutions-parent-card:hover img,
  .infra-service-card:hover [class*="icon"],
  .elv-service-card:hover [class*="icon"],
  .av-solution-card:hover [class*="icon"] {
    transition: transform .35s cubic-bezier(.22, 1, .36, 1), filter .35s ease;
  }

  .service-card:hover [class*="icon"],
  .infra-service-card:hover [class*="icon"],
  .elv-service-card:hover [class*="icon"],
  .av-solution-card:hover [class*="icon"] {
    transform: scale(1.04) rotate(-2deg);
  }

  .contact-form input,
  .contact-form textarea,
  .contact-form select,
  .footer input {
    transition:
      border-color .28s ease,
      box-shadow .28s ease,
      background-color .28s ease;
  }

  .contact-form input:focus,
  .contact-form textarea:focus,
  .contact-form select:focus,
  .footer input:focus {
    outline: none;
    border-color: rgba(0, 148, 74, .42) !important;
    box-shadow: 0 0 0 4px rgba(0, 148, 74, .10) !important;
  }
}

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

  .reveal,
  .reveal-up,
  .reveal-left,
  .reveal-right,
  .reveal-scale,
  .stagger-card {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  .site-header {
    transform: none !important;
  }

  .service-card:hover,
  .services-simple-card:hover,
  .solutions-parent-card:hover,
  .infra-service-card:hover,
  .elv-service-card:hover,
  .av-solution-card:hover,
  .review-card:hover,
  .post-card:hover,
  .policy-card:hover {
    transform: translateY(-3px) !important;
  }
}

/* Page-specific uploaded banner imagery */
.about-contact-hero.contact-hero--reference {
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .94) 0%, rgba(6, 44, 77, .78) 48%, rgba(5, 126, 88, .42) 100%),
    var(--page-banner-image, url("../assets/diverse-businesspeople-having-meeting.webp")) center right / cover no-repeat !important;
}

.contact-page .contact-hero--reference {
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .94) 0%, rgba(8, 58, 85, .74) 50%, rgba(32, 160, 89, .34) 100%),
    var(--page-banner-image, url("../assets/abstract-green-background.webp")) center right / cover no-repeat !important;
}

.services-page .services-page-banner {
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .95) 0%, rgba(6, 44, 77, .82) 46%, rgba(5, 126, 88, .42) 100%),
    var(--page-banner-image, url("../assets/businessman-cupped-his-hands-blue-tone.webp")) center right / cover no-repeat !important;
}

.solutions-page-banner,
.infra-page .infra-top-banner,
.elv-page .infra-top-banner,
.av-page .infra-top-banner {
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .94) 0%, rgba(6, 44, 77, .78) 48%, rgba(5, 126, 88, .34) 100%),
    var(--page-banner-image, url("../assets/futuristic-business-scene-with-ultra-modern-ambiance.webp")) center center / cover no-repeat !important;
}

.policy-hero {
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .94) 0%, rgba(8, 58, 85, .74) 52%, rgba(32, 160, 89, .30) 100%),
    url("../assets/abstract-green-background.webp") center right / cover no-repeat !important;
}

.about-contact-hero.contact-hero--reference::before,
.contact-page .contact-hero--reference::before,
.services-page .services-page-banner::before,
.solutions-page-banner::before,
.infra-page .infra-top-banner::before,
.elv-page .infra-top-banner::before,
.av-page .infra-top-banner::before,
.policy-hero::before {
  opacity: .72 !important;
}

/* Premium 3D banner heading font effect */
.contact-hero--reference h1,
.services-page-banner__copy h1,
.solutions-page-banner .solutions-page-hero__copy h1,
.infra-top-banner h1,
.policy-hero h1 {
  position: relative;
  color: #ffffff !important;
  text-shadow:
    1px 1px 0 rgba(0, 0, 0, .20),
    2px 2px 0 rgba(0, 0, 0, .16),
    3px 3px 0 rgba(0, 0, 0, .12),
    0 12px 28px rgba(0, 0, 0, .34);
  transition: text-shadow .35s ease, transform .35s ease;
}

.contact-hero--reference:hover h1,
.services-page-banner:hover .services-page-banner__copy h1,
.solutions-page-banner:hover .solutions-page-hero__copy h1,
.infra-top-banner:hover h1,
.policy-hero:hover h1 {
  transform: translateY(-2px);
  text-shadow:
    1px 1px 0 rgba(0, 0, 0, .22),
    2px 2px 0 rgba(0, 0, 0, .18),
    4px 4px 0 rgba(0, 0, 0, .12),
    0 18px 36px rgba(0, 0, 0, .38);
}

.contact-hero--reference h1 span,
.services-page-banner__copy h1 span,
.solutions-page-banner .solutions-page-hero__copy h1 span {
  color: #31df83 !important;
  text-shadow:
    1px 1px 0 rgba(0, 0, 0, .18),
    2px 2px 0 rgba(0, 0, 0, .12),
    0 12px 28px rgba(49, 223, 131, .22);
}

/* Keep banner bottom wave fully solid so images do not bleed underneath */
.contact-hero--reference::before,
.about-contact-hero.contact-hero--reference::before,
.contact-page .contact-hero--reference::before,
.solutions-page-banner::after,
.services-page-banner::after {
  z-index: 3 !important;
  opacity: 1 !important;
  background: #ffffff !important;
}

.solutions-page-banner,
.services-page-banner,
.infra-top-banner,
.contact-hero--reference {
  overflow: hidden !important;
}

/* Consistent curved banner bottom for all solution pages */
.solution-banner-wave {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 74px;
  pointer-events: none;
  background: #ffffff;
  clip-path: polygon(0 58%, 12% 48%, 28% 62%, 46% 38%, 64% 52%, 82% 30%, 100% 46%, 100% 100%, 0 100%);
}

.solutions-page-banner::after {
  display: none !important;
}

.capability-page--networking .capability-banner::after,
.capability-page--cybersecurity .capability-banner::after {
  display: none;
}

.capability-page--networking .audit-banner-wave,
.capability-page--cybersecurity .audit-banner-wave {
  background: #ffffff;
}

.solutions-page-banner {
  padding-bottom: 86px;
}

.infra-page .infra-top-banner,
.av-page .infra-top-banner,
.elv-page .infra-top-banner {
  min-height: 360px;
}

.infra-page .infra-top-banner__inner,
.av-page .infra-top-banner__inner,
.elv-page .infra-top-banner__inner {
  min-height: 360px;
  padding-top: 48px;
  padding-bottom: 86px;
}

@media (max-width: 720px) {
  .solution-banner-wave {
    height: 56px;
  }

  .solutions-page-banner {
    padding-bottom: 78px;
  }

  .infra-page .infra-top-banner,
  .infra-page .infra-top-banner__inner,
  .av-page .infra-top-banner,
  .av-page .infra-top-banner__inner,
  .elv-page .infra-top-banner,
  .elv-page .infra-top-banner__inner {
    min-height: 340px;
  }

  .infra-page .infra-top-banner__inner,
  .av-page .infra-top-banner__inner,
  .elv-page .infra-top-banner__inner {
    padding-bottom: 76px;
  }
}

/* Full-width premium mega menu */
@media (min-width: 992px) {
  .site-header .navbar {
    position: relative;
  }

  .site-header .navlinks > .has-submenu {
    position: static !important;
  }

  .site-header .navlinks > .has-submenu > .submenu {
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 0px) !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 22px max(36px, calc((100vw - 1180px) / 2)) 24px !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
    gap: 12px !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .38) !important;
    border-bottom: 1px solid rgba(9, 50, 91, .10) !important;
    border-radius: 0 0 26px 26px !important;
    background:
      radial-gradient(circle at 12% 8%, rgba(49, 223, 131, .30), transparent 30%),
      radial-gradient(circle at 88% 0%, rgba(0, 102, 204, .22), transparent 32%),
      linear-gradient(135deg, rgba(4, 22, 43, .96) 0%, rgba(6, 54, 84, .94) 48%, rgba(0, 118, 77, .92) 100%) !important;
    box-shadow: 0 28px 70px rgba(4, 22, 43, .24) !important;
    backdrop-filter: blur(18px) !important;
    overflow: visible !important;
  }

  .site-header .navlinks > .has-submenu > .submenu::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
      linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
      linear-gradient(0deg, rgba(255,255,255,.035) 1px, transparent 1px) !important;
    background-size: 74px 74px !important;
    opacity: .45 !important;
    height: auto !important;
    width: auto !important;
    border-radius: inherit !important;
  }

  .site-header .navlinks > .has-submenu > .submenu::after {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    left: max(36px, calc((100vw - 1180px) / 2)) !important;
    right: max(36px, calc((100vw - 1180px) / 2)) !important;
    top: 0 !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--green), var(--blue), rgba(255, 255, 255, .65)) !important;
    opacity: 1 !important;
    pointer-events: none !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item {
    position: relative !important;
    z-index: 1 !important;
    margin: 0 !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > a {
    min-height: 72px !important;
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 18px !important;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .07)) !important;
    color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    white-space: normal !important;
    transform: translateY(0) !important;
    transition:
      transform .28s cubic-bezier(.22, 1, .36, 1),
      border-color .28s ease,
      background .28s ease,
      box-shadow .28s ease,
      color .28s ease !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > a::before {
    position: static !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    display: block !important;
    border-radius: 12px !important;
    background:
      radial-gradient(circle at 35% 30%, #ffffff 0 12%, transparent 13%),
      linear-gradient(135deg, #31df83, #00944a) !important;
    box-shadow:
      0 12px 22px rgba(0, 148, 74, .26),
      inset 0 1px 0 rgba(255,255,255,.34) !important;
    opacity: 1 !important;
    content: "" !important;
    transform: rotate(0deg) scale(1) !important;
    transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item:hover > a,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item:focus-within > a,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item.active > a {
    color: #ffffff !important;
    border-color: rgba(49, 223, 131, .50) !important;
    background:
      linear-gradient(145deg, rgba(49, 223, 131, .24), rgba(0, 102, 204, .14)) !important;
    box-shadow:
      0 20px 34px rgba(0, 0, 0, .16),
      inset 0 1px 0 rgba(255, 255, 255, .24) !important;
    transform: translateY(-4px) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item:hover > a::before,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item:focus-within > a::before {
    transform: rotate(-8deg) scale(1.08) !important;
    box-shadow:
      0 16px 28px rgba(49, 223, 131, .32),
      inset 0 1px 0 rgba(255,255,255,.42) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .has-submenu > a::after {
    position: static !important;
    margin-left: auto !important;
    width: 26px !important;
    height: 26px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .14) !important;
    color: #ffffff !important;
    transform: none !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu {
    left: 0 !important;
    top: calc(100% + 10px) !important;
    width: 100% !important;
    min-width: 100% !important;
    padding: 8px !important;
    display: block !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-top: 0 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 18px 36px rgba(2, 18, 38, .18) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) scale(.98) !important;
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease !important;
    z-index: 6 !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item:hover > .submenu,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item:focus-within > .submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a {
    padding: 10px 11px !important;
    border-radius: 10px !important;
    color: var(--navy) !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a:hover,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a:focus {
    background: linear-gradient(135deg, rgba(0, 148, 74, .12), rgba(0, 102, 204, .08)) !important;
    color: var(--green) !important;
    transform: translateX(2px) !important;
  }
}

/* Final compact full-width mega menu pass */
@media (min-width: 992px) {
  .site-header .navbar {
    overflow: visible !important;
  }

  .site-header .navlinks > .has-submenu {
    position: static !important;
  }

  .site-header .navlinks > .has-submenu > .submenu {
    left: 50% !important;
    right: auto !important;
    top: 100% !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 14px max(42px, calc((100vw - 1180px) / 2)) !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .20) !important;
    border-bottom: 1px solid rgba(0, 148, 74, .18) !important;
    border-radius: 0 0 22px 22px !important;
    background:
      radial-gradient(circle at 16% -20%, rgba(49, 223, 131, .36), transparent 32%),
      radial-gradient(circle at 82% 0%, rgba(0, 102, 204, .26), transparent 36%),
      linear-gradient(105deg, rgba(4, 22, 43, .97), rgba(7, 64, 91, .96) 48%, rgba(0, 135, 82, .94)) !important;
    box-shadow: 0 22px 45px rgba(4, 22, 43, .20) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-50%) translateY(12px) !important;
    overflow: visible !important;
  }

  .site-header .navlinks > .has-submenu:hover > .submenu,
  .site-header .navlinks > .has-submenu:focus-within > .submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu::before {
    inset: 0 !important;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
      linear-gradient(0deg, rgba(255, 255, 255, .04) 1px, transparent 1px) !important;
    background-size: 62px 62px !important;
    opacity: .34 !important;
  }

  .site-header .navlinks > .has-submenu > .submenu::after {
    left: max(42px, calc((100vw - 1180px) / 2)) !important;
    right: max(42px, calc((100vw - 1180px) / 2)) !important;
    top: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, #31df83, #0b8cff, transparent) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > a {
    min-height: 58px !important;
    padding: 12px 14px !important;
    border-radius: 15px !important;
    border-color: rgba(255, 255, 255, .14) !important;
    background: rgba(255, 255, 255, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    letter-spacing: .01em !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > a::before {
    flex-basis: 28px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
    background:
      radial-gradient(circle at 36% 32%, rgba(255, 255, 255, .95) 0 9%, transparent 10%),
      linear-gradient(135deg, #31df83, #00944a) !important;
    box-shadow: 0 9px 18px rgba(49, 223, 131, .22) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item:hover > a,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item:focus-within > a,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item.active > a {
    background:
      linear-gradient(135deg, rgba(49, 223, 131, .26), rgba(255, 255, 255, .13)) !important;
    border-color: rgba(49, 223, 131, .54) !important;
    box-shadow:
      0 14px 26px rgba(0, 0, 0, .15),
      inset 0 1px 0 rgba(255, 255, 255, .24) !important;
    transform: translateY(-3px) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .has-submenu > a::after {
    width: 23px !important;
    height: 23px !important;
    background: rgba(255, 255, 255, .16) !important;
    font-size: 12px !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu {
    top: calc(100% + 8px) !important;
    left: 0 !important;
    width: 100% !important;
    min-width: 170px !important;
    padding: 8px !important;
    border-radius: 13px !important;
  }
}

/* Sticky header compact mode */
@media (min-width: 992px) {
  .site-header .topbar {
    max-height: 42px;
    overflow: hidden;
    transition:
      max-height .28s cubic-bezier(.22, 1, .36, 1),
      opacity .22s ease,
      border-color .22s ease,
      transform .28s cubic-bezier(.22, 1, .36, 1);
  }

  .site-header .navbar__inner,
  .site-header .brand img,
  .site-header .navlinks,
  .site-header .navbar__inner > .btn,
  .site-header .navlinks > .nav-item > a {
    transition:
      min-height .28s cubic-bezier(.22, 1, .36, 1),
      width .28s cubic-bezier(.22, 1, .36, 1),
      gap .28s cubic-bezier(.22, 1, .36, 1),
      padding .28s cubic-bezier(.22, 1, .36, 1),
      font-size .28s ease,
      transform .28s cubic-bezier(.22, 1, .36, 1);
  }

  .site-header.is-scrolled .topbar {
    max-height: 0;
    opacity: 0;
    border-bottom-color: transparent;
    transform: translateY(-8px);
    pointer-events: none;
  }

  .site-header.is-scrolled .navbar {
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 36px rgba(7, 28, 55, .12);
    backdrop-filter: blur(14px);
  }

  .site-header.is-scrolled .navbar__inner {
    min-height: 66px;
    gap: 22px;
  }

  .site-header.is-scrolled .brand img {
    width: 178px;
  }

  .site-header.is-scrolled .navlinks {
    gap: 22px;
    font-size: 11px;
  }

  .site-header.is-scrolled .navlinks > .nav-item > a {
    min-height: 66px;
  }

  .site-header.is-scrolled .navbar__inner > .btn {
    padding: 13px 22px;
    font-size: 11px;
    transform: scale(.96);
    transform-origin: center right;
  }

  .site-header.is-scrolled .navlinks > .nav-item > a::before {
    bottom: 12px !important;
  }

  .site-header.is-scrolled .navlinks > .has-submenu > .submenu {
    top: 100% !important;
  }
}

/* Home hero final spacing polish */
.hero {
  min-height: 408px !important;
}

.hero__grid {
  min-height: 408px !important;
  align-items: center !important;
  padding-block: 28px 34px !important;
}

.hero__copy {
  padding-bottom: 0 !important;
  align-self: center !important;
}

.hero h1 {
  margin-block: 10px 16px !important;
  max-width: 560px !important;
}

.hero__copy > p:not(.eyebrow) {
  margin-bottom: 20px !important;
}

.hero .actions {
  margin-top: 0 !important;
}

.hero__visual {
  align-self: center !important;
}

.stats {
  margin-top: -26px !important;
  position: relative;
  z-index: 8;
}

.copyright a {
  color: inherit;
  font-weight: 700;
  transition: color .22s ease;
}

.copyright a:hover {
  color: var(--green);
}

@media (max-width: 991px) {
  .hero,
  .hero__grid {
    min-height: auto !important;
  }

  .hero__grid {
    padding-block: 44px 72px !important;
  }

  .stats {
    margin-top: -34px !important;
  }
}

/* Mega menu final polish: darker panel, single nav underline, designed 3rd level */
@media (min-width: 992px) {
  .site-header .navlinks > .nav-item > a::after {
    display: none !important;
  }

  .site-header .navlinks > .nav-item > a::before {
    left: 0 !important;
    right: 0 !important;
    bottom: 18px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--green), var(--blue)) !important;
    box-shadow: 0 7px 16px rgba(0, 148, 74, .18) !important;
    opacity: 0 !important;
    transform: scaleX(.35) !important;
    transform-origin: center !important;
  }

  .site-header .navlinks > .nav-item:hover > a::before,
  .site-header .navlinks > .nav-item:focus-within > a::before,
  .site-header .navlinks > .active > a::before {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu {
    background:
      radial-gradient(circle at 14% -18%, rgba(49, 223, 131, .25), transparent 30%),
      radial-gradient(circle at 84% -12%, rgba(0, 102, 204, .20), transparent 34%),
      linear-gradient(105deg, rgba(1, 15, 31, .99), rgba(5, 47, 72, .98) 48%, rgba(0, 92, 63, .97)) !important;
    box-shadow: 0 24px 52px rgba(1, 15, 31, .34) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > a {
    background: rgba(255, 255, 255, .085) !important;
    border-color: rgba(255, 255, 255, .16) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu {
    top: calc(100% + 11px) !important;
    left: 50% !important;
    width: max-content !important;
    min-width: 210px !important;
    max-width: 280px !important;
    padding: 10px !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-top: 2px solid rgba(49, 223, 131, .70) !important;
    border-radius: 16px !important;
    background:
      radial-gradient(circle at 95% 0%, rgba(49, 223, 131, .18), transparent 34%),
      linear-gradient(145deg, rgba(2, 20, 39, .98), rgba(5, 55, 72, .96)) !important;
    box-shadow: 0 22px 46px rgba(1, 15, 31, .32) !important;
    backdrop-filter: blur(18px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-50%) translateY(10px) scale(.98) !important;
    z-index: 25 !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: -7px !important;
    width: 14px !important;
    height: 14px !important;
    border-left: 1px solid rgba(255, 255, 255, .16) !important;
    border-top: 1px solid rgba(255, 255, 255, .16) !important;
    background: rgba(2, 20, 39, .98) !important;
    transform: translateX(-50%) rotate(45deg) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu::after {
    display: none !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item:hover > .submenu,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item:focus-within > .submenu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) scale(1) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item + .nav-item {
    margin-top: 6px !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a {
    position: relative !important;
    min-height: auto !important;
    padding: 11px 13px 11px 34px !important;
    display: block !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .075) !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    transition:
      color .24s ease,
      background .24s ease,
      border-color .24s ease,
      transform .24s cubic-bezier(.22, 1, .36, 1) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    left: 13px !important;
    top: 50% !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #31df83 !important;
    box-shadow: 0 0 0 5px rgba(49, 223, 131, .10) !important;
    opacity: 1 !important;
    transform: translateY(-50%) scale(1) !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a::after {
    display: none !important;
  }

  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a:hover,
  .site-header .navlinks > .has-submenu > .submenu > .nav-item > .submenu .nav-item > a:focus {
    color: #ffffff !important;
    border-color: rgba(49, 223, 131, .32) !important;
    background: linear-gradient(135deg, rgba(49, 223, 131, .20), rgba(11, 140, 255, .10)) !important;
    transform: translateX(3px) !important;
  }
}

/* Footer credit strip polish */
.copyright {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px 18px !important;
  min-height: 54px !important;
  padding: 14px 24px !important;
  border-top: 1px solid rgba(8, 47, 89, .08) !important;
  color: #60728c !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

.copyright span {
  display: inline-flex !important;
  align-items: center !important;
}

.copyright span + span::before {
  width: 5px;
  height: 5px;
  margin-right: 18px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(135deg, var(--green), var(--blue));
  box-shadow: 0 0 0 4px rgba(0, 148, 74, .08);
}

.copyright a {
  position: relative;
  color: #3f5169 !important;
  font-weight: 800 !important;
  transition:
    color .24s ease,
    transform .24s cubic-bezier(.22, 1, .36, 1) !important;
}

.copyright a::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(90deg, var(--green), var(--blue));
  opacity: 0;
  transform: scaleX(.45);
  transform-origin: center;
  transition: opacity .24s ease, transform .24s ease;
}

.copyright a:hover {
  color: var(--green) !important;
  transform: translateY(-1px);
}

.copyright a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

@media (max-width: 640px) {
  .copyright {
    gap: 7px !important;
    padding-inline: 18px !important;
    font-size: 13px !important;
  }

  .copyright span {
    justify-content: center !important;
    width: 100% !important;
  }

  .copyright span + span::before {
    display: none !important;
  }
}

/* Home hero image should be full-bleed with no top/bottom gaps */
.hero {
  overflow: hidden !important;
}

.hero__visual {
  align-self: stretch !important;
  min-height: 100% !important;
  perspective: none !important;
}

.server-room {
  inset: -28px -112px -34px 18px !important;
  border-radius: 0 !important;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%) !important;
  box-shadow: none !important;
  transform: none !important;
  background: linear-gradient(90deg, rgba(5, 20, 42, .10), rgba(5, 20, 42, .01)) !important;
}

.server-room::before {
  position: absolute;
  inset: -18px !important;
  z-index: -1;
  content: "";
  background: var(--hero-image, url("../assets/banner.webp")) center right / cover no-repeat !important;
  transform: scale(1.02) translate3d(0, 0, 0);
  transform-origin: center right;
  will-change: transform, filter;
}

.hero-slide.is-active .server-room::before {
  animation: heroImageFullBleed 10s ease-in-out infinite !important;
}

@keyframes heroImageFullBleed {
  0%, 100% {
    transform: scale(1.03) translate3d(0, 0, 0);
    filter: saturate(1.02);
  }
  50% {
    transform: scale(1.09) translate3d(-24px, -8px, 0);
    filter: saturate(1.10);
  }
}

@media (max-width: 991px) {
  .server-room {
    inset: 0 !important;
    clip-path: none !important;
  }
}

/* Dynamic CMS pages */
.page-section-head {
  max-width: 760px;
  margin-bottom: 24px;
}

.page-section-head--center {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.page-section-head h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
}

.page-section-head p:not(.eyebrow) {
  margin: 16px 0 0;
  color: #5d7189;
  line-height: 1.8;
}

.page-block--stacked {
  display: block;
}

.page-block--cta-banner {
  display: block;
  padding: 44px;
  border: 1px solid rgba(19, 58, 95, .08);
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 14% 18%, rgba(49, 223, 131, .22), transparent 32%),
    radial-gradient(circle at 84% 16%, rgba(70, 141, 255, .24), transparent 28%),
    linear-gradient(135deg, #0b1630 0%, #123c59 55%, #08794d 100%);
  box-shadow: 0 28px 70px rgba(11, 28, 48, .18);
}

.page-block--cta-banner h2,
.page-block--cta-banner p,
.page-block--cta-banner .eyebrow {
  color: inherit !important;
}

.page-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.page-card-grid--compact {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.page-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 100%;
  padding: 22px;
  border: 1px solid rgba(19, 58, 95, .08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,248,252,.88));
  box-shadow: 0 20px 48px rgba(17, 32, 54, .08);
}

.page-card__image {
  width: 100%;
  height: 210px;
  border-radius: 18px;
  object-fit: cover;
}

.page-card__meta {
  color: #00944a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-card h3 {
  margin: 0;
  font-size: 24px;
}

.page-card p {
  margin: 0;
  color: #5d7189;
  line-height: 1.75;
}

.page-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  color: #0b7f4b;
  font-weight: 800;
}

.page-inline-list,
.page-bullet-list {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.page-inline-list li,
.page-bullet-list li {
  position: relative;
  padding-left: 18px;
  color: #4f647e;
  line-height: 1.75;
}

.page-inline-list li::before,
.page-bullet-list li::before {
  position: absolute;
  top: .8em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(135deg, #00944a, #2aa7ff);
  transform: translateY(-50%);
}

.page-bullet-list strong {
  color: #102036;
}

.page-faq-list {
  display: grid;
  gap: 14px;
}

.page-faq-item {
  padding: 18px 22px;
  border: 1px solid rgba(19, 58, 95, .09);
  border-radius: 22px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 18px 40px rgba(17, 32, 54, .06);
}

.page-faq-item summary {
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  list-style: none;
}

.page-faq-item summary::-webkit-details-marker {
  display: none;
}

.page-faq-item p {
  margin: 14px 0 0;
  color: #5d7189;
  line-height: 1.8;
}

@media (max-width: 991px) {
  .page-card-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .page-block--cta-banner {
    padding: 28px 22px;
  }

  .page-card-grid {
    grid-template-columns: 1fr;
  }
}

/* Final alignment pass for About values to mirror process cards */
.about-page-values {
  padding-top: 74px !important;
  position: relative;
  overflow: hidden;
}

.about-page-values::before {
  position: absolute;
  left: 50%;
  top: 38px;
  width: min(900px, 86vw);
  height: 260px;
  border-radius: 999px;
  content: "";
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 35% 45%, rgba(0, 148, 74, .10), transparent 36%),
    radial-gradient(circle at 66% 40%, rgba(5, 101, 199, .11), transparent 38%);
  filter: blur(10px);
  pointer-events: none;
}

.about-page-section-head {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto 24px !important;
  text-align: center;
}

.about-page-section-head .eyebrow {
  margin-bottom: 10px !important;
}

.about-page-section-head h2 {
  display: inline-block;
  max-width: 720px;
  margin: 0 auto;
  color: #10243d;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.14;
}

.about-page-values .about-page-section-head {
  margin: 0 auto 68px !important;
}

.about-page-values .about-page-section-head h2 {
  padding-bottom: 12px;
}

.about-page-values .about-page-section-head h2::after {
  left: 50%;
  bottom: 2px;
  transform: translateX(-50%);
}

.about-page-values .about-page-section-head h2::before {
  left: calc(50% - 37px);
  bottom: -3px;
}

.about-page-values__grid {
  position: relative;
  z-index: 1;
  align-items: stretch;
  gap: 18px !important;
}

.about-page-values__grid article {
  position: relative;
  overflow: visible;
  min-height: 238px !important;
  padding: 64px 22px 24px !important;
  border: 1px solid rgba(215, 230, 244, .92) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,252,255,.90)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 18px 42px rgba(10, 43, 79, .09) !important;
  text-align: center;
}

.about-page-values__grid article > .about-page-values__icon {
  position: absolute;
  left: 50%;
  top: -28px;
  display: grid;
  place-items: center;
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  color: #16b96a !important;
  border: 1px solid rgba(22, 185, 106, .18);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(243,252,247,.94));
  box-shadow:
    0 14px 30px rgba(8, 36, 70, .12),
    0 0 0 8px rgba(22, 185, 106, .05);
  transform: translateX(-50%) rotate(45deg);
  z-index: 2;
}

.about-page-values__icon::before {
  position: absolute;
  inset: 7px;
  border-radius: 14px;
  content: "";
  background:
    radial-gradient(circle at 72% 24%, rgba(22, 185, 106, .16) 0 4px, transparent 5px),
    linear-gradient(180deg, rgba(236, 251, 243, .94), rgba(255,255,255,.98));
  pointer-events: none;
}

.about-page-values__icon::after {
  position: absolute;
  inset: -8px;
  border: 1px solid rgba(22, 185, 106, .12);
  border-radius: 20px;
  content: "";
}

.about-page-values__grid article > .about-page-values__icon svg {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 24px !important;
  height: 24px !important;
  transform: translate(-50%, -50%) rotate(-45deg);
  transform-origin: center;
}

.about-page-values__grid article > span:not(.about-page-values__icon) {
  display: block;
  margin: 6px 0 10px !important;
  color: #10243d;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.about-page-values__grid p {
  margin: 0 auto;
  max-width: 180px;
  color: #667790;
  font-size: 14px;
  line-height: 1.55 !important;
  text-align: center;
}

.about-page-values__grid article:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(5, 101, 199, .34) !important;
  box-shadow: 0 28px 70px rgba(8, 36, 70, .16) !important;
}

.about-page-values__grid article:hover .about-page-values__icon,
.about-page-values__icon:hover {
  transform: translateX(-50%) translateY(-3px) rotate(45deg) scale(1.03) !important;
  border-color: rgba(22, 185, 106, .30);
  box-shadow:
    0 18px 36px rgba(8, 36, 70, .15),
    0 0 0 10px rgba(22, 185, 106, .06);
}

.about-page-values__grid article:nth-child(odd) > span:not(.about-page-values__icon) {
  color: var(--blue) !important;
}

.about-page-values__grid article:nth-child(even) > span:not(.about-page-values__icon) {
  color: var(--green) !important;
}

/* Frontend typography harmony */
body {
  color: #10243d;
}

body h1,
body h2,
body h3 {
  color: #10243d;
  font-weight: 800;
  letter-spacing: -0.03em;
}

body h1 {
  font-size: clamp(34px, 3.8vw, 52px);
  line-height: 1.08;
}

body h2 {
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.14;
}

body h3 {
  font-size: 18px;
  line-height: 1.25;
}

body p:not(.eyebrow) {
  font-size: 14px !important;
  line-height: 1.72;
}

/* Unified section-title accent system */
.section-head h2,
.infra-section-head h2,
.process > h2,
.about-page-section-head h2,
.about-page-director__content h2,
.about-page-team__copy h2,
.about-studio-section-head h2,
.contact-section-head h2,
.contact-center-head h2,
.contact-process__title h2,
.contact-map-head h2,
.contact-faq h2,
.contact-cta h2,
.page-section-head h2,
.elv-section-head h2,
.av-section-head h2,
.solutions__intro h2,
.solutions__map h2,
.services-page-head h2,
.services-flow__copy h2,
.services-page-cta h2,
.global-card h2,
.testimonials__head h2,
.news__head h2 {
  position: relative;
  display: inline-block;
  padding-bottom: 18px !important;
  color: #10243d !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.03em;
}

.section-head h2::before,
.infra-section-head h2::before,
.process > h2::before,
.about-page-section-head h2::before,
.about-page-director__content h2::before,
.about-page-team__copy h2::before,
.about-studio-section-head h2::before,
.contact-section-head h2::before,
.contact-center-head h2::before,
.contact-process__title h2::before,
.contact-map-head h2::before,
.contact-faq h2::before,
.contact-cta h2::before,
.page-section-head h2::before,
.elv-section-head h2::before,
.av-section-head h2::before,
.solutions__intro h2::before,
.solutions__map h2::before,
.services-page-head h2::before,
.services-flow__copy h2::before,
.services-page-cta h2::before,
.global-card h2::before,
.testimonials__head h2::before,
.news__head h2::before {
  display: none !important;
  content: none !important;
}

.section-head h2::after,
.infra-section-head h2::after,
.process > h2::after,
.about-page-section-head h2::after,
.about-page-director__content h2::after,
.about-page-team__copy h2::after,
.about-studio-section-head h2::after,
.contact-section-head h2::after,
.contact-center-head h2::after,
.contact-process__title h2::after,
.contact-map-head h2::after,
.contact-faq h2::after,
.contact-cta h2::after,
.page-section-head h2::after,
.elv-section-head h2::after,
.av-section-head h2::after,
.solutions__intro h2::after,
.solutions__map h2::after,
.services-page-head h2::after,
.services-flow__copy h2::after,
.services-page-cta h2::after,
.global-card h2::after,
.testimonials__head h2::after,
.news__head h2::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 112px;
  height: 4px;
  content: "";
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(0,148,74,.18), rgba(0,148,74,.74), rgba(5,101,199,.56), transparent);
  background-size: 220% 100%;
  animation: titleAccentShimmer 3.6s ease-in-out infinite;
  transform: none !important;
}

.about-page-section-head,
.about-studio-section-head,
.infra-section-head,
.contact-center-head,
.contact-process__title,
.contact-map-head,
.contact-faq,
.page-section-head--center,
.process {
  text-align: center;
}

.about-page-section-head h2::after,
.about-studio-section-head h2::after,
.infra-section-head h2::after,
.contact-center-head h2::after,
.contact-process__title h2::after,
.contact-map-head h2::after,
.contact-faq h2::after,
.page-section-head--center h2::after,
.process > h2::after {
  left: 50%;
  transform: translateX(-50%) !important;
}

.about-page-values .about-page-section-head {
  margin: 0 auto 68px !important;
}

/* Shared blue/green rhythm for icon-top card sections */
.service-card:nth-child(odd) .service-icon,
.service-card:nth-child(odd) h3,
.about-page-values__grid article:nth-child(odd) > .about-page-values__icon,
.about-page-values__grid article:nth-child(odd) > span:not(.about-page-values__icon) {
  color: var(--blue) !important;
}

.service-card:nth-child(even) .service-icon,
.service-card:nth-child(even) h3,
.about-page-values__grid article:nth-child(even) > .about-page-values__icon,
.about-page-values__grid article:nth-child(even) > span:not(.about-page-values__icon) {
  color: var(--green) !important;
}

.service-card:nth-child(odd) .card-arrow {
  border-color: var(--blue);
  color: var(--blue);
}

.service-card:nth-child(even) .card-arrow {
  border-color: var(--green);
  color: var(--green);
}

/* Final local heading corrections */
.about-page-float-card {
  left: -96px;
  bottom: 28px;
  width: 258px;
  min-height: 124px;
  padding: 18px 18px 17px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 12px 14px;
  border-radius: 22px;
  background: radial-gradient(circle at 100% 50%, rgba(15, 130, 255, 0.18), transparent 28%), linear-gradient(115deg, #05254b 0%, #062f62 44%, #073a79 72%, #064088 100%);
  box-shadow: 0 22px 40px rgba(10, 28, 59, .24);
}

.about-page-float-card__icon {
  width: 32px;
  height: 32px;
  min-height: 0;
  padding: 0;
  color: #16bf6e;
  background: transparent;
  border-right: 0;
}

.about-page-float-card__icon svg {
  width: 100%;
  height: 100%;
}

.about-page-float-card > div {
  padding: 0;
}

.about-page-float-card strong {
  margin-bottom: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.25;
}

.about-page-float-card p {
  margin: 0;
  margin-top: 9px;
  color: rgba(255, 255, 255, .82);
  font-size: 12.5px;
  line-height: 1.55;
}

.about-page-banner__grid {
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
  gap: 72px;
  align-items: center;
}

.about-page-banner__copy h1 {
  position: relative;
  width: min(100%, 520px);
  margin: 0 0 18px;
  padding-bottom: 18px;
  color: #0f2651;
  font-size: 32px;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: -0.03em;
  text-wrap: pretty;
}

.about-page-banner__copy h1::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 112px;
  height: 4px;
  content: "";
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(0,148,74,.16), rgba(0,148,74,.72), rgba(5,101,199,.52), transparent);
  background-size: 220% 100%;
  animation: titleAccentShimmer 3.6s ease-in-out infinite;
}

.about-page-banner__copy p:not(.eyebrow) {
  max-width: 56ch;
  margin-bottom: 17px;
  font-size: 14px;
  line-height: 1.75;
}

@media (max-width: 1100px) {
  .about-page-banner__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-page-float-card {
    left: 24px;
    bottom: 24px;
  }
}

@media (max-width: 767px) {
  .about-page-banner {
    padding-top: 30px;
  }

  .about-page-banner__copy h1 {
    width: 100%;
    font-size: 28px;
  }

  .about-page-banner__visual {
    padding-bottom: 92px;
  }

  .about-page-float-card {
    left: 14px;
    right: 14px;
    bottom: 18px;
    width: auto;
  }
}

.solutions__intro h2 {
  max-width: 10ch;
  color: #f4fbff !important;
  text-shadow: 0 8px 28px rgba(2, 16, 34, .24);
}

.solutions__intro h2::after {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), rgba(143,240,191,.88), rgba(255,255,255,.34), transparent);
}

.global-card {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
}

.global-card h2 {
  max-width: 100% !important;
  word-break: normal;
}

/* Mobile responsive hardening */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body.nav-lock {
  overflow: hidden;
}

@media (max-width: 1080px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  .navbar {
    position: relative;
    z-index: 1001;
  }

  .navbar__inner {
    position: relative;
    min-height: 72px;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px;
  }

  .menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin-left: auto;
    padding: 0;
    border: 1px solid rgba(6, 47, 98, .14);
    border-radius: 14px;
    color: #0e2a57;
    background: #fff;
    box-shadow: 0 10px 24px rgba(7, 28, 55, .08);
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
  }

  .menu-button:hover,
  .menu-button:focus-visible {
    color: #008f4c;
    border-color: rgba(0, 148, 74, .34);
    background: #f4fff9;
  }

  .menu-button:active {
    transform: scale(.96);
  }

  .menu-button__icon {
    display: flex;
    width: 20px;
    height: 16px;
    flex-direction: column;
    justify-content: space-between;
  }

  .menu-button__icon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
    transition: transform .22s ease, opacity .18s ease;
  }

  .site-header.nav-open .menu-button__icon span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .site-header.nav-open .menu-button__icon span:nth-child(2) {
    opacity: 0;
    transform: scaleX(.35);
  }

  .site-header.nav-open .menu-button__icon span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .navlinks {
    position: absolute;
    top: calc(100% + 8px);
    left: 14px;
    right: 14px;
    display: flex !important;
    max-height: min(72vh, 620px);
    margin: 0;
    padding: 12px;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    border: 1px solid rgba(208, 226, 241, .95);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(5, 25, 51, .24);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(.98);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    backdrop-filter: none;
  }

  .site-header.nav-open .navlinks {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
  }

  .navlinks > .nav-item {
    width: 100%;
  }

  .navlinks > .nav-item > a,
  .submenu .nav-item > a {
    display: flex;
    min-height: 48px !important;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 13px 14px !important;
    border-radius: 14px;
    color: #0e2a57;
    line-height: 1.25;
    white-space: normal !important;
  }

  .navlinks > .nav-item > a::after {
    display: none;
  }

  .navlinks .nav-item > a::before,
  .submenu .nav-item > a::before {
    display: none !important;
    content: none !important;
  }

  .navlinks .has-submenu > a::after {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: inline-grid !important;
    place-items: center;
    width: 24px !important;
    height: 24px !important;
    margin-left: 12px;
    content: "+" !important;
    border-radius: 999px;
    color: var(--green);
    background: rgba(0, 148, 74, .10) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
  }

  .site-header .navlinks > .nav-item:not(.has-submenu) > a::after {
    display: none !important;
    content: none !important;
  }

  .navlinks .has-submenu.is-open > a::after {
    content: "-" !important;
  }

  .submenu,
  .submenu .submenu {
    position: static !important;
    display: block !important;
    max-height: 0;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0;
    padding: 0 0 0 12px !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: max-height .25s ease;
  }

  .submenu::before,
  .submenu::after,
  .submenu .submenu::before,
  .submenu .submenu::after {
    display: none !important;
    content: none !important;
  }

  .nav-item.is-open > .submenu {
    max-height: 900px;
  }

  .submenu .nav-item > a {
    min-height: 42px !important;
    padding: 10px 12px !important;
    color: #47617d !important;
    font-size: 12px;
    text-transform: none;
  }

  .submenu .nav-item > a:hover,
  .submenu .nav-item:focus-within > a,
  .submenu .nav-item.active > a {
    color: var(--green) !important;
    background: #eef8f3 !important;
  }

  .navbar__inner > .btn {
    display: none;
  }
}

@media (max-width: 700px) {
  .topbar {
    display: none;
  }

  .navbar__inner {
    padding: 10px 0 !important;
  }

  .brand img {
    width: min(174px, 56vw) !important;
  }

  .menu-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0 !important;
  }

  .navlinks {
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    max-height: calc(100vh - 88px);
    border-radius: 18px;
  }

  .hero__copy,
  .contact-hero__copy,
  .services-page-banner__copy,
  .solutions-page-hero__copy,
  .about-page-banner__copy,
  .infra-hero__copy,
  .elv-hero__copy,
  .av-hero__copy {
    min-width: 0;
  }

  .hero h1,
  .contact-hero h1,
  .about-page-banner__copy h1,
  .infra-hero__copy h1,
  .elv-hero__copy h1,
  .av-hero__copy h1 {
    overflow-wrap: anywhere;
  }

  .actions,
  .hero__copy .actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .actions .btn,
  .hero__copy .btn {
    width: 100%;
  }

  .stats,
  .service-grid,
  .feature-bar,
  .timeline,
  .news-grid,
  .footer__grid,
  .about-page-values__grid,
  .about-page-strip__grid,
  .infra-service-grid,
  .elv-service-grid,
  .av-solutions__grid,
  .services-simple-grid,
  .solutions-parent-grid {
    grid-template-columns: 1fr !important;
  }

  .section-head,
  .testimonials__head,
  .news__head {
    gap: 16px;
  }

  .section-head .btn,
  .news__actions .btn {
    width: 100%;
  }

  .news__actions {
    width: 100%;
    flex-wrap: wrap;
  }
}

@media (max-width: 420px) {
  .container {
    width: min(1180px, calc(100% - 22px));
  }

  .btn {
    min-height: 42px;
    padding-inline: 16px;
    white-space: normal;
  }

  .section-head h2,
  .infra-section-head h2,
  .process > h2,
  .about-page-section-head h2,
  .contact-section-head h2,
  .contact-center-head h2,
  .page-section-head h2,
  .services-page-head h2,
  .solutions__intro h2,
  .global-card h2 {
    font-size: 28px !important;
  }
}

/* Keep the navbar fixed and visible on every screen size. */
body {
  padding-top: 128px;
}

.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  transform: translateY(0) !important;
}

.site-header.is-hidden {
  transform: translateY(0) !important;
}

@media (max-width: 1080px) {
  body {
    padding-top: 114px;
  }
}

@media (max-width: 700px) {
  body {
    padding-top: 75px;
  }
}

/* Sitewide heading, CTA, map and icon consistency guard. */
.services-page-cta .eyebrow,
.solutions-page-cta .eyebrow,
.infra-cta .eyebrow,
.elv-cta .eyebrow,
.av-cta .eyebrow,
.policy-cta .eyebrow,
.page-block--cta-banner .eyebrow,
.contact-cta .eyebrow,
.cta-card .eyebrow {
  color: #9ff5c6 !important;
}

.services-page-cta h2,
.solutions-page-cta h2,
.infra-cta h2,
.elv-cta h2,
.av-cta h2,
.policy-cta h2,
.page-block--cta-banner h2,
.contact-cta h2,
.cta-card h2 {
  color: #ffffff !important;
  text-shadow: 0 12px 28px rgba(0, 0, 0, .28);
}

.services-page-cta p,
.solutions-page-cta p,
.infra-cta p,
.elv-cta p,
.av-cta p,
.policy-cta p,
.page-block--cta-banner p,
.contact-cta p,
.cta-card p {
  color: rgba(255, 255, 255, .82) !important;
}

.services-page-cta h2::after,
.solutions-page-cta h2::after,
.infra-cta h2::after,
.elv-cta h2::after,
.av-cta h2::after,
.policy-cta h2::after,
.page-block--cta-banner h2::after,
.contact-cta h2::after,
.cta-card h2::after {
  background: linear-gradient(90deg, rgba(159, 245, 198, .95), rgba(115, 183, 255, .82), transparent) !important;
}

.solutions-page-head,
.services-page-head,
.about-section-head.center,
.about-page-section-head,
.about-studio-section-head,
.elv-section-head,
.av-section-head,
.process,
.contact-center-head,
.contact-map-head,
.contact-process__title,
.contact-faq,
.page-section-head--center {
  text-align: center;
}

.solutions-page-head h2::after,
.services-page-head h2::after,
.about-section-head.center h2::after,
.about-page-section-head h2::after,
.about-studio-section-head h2::after,
.elv-section-head h2::after,
.av-section-head h2::after,
.process > h2::after,
.contact-center-head h2::after,
.contact-map-head h2::after,
.contact-process__title h2::after,
.contact-faq h2::after,
.page-section-head--center h2::after {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.contact-world-map__stage {
  background: #ffffff !important;
}

.contact-world-map__stage::before {
  display: none !important;
  content: none !important;
}

.contact-world-map__stage iframe,
.contact-world-map:hover .contact-world-map__stage iframe {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  mix-blend-mode: normal !important;
}

.contact-action-icon {
  display: inline-grid;
  place-items: center;
  background: linear-gradient(135deg, #08a64f, #0565c7) !important;
}

.contact-action-icon::before {
  display: block;
  opacity: 1 !important;
}

/* Sitewide typography readability guard for banners, sections, CTAs and cards. */
.solutions-page-banner h1,
.infra-top-banner h1,
.infra-hero h1,
.services-page-hero h1,
.page-hero h1,
.about-page-hero h1,
.contact-hero h1,
.elv-hero h1,
.av-hero h1 {
  font-size: clamp(34px, 3.8vw, 52px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
}

.section-head h2,
.infra-section-head h2,
.services-page-head h2,
.solutions-page-head h2,
.page-section-head h2,
.about-page-section-head h2,
.contact-section-head h2,
.elv-section-head h2,
.av-section-head h2 {
  font-size: clamp(30px, 3.4vw, 44px) !important;
  line-height: 1.16 !important;
}

.services-page-cta h2,
.solutions-page-cta h2,
.infra-cta h2,
.elv-cta h2,
.av-cta h2,
.policy-cta h2,
.page-block--cta-banner h2,
.contact-cta h2,
.cta-card h2 {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  max-width: 760px;
  font-size: clamp(26px, 3vw, 42px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
  text-wrap: balance;
}

.services-page-cta h2::before,
.services-page-cta h2::after,
.solutions-page-cta h2::before,
.solutions-page-cta h2::after,
.infra-cta h2::before,
.infra-cta h2::after,
.elv-cta h2::before,
.elv-cta h2::after,
.av-cta h2::before,
.av-cta h2::after,
.policy-cta h2::before,
.policy-cta h2::after,
.page-block--cta-banner h2::before,
.page-block--cta-banner h2::after,
.contact-cta h2::before,
.contact-cta h2::after,
.cta-card h2::before,
.cta-card h2::after {
  display: none !important;
  content: none !important;
}

.services-page-cta .eyebrow,
.solutions-page-cta .eyebrow,
.infra-cta .eyebrow,
.elv-cta .eyebrow,
.av-cta .eyebrow,
.policy-cta .eyebrow,
.page-block--cta-banner .eyebrow,
.contact-cta .eyebrow,
.cta-card .eyebrow {
  margin: 0 0 8px !important;
  line-height: 1.35 !important;
}

.service-card h3,
.solution-card h3,
.infra-service-card h3,
.page-block h3,
.global-card h3 {
  font-size: clamp(18px, 1.8vw, 24px) !important;
  line-height: 1.28 !important;
  letter-spacing: -0.015em;
}

.services-page-cta__inner > div,
.solutions-page-cta__inner > div,
.infra-cta > div,
.elv-cta > div,
.av-cta > div {
  min-width: 0;
  flex: 1 1 auto;
}

@media (max-width: 760px) {
  .services-page-cta__inner,
  .solutions-page-cta__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Premium Infrastructure services: one full-width service per row. */
.process .timeline article:nth-child(odd) h3 {
  color: #00944a !important;
}

.process .timeline article:nth-child(even) h3 {
  color: #0565c7 !important;
}

/* Shared elevation for all five-card website sections. */
.about-page-values {
  padding-bottom: 25px;
}

.service-grid .service-card,
.process .timeline article,
.contact-why-grid article,
.about-page-values__grid article,
.infra-timeline article,
.solutions-parent__grid .solutions-parent-card {
  box-shadow:
    0 3px 8px rgba(10, 43, 79, .08),
    0 14px 30px rgba(10, 43, 79, .13) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.service-grid .service-card:hover,
.process .timeline article:hover,
.contact-why-grid article:hover,
.about-page-values__grid article:hover,
.infra-timeline article:hover,
.solutions-parent__grid .solutions-parent-card:hover {
  box-shadow:
    0 5px 12px rgba(10, 43, 79, .10),
    0 22px 44px rgba(10, 43, 79, .17) !important;
  transform: translateY(-6px);
}

.services .service-card h3 {
  font-size: clamp(17px, 1.45vw, 20px) !important;
  line-height: 1.28 !important;
  letter-spacing: -0.015em;
}

/* Keep long service descriptions clear of the action and strengthen its hover state. */
.services .service-card {
  padding-bottom: 66px !important;
}

.services .service-card .card-arrow {
  z-index: 2;
  transition: transform .28s ease, color .28s ease, background-color .28s ease, box-shadow .28s ease;
}

.services .service-card:nth-child(odd):hover .card-arrow {
  color: #fff !important;
  border-color: var(--blue) !important;
  background: var(--blue) !important;
  box-shadow: 0 8px 18px rgba(5, 101, 199, .28);
  transform: translateX(3px);
}

.services .service-card:nth-child(even):hover .card-arrow {
  color: #fff !important;
  border-color: var(--green) !important;
  background: var(--green) !important;
  box-shadow: 0 8px 18px rgba(0, 148, 74, .28);
  transform: translateX(3px);
}

.infra-timeline article:nth-child(odd) h3 {
  color: #0565c7 !important;
}

.infra-timeline article:nth-child(even) h3 {
  color: #00944a !important;
}

.infra-timeline article:nth-child(odd)::before {
  background:
    radial-gradient(circle at 70% 26%, #20c77a 0 5px, transparent 6px),
    linear-gradient(135deg, rgba(5, 101, 199, .10), rgba(18, 191, 106, .10));
}

.infra-timeline article:nth-child(even)::before {
  background:
    radial-gradient(circle at 70% 26%, #167de7 0 5px, transparent 6px),
    linear-gradient(135deg, rgba(18, 191, 106, .10), rgba(5, 101, 199, .10));
}

.infra-timeline article:nth-child(odd) span {
  color: #0565c7;
  background: rgba(5, 101, 199, .10);
}

.infra-timeline article:nth-child(even) span {
  color: #008d49;
  background: rgba(0, 148, 74, .10);
}

.infra-services .infra-service-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px;
  max-width: 1180px;
  margin: 0 auto;
}

.infra-services .infra-service-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  min-height: 330px;
  padding: 0;
  border: 1px solid rgba(174, 202, 226, .62);
  border-radius: 30px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 24px 64px rgba(8, 36, 70, .12), inset 0 1px 0 rgba(255,255,255,.9);
  transform: none;
}

.infra-services .infra-service-card::before {
  inset: 0 auto 0 0;
  z-index: 2;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, #18bd70, #087ee7);
}

.infra-services .infra-service-card::after {
  position: absolute;
  right: -110px;
  top: -150px;
  z-index: -1;
  width: 360px;
  height: 360px;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle, rgba(17, 181, 109, .13), rgba(20, 127, 218, .04) 52%, transparent 70%);
}

.infra-services .infra-service-card:nth-child(even)::before {
  background: linear-gradient(180deg, #087ee7, #18bd70);
}

.infra-services .infra-service-card:hover {
  border-color: rgba(15, 145, 200, .42);
  box-shadow: 0 34px 84px rgba(8, 36, 70, .17), inset 0 1px 0 #fff;
  transform: translateY(-5px);
}

.infra-services .infra-card-top {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 42px 42px 42px 46px;
  border: 0;
  background:
    linear-gradient(145deg, rgba(239, 251, 247, .95), rgba(239, 247, 255, .9));
}

.infra-services .infra-service-card:nth-child(even) .infra-card-top {
  background: linear-gradient(145deg, rgba(239, 247, 255, .96), rgba(239, 251, 247, .9));
}

.infra-services .infra-card-top::after {
  right: 30px;
  top: 30px;
  width: 86px;
  height: 86px;
  border: 1px solid rgba(14, 154, 112, .12);
  border-radius: 28px;
  background:
    radial-gradient(circle at 70% 28%, rgba(18, 191, 106, .54) 0 7px, transparent 8px),
    linear-gradient(135deg, rgba(18, 191, 106, .12), rgba(5, 101, 199, .12));
  box-shadow: 0 15px 34px rgba(8, 82, 119, .08);
}

.infra-services .infra-card-top > span:first-child {
  width: auto;
  min-width: 52px;
  height: 30px;
  margin: 0 0 22px;
  padding: 0 14px;
  color: #047a48;
  background: rgba(16, 185, 105, .12);
  letter-spacing: .08em;
}

.infra-services .infra-card-top h3 {
  max-width: calc(100% - 65px);
  margin: 0 0 14px;
  color: #082544 !important;
  font-size: clamp(25px, 2.3vw, 34px) !important;
  line-height: 1.15 !important;
}

.infra-services .infra-card-top p {
  max-width: 500px;
  margin: 0;
  color: #526981;
  font-size: 14px !important;
  line-height: 1.75;
}

.infra-services .infra-card-top a {
  margin-top: 24px;
  padding: 11px 15px;
  border: 1px solid rgba(0, 148, 74, .2);
  border-radius: 10px;
  color: #008c4a;
  background: rgba(255,255,255,.72);
  text-decoration: none;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.infra-services .infra-card-top a:hover {
  color: #fff;
  background: #00944a;
  transform: translateX(4px);
}

.infra-services .infra-card-columns {
  align-content: center;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  min-width: 0;
  padding: 42px;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,251,255,.92));
}

.infra-services .infra-card-columns > div {
  min-width: 0;
  padding: 0;
}

.infra-services .infra-card-columns > div + div {
  padding: 0 0 0 28px;
  border-left: 1px solid rgba(177, 202, 223, .55);
}

.infra-services .infra-card-columns h4 {
  margin: 0 0 18px;
  color: #0a3762;
  font-size: 14px !important;
  letter-spacing: .08em;
}

.infra-services .infra-card-columns li {
  margin: 12px 0;
  padding-left: 25px;
  color: #304b66;
  font-size: 13px;
  line-height: 1.48;
}

.infra-services .infra-card-columns li::before {
  top: .48em;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 5px rgba(18, 191, 106, .11);
}

@media (max-width: 960px) {
  .infra-services .infra-service-card { grid-template-columns: 1fr; }
  .infra-services .infra-card-top { padding: 34px; }
  .infra-services .infra-card-columns { padding: 34px; }
}

@media (max-width: 620px) {
  .infra-services .infra-service-grid { gap: 20px; }
  .infra-services .infra-service-card { border-radius: 22px; }
  .infra-services .infra-card-top,
  .infra-services .infra-card-columns { padding: 26px 22px; }
  .infra-services .infra-card-columns { grid-template-columns: 1fr; gap: 26px; }
  .infra-services .infra-card-columns > div + div { padding: 24px 0 0; border-top: 1px solid rgba(177, 202, 223, .55); border-left: 0; }
  .infra-services .infra-card-top::after { width: 62px; height: 62px; right: 20px; top: 20px; }
}

/* Floating website shortcut dock. */
.floating-actions {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 900;
  display: grid;
  justify-items: end;
  gap: 10px;
}

.floating-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 48px;
  height: 48px;
  padding: 0 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 16px;
  color: #fff;
  background: #0b3158;
  box-shadow: 0 12px 30px rgba(7, 32, 62, .20);
  text-decoration: none;
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.floating-action svg {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.floating-action span {
  width: 0;
  opacity: 0;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
  transition: width .22s ease, opacity .18s ease;
}

.floating-action:hover span,
.floating-action:focus-visible span { width: 82px; opacity: 1; }
.floating-action:hover,.floating-action:focus-visible { color: #fff; transform: translateY(-3px); box-shadow: 0 18px 38px rgba(7, 32, 62, .27); }
.floating-action--whatsapp { background: linear-gradient(135deg, #16b967, #078b4c); }
.floating-action--email { background: linear-gradient(135deg, #1687ed, #075db8); }
.floating-action--reach { background: linear-gradient(135deg, #0b496e, #0b8064); }
.floating-action--top { border: 1px solid rgba(5,101,199,.20); color: #0b3158; background: rgba(255,255,255,.94); opacity: 0; visibility: hidden; transform: translateY(10px); }
.floating-action--top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }

@media (max-width: 700px) {
  .floating-actions {
    left: 50%;
    right: auto;
    bottom: 12px;
    display: flex;
    gap: 7px;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 16px 40px rgba(7,32,62,.18);
    backdrop-filter: blur(14px);
    transform: translateX(-50%);
  }
  .floating-action { width: 44px; min-width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 13px; }
  .floating-action span,.floating-action:hover span,.floating-action:focus-visible span { display: none; width: 0; }
  .floating-action--top { display: flex; }
  body { padding-bottom: 76px; }
}

/* Radial contact shortcut fan. */
.floating-actions {
  width: 190px;
  height: 190px;
  pointer-events: none;
}

.shortcut-fan {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 180px;
  height: 180px;
  pointer-events: none;
}

.shortcut-fan .floating-action {
  position: absolute;
  right: 3px;
  bottom: 3px;
  z-index: 1;
  justify-content: center;
  width: 50px;
  min-width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(0, 0) rotate(95deg) scale(.35);
  transform-origin: center;
}

.shortcut-fan.is-open .floating-action { opacity: 1; visibility: visible; pointer-events: auto; }
.shortcut-fan.is-open .floating-action--whatsapp { transform: translate(-118px, -10px) rotate(0) scale(1); }
.shortcut-fan.is-open .floating-action--email { transform: translate(-87px, -82px) rotate(0) scale(1); }
.shortcut-fan.is-open .floating-action--reach { transform: translate(-13px, -116px) rotate(0) scale(1); }
.shortcut-fan .floating-action--whatsapp { transition-delay: .02s; }
.shortcut-fan .floating-action--email { transition-delay: .07s; }
.shortcut-fan .floating-action--reach { transition-delay: .12s; }

.shortcut-fan__toggle {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 2px solid rgba(255,255,255,.82);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #00944a, #0565c7);
  box-shadow: 0 16px 38px rgba(7,49,89,.28), 0 0 0 7px rgba(0,148,74,.08);
  cursor: pointer;
  pointer-events: auto;
  transition: transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
}

.shortcut-fan__toggle:hover { transform: scale(1.07); box-shadow: 0 20px 44px rgba(7,49,89,.34), 0 0 0 9px rgba(5,101,199,.09); }
.shortcut-fan.is-open .shortcut-fan__toggle { transform: rotate(135deg); background: linear-gradient(135deg, #0b3158, #071c35); }
.shortcut-fan__toggle svg { position: absolute; width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; transition: opacity .2s ease, transform .28s ease; }
.shortcut-fan__close { opacity: 0; transform: rotate(-135deg) scale(.5); }
.shortcut-fan.is-open .shortcut-fan__open { opacity: 0; transform: rotate(90deg) scale(.5); }
.shortcut-fan.is-open .shortcut-fan__close { opacity: 1; transform: rotate(-135deg) scale(1); }

.floating-actions > .floating-action--top {
  position: absolute;
  right: 5px;
  bottom: 70px;
  z-index: 4;
  justify-content: center;
  width: 46px;
  min-width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 50%;
  pointer-events: auto;
}

@media (max-width: 700px) {
  .floating-actions { left: auto; right: 12px; bottom: 12px; width: 178px; height: 178px; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; transform: none; }
  .shortcut-fan { width: 170px; height: 170px; }
  .shortcut-fan .floating-action { display: flex; width: 48px; min-width: 48px; height: 48px; }
  .shortcut-fan.is-open .floating-action--whatsapp { transform: translate(-108px, -8px) rotate(0) scale(1); }
  .shortcut-fan.is-open .floating-action--email { transform: translate(-79px, -76px) rotate(0) scale(1); }
  .shortcut-fan.is-open .floating-action--reach { transform: translate(-12px, -108px) rotate(0) scale(1); }
  .shortcut-fan__toggle { width: 56px; height: 56px; }
}

/* Contact page icon mask safety: never show raw colored rectangles. */
.contact-line-icon,
.contact-process__step i {
  -webkit-mask: var(--contact-icon-fallback) center / contain no-repeat;
  mask: var(--contact-icon-fallback) center / contain no-repeat;
}

.contact-line-icon {
  --contact-icon-fallback: var(--contact-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 5 39 11v11c0 10-5.3 16.8-15 21C14.3 38.8 9 32 9 22V11l15-6Z'/%3E%3Cpath d='m17 24 5 5 10-11'/%3E%3C/g%3E%3C/svg%3E"));
}

.contact-process__step i {
  --contact-icon-fallback: var(--process-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='24' r='6'/%3E%3Cpath d='M24 5v7M24 36v7M5 24h7M36 24h7M10 10l5 5M33 33l5 5M38 10l-5 5M15 33l-5 5'/%3E%3C/g%3E%3C/svg%3E"));
}

.contact-line-icon--support {
  --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 27v-3c0-9 6-16 14-16s14 7 14 16v3'/%3E%3Crect x='6' y='25' width='9' height='13' rx='4'/%3E%3Crect x='33' y='25' width='9' height='13' rx='4'/%3E%3Cpath d='M33 39c-2 3-5 4-9 4h-3'/%3E%3C/g%3E%3C/svg%3E");
}

.contact-line-icon--team {
  --contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='17' r='6'/%3E%3Cpath d='M6 39c1.4-8 5.4-12 12-12s10.6 4 12 12'/%3E%3Ccircle cx='33' cy='20' r='5'/%3E%3Cpath d='M31 30c5 .6 8.6 3.6 11 9'/%3E%3C/g%3E%3C/svg%3E");
}

/* Contact banner only: visible living motion without changing layout. */
.contact-page .contact-hero--reference {
  background: linear-gradient(90deg, rgba(4, 22, 43, .96) 0%, rgba(8, 58, 85, .84) 52%, rgba(32, 160, 89, .42) 100%) !important;
}

.contact-page .contact-hero--reference::after {
  z-index: 0;
  inset: -9%;
  background:
    linear-gradient(90deg, rgba(4, 22, 43, .88) 0%, rgba(8, 58, 85, .58) 50%, rgba(32, 160, 89, .18) 100%),
    var(--page-banner-image, url("../assets/abstract-green-background.webp")) center right / cover no-repeat !important;
  mask-image: none !important;
  opacity: 1;
  animation: contactBannerImageMotion 13s ease-in-out infinite alternate;
  transform: translate3d(-2%, -2%, 0) scale(1.08);
  transform-origin: center right;
  will-change: transform;
}

.contact-page .contact-hero--reference .contact-hero__grid {
  z-index: 2;
}

.contact-page .contact-hero--reference:hover::after {
  animation-duration: 8s;
}

@keyframes contactBannerImageMotion {
  0% {
    transform: translate3d(-2%, -2%, 0) scale(1.08);
  }

  45% {
    transform: translate3d(2%, -5%, 0) scale(1.15);
  }

  100% {
    transform: translate3d(4%, 3%, 0) scale(1.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-page .contact-hero--reference::after {
    animation: none !important;
    transform: none !important;
  }
}

/* Non-home banner image motion. Home hero is intentionally excluded. */
.about-contact-hero.contact-hero--reference,
.services-page .services-page-banner,
.solutions-page-banner,
.infra-page .infra-top-banner,
.elv-page .infra-top-banner,
.av-page .infra-top-banner,
.policy-hero,
.inner-hero {
  animation: nonHomeBannerImageDrift 13s ease-in-out infinite alternate;
  background-position: center right, 50% 50% !important;
  background-size: auto, 108% auto !important;
  will-change: background-position, background-size;
}

.about-contact-hero.contact-hero--reference:hover,
.services-page .services-page-banner:hover,
.solutions-page-banner:hover,
.infra-page .infra-top-banner:hover,
.elv-page .infra-top-banner:hover,
.av-page .infra-top-banner:hover,
.policy-hero:hover,
.inner-hero:hover {
  animation-duration: 8s;
}

@keyframes nonHomeBannerImageDrift {
  0% {
    background-position: center right, 48% 48%;
    background-size: auto, 108% auto;
  }

  45% {
    background-position: center right, 54% 42%;
    background-size: auto, 114% auto;
  }

  100% {
    background-position: center right, 60% 56%;
    background-size: auto, 118% auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-contact-hero.contact-hero--reference,
  .services-page .services-page-banner,
  .solutions-page-banner,
  .infra-page .infra-top-banner,
  .elv-page .infra-top-banner,
  .av-page .infra-top-banner,
  .policy-hero,
  .inner-hero {
    animation: none !important;
    background-position: center right, center right !important;
    background-size: auto, cover !important;
  }
}

/* Mobile hardening must remain last in the cascade. */
@media (max-width: 767px) {
  .container { width: min(100% - 28px, var(--container, 1180px)) !important; }

  main h1,
  .hero h1,
  .about-contact-hero h1,
  .services-page-banner h1,
  .solutions-page-banner h1,
  .infra-top-banner h1,
  .inner-hero h1,
  .policy-hero h1 {
    max-width: 100% !important;
    font-size: clamp(30px, 9.4vw, 42px) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere !important;
  }

  main h2 {
    max-width: 100% !important;
    font-size: clamp(25px, 7.7vw, 34px) !important;
    line-height: 1.14 !important;
    overflow-wrap: anywhere !important;
  }

  .about-contact-hero.contact-hero--reference,
  .services-page .services-page-banner,
  .solutions-page-banner,
  .infra-page .infra-top-banner,
  .elv-page .infra-top-banner,
  .av-page .infra-top-banner,
  .policy-hero,
  .inner-hero {
    animation: none !important;
    background-position: center, center !important;
    background-size: auto, cover !important;
  }

  .page-cta,
  .about-page-cta,
  .infra-cta,
  .contact-cta,
  .cta-box,
  .news__cta {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 24px 20px !important;
  }
}

@media (max-width: 390px) {
  .container { width: min(100% - 22px, var(--container, 1180px)) !important; }
  .brand img { max-width: 174px !important; }
  .menu-button { flex: 0 0 auto; padding-inline: 13px; }
  .floating-actions { right: 7px; bottom: 7px; transform: scale(.92); transform-origin: right bottom; }
}
/* Audit & Consulting */
.audit-page{background:#f4f9fc;color:#0b2442}.audit-top-banner{--page-banner-position:center 40%}.audit-hero{padding:86px 0;background:radial-gradient(circle at 86% 12%,rgba(0,171,104,.13),transparent 30%),linear-gradient(135deg,#f8fcff,#eef8f5)}.audit-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:64px;align-items:center}.audit-hero__copy h1{max-width:760px;font-size:clamp(2.35rem,4.6vw,4.7rem);line-height:1.06;letter-spacing:-.045em;margin:12px 0 22px}.audit-hero__copy>p:not(.eyebrow){max-width:720px;color:#5b708d;line-height:1.8}.audit-hero__panel{position:relative;padding:38px;border:1px solid rgba(15,71,105,.12);border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 24px 60px rgba(16,48,77,.13);overflow:hidden}.audit-hero__panel:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-75px;bottom:-70px;background:linear-gradient(135deg,rgba(0,171,104,.18),rgba(0,102,204,.08))}.audit-hero__mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#00ae68,#0871ce);color:#fff;font-size:24px;box-shadow:0 12px 30px rgba(0,171,104,.25)}.audit-hero__panel h2{font-size:1.35rem;margin:22px 0 18px}.audit-hero__panel ul,.audit-detail-card ul,.audit-consulting ul{list-style:none;padding:0;margin:0}.audit-hero__panel li,.audit-detail-card li,.audit-consulting li{position:relative;padding:7px 0 7px 25px;color:#536b88;line-height:1.55}.audit-hero__panel li:before,.audit-detail-card li:before,.audit-consulting li:before{content:"";position:absolute;left:0;top:14px;width:9px;height:9px;border-radius:50%;background:#00aa66;box-shadow:0 0 0 5px rgba(0,170,102,.1)}.audit-services,.audit-why{padding:90px 0}.audit-section-head{max-width:820px;margin:0 auto 46px;text-align:center}.audit-section-head h2{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.12;letter-spacing:-.035em;margin:10px 0 16px}.audit-section-head>p:last-child{color:#60738d;line-height:1.75}.audit-card-stack{display:grid;gap:24px}.audit-detail-card{display:grid;grid-template-columns:1.05fr 1fr .8fr;background:#fff;border:1px solid #dbe8f2;border-radius:26px;box-shadow:0 16px 45px rgba(18,54,82,.09);overflow:hidden}.audit-detail-card>div{padding:34px}.audit-detail-card>div+div{border-left:1px solid #e0ebf3}.audit-detail-card__intro>span,.audit-consulting article>span{display:inline-flex;padding:7px 13px;border-radius:999px;background:#e8f3ff;color:#0871ce;font-weight:800;font-size:.78rem}.audit-detail-card h3,.audit-consulting h3,.audit-why h3{font-size:1.35rem;line-height:1.25;margin:15px 0 12px}.audit-detail-card h4,.audit-consulting h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#0871ce;margin:0 0 12px}.audit-detail-card p,.audit-consulting p,.audit-why p{color:#60738d;line-height:1.7}.audit-detail-card__result{background:linear-gradient(145deg,#f0fbf6,#eef7ff)}.audit-detail-card__result h4{color:#009b5c}.audit-consulting{padding:90px 0;background:linear-gradient(135deg,#071f3e,#064c55 62%,#087957);color:#fff}.audit-section-head--light>p:last-child{color:#c3d5df}.audit-consulting__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.audit-consulting article{padding:34px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.075);box-shadow:0 18px 40px rgba(0,0,0,.16);backdrop-filter:blur(10px)}.audit-consulting article:nth-child(even)>span{background:#e7faef;color:#009b5c}.audit-consulting p,.audit-consulting li{color:#c7d8e2}.audit-consulting h4{color:#63e5ad;margin-top:22px}.audit-why__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.audit-why article{position:relative;padding:30px 24px;border:1px solid #dce9f3;border-radius:22px;background:#fff;box-shadow:0 14px 35px rgba(18,54,82,.09)}.audit-why article>span{display:block;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#dff7eb,#dcecff);position:relative}.audit-why article>span:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#0871ce;inset:0;margin:auto}.audit-why article:nth-child(even)>span:after{background:#00a866}.audit-cta{margin-bottom:90px}
@media(max-width:1050px){.audit-hero__grid{grid-template-columns:1fr;gap:38px}.audit-detail-card{grid-template-columns:1fr 1fr}.audit-detail-card__intro{grid-column:1/-1}.audit-detail-card>div+div{border-left:0;border-top:1px solid #e0ebf3}.audit-why__grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.audit-hero,.audit-services,.audit-consulting,.audit-why{padding:62px 0}.audit-hero__copy h1{font-size:clamp(2.15rem,11vw,3.2rem)}.audit-hero__panel{padding:26px}.audit-detail-card,.audit-consulting__grid,.audit-why__grid{grid-template-columns:1fr}.audit-detail-card__intro{grid-column:auto}.audit-detail-card>div{padding:26px}.audit-cta{margin-bottom:62px}}

/* Audit & Consulting premium presentation */
.audit-page .audit-top-banner{position:relative;min-height:390px;display:flex;align-items:center;background-image:var(--page-banner-image);background-position:center 42%;background-size:cover;isolation:isolate;overflow:hidden}
.audit-page .audit-top-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,51,.97) 0%,rgba(4,44,68,.91) 45%,rgba(3,40,57,.48) 74%,rgba(0,120,83,.28) 100%);z-index:-1}
.audit-page .audit-top-banner:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,#0872ce 0 50%,#00aa67 50%)}
.audit-page .audit-top-banner .infra-top-banner__inner{position:relative;z-index:2;min-height:390px;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:60px;padding-bottom:60px}
.audit-page .audit-top-banner .infra-top-banner__inner>div{max-width:760px}
.audit-page .audit-top-banner .eyebrow{color:#6ff0b5}.audit-page .audit-top-banner h1{color:#fff;font-size:clamp(2.5rem,4.3vw,4.5rem);line-height:1.02;letter-spacing:-.04em;margin:10px 0 16px;text-shadow:0 8px 30px rgba(0,0,0,.25)}
.audit-page .audit-top-banner p:not(.eyebrow){max-width:650px;color:#e3edf4;font-size:1.05rem;line-height:1.75}.audit-page .audit-top-banner .infra-breadcrumb{border-color:rgba(255,255,255,.25);background:rgba(6,35,60,.5);backdrop-filter:blur(12px)}
.audit-banner-fx{position:absolute;right:7%;top:50%;width:240px;height:240px;transform:translateY(-50%);z-index:1;opacity:.92}.audit-banner-fx:before,.audit-banner-fx:after{content:"";position:absolute;inset:0;border:1px solid rgba(106,239,181,.35);border-radius:50%;animation:auditOrbit 14s linear infinite}.audit-banner-fx:after{inset:35px;border-color:rgba(94,177,255,.35);animation-direction:reverse;animation-duration:10s}.audit-banner-fx i{position:absolute;width:14px;height:14px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 8px rgba(0,170,103,.2),0 0 28px #00c878}.audit-banner-fx i:nth-child(1){top:13px;left:108px}.audit-banner-fx i:nth-child(2){right:18px;bottom:55px}.audit-banner-fx i:nth-child(3){left:26px;bottom:42px}.audit-banner-fx span{position:absolute;inset:78px;border-radius:24px;transform:rotate(45deg);background:linear-gradient(135deg,rgba(8,114,206,.86),rgba(0,170,103,.86));border:1px solid rgba(255,255,255,.45);box-shadow:0 20px 55px rgba(0,0,0,.3)}
@keyframes auditOrbit{to{transform:rotate(360deg)}}
.audit-hero{position:relative;overflow:hidden}.audit-hero:before{content:"";position:absolute;width:420px;height:420px;left:-260px;bottom:-260px;border:70px solid rgba(8,114,206,.035);border-radius:50%}.audit-hero__copy h1{font-size:clamp(2.35rem,4vw,4rem);line-height:1.1;max-width:800px}.audit-hero__copy>p:not(.eyebrow),.audit-detail-card p,.audit-consulting p,.audit-why p,.audit-section-head>p:last-child{font-size:.98rem;font-weight:500;line-height:1.8;color:#526985}.audit-hero__panel{transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease}.audit-hero__panel:hover{transform:translateY(-8px);border-color:rgba(0,170,103,.38);box-shadow:0 32px 75px rgba(9,50,78,.18)}.audit-hero__panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.audit-hero__panel-head small{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0871ce;background:#eaf4ff;border-radius:999px;padding:8px 12px}.audit-hero__panel li{font-weight:600;color:#465f7d}
.audit-section-head h2{max-width:800px;margin-left:auto;margin-right:auto}.audit-detail-card{position:relative;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}.audit-detail-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#0871ce;transition:width .35s ease}.audit-detail-card:nth-child(even):before{background:#00a866}.audit-detail-card:hover{transform:translateY(-7px);border-color:rgba(8,113,206,.3);box-shadow:0 28px 70px rgba(13,54,86,.16)}.audit-detail-card:hover:before{width:9px}.audit-detail-card h3{font-size:1.42rem;color:#0c2748}.audit-detail-card li{font-size:.91rem;font-weight:600;color:#4c6380}.audit-detail-card:nth-child(even) .audit-detail-card__intro>span{background:#e6f8ef;color:#00995b}.audit-detail-card:nth-child(even) .audit-detail-card__result{background:linear-gradient(145deg,#edf6ff,#effbf5)}
.audit-consulting{position:relative;overflow:hidden}.audit-consulting:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 15%,rgba(8,114,206,.28),transparent 25%),radial-gradient(circle at 90% 80%,rgba(0,198,119,.18),transparent 30%);pointer-events:none}.audit-consulting .container{position:relative}.audit-section-head--light h2{color:#fff}.audit-section-head--light>p:last-child{color:#c7d9e5}.audit-consulting article{position:relative;overflow:hidden;transition:transform .42s ease,background .42s ease,border-color .42s ease,box-shadow .42s ease}.audit-consulting article:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-50px;top:-50px;background:rgba(8,114,206,.18);transition:transform .45s ease}.audit-consulting article:nth-child(even):after{background:rgba(0,190,112,.18)}.audit-consulting article:hover{transform:translateY(-9px);background:rgba(255,255,255,.12);border-color:rgba(111,240,181,.42);box-shadow:0 28px 60px rgba(0,0,0,.25)}.audit-consulting article:hover:after{transform:scale(1.7)}.audit-consulting h3{color:#fff;font-size:1.45rem}.audit-consulting p,.audit-consulting li{color:#d1e0e9;font-weight:500}.audit-consulting li:before{background:#67e5af;box-shadow:0 0 0 5px rgba(103,229,175,.1)}
.audit-why__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px;margin:auto}.audit-why article{min-height:250px;border-top:4px solid #0871ce;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}.audit-why article:nth-child(even){border-top-color:#00a866}.audit-why article:nth-child(4){grid-column:1/2;margin-left:50%}.audit-why article:nth-child(5){grid-column:2/3;margin-left:50%}.audit-why article:hover{transform:translateY(-10px);box-shadow:0 26px 60px rgba(16,54,84,.16)}.audit-why article:nth-child(odd):hover{border-color:#0871ce}.audit-why article:nth-child(even):hover{border-color:#00a866}.audit-why h3{color:#0c2748;font-size:1.2rem}.audit-why article:nth-child(odd) h3{color:#086bc0}.audit-why article:nth-child(even) h3{color:#00975a}.audit-cta{box-shadow:0 24px 60px rgba(10,52,75,.18);transition:transform .4s ease,box-shadow .4s ease}.audit-cta:hover{transform:translateY(-5px);box-shadow:0 32px 75px rgba(10,52,75,.23)}
@media(max-width:1050px){.audit-banner-fx{right:3%;opacity:.45}.audit-page .audit-top-banner .infra-top-banner__inner{align-items:flex-end}.audit-why__grid{grid-template-columns:repeat(2,1fr)}.audit-why article:nth-child(4),.audit-why article:nth-child(5){grid-column:auto;margin-left:0}.audit-why article:last-child{grid-column:1/-1;max-width:540px;width:100%;justify-self:center}}
@media(max-width:720px){.audit-page .audit-top-banner,.audit-page .audit-top-banner .infra-top-banner__inner{min-height:330px}.audit-page .audit-top-banner h1{font-size:clamp(2.25rem,12vw,3.25rem)}.audit-page .audit-top-banner p:not(.eyebrow){font-size:.93rem}.audit-banner-fx{width:160px;height:160px;right:-58px;top:42%;opacity:.3}.audit-banner-fx:after{inset:24px}.audit-banner-fx span{inset:55px}.audit-banner-fx i:nth-child(1){left:72px}.audit-hero__copy h1{font-size:clamp(2.1rem,10vw,3rem)}.audit-hero__panel-head{align-items:flex-start;flex-direction:column}.audit-detail-card:hover,.audit-consulting article:hover,.audit-why article:hover{transform:translateY(-4px)}.audit-why__grid{grid-template-columns:1fr}.audit-why article:last-child{grid-column:auto}.audit-why article{min-height:0}}

/* Mobile home hero: keep every banner element visible without affecting desktop. */
@media (max-width: 700px) {
  .hero {
    min-height: 0 !important;
    padding: 0 0 18px;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 100% 12%, rgba(5, 101, 199, .10), transparent 32%),
      linear-gradient(180deg, #f8fcff 0%, #eef7ff 100%);
  }

  .hero::before {
    width: 100%;
    opacity: .52;
    background:
      radial-gradient(circle at 90% 18%, rgba(196, 225, 248, .55), transparent 28%),
      linear-gradient(160deg, rgba(255, 255, 255, .92), rgba(239, 247, 255, .58));
  }

  .hero-slide,
  .hero-slide.is-active {
    min-height: 0;
    transform: none;
    filter: none;
    transition: opacity .32s ease, visibility .32s ease;
  }

  .hero__grid {
    display: grid !important;
    min-height: 0 !important;
    padding-block: 34px 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto 190px;
    gap: 24px;
  }

  .hero__copy {
    width: 100%;
    padding: 0 !important;
  }

  .hero .eyebrow {
    margin-bottom: 10px;
    font-size: 10px;
    line-height: 1.35;
    letter-spacing: .025em;
  }

  .hero h1 {
    max-width: none !important;
    margin: 0 0 14px !important;
    font-size: clamp(29px, 8.8vw, 36px);
    line-height: 1.08;
    letter-spacing: -.025em;
    overflow-wrap: normal;
    word-break: normal;
  }

  .hero__copy > p:not(.eyebrow) {
    max-width: none;
    margin: 0 0 20px !important;
    font-size: 13px;
    line-height: 1.62;
  }

  .hero__copy .actions {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .hero__copy .btn {
    min-height: 44px;
    padding: 11px 18px;
  }

  .hero-slide.is-active .eyebrow,
  .hero-slide.is-active h1,
  .hero-slide.is-active h1::after,
  .hero-slide.is-active .hero__copy > p,
  .hero-slide.is-active .actions,
  .hero-slide.is-active .actions .btn {
    animation: none !important;
    filter: none !important;
    transform: none !important;
  }

  .hero-slide.is-active h1::after {
    display: none;
  }

  .hero__visual {
    position: relative;
    width: 100%;
    min-height: 190px !important;
    height: 190px;
    align-self: auto !important;
    overflow: hidden;
    border: 1px solid rgba(202, 220, 237, .92);
    border-radius: 22px;
    background: #dcebf5;
    box-shadow: 0 18px 42px rgba(8, 36, 70, .15);
  }

  .server-room {
    inset: 0 !important;
    width: 100%;
    height: 100% !important;
    min-height: 190px;
    border-radius: 22px !important;
    clip-path: none !important;
    transform: none !important;
  }

  .server-room::before {
    inset: -8px !important;
    background-position: center !important;
    animation: none !important;
    transform: scale(1.03) !important;
  }

  .logo-orbit {
    top: 50% !important;
    left: 50% !important;
    width: 132px;
    height: 132px;
    transform: translate(-50%, -50%) !important;
    filter: drop-shadow(0 13px 20px rgba(0, 20, 40, .22));
  }

  .logo-orbit::before,
  .logo-orbit::after {
    display: none;
  }

  .hero-arrow {
    top: auto !important;
    bottom: 93px !important;
    width: 38px;
    height: 38px;
    transform: none !important;
  }

  .hero-arrow--prev {
    left: 20px;
  }

  .hero-arrow--next {
    right: 20px;
  }

  .hero-dots {
    bottom: 34px !important;
    padding: 7px;
  }

  .hero-progress {
    top: auto;
    bottom: 18px;
    width: calc(100% - 44px);
  }

  .hero + .stats {
    margin-top: 18px !important;
  }
}

@media (max-width: 374px) {
  .hero__grid {
    padding-block-start: 28px !important;
    grid-template-rows: auto 172px;
    gap: 20px;
  }

  .hero h1 {
    font-size: clamp(27px, 8.7vw, 32px);
  }

  .hero__visual,
  .server-room {
    min-height: 172px !important;
    height: 172px;
  }

  .hero-arrow {
    bottom: 84px !important;
  }
}

/* Home page tablet layout: 768px-1024px without changing phone or desktop views. */
@media (min-width: 701px) and (max-width: 1080px) {
  .home-page .container,
  body:not(.inner-page) .container {
    width: min(100% - 48px, 940px);
  }

  .hero {
    min-height: 0 !important;
    padding: 0 0 22px;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 92% 18%, rgba(5, 101, 199, .10), transparent 34%),
      linear-gradient(180deg, #f9fcff 0%, #edf6ff 100%);
  }

  .hero::before {
    width: 100%;
    opacity: .65;
    background:
      radial-gradient(circle at 85% 18%, rgba(196, 225, 248, .48), transparent 30%),
      linear-gradient(155deg, rgba(255,255,255,.92), rgba(239,247,255,.45));
  }

  .hero-slide,
  .hero-slide.is-active {
    min-height: 0 !important;
  }

  .hero__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto 300px;
    gap: 28px;
    min-height: 0 !important;
    padding-block: 38px 0 !important;
  }

  .hero__copy {
    width: min(100%, 760px);
    padding: 0 !important;
  }

  .hero h1 {
    max-width: 720px !important;
    font-size: clamp(38px, 5.4vw, 52px);
    line-height: 1.08;
  }

  .hero__copy > p:not(.eyebrow) {
    max-width: 680px;
  }

  .hero__visual {
    position: relative;
    width: 100%;
    height: 300px;
    min-height: 300px !important;
    align-self: auto !important;
    overflow: hidden;
    border: 1px solid rgba(202, 220, 237, .92);
    border-radius: 26px;
    background: #dcebf5;
    box-shadow: 0 20px 48px rgba(8, 36, 70, .16);
  }

  .server-room {
    inset: 0 !important;
    width: 100%;
    height: 100% !important;
    min-height: 300px;
    border-radius: 26px !important;
    clip-path: none !important;
    transform: none !important;
  }

  .server-room::before {
    inset: -8px !important;
    background-position: center !important;
    transform: scale(1.025) !important;
  }

  .logo-orbit {
    top: 50% !important;
    left: 50% !important;
    width: 210px;
    height: 210px;
    transform: translate(-50%, -50%) !important;
  }

  .hero-arrow {
    top: auto !important;
    bottom: 145px !important;
    transform: none !important;
  }

  .hero-arrow--prev { left: 34px; }
  .hero-arrow--next { right: 34px; }

  .hero-dots {
    bottom: 42px !important;
  }

  .hero-progress {
    top: auto;
    bottom: 22px;
    width: calc(100% - 72px);
  }

  .hero + .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 20px !important;
    padding: 18px 24px;
  }

  .stats .stat {
    min-width: 0;
    padding: 16px 22px;
  }

  .stats .stat:nth-child(2) {
    border-right: 0;
  }

  .stats .stat:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .service-grid,
  .timeline,
  .testimonials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px;
  }

  .service-grid .service-card,
  .timeline article,
  .testimonials__grid .review-card {
    min-width: 0;
  }

  .service-grid .service-card:last-child,
  .timeline article:last-child {
    grid-column: 1 / -1;
    width: min(100%, 440px);
    justify-self: center;
  }

  .solutions {
    padding-top: 48px;
    background: linear-gradient(180deg, #f7fbff, #f2f7fb) !important;
  }

  .solutions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    min-height: 0 !important;
    overflow: hidden;
    background: #fff;
  }

  .solutions__grid::before {
    display: none;
  }

  .solutions__intro,
  .stack-visual {
    min-height: 430px;
  }

  .solutions__intro {
    padding: 42px 34px 46px !important;
    border-radius: 22px 0 0 0;
    background:
      radial-gradient(circle at 100% 20%, rgba(49, 218, 190, .24), transparent 34%),
      linear-gradient(145deg, #092b50, #0b5261) !important;
  }

  .stack-visual {
    border-radius: 0 22px 0 0;
    background:
      radial-gradient(circle at 50% 48%, rgba(255,255,255,.82), transparent 18%),
      repeating-radial-gradient(circle at 50% 48%, rgba(5,101,199,.13) 0 1px, transparent 1px 20px),
      linear-gradient(145deg, #9ad4ef, #effaff) !important;
  }

  .solutions__map {
    display: block !important;
    grid-column: 1 / -1;
    min-height: 390px;
    padding: 42px 38px 46px !important;
    margin: 0 !important;
    border-radius: 0 0 22px 22px;
    background: linear-gradient(145deg, #ffffff, #f5faff) !important;
  }

  .solutions__map .eyebrow {
    display: block !important;
    width: fit-content;
    margin: 0 0 12px !important;
  }

  .solutions__map h2 {
    display: block !important;
    max-width: 680px !important;
    margin: 0 0 18px !important;
  }

  .solutions__map .industry-copy {
    max-width: 720px;
    margin-bottom: 28px;
  }

  .solutions__map .solution-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px;
  }

  .solutions__map .solution-list span {
    min-width: 0;
    min-height: 64px;
  }

  .solutions__map .solution-list span:last-child {
    grid-column: 1 / -1;
    width: min(100%, 440px);
    justify-self: center;
  }

  .solutions__map .dot-map {
    right: 28px;
    bottom: 24px;
    opacity: .06;
  }

  .feature-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0;
    width: min(100% - 48px, 940px);
    padding: 22px 28px 26px;
  }

  .feature-bar div {
    min-width: 0;
    padding: 14px 24px;
  }

  .feature-bar div:nth-of-type(2),
  .feature-bar div:nth-of-type(4) {
    border-right: 0;
  }

  .feature-bar div:nth-of-type(-n + 4) {
    border-bottom: 1px solid rgba(255,255,255,.18);
  }

  .feature-bar div:last-child {
    grid-column: 1 / -1;
    border: 0;
  }

  .split-cards {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .global-card {
    grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr) !important;
  }

  .testimonials__grid .review-card--featured {
    grid-column: 1 / -1;
    min-height: 250px;
  }

  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 48px;
  }

  .footer__brand,
  .footer__newsletter {
    grid-column: 1 / -1;
  }

  .footer__newsletter {
    max-width: 620px;
  }
}

@media (min-width: 901px) and (max-width: 1080px) {
  .footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .footer__brand,
  .footer__newsletter {
    grid-column: 1 / -1;
  }
}

@media (min-width: 701px) and (max-width: 820px) {
  .global-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .small-map {
    min-height: 230px;
  }
}
@media(prefers-reduced-motion:reduce){.audit-banner-fx:before,.audit-banner-fx:after{animation:none}.audit-detail-card,.audit-consulting article,.audit-why article,.audit-hero__panel{transition:none}}

/* Audit page alignment correction: About-height living banner + consistent five cards */
.audit-page .audit-top-banner{
  min-height:360px;
  background-image:linear-gradient(90deg,rgba(4,22,43,.97) 0%,rgba(7,54,81,.88) 48%,rgba(18,135,83,.48) 100%),var(--page-banner-image);
  background-position:center right,center right;
  background-size:cover,108% auto;
  animation:auditBannerImageMotion 13s ease-in-out infinite alternate;
}
.audit-page .audit-top-banner:before{display:none}
.audit-page .audit-top-banner:after{display:none}
.audit-page .audit-top-banner .infra-top-banner__inner{min-height:360px;padding-top:48px;padding-bottom:86px}
.audit-page .audit-top-banner h1{font-size:clamp(34px,3.5vw,52px);line-height:1.04;max-width:620px}
.audit-page .audit-top-banner p:not(.eyebrow){max-width:540px;font-size:15px;line-height:1.65}
.audit-banner-wave{position:absolute;z-index:4;left:0;right:0;bottom:-1px;height:74px;background:#f4f9fc;clip-path:polygon(0 58%,12% 48%,28% 62%,46% 38%,64% 52%,82% 30%,100% 46%,100% 100%,0 100%);pointer-events:none}
@keyframes auditBannerImageMotion{0%{background-position:center right,48% 50%;background-size:cover,108% auto}45%{background-position:center right,53% 46%;background-size:cover,114% auto}100%{background-position:center right,57% 53%;background-size:cover,118% auto}}
.audit-why__grid{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;gap:18px}
.audit-why article{min-height:285px;padding:28px 22px}
.audit-why article:nth-child(4),.audit-why article:nth-child(5){grid-column:auto;margin-left:0}
.audit-why h3{font-size:1.08rem;line-height:1.35}
.audit-why p{font-size:.9rem;line-height:1.7}
@media(max-width:1100px){.audit-why__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-why article:last-child{grid-column:auto;max-width:none}.audit-banner-fx{transform:translateY(-58%) scale(.78)}}
@media(max-width:800px){.audit-why__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-why article:last-child{grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}}
@media(max-width:720px){.audit-page .audit-top-banner,.audit-page .audit-top-banner .infra-top-banner__inner{min-height:360px}.audit-page .audit-top-banner{background-size:cover,auto 100%;animation-duration:10s}.audit-page .audit-top-banner .infra-top-banner__inner{padding-top:42px;padding-bottom:90px}.audit-banner-wave{height:56px}.audit-why__grid{grid-template-columns:1fr}.audit-why article,.audit-why article:last-child{min-height:0;max-width:none;grid-column:auto}.audit-banner-fx{transform:translateY(-45%) scale(.72)}}
@media(prefers-reduced-motion:reduce){.audit-page .audit-top-banner{animation:none;background-size:cover,cover}}

/* Audit banner circular live hub */
.audit-banner-fx{right:7%;width:230px;height:230px;z-index:1;pointer-events:none}
.audit-banner-fx:before{inset:0;border-width:2px;border-color:rgba(110,240,184,.48);box-shadow:inset 0 0 34px rgba(0,180,108,.09);animation:auditCircleSpin 12s linear infinite}
.audit-banner-fx:after{inset:32px;border-width:2px;border-style:dashed;border-color:rgba(113,190,255,.55);animation:auditCircleSpinReverse 9s linear infinite}
.audit-banner-fx span{inset:68px;border-radius:50%;transform:none;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.32),transparent 24%),linear-gradient(145deg,#0874cf,#00ad68);border:2px solid rgba(255,255,255,.55);box-shadow:0 0 0 12px rgba(0,173,104,.08),0 18px 48px rgba(0,0,0,.3);animation:auditCirclePulse 3.2s ease-in-out infinite}
.audit-banner-fx span:before{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:34px;font-weight:800;text-shadow:0 4px 14px rgba(0,0,0,.25)}
.audit-banner-fx i{z-index:3;width:13px;height:13px;border:3px solid #fff;background:#00aa67;box-shadow:0 0 0 7px rgba(0,170,103,.2),0 0 24px rgba(0,207,124,.9);animation:auditDotPulse 2.2s ease-in-out infinite}
.audit-banner-fx i:nth-child(1){top:1px;left:109px}.audit-banner-fx i:nth-child(2){right:1px;bottom:57px;animation-delay:.7s}.audit-banner-fx i:nth-child(3){left:17px;bottom:42px;animation-delay:1.4s}
.audit-page .audit-top-banner .infra-breadcrumb{position:relative;z-index:5}
@keyframes auditCircleSpin{to{transform:rotate(360deg)}}
@keyframes auditCircleSpinReverse{to{transform:rotate(-360deg)}}
@keyframes auditCirclePulse{0%,100%{transform:scale(.94);box-shadow:0 0 0 10px rgba(0,173,104,.07),0 18px 48px rgba(0,0,0,.3)}50%{transform:scale(1.05);box-shadow:0 0 0 19px rgba(8,116,207,.08),0 24px 58px rgba(0,0,0,.36)}}
@keyframes auditDotPulse{0%,100%{transform:scale(.82);opacity:.72}50%{transform:scale(1.2);opacity:1}}
@media(max-width:1050px){.audit-banner-fx{right:3%;transform:translateY(-58%) scale(.8)}}
@media(max-width:720px){.audit-banner-fx{right:-54px;transform:translateY(-46%) scale(.68)}.audit-banner-fx span{inset:68px}}
@media(prefers-reduced-motion:reduce){.audit-banner-fx:before,.audit-banner-fx:after,.audit-banner-fx span,.audit-banner-fx i{animation:none}}
/* Shared premium capability pages: Cloud, Managed Services, Networking, and NOC. */
.capability-page {
  overflow: hidden;
  background: #f5f9fc;
  color: #0b2442;
}

.capability-page .capability-banner {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 360px;
  overflow: hidden;
  background-image: var(--page-banner-image);
  background-position: center 42%;
  background-size: cover;
  animation: capability-banner-drift 16s ease-in-out infinite alternate;
}

.capability-page .capability-banner::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(92deg, rgba(3, 24, 51, .98) 0%, rgba(4, 43, 68, .94) 44%, rgba(4, 58, 65, .68) 72%, rgba(0, 126, 81, .35) 100%);
}

.capability-page .capability-banner::after {
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  content: "";
  background: linear-gradient(90deg, #0872ce 0 50%, #00aa67 50%);
}

.capability-page .capability-banner .infra-top-banner__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  min-height: 360px;
  padding-top: 58px;
  padding-bottom: 80px;
}

.capability-page .capability-banner .infra-top-banner__inner > div { max-width: 720px; }
.capability-page .capability-banner .eyebrow { color: #70efb6; }
.capability-page .capability-banner h1 {
  max-width: 690px;
  margin: 10px 0 16px;
  color: #fff;
  font-size: clamp(36px, 4.1vw, 58px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.04em;
  text-shadow: 0 8px 30px rgba(0, 0, 0, .24);
}

.capability-page .capability-banner p:not(.eyebrow) {
  max-width: 620px;
  margin: 0;
  color: #e3edf4;
  font-size: 15px;
  line-height: 1.7;
}

.capability-page .capability-banner .infra-breadcrumb {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(6, 35, 60, .54);
  backdrop-filter: blur(12px);
}

.cap-hero {
  position: relative;
  padding: 90px 0;
  background: radial-gradient(circle at 88% 12%, rgba(0, 171, 104, .14), transparent 30%), linear-gradient(135deg, #f9fcff, #edf8f4);
}

.cap-hero::after {
  position: absolute;
  right: -140px;
  bottom: -160px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(8, 113, 206, .1);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 48px rgba(8, 113, 206, .025), 0 0 0 96px rgba(0, 170, 103, .018);
}

.cap-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(350px, .88fr);
  gap: 68px;
  align-items: center;
}

.cap-hero__copy h1 {
  max-width: 790px;
  margin: 12px 0 24px;
  color: #0a2342;
  font-size: clamp(40px, 4.4vw, 68px);
  font-weight: 800;
  line-height: 1.055;
  letter-spacing: -.048em;
}

.cap-hero__copy > p:not(.eyebrow) {
  max-width: 730px;
  margin: 0;
  color: #5b708d;
  font-size: 16px;
  line-height: 1.82;
}

.cap-hero__copy .actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }

.cap-hero__panel {
  position: relative;
  overflow: hidden;
  padding: 38px;
  border: 1px solid rgba(15, 71, 105, .12);
  border-radius: 28px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 25px 65px rgba(16, 48, 77, .14);
}

.cap-hero__panel::after {
  position: absolute;
  right: -75px;
  bottom: -75px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  content: "";
  background: linear-gradient(135deg, rgba(0, 171, 104, .2), rgba(0, 102, 204, .08));
}

.cap-hero__pulse {
  position: relative;
  display: block;
  width: 48px;
  height: 48px;
  margin-bottom: 23px;
  border: 10px solid #e0f6eb;
  border-radius: 50%;
  background: #00aa67;
  box-shadow: 0 0 0 0 rgba(0, 170, 103, .34);
  animation: capability-pulse 2.4s ease-out infinite;
}

.cap-hero__panel h2 { margin: 8px 0 19px; font-size: 25px; line-height: 1.25; }
.cap-hero__panel ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 18px; margin: 0; padding: 0; list-style: none; }
.cap-hero__panel li { position: relative; padding-left: 20px; color: #526b87; font-size: 13px; font-weight: 600; line-height: 1.5; }
.cap-hero__panel li::before { position: absolute; top: 7px; left: 0; width: 8px; height: 8px; border-radius: 50%; content: ""; background: #0871ce; box-shadow: 0 0 0 4px rgba(8, 113, 206, .09); }

.cap-overview { padding: 82px 0; background: #fff; }
.cap-overview__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 78px; align-items: start; }
.cap-section-head { max-width: 850px; margin: 0 auto 48px; text-align: center; }
.cap-section-head--left { margin: 0; text-align: left; }
.cap-section-head h2 { margin: 10px 0 16px; color: #0b2442; font-size: clamp(31px, 3.3vw, 50px); font-weight: 800; line-height: 1.12; letter-spacing: -.038em; }
.cap-section-head > p:last-child:not(.eyebrow) { max-width: 760px; margin: 0 auto; color: #60738d; font-size: 15px; line-height: 1.76; }
.cap-section-head--left > p:last-child:not(.eyebrow) { margin-left: 0; }
.cap-overview__copy > p { margin: 0 0 17px; color: #5d718b; font-size: 15px; line-height: 1.82; }
.cap-overview__highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-top: 31px; }
.cap-overview__highlights strong { min-height: 104px; padding: 22px 18px; border: 1px solid #dce8f1; border-radius: 18px; background: linear-gradient(145deg, #f8fcff, #f1faf6); color: #0871ce; font-size: 23px; font-weight: 800; }
.cap-overview__highlights strong:nth-child(even) { color: #00a365; }
.cap-overview__highlights span { display: block; margin-top: 7px; color: #647991; font-size: 11px; font-weight: 700; line-height: 1.35; text-transform: uppercase; letter-spacing: .05em; }

.cap-offerings { padding: 94px 0; background: #f3f8fc; }
.cap-offerings__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cap-offering-card { position: relative; overflow: hidden; min-height: 295px; border: 1px solid #dbe7f0; border-radius: 25px; background: #fff; box-shadow: 0 16px 42px rgba(18, 54, 82, .08); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.cap-offering-card::before { position: absolute; inset: 0 0 auto; height: 4px; content: ""; background: linear-gradient(90deg, #0871ce, #00aa67); transform: scaleX(.28); transform-origin: left; transition: transform .3s ease; }
.cap-offering-card:hover { transform: translateY(-7px); border-color: rgba(0, 170, 103, .3); box-shadow: 0 25px 60px rgba(18, 54, 82, .14); }
.cap-offering-card:hover::before { transform: scaleX(1); }
.cap-offering-card__intro { padding: 32px; }
.cap-offering-card__intro > span { display: inline-flex; padding: 7px 13px; border-radius: 999px; background: #e8f3ff; color: #0871ce; font-size: 12px; font-weight: 800; }
.cap-offering-card:nth-child(even) .cap-offering-card__intro > span { background: #e6f8ef; color: #009b5c; }
.cap-offering-card h3 { margin: 17px 0 12px; color: #102c4c; font-size: 21px; font-weight: 800; line-height: 1.28; }
.cap-offering-card p { margin: 0; color: #60738d; font-size: 14px; line-height: 1.72; }
.cap-offering-card--detailed { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); min-height: 0; }
.cap-offering-card--detailed .cap-offering-card__intro { padding: 36px; background: linear-gradient(145deg, #fff, #f2f9fd); }
.cap-offering-card__lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cap-offering-card__lists > div { padding: 34px; border-left: 1px solid #e0eaf2; }
.cap-offering-card__lists > div:last-child { background: linear-gradient(145deg, #f1fbf6, #eef7ff); }
.cap-offering-card h4 { margin: 0 0 16px; color: #0871ce; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.cap-offering-card__lists > div:last-child h4 { color: #009b5c; }
.cap-offering-card ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 0; padding: 0; list-style: none; }
.cap-offering-card li { position: relative; padding: 7px 0 7px 22px; color: #566f88; font-size: 13px; line-height: 1.5; }
.cap-offering-card li::before { position: absolute; top: 13px; left: 0; width: 8px; height: 8px; border-radius: 50%; content: ""; background: #00a567; box-shadow: 0 0 0 4px rgba(0, 165, 103, .09); }

.cap-monitoring { position: relative; overflow: hidden; padding: 90px 0; background: linear-gradient(125deg, #071e3c, #074554 58%, #08785a); color: #fff; }
.cap-monitoring::before { position: absolute; top: -160px; right: -120px; width: 440px; height: 440px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 50%; content: ""; box-shadow: 0 0 0 55px rgba(255, 255, 255, .025), 0 0 0 110px rgba(255, 255, 255, .018); }
.cap-monitoring__grid { position: relative; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 75px; align-items: center; }
.cap-section-head--light h2 { color: #fff; }
.cap-section-head--light > p:last-child:not(.eyebrow) { color: #c4d6e1; }
.cap-monitoring__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.cap-monitoring__items article { display: flex; align-items: center; min-height: 67px; padding: 17px 19px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 16px; background: rgba(255, 255, 255, .075); color: #e9f4f7; font-size: 13px; font-weight: 700; backdrop-filter: blur(10px); transition: transform .25s ease, background .25s ease; }
.cap-monitoring__items article:hover { transform: translateX(5px); background: rgba(255, 255, 255, .12); }
.cap-monitoring__items span { flex: 0 0 14px; width: 14px; height: 14px; margin-right: 13px; border: 3px solid #6debb3; border-radius: 50%; box-shadow: 0 0 0 5px rgba(109, 235, 179, .1); }

.cap-why { padding: 94px 0; background: #fff; }
.cap-why__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cap-why article { min-height: 235px; padding: 29px 26px; border: 1px solid #dce8f1; border-radius: 22px; background: #fff; box-shadow: 0 14px 36px rgba(18, 54, 82, .075); transition: transform .26s ease, box-shadow .26s ease; }
.cap-why article:hover { transform: translateY(-6px); box-shadow: 0 22px 52px rgba(18, 54, 82, .13); }
.cap-why article > span { position: relative; display: block; width: 42px; height: 42px; border-radius: 14px; background: linear-gradient(135deg, #dff7eb, #dcecff); }
.cap-why article > span::after { position: absolute; inset: 0; width: 10px; height: 10px; margin: auto; border-radius: 50%; content: ""; background: #0871ce; }
.cap-why article:nth-child(even) > span::after { background: #00a567; }
.cap-why h3 { margin: 19px 0 10px; color: #102c4c; font-size: 18px; font-weight: 800; line-height: 1.3; }
.cap-why article p { margin: 0; color: #61758d; font-size: 13px; line-height: 1.68; }

.cap-benefits { padding: 80px 0; background: linear-gradient(145deg, #edf6fd, #effaf5); }
.cap-benefits__inner { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 68px; align-items: center; }
.cap-benefits__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.cap-benefits__list span { position: relative; padding: 18px 18px 18px 46px; border: 1px solid rgba(8, 113, 206, .12); border-radius: 15px; background: rgba(255, 255, 255, .78); color: #34516f; font-size: 13px; font-weight: 700; box-shadow: 0 10px 25px rgba(19, 56, 84, .05); }
.cap-benefits__list span::before { position: absolute; top: 50%; left: 18px; width: 15px; height: 8px; border-bottom: 2px solid #00a567; border-left: 2px solid #00a567; content: ""; transform: translateY(-65%) rotate(-45deg); }

.cap-approach { padding: 94px 0; background: #fff; }
.cap-approach__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cap-approach__steps article { position: relative; overflow: hidden; min-height: 240px; padding: 28px 24px; border: 1px solid #dce8f1; border-radius: 20px; background: linear-gradient(145deg, #fff, #f7fbfe); }
.cap-approach__steps article::after { position: absolute; right: -42px; bottom: -55px; width: 130px; height: 130px; border-radius: 50%; content: ""; background: rgba(8, 113, 206, .05); }
.cap-approach__steps article:nth-child(even)::after { background: rgba(0, 170, 103, .07); }
.cap-approach__steps article > span { display: inline-flex; padding: 7px 12px; border-radius: 999px; background: #e8f3ff; color: #0871ce; font-size: 11px; font-weight: 800; }
.cap-approach__steps article:nth-child(even) > span { background: #e6f8ef; color: #009b5c; }
.cap-approach__steps h3 { margin: 20px 0 11px; color: #102c4c; font-size: 18px; font-weight: 800; line-height: 1.3; }
.cap-approach__steps p { margin: 0; color: #60738d; font-size: 13px; line-height: 1.68; }

.cap-cta { margin-top: 0; margin-bottom: 90px; }

/* Premium interaction layer for the shared capability pages. */
.capability-page .eyebrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.capability-page .eyebrow::before {
  width: 20px;
  height: 2px;
  border-radius: 99px;
  content: "";
  background: linear-gradient(90deg, #0871ce, #00aa67);
  box-shadow: 0 0 12px rgba(0, 170, 103, .28);
}

.capability-page .capability-banner .eyebrow::before,
.cap-monitoring .eyebrow::before {
  background: linear-gradient(90deg, #69adff, #70efb6);
}

.cap-hero__panel {
  transition: transform .5s cubic-bezier(.16, 1, .3, 1), box-shadow .5s ease, border-color .4s ease;
}

.cap-hero__panel::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: -110%;
  width: 62%;
  height: 100%;
  content: "";
  pointer-events: none;
  background: linear-gradient(105deg, transparent 10%, rgba(255, 255, 255, .72) 48%, transparent 88%);
  transform: skewX(-18deg);
  transition: left .85s cubic-bezier(.16, 1, .3, 1);
}

.cap-overview__highlights strong,
.cap-benefits__list span,
.cap-approach__steps article {
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, border-color .35s ease, background .35s ease;
}

.cap-offering-card::after {
  position: absolute;
  right: -100px;
  bottom: -120px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, rgba(8, 113, 206, .11), transparent 68%);
  opacity: 0;
  transform: scale(.7);
  transition: opacity .4s ease, transform .55s cubic-bezier(.16, 1, .3, 1);
}

.cap-offering-card__intro > span,
.cap-why article > span,
.cap-approach__steps article > span,
.cap-monitoring__items span {
  transition: transform .38s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, background .35s ease;
}

.cap-offering-card h3,
.cap-why h3,
.cap-approach__steps h3 {
  transition: color .28s ease, transform .32s cubic-bezier(.16, 1, .3, 1);
}

.cap-why article {
  position: relative;
  overflow: hidden;
  border-top-color: rgba(8, 113, 206, .22);
}

.cap-why article::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, #0871ce, #00aa67);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s cubic-bezier(.16, 1, .3, 1);
}

.cap-monitoring__items article {
  position: relative;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), background .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.cap-monitoring__items article::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(110deg, transparent 22%, rgba(255, 255, 255, .12), transparent 78%);
  transform: translateX(-115%);
  transition: transform .65s ease;
}

.cap-benefits__list span::after {
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  border-radius: inherit;
  content: "";
  pointer-events: none;
  background: linear-gradient(120deg, rgba(8, 113, 206, .38), rgba(0, 170, 103, .38)) border-box;
  opacity: 0;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transition: opacity .3s ease;
}

.cap-approach__steps article::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  content: "";
  background: linear-gradient(#0871ce, #00aa67);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .42s cubic-bezier(.16, 1, .3, 1);
}

.cap-cta .btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.cap-cta .btn::before {
  position: absolute;
  z-index: -1;
  top: -30%;
  left: -55%;
  width: 34%;
  height: 170%;
  content: "";
  background: rgba(255, 255, 255, .32);
  transform: rotate(18deg);
  transition: left .65s cubic-bezier(.16, 1, .3, 1);
}

.capability-page a:focus-visible,
.capability-page button:focus-visible {
  outline: 3px solid rgba(8, 113, 206, .42);
  outline-offset: 4px;
}

.cap-hero__panel:hover {
    border-color: rgba(0, 170, 103, .32);
    box-shadow: 0 34px 82px rgba(16, 48, 77, .2), 0 0 0 1px rgba(255, 255, 255, .85) inset;
    transform: translateY(-10px) rotateX(1deg) rotateY(-1deg);
}

.cap-hero__panel:hover::before { left: 145%; }
.cap-overview__highlights strong:hover { border-color: rgba(0, 170, 103, .3); background: #fff; box-shadow: 0 20px 42px rgba(18, 54, 82, .12); transform: translateY(-7px); }
.cap-offering-card:hover::after { opacity: 1; transform: scale(1); }
.cap-offering-card:hover .cap-offering-card__intro > span { box-shadow: 0 10px 24px rgba(8, 113, 206, .18); transform: translateY(-3px) scale(1.06); }
.cap-offering-card:hover h3 { color: #0871ce; transform: translateX(3px); }
.cap-offering-card:hover li::before { animation: capability-bullet-pulse 1.25s ease-in-out infinite alternate; }
.cap-monitoring__items article:hover { border-color: rgba(112, 239, 182, .38); box-shadow: 0 17px 38px rgba(0, 0, 0, .18); transform: translateX(7px) translateY(-2px); }
.cap-monitoring__items article:hover::after { transform: translateX(115%); }
.cap-monitoring__items article:hover span { border-color: #fff; box-shadow: 0 0 0 7px rgba(109, 235, 179, .15); transform: scale(1.12); }
.cap-why article:hover { border-color: rgba(8, 113, 206, .25); transform: translateY(-9px); }
.cap-why article:hover::before { transform: scaleX(1); }
.cap-why article:hover > span { box-shadow: 0 12px 27px rgba(8, 113, 206, .16); transform: translateY(-4px) rotate(-4deg) scale(1.08); }
.cap-why article:hover h3 { color: #0871ce; transform: translateX(3px); }
.cap-benefits__list span:hover { background: #fff; box-shadow: 0 17px 35px rgba(18, 54, 82, .11); transform: translateY(-5px) translateX(3px); }
.cap-benefits__list span:hover::after { opacity: 1; }
.cap-approach__steps article:hover { border-color: rgba(0, 170, 103, .25); box-shadow: 0 22px 48px rgba(18, 54, 82, .12); transform: translateY(-8px); }
.cap-approach__steps article:hover::before { transform: scaleY(1); }
.cap-approach__steps article:hover > span { box-shadow: 0 10px 24px rgba(8, 113, 206, .16); transform: translateX(4px) scale(1.06); }
.cap-approach__steps article:hover h3 { color: #00a365; }
.cap-cta .btn:hover::before { left: 135%; }

@keyframes capability-banner-drift {
  from { background-position: center 42%; }
  to { background-position: center 48%; }
}

@keyframes capability-pulse {
  0% { box-shadow: 0 0 0 0 rgba(0, 170, 103, .36); }
  70% { box-shadow: 0 0 0 18px rgba(0, 170, 103, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 170, 103, 0); }
}

@keyframes capability-bullet-pulse {
  from { box-shadow: 0 0 0 4px rgba(0, 165, 103, .09); transform: scale(1); }
  to { box-shadow: 0 0 0 7px rgba(0, 165, 103, .04); transform: scale(1.15); }
}

@media (max-width: 1100px) {
  .cap-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); gap: 42px; }
  .cap-offerings__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cap-offering-card--detailed { grid-column: 1 / -1; }
  .cap-offering-card__lists { grid-template-columns: 1fr; }
  .cap-offering-card__lists > div + div { border-top: 1px solid #e0eaf2; }
  .cap-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cap-approach__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .capability-page .capability-banner .infra-top-banner__inner { align-items: flex-end; min-height: 350px; }
  .capability-page .capability-banner .infra-breadcrumb { display: none; }
  .cap-hero, .cap-offerings, .cap-why, .cap-approach { padding: 72px 0; }
  .cap-hero__grid, .cap-overview__grid, .cap-monitoring__grid, .cap-benefits__inner { grid-template-columns: 1fr; gap: 40px; }
  .cap-hero__copy h1 { font-size: clamp(38px, 8vw, 58px); }
  .cap-hero__panel { max-width: 650px; }
  .cap-overview__highlights { max-width: 650px; }
  .cap-offering-card--detailed { grid-template-columns: 1fr; }
  .cap-offering-card__lists > div { border-top: 1px solid #e0eaf2; border-left: 0; }
  .cap-monitoring__grid { align-items: start; }
}

@media (max-width: 620px) {
  .capability-page .capability-banner, .capability-page .capability-banner .infra-top-banner__inner { min-height: 340px; }
  .capability-page .capability-banner .infra-top-banner__inner { padding-top: 48px; padding-bottom: 76px; }
  .capability-page .capability-banner h1 { font-size: clamp(34px, 11vw, 48px); }
  .capability-page .capability-banner p:not(.eyebrow) { font-size: 14px; line-height: 1.62; }
  .cap-hero { padding: 60px 0; }
  .cap-hero__copy h1 { font-size: clamp(34px, 10.5vw, 48px); }
  .cap-hero__copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.72; }
  .cap-hero__copy .actions { align-items: stretch; flex-direction: column; }
  .cap-hero__copy .btn { justify-content: center; width: 100%; }
  .cap-hero__panel { padding: 28px 23px; border-radius: 22px; }
  .cap-hero__panel ul { grid-template-columns: 1fr; }
  .cap-overview { padding: 64px 0; }
  .cap-section-head { margin-bottom: 36px; }
  .cap-section-head h2 { font-size: clamp(29px, 9vw, 40px); }
  .cap-overview__highlights { grid-template-columns: 1fr; }
  .cap-overview__highlights strong { min-height: 0; }
  .cap-offerings__grid, .cap-why__grid, .cap-monitoring__items, .cap-benefits__list { grid-template-columns: 1fr; }
  .cap-offering-card { min-height: 0; }
  .cap-offering-card__intro, .cap-offering-card--detailed .cap-offering-card__intro, .cap-offering-card__lists > div { padding: 27px 23px; }
  .cap-offering-card ul { grid-template-columns: 1fr; }
  .cap-monitoring { padding: 68px 0; }
  .cap-why article { min-height: 0; }
  .cap-benefits { padding: 64px 0; }
  .cap-approach__steps { grid-template-columns: 1fr; }
  .cap-approach__steps article { min-height: 0; }
  .cap-cta { margin-inline: 14px; margin-bottom: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  .capability-page .capability-banner, .cap-hero__pulse { animation: none; }
  .cap-offering-card, .cap-why article, .cap-monitoring__items article, .cap-hero__panel, .cap-overview__highlights strong, .cap-benefits__list span, .cap-approach__steps article { transition: none; }
  .cap-offering-card li::before { animation: none !important; }
}

/* Homepage quote carousel keeps the existing card layout and reserves quote height. */
.home-page .success-quotes { overflow: hidden; }
.home-page .success-quote { padding-bottom: 8px; }
.home-page .success-quote[hidden], .home-page .success-controls[hidden], .home-page .news-arrow[hidden] { display: none; }
.home-page .success-quote p { color: #5f728c; font-size: 14px; line-height: 1.75; margin: 0 0 18px; }
.home-page .success-quote b { display: block; }
.home-page .success-quote.is-active { animation: success-slide-down .55s ease both; }
.home-page .success-controls { display: flex; align-items: center; gap: 10px; margin-top: 18px; }
.home-page .success-controls button { min-width: 44px; min-height: 44px; border: 1px solid #9db5ce; border-radius: 10px; color: #112c50; background: #fff; cursor: pointer; font: inherit; padding: 8px 12px; }
.home-page .success-controls button:hover { background: #e5f4ef; }
.home-page .success-controls button:focus-visible { outline: 3px solid #0075bb; outline-offset: 3px; }
.home-page .success-controls [data-success-pause] { margin-left: auto; }
.home-page .news--expanded .news-grid[data-news-slider] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
.home-page .news--expanded .news-grid[data-news-slider] > * { width: auto; min-width: 0; max-width: none; }
[id].infra-service-card, [id].elv-service-card, [id].cap-offering-card { scroll-margin-top: 150px; }
@keyframes success-slide-down { from { transform: translateY(-30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (max-width: 900px) { .home-page .news--expanded .news-grid[data-news-slider] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .home-page .news--expanded .news-grid[data-news-slider] { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .home-page .success-quote.is-active { animation: none; } }
.home-page .nav-submenu-toggle { display: none; }
@media (max-width: 1080px) {
  .home-page .navlinks .has-submenu { position: relative; }
  .home-page .navlinks .has-submenu > a { padding-right: 58px; }
  .home-page .navlinks .has-submenu > a::after { display: none; }
  .home-page .nav-submenu-toggle { display: grid; place-items: center; position: absolute; top: 3px; right: 6px; width: 44px; height: 44px; border: 1px solid #d0dfeb; border-radius: 8px; background: #f3f8fc; color: #112c50; cursor: pointer; font-size: 22px; }
  .home-page .nav-submenu-toggle:focus-visible { outline: 3px solid #0075bb; outline-offset: 2px; }
  .home-page .nav-submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
}
/* Document revisions: keep Careers copy readable over its dark banner. */
.page--careers .inner-hero h1 { color: #fff !important; -webkit-text-fill-color: #fff; background: none; text-shadow: 0 2px 14px rgba(0, 0, 0, .45); }
.page--careers .inner-hero .eyebrow { color: #58edb0; }
.page--careers .inner-hero p:not(.eyebrow) { color: #fff; }

.capability-page--managed .cap-hero__panel a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.capability-page--managed .cap-hero__panel a:focus-visible { outline: 3px solid #0075bb; outline-offset: 4px; }
.capability-page--managed .cap-offerings__grid { display: block; }
.capability-page--managed .cap-service-detail { display: block; min-height: 0; margin-bottom: 20px; padding: 0; scroll-margin-top: 150px; }
.cap-service-detail > summary { display: flex; align-items: center; gap: 18px; padding: 26px 30px; cursor: pointer; list-style: none; }
.cap-service-detail > summary::-webkit-details-marker { display: none; }
.cap-service-detail > summary h3 { flex: 1; margin: 0; font-size: clamp(19px, 2.4vw, 25px); }
.cap-service-detail > summary > span:first-child { color: #008e61; font-weight: 700; }
.cap-service-detail > summary:focus-visible { outline: 3px solid #0075bb; outline-offset: -4px; border-radius: 18px; }
.cap-service-detail__toggle { font-size: 28px; color: #008e61; }
.cap-service-detail[open] .cap-service-detail__toggle { transform: rotate(45deg); }
.cap-service-detail:not([open]) > :not(summary) { display: none; }
.cap-service-detail .cap-offering-card__intro { border-top: 1px solid #dce8ed; }
.contact-page .contact-action-grid > article { grid-template-columns: auto minmax(0, 1fr); }
.contact-office-directory { padding-block: 60px; }
.contact-office-directory__group + .contact-office-directory__group { margin-top: 42px; }
.contact-office-directory__group > h2 { margin-bottom: 24px; }
.contact-office-directory__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.contact-office-directory__card { min-width: 0; padding: 28px; border: 1px solid #d0e2ed; border-radius: 18px; background: #fff; }
.contact-office-directory__card h3 { margin: 0 0 12px; }
.contact-office-directory__card strong { display: block; color: #163352; }
.contact-office-directory__card address { margin: 16px 0; color: #506580; font-style: normal; line-height: 1.7; }
.contact-office-directory__card a { color: #006eaa; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1000px) { .contact-office-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .contact-office-directory__grid { grid-template-columns: 1fr; } .cap-service-detail > summary { padding: 22px 18px; gap: 12px; } }
/* New service pages extend the site's capability components and motion system. */
.service-architecture, .service-industries, .service-faq, .service-related { padding-block: 60px; }
.service-architecture__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.service-architecture__card { padding: 32px; border: 1px solid #d2e1ed; border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(15, 45, 78, .06); transition: border-color .25s ease, box-shadow .25s ease; }
.service-architecture__card:hover { border-color: #009b69; box-shadow: 0 22px 54px rgba(15, 45, 78, .12); }
.service-architecture__card--target { background: linear-gradient(145deg, #effaf5, #f0f7ff); border-color: #9bdbc4; }
.service-architecture__card h3 { margin: 0 0 24px; }
.service-architecture__card ol { padding: 0; margin: 0 0 24px; list-style: none; display: grid; gap: 14px; }
.service-architecture__card li { padding: 16px; border: 1px solid #ccdeea; border-left: 4px solid #009b69; border-radius: 10px; color: #123457; background: #fff; font-weight: 600; }
.service-architecture__card p, .service-section-note { color: #536d89; line-height: 1.8; }
.service-section-note { margin: 28px 0 0; padding: 22px 26px; border-left: 4px solid #009b69; border-radius: 0 14px 14px 0; background: #eff7fa; }
.service-faq .contact-faq { max-width: 1000px; margin-inline: auto; }
.service-related__links { display: flex; flex-wrap: wrap; gap: 16px; }
.service-related__links .btn { color: #123457; border-color: #b8d0e3; }
.capability-page--ot-security .cap-approach__steps, .capability-page--it-infrastructure .cap-approach__steps { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
@media (max-width: 767px) {
 .service-architecture__grid { grid-template-columns: 1fr; }
 .service-architecture, .service-industries, .service-faq, .service-related { padding-block: 38px; }
 .service-architecture__card { padding: 24px; }
 .service-related__links { flex-direction: column; }
 .capability-page--ot-security .cap-approach__steps, .capability-page--it-infrastructure .cap-approach__steps { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .service-architecture__card { transition: none; } }
/* Dedicated service photography: keep imagery visible beside the title. */
.capability-page--ot-security .capability-banner,
.capability-page--it-infrastructure .capability-banner { background-position: center; }
.capability-page--ot-security .capability-banner::before,
.capability-page--it-infrastructure .capability-banner::before {
 background: linear-gradient(90deg, rgba(3, 24, 51, .42) 0%, rgba(3, 24, 51, .32) 42%, rgba(3, 24, 51, .12) 72%, rgba(0, 74, 58, .08) 100%);
}
@media (max-width: 767px) {
 .capability-page--ot-security .capability-banner,
 .capability-page--it-infrastructure .capability-banner { background-position: 65% center; }
 .capability-page--ot-security .capability-banner::before,
 .capability-page--it-infrastructure .capability-banner::before { background: linear-gradient(90deg, rgba(3, 24, 51, .88), rgba(3, 24, 51, .46)); }
}