/* PHASE 3 - DEVELOP FAMILY UPLIFT BATCH 02 */
main .p3-map {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  border-top: 1px solid rgba(17, 22, 23, .12);
  border-left: 1px solid rgba(17, 22, 23, .12)
}

main .p3-map .left {
  padding: 42px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12)
}

main .p3-map .left h3 {
  margin: 150px 0 20px;
  font-size: clamp(40px, 4.5vw, 70px);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 400
}

main .p3-map .left p {
  max-width: 760px;
  font-size: 12px;
  line-height: 1.74;
  color: #607274
}

main .p3-map .right {
  display: grid;
  grid-template-columns: 1fr 1fr
}

main .p3-map .right article {
  min-height: 250px;
  padding: 28px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12)
}

main .p3-map .right strong {
  display: block;
  margin: 100px 0 12px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.05
}

main .p3-map .right p {
  font-size: 9px;
  line-height: 1.62;
  color: #687a7c
}

main .p3-dialogue {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px
}

main .p3-dialogue article {
  padding: 30px;
  min-height: 360px;
  border: 1px solid rgba(17, 22, 23, .12);
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

main .p3-dialogue article:nth-child(2) {
  background: #082f31;
  color: #fff
}

main .p3-dialogue article:nth-child(2) p {
  color: #b9c8c9
}

main .p3-dialogue h3 {
  margin: 110px 0 15px;
  font-size: 27px;
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 400
}

main .p3-dialogue p {
  font-size: 9px;
  line-height: 1.65;
  color: #687a7c
}

main .p3-academy-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(17, 22, 23, .12)
}

main .p3-academy-row {
  display: grid;
  grid-template-columns: .32fr .68fr;
  border-bottom: 1px solid rgba(17, 22, 23, .12);
  min-height: 210px
}

main .p3-academy-row .num {
  padding: 28px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  font-size: 56px;
  line-height: 1;
  letter-spacing: -.06em;
  color: #082f31
}

main .p3-academy-row .body {
  padding: 28px
}

main .p3-academy-row h3 {
  margin: 0 0 15px;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -.04em
}

main .p3-academy-row p {
  font-size: 10px;
  line-height: 1.68;
  color: #687a7c;
  max-width: 900px
}

main .p3-plan {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  border-top: 1px solid rgba(17, 22, 23, .12);
  border-left: 1px solid rgba(17, 22, 23, .12)
}

main .p3-plan article {
  padding: 28px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12);
  min-height: 270px
}

main .p3-plan article:nth-child(1) {
  grid-column: span 7
}

main .p3-plan article:nth-child(2) {
  grid-column: span 5;
  background: #edf4f4
}

main .p3-plan article:nth-child(3) {
  grid-column: span 4
}

main .p3-plan article:nth-child(4) {
  grid-column: span 4;
  background: #082f31;
  color: #fff
}

main .p3-plan article:nth-child(5) {
  grid-column: span 4
}

main .p3-plan h3 {
  margin: 95px 0 15px;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -.04em
}

main .p3-plan p {
  font-size: 9px;
  line-height: 1.65;
  color: #687a7c
}

main .p3-plan article:nth-child(4) p {
  color: #b6c6c7
}

main .p3-contribution {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  border-top: 1px solid rgba(17, 22, 23, .12);
  border-left: 1px solid rgba(17, 22, 23, .12)
}

main .p3-contribution .statement {
  padding: 42px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12)
}

main .p3-contribution .statement h3 {
  margin: 170px 0 20px;
  font-size: clamp(38px, 4.3vw, 66px);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 400
}

main .p3-contribution .statement p {
  font-size: 12px;
  line-height: 1.74;
  color: #607274
}

main .p3-contribution .routes {
  display: grid;
  grid-template-columns: 1fr 1fr
}

main .p3-contribution .routes article {
  padding: 28px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12);
  min-height: 250px
}

main .p3-contribution .routes strong {
  display: block;
  margin: 100px 0 13px;
  font-size: 20px;
  font-weight: 400
}

main .p3-contribution .routes p {
  font-size: 9px;
  line-height: 1.62;
  color: #687a7c
}

main .p3-crosslinks {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(17, 22, 23, .12);
  border-left: 1px solid rgba(17, 22, 23, .12)
}

main .p3-crosslinks a {
  min-height: 190px;
  padding: 22px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12);
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

main .p3-crosslinks a:nth-child(even) {
  background: #edf4f4
}

main .p3-crosslinks small {
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #758789;
  font-weight: 600
}

main .p3-crosslinks strong {
  font-size: 18px;
  line-height: 1.06;
  font-weight: 400
}

@media(max-width: 1000px) {
  main .p3-map, main .p3-contribution {
    grid-template-columns: 1fr
  }
  main .p3-dialogue {
    grid-template-columns: 1fr
  }
  main .p3-plan {
    grid-template-columns: 1fr
  }
  main .p3-plan article {
    grid-column: auto!important
  }
  main .p3-academy-row {
    grid-template-columns: 1fr
  }
  main .p3-academy-row .num {
    border-right: 0;
    border-bottom: 1px solid rgba(17, 22, 23, .12)
  }
}

@media(max-width: 700px) {
  main .p3-map .right, main .p3-contribution .routes, main .p3-crosslinks {
    grid-template-columns: 1fr
  }
}
