.ngc-framework-hero{
  padding:6.5rem 0 5.5rem;
}

.ngc-framework-hero-title,
.ngc-framework-title,
.ngc-framework-cta-title{
  font-size:3.4rem;
  line-height:1.02;
  color:#1d1d1d;
}

.ngc-framework-hero-subtitle{
  font-size:1.25rem;
  color:var(--ngc-red);
  margin-bottom:1.2rem;
}

.ngc-framework-hero-text,
.ngc-framework-text,
.ngc-framework-cta-text{
  font-size:1.05rem;
  line-height:1.95;
  color:var(--ngc-muted);
  max-width:780px;
}

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

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

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

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

.ngc-framework-label{
  display:inline-block;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--ngc-red);
  font-weight:600;
  padding-top:.4rem;
}

.ngc-framework-list{
  display:grid;
  gap:1rem;
  margin-top:2rem;
}

.ngc-framework-list div{
  padding:1rem 1.25rem;
  border-left:2px solid var(--ngc-red);
  background:#fff;
  color:#333;
  line-height:1.75;
}

.ngc-framework-card{
  height:100%;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  padding:2.5rem;
}

.ngc-framework-card span{
  display:inline-block;
  margin-bottom:1rem;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ngc-red);
  font-weight:600;
}

.ngc-framework-card h3{
  font-size:1.7rem;
  line-height:1.08;
  margin-bottom:1rem;
}

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

.ngc-framework-author{
  padding:4rem;
  background:transparent;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}

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

@media(max-width:991.98px){
  .ngc-framework-hero{
    padding:5rem 0 4rem;
  }

  .ngc-framework-hero-title,
  .ngc-framework-title,
  .ngc-framework-cta-title{
    font-size:2.5rem;
  }

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

  .ngc-framework-card,
  .ngc-framework-author{
    padding:2rem;
  }
}

@media(max-width:575.98px){
  .ngc-framework-hero-title,
  .ngc-framework-title,
  .ngc-framework-cta-title{
    font-size:2.1rem;
  }
}