.ngc-sphere-hero{
  padding:8rem 0 6rem;
}

.ngc-sphere-title{
  font-size:4.4rem;
  line-height:.95;
  margin:1rem auto;
  max-width:900px;
}

.ngc-sphere-subtitle{
  font-size:1.25rem;
  color:var(--ngc-red);
  max-width:780px;
  margin:0 auto 1.25rem;
}

.ngc-sphere-text{
  font-size:1.05rem;
  line-height:1.9;
  color:var(--ngc-muted);
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}

.ngc-sphere-meta{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  margin:1.5rem 0 0;
}

.ngc-sphere-meta span{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--ngc-red);
}

.ngc-sphere-section{
  padding:6rem 0;
  border-top:1px solid rgba(0,0,0,.06);
}

.ngc-sphere-section-soft{
  background:#f7f4ee;
}

.ngc-sphere-label{
  font-size:.75rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ngc-red);
  font-weight:600;
}

.ngc-sphere-heading{
  font-size:3rem;
  line-height:1.03;
  margin-bottom:1.25rem;
}

.ngc-sphere-card{
  height:100%;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  padding:2.75rem;
  transition:.3s ease;
}

.ngc-sphere-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.ngc-sphere-card h3{
  font-size:1.55rem;
  margin-bottom:1rem;
}

.ngc-sphere-card p{
  color:var(--ngc-muted);
  line-height:1.85;
  margin:0;
}

.ngc-sphere-list{
  display:grid;
  gap:.9rem;
  margin-top:2rem;
}

.ngc-sphere-list div{
  background:#fff;
  border-left:2px solid var(--ngc-red);
  padding:1rem 1.2rem;
  line-height:1.7;
}

.ngc-sphere-form input,
.ngc-sphere-form textarea,
.ngc-sphere-form select{
  border-radius:0;
  border:1px solid rgba(0,0,0,.12);
  padding:13px;
  background:#fff;
}

.ngc-sphere-form input:focus,
.ngc-sphere-form textarea:focus,
.ngc-sphere-form select:focus{
  border-color:var(--ngc-red);
  box-shadow:none;
}

.ngc-sphere-form .form-label{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#333;
  margin-bottom:.45rem;
}

.ngc-sphere-cta{
  padding:7rem 0;
  border-top:1px solid rgba(0,0,0,.06);
  background:#fff;
}

.ngc-sphere-cta-title{
  font-size:3rem;
  line-height:1.04;
  max-width:880px;
  margin:.8rem auto 1.25rem;
}

@media(max-width:991.98px){
  .ngc-sphere-title{
    font-size:3rem;
  }

  .ngc-sphere-heading,
  .ngc-sphere-cta-title{
    font-size:2.35rem;
  }

  .ngc-sphere-section,
  .ngc-sphere-cta{
    padding:4rem 0;
  }

  .ngc-sphere-card{
    padding:2rem;
  }
}

@media(max-width:575.98px){
  .ngc-sphere-title{
    font-size:2.25rem;
  }

  .ngc-sphere-heading,
  .ngc-sphere-cta-title{
    font-size:2rem;
  }

  .ngc-sphere-text{
    font-size:1rem;
    line-height:1.85;
  }
}