.ngc-home-hero{
  padding-top:8rem;
}

.ngc-books-preview{
  padding:6rem 0;
  background:#f7f4ee;
}

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

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

.ngc-book-label{
  display:inline-block;
  margin-bottom:1rem;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#c21d1d;
}

.ngc-book-title{
  font-size:2rem;
  margin-bottom:1rem;
}

.ngc-book-text{
  color:#666;
  line-height:1.9;
  margin-bottom:2rem;
}

.ngc-books-preview{
  padding:6rem 0;
  background:#f7f4ee;
}

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

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

.ngc-book-label{
  display:inline-block;
  margin-bottom:1rem;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#c21d1d;
}

.ngc-book-title{
  font-size:2rem;
  margin-bottom:1rem;
}

.ngc-book-text{
  color:#666;
  line-height:1.9;
  margin-bottom:2rem;
}

.ngc-home-portrait-wrap{
  background:#ebe5da;
  padding:1rem;
  position:relative;
}

.ngc-home-portrait-wrap:before{
  content:"";
  position:absolute;
  inset:18px -18px -18px 18px;
  border:1px solid var(--ngc-red);
  z-index:0;
}

.ngc-home-portrait{
  position:relative;
  z-index:1;
  width:100%;
  display:block;
  object-fit:cover;
}

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

.ngc-home-section-soft{
  background:rgba(255,255,255,.58);
}

.ngc-home-heading{
  font-size:3.15rem;
  line-height:1.02;
  max-width:900px;
  margin-bottom:1rem;
  color:#1d1d1d;
}

.ngc-home-text{
  font-size:1.05rem;
  line-height:1.9;
  max-width:760px;
  color:var(--ngc-muted);
}

.ngc-link{
  display:inline-block;
  margin-top:1rem;
  color:var(--ngc-red);
  text-transform:uppercase;
  font-size:.8rem;
  letter-spacing:.12em;
}

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

.ngc-home-cta-title{
  font-size:3.2rem;
  line-height:1.04;
  max-width:900px;
  margin:0 auto 2rem;
}

.ngc-btn-secondary{
  border:1px solid rgba(0,0,0,.18);
  color:#1d1d1d;
  background:transparent;
  border-radius:0;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  padding:.75rem 1.15rem;
}

.ngc-btn-secondary:hover{
  border-color:var(--ngc-red);
  color:var(--ngc-red);
}

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

  .ngc-home-title{
    font-size:3.1rem;
  }

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

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

  .ngc-home-portrait-wrap:before{
    display:none;
  }
}

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

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

.ngc-hero{
  padding:0;
}

.ngc-hero-content{
  padding:7rem 8vw 7rem 8vw;
  max-width:640px;
}

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

.ngc-hero-title{
  font-size:4.2rem;
  line-height:.95;
  margin-bottom:1.4rem;
  color:#181818;
}

.ngc-hero-text{
  font-size:1.08rem;
  line-height:1.85;
  color:var(--ngc-muted);
  max-width:560px;
  margin-bottom:2rem;
}

.ngc-hero-image-wrap{
  min-height:720px;
  height:100%;
}

.ngc-hero-image{
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:720px;
}

.ngc-btn-primary{
  background:var(--ngc-red);
  color:#fff;
  border-radius:0;
  padding:.95rem 1.45rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.82rem;
}

.ngc-btn-primary:hover{
  background:#981818;
  color:#fff;
}

.ngc-statement{
  padding:6rem 0;
}

.ngc-statement-box{
  padding:4rem 2rem;
}

.ngc-section-kicker{
  display:inline-block;
  color:var(--ngc-gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.75rem;
  margin-bottom:1rem;
}

.ngc-statement-title{
  font-size:3.4rem;
  line-height:1;
  margin-bottom:1.25rem;
  color:#1d1d1d;
}

.ngc-statement-text{
  font-size:1.08rem;
  line-height:1.9;
  color:var(--ngc-muted);
  max-width:760px;
  margin:0 auto;
}