.opportunities-page {
  padding-top: 45px;
  padding-bottom: 125px;
}

.opportunities-breadcrumb {
  margin: 0 0 42px;
  color: var(--muted);
  font-size: 14px;
}

.opportunities-breadcrumb span {
  margin: 0 7px;
}

.opportunities-header {
  max-width: 950px;
  margin-bottom: 75px;
}

.opportunities-header-wide {
  max-width: 1050px;
}

.opportunities-label {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.opportunities-header h1 {
  margin: 0 0 28px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 4.4vw, 4.8rem);
  font-weight: 400;
  line-height: 1.05;
}

.opportunities-header > p:not(.opportunities-label) {
  max-width: 900px;
  margin: 0 0 18px;
  font-size: 17px;
  line-height: 1.7;
}

.opportunities-lead {
  font-size: 20px !important;
}

.opportunities-page a {
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* OPEN POSITIONS */

.opportunities-panel {
  max-width: 900px;
  padding: 45px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.opportunities-panel h2 {
  margin: 0 0 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  font-weight: 400;
}

.opportunities-panel p {
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
}


/* APPLICATION */

.application-block {
  display: grid;
  grid-template-columns: minmax(240px, .6fr) minmax(0, 1fr);
  gap: 70px;
  max-width: 1100px;
  padding: 55px 0;
  border-top: 1px solid #ddd;
}

.application-block h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  font-weight: 400;
}

.application-block p,
.application-block li {
  font-size: 16px;
  line-height: 1.7;
}

.application-block ul {
  margin: 20px 0 25px;
  padding-left: 1.3em;
}

.opportunities-action {
  display: inline-block;
  margin-top: 10px;
}


/* PROJECTS */

.projects-section {
  margin-top: 70px;
}

.projects-heading {
  margin-bottom: 35px;
}

.projects-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.7vw, 2.8rem);
  font-weight: 400;
}

.project-list {
  border-top: 1px solid #222;
}

.project-item {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 30px;
  padding: 25px 0;
  border-bottom: 1px solid #ddd;
}

.project-item > span {
  color: var(--muted);
  font-size: 13px;
}

.project-item h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}

.project-item p {
  margin: 7px 0 10px;
  font-size: 15px;
  line-height: 1.6;
}

.project-item a {
  font-size: 14px;
}


/* FUNDING */

.funding-resources {
  max-width: 1100px;
  margin-bottom: 80px;
}

.funding-resources h2 {
  margin: 0 0 20px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  font-weight: 400;
}

.funding-resources > p {
  font-size: 16px;
  line-height: 1.7;
}

.funding-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 35px 0 25px;
  border-top: 1px solid #222;
}

.funding-resource-grid a {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 18px 22px 0;
  border-bottom: 1px solid #ddd;
  text-decoration: none;
  font-size: 16px;
}

.funding-resource-grid a:hover {
  opacity: .55;
}

.funding-note {
  color: var(--muted);
  font-size: 14px !important;
}


@media (max-width: 800px) {
  .application-block {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .funding-resource-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .opportunities-page {
    padding-top: 30px;
    padding-bottom: 90px;
  }

  .opportunities-header {
    margin-bottom: 55px;
  }

  .project-item {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 16px;
  }
}

/* ==========================================================
   OPEN PROJECTS
   ========================================================== */

.opportunities-main-title {
  margin: 0 0 50px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 4.2vw, 4.5rem);
  font-weight: 400;
  line-height: 1.05;
}

.open-projects-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(360px, .9fr);
  gap: 80px;
  align-items: start;
}

.open-projects-content {
  min-width: 0;
}

.open-projects-intro {
  max-width: 950px;
}

.open-projects-intro p,
.open-projects-intro li {
  font-size: 16px;
  line-height: 1.7;
}

.open-projects-question {
  font-size: 17px !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.open-projects-intro ul {
  margin: 24px 0 0;
  padding-left: 1.4em;
}

.project-overview {
  margin-top: 65px;
}

.project-overview h2,
.project-list-section h2 {
  margin: 0 0 30px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 2.2vw, 2.2rem);
  font-weight: 400;
  line-height: 1.3;
}

.project-overview h2 span {
  font-size: .75em;
}

.project-list-section {
  margin-top: 60px;
}

.classic-project-list {
  margin: 0;
  padding-left: 1.5em;
}

.classic-project-list li {
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.6;
}

.open-projects-images {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 10px;
}

.open-projects-images img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}


/* ==========================================================
   EXTERNAL FUNDING
   ========================================================== */

.external-funding-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(420px, .8fr);
  gap: 100px;
  align-items: center;
}

.external-funding-copy {
  max-width: 900px;
}

.external-funding-copy p,
.external-funding-copy li {
  font-size: 16px;
  line-height: 1.75;
}

.funding-lead {
  margin-bottom: 22px;
}

.external-funding-copy ul {
  margin-top: 22px;
  padding-left: 1.4em;
}

.external-funding-copy li {
  margin-bottom: 12px;
}

.funding-brand-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 42px;
  align-items: center;
}

.funding-brand {
  text-decoration: none !important;
}

.funding-brand img {
  display: block;
  width: 100%;
  max-width: 300px;
  max-height: 160px;
  object-fit: contain;
}

.funding-brand-large {
  grid-row: span 2;
}

.funding-brand-text {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #111;
  font-size: 13px;
  line-height: 1.3;
}

.funding-brand-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 72px;
  height: 72px;
  border-radius: 50%;
  background: #1f68b5;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}

.funding-brand-mark-small {
  background: #dfe9d7;
  color: #73846e;
  font-size: 15px;
}

.funding-brand:hover {
  opacity: .65;
}


@media (max-width: 1000px) {
  .open-projects-layout,
  .external-funding-layout {
    grid-template-columns: 1fr;
  }

  .open-projects-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .funding-brand-grid {
    max-width: 650px;
  }
}


@media (max-width: 600px) {
  .open-projects-images,
  .funding-brand-grid {
    grid-template-columns: 1fr;
  }

  .funding-brand-large {
    grid-row: auto;
  }

  .project-overview h2 span {
    display: block;
    margin-top: 8px;
  }
}
