.co-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--dl-layout-space-twounits, 32px);
}

.co-hero {
  text-align: center;
  padding: var(--dl-layout-space-threeunits, 48px)
    var(--dl-layout-space-twounits, 32px)
    var(--dl-layout-space-twounits, 32px);
}

.co-hero-title {
  font-size: 56px;
  font-weight: 700;
  line-height: 1.1;
}

.co-hero-sub {
  font-size: 20px;
  line-height: 1.5;
  color: var(--dl-color-gray-700, #999999);
  max-width: 640px;
  margin: var(--dl-layout-space-unit, 16px) auto 0;
}

/* Full-bleed section bands, alternating background to separate sections */
.co-section {
  padding: var(--dl-layout-space-fiveunits, 80px)
    var(--dl-layout-space-twounits, 32px);
}

.co-section--alt {
  background-color: #f5f6f8;
}

.co-inner {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}

.co-eyebrow {
  display: block;
  color: #5228f5;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  margin-bottom: var(--dl-layout-space-halfunit, 8px);
}

.co-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: var(--dl-layout-space-oneandhalfunits, 24px);
}

.co-text {
  font-size: 18px;
  line-height: 1.7;
  color: var(--dl-color-gray-800, #474a57);
}

.co-text p {
  margin-bottom: var(--dl-layout-space-unit, 16px);
}

.co-text p:last-child {
  margin-bottom: 0;
}

/* News entries */
.co-news-item {
  padding-bottom: var(--dl-layout-space-twounits, 32px);
  margin-bottom: var(--dl-layout-space-twounits, 32px);
  border-bottom: 1px solid #e3e5ea;
}

.co-news-item:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.co-news-date {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--dl-color-gray-700, #999999);
  margin-bottom: var(--dl-layout-space-halfunit, 8px);
}

.co-news-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: var(--dl-layout-space-halfunit, 8px);
}

/* Press contact callout */
.co-contact {
  margin-top: var(--dl-layout-space-twounits, 32px);
  padding: var(--dl-layout-space-twounits, 32px);
  border-radius: 20px;
  border: 1px solid #e3e5ea;
  background-color: #ffffff;
}

.co-contact-label {
  display: block;
  font-weight: 700;
  margin-bottom: var(--dl-layout-space-halfunit, 8px);
}

@media (max-width: 767px) {
  .co-hero-title { font-size: 40px; }
  .co-title { font-size: 28px; }
  .co-section { padding: var(--dl-layout-space-fourunits, 64px) var(--dl-layout-space-oneandhalfunits, 24px); }
}
