:root{
  --otc-site-max:1180px;
  --otc-gutter:clamp(16px,2.2vw,32px);
}

.container,
.otc-site-width,
.hero-grid,
.quick-grid,
.section-head,
.cards,
.impact-inner,
.splash-inner,
.topics-grid,
.newsletter-row,
.footer-top,
.footer-bottom{
  width:min(var(--otc-site-max),calc(100% - (var(--otc-gutter) * 2)));
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

.hero,
.quick,
.section,
.impact,
.editorial-splash,
.topics,
.newsletter,
.footer{
  width:100%;
}

/* Hero */
.hero{min-height:560px}
.hero-grid{
  display:grid;
  grid-template-columns:43% 57%;
  min-height:560px;
}
.hero-copy{padding:46px 42px 38px 0}
.hero h1{
  font-size:clamp(44px,4vw,62px);
  line-height:.95;
  max-width:560px;
  margin:0 0 18px;
}
.hero .lead{
  font-size:17px;
  line-height:1.5;
  max-width:520px;
  margin:0 0 24px;
}
.hero-buttons{gap:14px}
.hero-stats{max-width:540px;margin-top:34px}
.hero-quote-wrap{position:relative;min-height:560px}
.hero-quote-wrap .quote-card{
  right:0;
  bottom:10%;
  width:270px;
}

/* Quick links */
.quick{
  border-top:1px solid #eadfd8;
  border-bottom:1px solid #eadfd8;
}
.quick-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
}

/* Featured */
.section{padding:50px 0}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.section-head h2{
  font-size:36px;
  line-height:1.02;
  margin:0;
}
.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

/* Impact */
.impact{background:#ecd6dc}
.impact-inner{
  display:grid;
  grid-template-columns:28% 72%;
}
.impact-intro{
  background:#57153f;
  color:#fff;
  padding:34px 38px;
}
.impact-intro h2{
  margin:0;
  max-width:240px;
  font-size:30px;
  line-height:1.08;
}
.impact-body{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  align-items:center;
  padding:14px 0;
}
.impact-item,
.impact-script{
  padding:14px 12px;
  text-align:center;
}
.impact-script{
  font-size:24px;
  line-height:1.15;
}

/* Editorial splash */
.editorial-splash{min-height:520px}
.splash-inner{
  min-height:520px;
  padding-top:34px;
  padding-bottom:30px;
}
.splash-main{
  width:48%;
  padding-top:56px;
}
.splash-title{
  font-size:clamp(68px,7vw,110px);
}
.splash-copy{
  max-width:430px;
}

/* Topics */
.topics{padding:44px 0 30px}
.topics-grid{
  display:grid;
  grid-template-columns:28% 50% 22%;
  gap:22px;
}

/* Newsletter */
.newsletter{width:100%}
.newsletter-row{
  min-height:104px;
  display:grid;
  grid-template-columns:45% 55%;
  align-items:center;
  gap:20px;
}

/* Footer */
.footer{padding-top:24px}
.footer-top,
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

/* Responsive */
@media(max-width:1100px){
  .quick-grid,
  .cards{
    grid-template-columns:repeat(2,1fr);
  }
  .topics-grid{grid-template-columns:1fr}
  .newsletter-row,
  .impact-inner{grid-template-columns:1fr}
  .impact-body{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:800px){
  .hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-copy{padding:34px 0 24px}
  .hero h1{
    font-size:46px;
    max-width:10ch;
  }
  .hero-quote-wrap{min-height:220px}
  .quick-grid,
  .cards,
  .impact-body{
    grid-template-columns:1fr;
  }
  .section-head,
  .footer-top,
  .footer-bottom{
    display:block;
  }
}
