:root{
  --coral:#f56f75;
  --coral-soft:#f9d7d9;
  --cyan:#55c6c4;
  --peach:#f6c79f;
  --sage:#9bb89d;
  --rose:#c06b87;
  --ink:#070707;
  --muted:#555;
  --paper:#fff;
  --charcoal:#4b4b4b;
  --blue:#009ed4;
  --max:980px;
  --article:720px;
  --pad:clamp(18px,5vw,48px);
  --shadow:7px 9px 10px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:18px;
  line-height:1.42;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html,body{overflow-x:hidden}
img,video{display:block;max-width:100%}
p,h1,h2,h3,figure{margin-top:0}
a{color:inherit}

.topbar{
  background:#f4f4f4;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.topbar__inner{
  position:relative;
  max-width:1180px;
  min-height:58px;
  margin:0 auto;
  padding:0 var(--pad);
  display:flex;
  align-items:center;
  justify-content:center;
}
.topbar__brand{margin:0;font-size:14px}
.lang{
  position:absolute;
  right:var(--pad);
  top:50%;
  transform:translateY(-50%);
  display:flex;
  gap:5px;
  align-items:center;
  font-size:14px;
  font-weight:700;
}
.lang a{text-decoration:none}
.lang .is-active{text-decoration:underline}

.hero{
  position:relative;
  min-height:clamp(430px,52vw,560px);
  overflow:hidden;
  background:#222;
}
.hero__media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.68) saturate(.92) contrast(1.05);
  transform:scale(1.08);
}
.hero__veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.12) 58%,rgba(0,0,0,.06)),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.2));
}
.hero__shape{
  position:absolute;
  z-index:1;
  left:0;
  top:0;
  width:min(64vw,760px);
  height:100%;
  border-radius:0 54% 54% 0;
  background:linear-gradient(90deg,rgba(246,95,117,1) 0%,rgba(246,95,117,.74) 58%,rgba(246,95,117,.2) 100%);
}
.hero__content{
  position:relative;
  z-index:2;
  width:100%;
  margin:0;
  padding:clamp(96px,13vw,160px) var(--pad) 80px 100px;
  color:#fff;
}
.hero__kicker{
  margin:0 0 8px;
  font-size:clamp(21px,2.7vw,31px);
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}
.hero__title{
  max-width:15ch;
  margin:0;
  font-size:clamp(40px,5.7vw,62px);
  line-height:1.03;
  letter-spacing:0;
  font-weight:900;
}
.intro{
  background:var(--coral-soft);
  padding:34px var(--pad);
}
.intro p{
  max-width:820px;
  margin:0 auto;
  text-align:center;
  font-size:clamp(21px,2.5vw,28px);
  line-height:1.25;
}

.article{
  padding:72px var(--pad) 0;
}
.article__header,.article__body,.section-narrow{
  max-width:var(--article);
  margin-left:auto;
  margin-right:auto;
}
.article__header{margin-bottom:28px}
.article__author,.article__meta{margin:0;font-size:14px;line-height:1.2}
.article__body{margin-bottom:68px}
.article__body p{margin-bottom:24px}
.article__body p:last-child{margin-bottom:0}
.article h2{
  margin-bottom:8px;
  font-size:clamp(30px,3.4vw,36px);
  line-height:1.05;
  font-weight:900;
}
.article h3{
  margin:0 0 34px;
  font-size:22px;
  font-weight:400;
  line-height:1.25;
}

.stats{
  margin:0 calc(var(--pad) * -1) 62px;
  padding:0 var(--pad);
  background:transparent;
  color:#111;
}
.stats__inner{max-width:900px;margin:0 auto}
.section-label{
  max-width:900px;
  margin:0 auto 12px;
  padding-bottom:7px;
  border-bottom:1px solid currentColor;
  font-size:clamp(16px,1.6vw,20px);
  line-height:1.15;
  font-weight:400;
  text-transform:uppercase;
}
.article h2.section-label{
  margin-bottom:12px;
  font-size:clamp(16px,1.6vw,20px);
  line-height:1.15;
  font-weight:400;
}
.article h2.stats-title,
.people__title.people-section-title{
  font-size:19px;
  line-height:1.12;
  font-weight:300;
}
.stats-grid{
  position:relative;
  z-index:0;
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:18px 28px;
  align-items:center;
  padding:34px 0 44px;
  color:#fff;
}
.stats-grid::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 calc(var(--pad) * -1);
  background:var(--charcoal);
}
.stat-number{
  color:#ff7d80;
  font-size:clamp(54px,8vw,74px);
  line-height:.9;
  font-weight:300;
  text-align:right;
}
.stat-number small{font-size:.45em}
.stat-copy{
  padding-left:22px;
  border-left:2px solid rgba(255,255,255,.35);
  font-size:18px;
  line-height:1.25;
  font-weight:800;
}
.stat-copy b{color:var(--cyan);font-size:1.35em}
.stat-copy p{margin:2px 0}

.priorities{margin-bottom:60px}

.people{
  margin:0 calc(var(--pad) * -1) 76px;
}
.people__title{
  max-width:900px;
  margin:0 auto 12px;
  padding:0 0 8px;
  border-bottom:1px solid #111;
  font-size:clamp(16px,1.6vw,20px);
  line-height:1.15;
  font-weight:400;
  text-transform:uppercase;
}
.people__panel{
  background:var(--charcoal);
  color:#fff;
  padding:34px var(--pad) 42px;
}
.people__inner{
  max-width:880px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 340px 1fr;
  gap:18px;
  align-items:center;
}
.donut{
  --reveal:0%;
  position:relative;
  aspect-ratio:1;
  border-radius:50%;
  background:conic-gradient(var(--peach) 0 36.6%, var(--coral) 36.6% 70.3%, var(--cyan) 70.3% 81.1%, var(--sage) 81.1% 86.4%, var(--rose) 86.4% 100%);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.donut::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(transparent 0 var(--reveal), var(--charcoal) var(--reveal) 100%);
  z-index:1;
}
.donut__center{
  position:relative;
  z-index:2;
  width:56%;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--charcoal);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  font-size:clamp(32px,3.8vw,39px);
  line-height:1.05;
  white-space:nowrap;
}
.donut__center small{display:block;font-size:17px;font-weight:700;line-height:1.05}
.people-list{display:grid;gap:28px}
.people-item{font-weight:800;line-height:1.05}
.people-item__num{display:block;font-size:32px;font-weight:300}
.people-item p{margin:0;font-size:16px}
.accent-coral{color:#ff7d80}.accent-cyan{color:var(--cyan)}.accent-sage{color:var(--sage)}.accent-rose{color:var(--rose)}.accent-peach{color:var(--peach)}

.investment{margin-bottom:72px}
.investment__intro{max-width:760px;margin:0 auto 34px}
.carousel{
  --carousel-gap:20px;
  position:relative;
  max-width:760px;
  margin:0 auto 38px;
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  gap:8px;
}
.carousel__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--carousel-gap) * 2)) / 3);
  gap:var(--carousel-gap);
  min-width:0;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:8px 2px 18px;
}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__button{
  border:0;
  background:transparent;
  font-size:42px;
  line-height:1;
  cursor:pointer;
}
.money-card{
  aspect-ratio:1/1;
  min-height:0;
  min-width:0;
  padding:18px 14px;
  border-radius:14px;
  box-shadow:var(--shadow);
  scroll-snap-align:start;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.money-card:nth-child(3n+1){background:#f59696}
.money-card:nth-child(3n+2){background:#58c3c0}
.money-card:nth-child(3n){background:#f7c99f}
.money-card:nth-child(4n){background:#9bb89d}
.money-card__amount{
  display:block;
  max-width:100%;
  font-size:clamp(32px,4.5vw,44px);
  line-height:.92;
  font-weight:300;
  white-space:nowrap;
}
.money-card__amount small{font-size:.42em}
.money-card p{
  margin:8px 0 0;
  font-size:clamp(14px,1.45vw,17px);
  line-height:1.15;
  overflow-wrap:break-word;
}

.per-person{
  max-width:940px;
  margin:0 auto 96px;
  padding:12px 18px 8px;
}
.per-person__photo{
  width:100%;
  margin:0 auto 36px;
}
.per-person__photo img{
  width:100%;
  aspect-ratio:1200/680;
  object-fit:cover;
}
.per-person__photo figcaption{
  margin-top:7px;
  color:#555;
  font-size:13px;
  line-height:1.25;
  text-align:left;
}
.per-person h2{
  margin-bottom:12px;
}
.per-person > p{
  max-width:820px;
  margin-bottom:0;
  line-height:1.5;
}
.per-person__grid{
  display:grid;
  grid-template-columns:minmax(250px,1fr) 74px minmax(310px,1fr);
  gap:42px;
  align-items:center;
  margin-top:34px;
}
.per-person__lead{
  text-align:center;
}
.per-person__lead .amount{font-size:72px;line-height:.92;color:var(--coral);font-weight:300}
.per-person__arrow{
  position:relative;
  width:54px;
  height:54px;
  margin:0 auto;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:var(--coral);
  box-shadow:0 8px 12px rgba(0,0,0,.18);
  font-size:0;
}
.per-person__arrow::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:18px;
  border-right:6px solid #fff;
  border-bottom:6px solid #fff;
  transform:translate(-62%,-50%) rotate(-45deg);
}
.per-person__list{display:grid;gap:28px}
.person-amount{display:block;font-size:58px;line-height:.88;font-weight:300}
.per-person p{margin:0}
.per-person__lead,
.per-person__arrow,
.per-person__list p{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1);
}
.per-person__arrow{
  transform:translateX(-14px) scale(.86);
}
.per-person.is-animated .per-person__lead,
.per-person.is-arrow-visible .per-person__arrow,
.per-person__list p.is-visible{
  opacity:1;
  transform:translate(0,0) scale(1);
}

.video-cta{
  max-width:none;
  margin:0 auto 78px;
  text-align:center;
  overflow:hidden;
}
.video-cta__frame{
  position:relative;
  display:block;
  color:#fff;
  overflow:hidden;
}
.video-cta__frame video{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  transform:scale(1.08);
}
.play{
  position:absolute;
  left:50%;
  top:50%;
  width:68px;
  height:68px;
  border-radius:50%;
  border:5px solid #fff;
  transform:translate(-50%,-50%);
  background:rgba(78,67,151,.5);
}
.play::after{
  content:"";
  position:absolute;
  left:26px;
  top:18px;
  border-top:13px solid transparent;
  border-bottom:13px solid transparent;
  border-left:20px solid #fff;
}
.pill{
  display:inline-flex;
  margin-top:36px;
  padding:13px 28px;
  border-radius:14px;
  border:0;
  color:#fff;
  background:var(--coral);
  box-shadow:0 7px 10px rgba(0,0,0,.2);
  font-weight:900;
  text-decoration:none;
}

.interactive-frame{
  width:min(100vw,1400px);
  max-width:none;
  margin:0 auto 88px;
  padding:0 12px;
  overflow:hidden;
  transform:none;
}
.interactive-frame--cta{
  box-sizing:border-box;
}
.interactive-frame--cta{
  margin-bottom:0;
}
.interactive-frame iframe{
  width:100%;
  height:clamp(720px,86vh,980px);
  display:block;
  border:0;
  background:#fff;
}

.topics{
  max-width:1020px;
  margin:0 auto 86px;
}
.topics-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.topic-title{
  min-height:100%;
  padding:28px;
  background:var(--coral);
  color:#111;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:var(--shadow);
}
.topic-title h2{
  margin:0 0 12px;
  font-size:34px;
  line-height:1;
}
.topic-title p{margin:0;font-weight:700}
.topic-card{
  background:#fff;
}
.topic-card__head{
  min-height:48px;
  margin-bottom:14px;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border-radius:0 16px 16px 0;
  background:#fb7b77;
  box-shadow:var(--shadow);
  font-weight:900;
  text-transform:uppercase;
  font-size:16px;
}
.topic-card__icon{display:none}
.topic-card img{
  width:100%;
  aspect-ratio:800/746;
  object-fit:cover;
  margin-bottom:14px;
}
.topic-card__body p{
  margin:0 0 9px;
  font-size:16px;
  line-height:1.24;
}
.topic-card__body strong{
  color:#f24f63;
  font-size:1.35em;
  line-height:1;
}

.credits-footer{
  padding:58px var(--pad);
  background:#efefef;
  text-align:center;
  color:#565656;
}
.credits-footer h2{margin:0 0 18px;font-size:22px}
.credits-footer p{margin:0 0 8px;font-size:15px}

@media (max-width:840px){
  body{font-size:17px}
  .hero{min-height:clamp(500px,124vw,620px)}
  .hero__media{
    object-position:58% center;
    transform:none;
    filter:brightness(.62) saturate(.92) contrast(1.05);
  }
  .hero__shape{
    width:min(88vw,520px);
    left:0;
    border-radius:0 48% 48% 0;
    background:linear-gradient(90deg,rgba(246,95,117,1) 0%,rgba(246,95,117,.82) 62%,rgba(246,95,117,.24) 100%);
  }
  .hero__content{
    padding:clamp(88px,18vw,118px) 24px 72px clamp(28px,8vw,48px);
  }
  .hero__kicker{
    margin-bottom:14px;
    font-size:clamp(18px,5vw,23px);
  }
  .hero__title{
    max-width:12.5ch;
    font-size:clamp(36px,9.8vw,48px);
    line-height:1.06;
  }
  .stats-grid{grid-template-columns:1fr;gap:6px}
  .stat-number{text-align:left}
  .stat-copy{padding-left:16px;margin-bottom:24px}
  .people__inner{grid-template-columns:1fr;max-width:360px}
  .people-list{gap:16px;text-align:left}
  .people-list:first-child{order:2}
  .donut{order:1}
  .people-list:last-child{order:3}
  .per-person{padding-left:0;padding-right:0}
  .per-person__grid{grid-template-columns:1fr;gap:24px;margin-top:30px}
  .per-person__arrow{transform:translateY(-8px) rotate(90deg) scale(.86)}
  .per-person.is-arrow-visible .per-person__arrow{transform:rotate(90deg) scale(1)}
  .per-person__list{
    justify-items:center;
    text-align:center;
  }
  .per-person__list p{
    max-width:330px;
  }
  .article h2.stats-title,
  .people__title.people-section-title{
    padding-left:18px;
    padding-right:18px;
  }
  .topics-grid{grid-template-columns:1fr}
  .topic-title{min-height:170px}
  .topic-card{max-width:360px;margin:0 auto}
}

@media (max-width:560px){
  .topbar__inner{min-height:62px;justify-content:flex-start;padding-right:92px}
  .topbar__brand{text-align:left}
  .hero{min-height:535px}
  .hero__shape{
    width:92vw;
    border-radius:0 52% 52% 0;
  }
  .hero__title{
            max-width: 15ch;
        font-size: clamp(34px, 11.4vw, 55px);
  }
  .hero__kicker{font-size:20px}
  .article{padding-top:58px}
  .article__body{margin-bottom:54px}
  .carousel{grid-template-columns:34px 1fr 34px}
  .carousel__track{grid-auto-columns:82%}
  .money-card{padding:20px 18px}
  .money-card__amount{font-size:clamp(42px,14vw,54px)}
  .per-person__lead .amount{font-size:62px}
  .person-amount{font-size:50px}
  .per-person__list{gap:22px}
  .interactive-frame{
    margin-bottom:64px;
    padding:0;
  }
  .interactive-frame--cta{
    margin-bottom:0;
  }
  .interactive-frame iframe{
    height:calc(100vh - 24px);
    min-height:720px;
  }
}

.carousel__track{
  -webkit-mask-image:none;
  mask-image:none;
}
.carousel__button{
  display:block;
}
.money-card{
  border-radius:14px;
}
