/* Outsourcea Hero Banner */
.os-hero-banner{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:var(--os-hero-height,720px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background-color:#06110f;
  background-image:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.07), transparent 28%),
    linear-gradient(135deg, #101716 0%, #040908 100%);
  background-size:cover;
  background-position:center center;
  isolation:isolate;
  box-sizing:border-box;
}

.os-hero-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,.05), rgba(0,0,0,.35)),
    radial-gradient(circle at center, rgba(255,255,255,.08), transparent 44%);
  z-index:0;
}

.os-hero-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    repeating-radial-gradient(circle at center, rgba(255,255,255,.025) 0 1px, transparent 1px 3px);
  opacity:.45;
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:1;
}

.os-hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,var(--os-hero-overlay,.68));
  z-index:0;
}

.os-hero-inner{
  position:relative;
  z-index:2;
  width:min(var(--os-hero-content-width,620px), calc(100% - 40px));
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:80px 0;
}

.os-hero-align-left{
  justify-content:flex-start;
}

.os-hero-align-left .os-hero-inner{
  margin-left:8%;
  align-items:flex-start;
  text-align:left;
}

.os-hero-align-right{
  justify-content:flex-end;
}

.os-hero-align-right .os-hero-inner{
  margin-right:8%;
  align-items:flex-end;
  text-align:right;
}

.os-hero-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:14px;
  line-height:1;
  font-weight:700;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  margin-bottom:28px;
}

.os-hero-inner h1{
  margin:0;
  color:#fff;
  font-size:clamp(42px,4.8vw,78px);
  line-height:1.12;
  font-weight:400;
  letter-spacing:-2.8px;
  text-wrap:balance;
  text-shadow:0 6px 28px rgba(0,0,0,.35);
}

.os-hero-buttons{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:38px;
  flex-wrap:wrap;
}

.os-hero-align-left .os-hero-buttons{
  justify-content:flex-start;
}

.os-hero-align-right .os-hero-buttons{
  justify-content:flex-end;
}

.os-hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  height:56px;
  padding:0 28px;
  border-radius:999px;
  text-decoration:none!important;
  color:#fff!important;
  font-size:16px;
  font-weight:800;
  line-height:1;
  transition:transform .2s ease, background .2s ease, opacity .2s ease;
}

.os-hero-btn:hover{
  transform:translateY(-2px);
  color:#fff!important;
}

.os-hero-btn-primary{
  background:#00a651;
}

.os-hero-btn-primary:hover{
  background:#009647;
}

.os-hero-btn-secondary{
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.os-hero-btn-secondary:hover{
  background:rgba(255,255,255,.22);
}

@media (max-width: 900px){
  .os-hero-banner{
    min-height:560px;
  }

  .os-hero-inner{
    padding:64px 0;
  }

  .os-hero-inner h1{
    font-size:clamp(36px,8vw,54px);
    letter-spacing:-1.7px;
  }

  .os-hero-align-left .os-hero-inner,
  .os-hero-align-right .os-hero-inner{
    margin-left:auto;
    margin-right:auto;
    align-items:center;
    text-align:center;
  }

  .os-hero-align-left .os-hero-buttons,
  .os-hero-align-right .os-hero-buttons{
    justify-content:center;
  }
}

@media (max-width: 520px){
  .os-hero-banner{
    min-height:520px;
  }

  .os-hero-inner{
    width:calc(100% - 36px);
  }

  .os-hero-badge{
    font-size:13px;
    margin-bottom:22px;
  }

  .os-hero-buttons{
    width:100%;
    flex-direction:column;
    gap:12px;
    margin-top:30px;
  }

  .os-hero-btn{
    width:100%;
    min-width:0;
    height:54px;
  }
}
