/* PHASE 3 - DEVELOP FAMILY UPLIFT */
main .p3-hero {
  min-height: 860px;
  display: grid;
  grid-template-columns: 1.06fr .94fr;
  background: #fff
}

main .p3-hero-copy {
  padding: 105px 42px 70px;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

main .p3-hero h1 {
  margin: 22px 0 0;
  font-size: clamp(64px, 7vw, 118px);
  line-height: .84;
  letter-spacing: -.078em;
  font-weight: 400;
  max-width: 1000px
}

main .p3-hero-copy p {
  margin-top: 42px;
  max-width: 810px;
  font-size: 15px;
  line-height: 1.76;
  color: #56696b
}

main .p3-hero-media {
  min-height: 860px;
  position: relative;
  overflow: hidden;
  background: #082f31
}

main .p3-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) brightness(.7)
}

main .p3-hero-note {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  padding: 22px;
  background: rgba(8, 47, 49, .91);
  color: #fff
}

main .p3-hero-note strong {
  display: block;
  font-size: 28px;
  line-height: 1.03;
  font-weight: 400;
  letter-spacing: -.045em
}

main .p3-hero-note p {
  margin: 9px 0 0;
  font-size: 9px;
  line-height: 1.62;
  color: #c8d5d6
}

main .p3-sec {
  padding: 145px 38px;
  border-top: 1px solid rgba(17, 22, 23, .12);
  background: #fff
}

main .p3-sec.mist {
  background: #edf4f4
}

main .p3-sec.dark {
  background: #082f31;
  color: #fff;
  border-color: rgba(255, 255, 255, .13)
}

main .p3-head {
  display: grid;
  grid-template-columns: 7fr 3fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 62px
}

main .p3-head h2 {
  margin: 0;
  font-size: clamp(48px, 5.4vw, 82px);
  line-height: .92;
  letter-spacing: -.058em;
  font-weight: 400
}

main .p3-head p {
  margin: 0;
  font-size: 12px;
  line-height: 1.74;
  color: #607274
}

main .p3-sec.dark .p3-head p {
  color: #b6c6c7
}

main .p3-grid4 {
  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-grid4 article {
  min-height: 315px;
  padding: 25px;
  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-grid4 article:nth-child(even) {
  background: #edf4f4
}

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

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

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

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

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

main .p3-editorial .big h3 {
  margin: 155px 0 20px;
  font-size: clamp(40px, 4.3vw, 68px);
  line-height: .94;
  letter-spacing: -.055em;
  font-weight: 400
}

main .p3-editorial .big p {
  max-width: 800px;
  font-size: 12px;
  line-height: 1.76;
  color: #607274
}

main .p3-editorial .side {
  display: grid;
  grid-template-rows: repeat(3, 1fr)
}

main .p3-editorial .side article {
  padding: 26px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12)
}

main .p3-editorial .side h4 {
  margin: 50px 0 12px;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -.035em
}

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

main .p3-photo {
  min-height: 620px;
  position: relative;
  overflow: hidden
}

main .p3-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7) brightness(.45)
}

main .p3-photo .inner {
  position: relative;
  z-index: 2;
  min-height: 620px;
  padding: 58px 40px;
  display: grid;
  grid-template-columns: 7fr 3fr;
  gap: 70px;
  align-items: end;
  color: #fff
}

main .p3-photo h2 {
  margin: 0;
  font-size: clamp(50px, 5.7vw, 86px);
  line-height: .9;
  letter-spacing: -.06em;
  font-weight: 400
}

main .p3-photo p {
  font-size: 12px;
  line-height: 1.72;
  color: #d2dddd
}

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

main .p3-step {
  padding: 30px 25px;
  border-right: 1px solid rgba(17, 22, 23, .12);
  min-height: 310px
}

main .p3-step:last-child {
  border-right: 0
}

main .p3-step small {
  font-size: 8px;
  color: #758789
}

main .p3-step strong {
  display: block;
  margin: 115px 0 15px;
  font-size: 23px;
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.04em
}

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

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

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

main .p3-ledger article:nth-child(2), main .p3-ledger article:nth-child(3) {
  background: #edf4f4
}

main .p3-ledger h3 {
  margin: 70px 0 13px;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -.04em
}

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

main .p3-circuit {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  background: #082f31;
  color: #fff
}

main .p3-circuit .left {
  padding: 70px 40px;
  border-right: 1px solid rgba(255, 255, 255, .13)
}

main .p3-circuit .left h2 {
  margin: 22px 0 26px;
  font-size: clamp(46px, 5vw, 76px);
  line-height: .92;
  letter-spacing: -.058em;
  font-weight: 400
}

main .p3-circuit .left p {
  font-size: 11px;
  line-height: 1.74;
  color: #b7c7c8
}

main .p3-circuit .right {
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}

main .p3-circuit .right article {
  padding: 32px;
  border-right: 1px solid rgba(255, 255, 255, .13);
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  min-height: 250px
}

main .p3-circuit .right strong {
  display: block;
  margin: 100px 0 14px;
  font-size: 20px;
  font-weight: 400
}

main .p3-circuit .right p {
  font-size: 9px;
  line-height: 1.63;
  color: #afc0c1
}

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

main .p3-person {
  border-right: 1px solid rgba(17, 22, 23, .12);
  border-bottom: 1px solid rgba(17, 22, 23, .12);
  display: flex;
  flex-direction: column;
  min-height: 520px
}

main .p3-person figure {
  margin: 0;
  height: 215px;
  overflow: hidden
}

main .p3-person img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.75)
}

main .p3-person .body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1
}

main .p3-person h3 {
  margin: 0;
  font-size: 21px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.04em
}

main .p3-person .role {
  font-size: 8px;
  color: #607274
}

main .p3-person p {
  font-size: 8px;
  line-height: 1.58;
  color: #66797b
}

main .p3-person .links {
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(17, 22, 23, .12)
}

main .p3-person .links a {
  padding: 9px;
  text-align: center;
  font-size: 8px;
  border-right: 1px solid rgba(17, 22, 23, .12)
}

main .p3-person .links a:last-child {
  border-right: 0;
  background: #082f31;
  color: #fff
}

main .p3-final {
  padding: 160px 40px 95px;
  border-top: 1px solid rgba(17, 22, 23, .12)
}

main .p3-final h2 {
  margin: 0;
  max-width: 1180px;
  font-size: clamp(54px, 6vw, 98px);
  line-height: .89;
  letter-spacing: -.066em;
  font-weight: 400
}

main .p3-final p {
  margin: 50px 0 0;
  max-width: 820px;
  font-size: 12px;
  line-height: 1.72;
  color: #607274
}

@media(max-width: 1050px) {
  main .p3-hero, main .p3-head, main .p3-photo .inner, main .p3-circuit {
    grid-template-columns: 1fr
  }
  main .p3-grid4, main .p3-timeline, main .p3-people {
    grid-template-columns: 1fr 1fr
  }
  main .p3-editorial {
    grid-template-columns: 1fr
  }
}

@media(max-width: 700px) {
  main .p3-hero-copy, main .p3-sec, main .p3-final {
    padding-left: 20px;
    padding-right: 20px
  }
  main .p3-grid4, main .p3-timeline, main .p3-ledger, main .p3-circuit .right, main .p3-people {
    grid-template-columns: 1fr
  }
  main .p3-photo .inner {
    padding-left: 20px;
    padding-right: 20px
  }
}
