@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=DM+Sans:wght@400;500&family=Poppins:wght@200;300;400;500&display=swap";
:root {
  --b:#173a69;
  --s:#5a92c5;
  --p:#f2f4f7;
  color:var(--b);
  font-family:DM Sans,sans-serif
}
* {
  box-sizing:border-box
}
html,body,#root {
  width:100%;
  min-width:0;
  min-height:100%;
  margin:0;
  overflow-x:clip
}
body {
  line-height:1.65
}
a {
  color:inherit
}
.container {
  width:min(100% - clamp(2rem,8vw,10rem),1240px);
  margin:auto
}
.header {
  z-index:20;
  color:#fff;
  background:var(--b);
  position:relative
}
.header.overlay {
  background:linear-gradient(#102e53cc,#0000);
  width:100%;
  position:absolute
}
.header-in {
  justify-content:space-between;
  align-items:center;
  min-height:88px;
  display:flex
}
.brand {
  color:#fff;
  letter-spacing:.25em;
  align-items:center;
  gap:.7rem;
  font:500 1rem Poppins;
  text-decoration:none;
  display:flex
}
.brand b {
  aspect-ratio:1;
  letter-spacing:0;
  border:1px solid #fff9;
  border-radius:50%;
  place-items:center;
  width:2.5rem;
  font:1.8rem Cormorant Garamond;
  display:grid
}
.header nav {
  gap:clamp(1rem,2.3vw,2.3rem);
  display:flex
}
.header nav a {
  color:#ffffffc4;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  padding:.8rem 0;
  font:500 .7rem Poppins;
  text-decoration:none
}
.header nav a:hover,.header nav a[aria-current=page] {
  color:#fff
}
.menu {
  color:#fff;
  background:0 0;
  border:0;
  font-size:1.5rem;
  display:none
}
.hero {
  color:#fff;
  background:var(--b);
  align-items:center;
  min-height:100svh;
  display:grid;
  position:relative;
  overflow:hidden
}
.hero video,.shade {
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}
.hero video {
  object-fit:cover
}
.shade {
  background:linear-gradient(90deg,#102e53df,#102e5344)
}
.hero-copy {
  padding-block:10rem 6rem;
  position:relative
}
.hero h1,.banner h1,h2 {
  margin:0;
  font:500 clamp(3rem,6vw,5rem)/1 Cormorant Garamond
}
.hero h1 {
  font-size:clamp(4rem,9vw,8rem)
}
em {
  color:var(--s);
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-bottom:1rem;
  font:500 .72rem Poppins;
  display:block
}
.hero em {
  color:#fffb
}
.hero p {
  max-width:40rem;
  font-size:clamp(1rem,1.7vw,1.3rem)
}
.button,.link {
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-top:1rem;
  font:500 .74rem Poppins;
  text-decoration:none;
  display:inline-flex
}
.button {
  border:1px solid;
  border-radius:99px;
  padding:1rem 1.4rem
}
.banner {
  color:#fff;
  background:linear-gradient(#102e5377,#102e53cc);
  align-items:end;
  min-height:clamp(320px,42vw,520px);
  display:flex
}
.banner .container {
  padding-block:4rem
}
.banner h1 {
  margin-top:1rem;
  font-size:clamp(3.5rem,7vw,6.5rem)
}
.crumb {
  letter-spacing:.1em;
  text-transform:uppercase;
  font:500 .7rem Poppins
}
.crumb a {
  color:#fffb;
  text-decoration:none
}
.section {
  padding-block:clamp(4rem,9vw,8rem)
}
.pale {
  background:var(--p)
}
.blue {
  color:#fff;
  background:var(--b)
}
.split {
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(3rem,8vw,8rem);
  display:grid
}
.blue h2 {
  color:#fff
}
h3 {
  font-size:clamp(1.1rem,2vw,1.5rem);
  line-height:1.3
}
.prose {
  color:#173a69bb;
  max-width:46rem;
  font-size:clamp(1rem,1.3vw,1.15rem)
}
.heading {
  margin-bottom:clamp(2rem,5vw,4rem)
}
.grid {
  gap:clamp(1rem,2vw,1.5rem);
  display:grid
}
.four,.people {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.card {
  background:#fff;
  border:1px solid #173a6922;
  border-radius:1rem;
  min-width:0;
  min-height:18rem;
  padding:clamp(1.5rem,3vw,2.2rem)
}
.card p {
  color:#173a6999
}
.blue .card h3 {
  color:var(--b)
}
.rail {
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-x;
  grid-auto-columns:minmax(280px,360px);
  grid-auto-flow:column;
  gap:1.25rem;
  padding:0 max(1rem,50% - 620px) 2rem;
  display:grid;
  overflow-x:auto
}
.rail::-webkit-scrollbar {
  display:none
}
.person-card {
  background:#fff;
  border-radius:1rem;
  text-decoration:none;
  overflow:hidden;
  box-shadow:0 1rem 3rem #173a6912
}
.portrait {
  aspect-ratio:4/5;
  color:#fffc;
  background:linear-gradient(145deg,#31567f,#9eb9d2);
  place-items:center;
  font:clamp(3rem,6vw,5rem) Cormorant Garamond;
  display:grid
}
.person {
  padding:1.3rem
}
.person small,.contact-card small {
  color:var(--s);
  text-transform:uppercase;
  font:.7rem Poppins
}
.large {
  border-radius:1rem;
  margin-top:2rem
}
.contact-card {
  color:#fff;
  background:var(--b);
  border-radius:1rem;
  padding:clamp(1.5rem,4vw,3rem)
}
.contact-card a {
  font-size:clamp(1rem,2vw,1.3rem);
  display:block
}
.contact-card hr {
  border:0;
  border-top:1px solid #fff3;
  margin:2rem 0
}
footer {
  color:#fff;
  background:#102e53;
  padding-top:5rem
}
.footer-grid {
  grid-template-columns:1fr .7fr 1fr;
  gap:4rem;
  padding-bottom:4rem;
  display:grid
}
.footer-grid nav {
  display:grid
}
.footer-grid a {
  text-decoration:none
}
.footer-grid p {
  color:#fff8
}
.legal {
  color:#fff7;
  border-top:1px solid #fff2;
  justify-content:space-between;
  padding-block:1.2rem;
  font-size:.75rem;
  display:flex
}
.reveal {
  opacity:0;
  transition:all .75s ease-out;
  transform:translateY(28px)
}
.shown {
  opacity:1;
  transform:none
}
@media (max-width:1000px) {
  .four,.people {
    grid-template-columns:repeat(2,1fr)
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
}
@media (max-width:760px) {
  .container {
    width:min(100% - 2rem,620px)
  }
  .header-in {
    min-height:72px
  }
  .menu {
    z-index:2;
    display:block
  }
  .header nav {
    visibility:hidden;
    background:#102e53;
    flex-direction:column;
    width:min(88vw,360px);
    min-height:100vh;
    padding:6rem 2rem;
    transition:all .3s;
    position:absolute;
    top:0;
    right:0;
    transform:translate(110%)
  }
  .header nav.open {
    visibility:visible;
    transform:none
  }
  .header nav a {
    padding:1rem 0;
    font-size:.8rem
  }
  .split,.footer-grid {
    grid-template-columns:1fr
  }
  .hero h1 {
    font-size:clamp(3.5rem,18vw,5.5rem)
  }
}
@media (max-width:520px) {
  .four,.people {
    grid-template-columns:1fr
  }
  .rail {
    grid-auto-columns:min(82vw,330px);
    padding-inline:1rem
  }
  .legal {
    flex-direction:column
  }
}
@media (prefers-reduced-motion:reduce) {
  .reveal {
    opacity:1;
    transition:none;
    transform:none
  }
}
.home,.banner-stack {
  display:grid
}
.home>.header,.home>.hero,.banner-stack>.header,.banner-stack>.banner {
  grid-area:1/1
}
.header {
  z-index:20;
  background:linear-gradient(#0c23439e,#0000);
  align-self:start;
  position:static
}
.logo {
  color:#fff;
  flex:none;
  width:3rem;
  height:3rem
}
.brand {
  letter-spacing:.28em;
  font-family:Poppins,sans-serif;
  font-size:.92rem;
  font-weight:400
}
.hero {
  grid-template-rows:minmax(100svh,1fr);
  grid-template-columns:minmax(0,1fr)
}
.hero video,.hero .shade,.hero .hero-copy {
  grid-area:1/1;
  position:static
}
.hero video {
  object-fit:cover;
  align-self:stretch;
  width:100%;
  height:100%
}
.hero .shade {
  background:linear-gradient(90deg,#061931ad,#06193121);
  align-self:stretch
}
.hero-copy {
  z-index:1;
  align-self:center
}
.hero h1,.banner h1,h2 {
  letter-spacing:-.045em;
  font-family:DM Sans,sans-serif;
  font-weight:300
}
.hero h1 {
  font-size:clamp(3.75rem,6.25vw,5rem);
  line-height:1.04
}
.hero p {
  color:#fffc;
  max-width:38rem;
  font-size:clamp(1rem,1.3vw,1.25rem);
  font-weight:400;
  line-height:1.5
}
.button {
  background:0 0;
  border-color:#fffc;
  justify-content:space-between;
  align-items:center;
  min-width:12.5rem;
  padding:1rem 1.25rem;
  font-size:.72rem;
  transition:background .25s,color .25s
}
.button:hover {
  color:var(--b);
  background:#fff
}
.banner {
  padding-top:88px
}
.page-banner,.section,.card,.person-card,.contact-card {
  max-width:100%
}
@media (max-width:760px) {
  .header {
    background:linear-gradient(#0c2343e6,#0c234373)
  }
  .header-in {
    flex-wrap:wrap
  }
  .header nav {
    visibility:visible;
    background:0 0;
    width:100%;
    min-height:0;
    padding:0 0 1rem;
    display:none;
    position:static;
    transform:none
  }
  .header nav.open {
    display:flex
  }
  .logo {
    width:2.65rem;
    height:2.65rem
  }
  .brand {
    font-size:.8rem
  }
  .hero h1 {
    font-size:clamp(3.1rem,14vw,4.5rem)
  }
  .banner {
    padding-top:72px
  }
}
:root,body,button,input,textarea,select {
  font-family:Poppins,sans-serif
}
h1,h2,h3 {
  font-family:Poppins,sans-serif;
  font-weight:300
}
.home .container {
  width:calc(100% - clamp(2rem,16.3vw,31.25rem));
  max-width:none
}
.home .header {
  background:linear-gradient(#173a6933,#0000)
}
.home .header-in {
  min-height:7.125rem;
  padding-top:.5rem
}
.logo {
  width:clamp(10rem,9.7vw,15.5rem);
  height:auto
}
.brand {
  line-height:0
}
.home .header nav {
  gap:clamp(1.5rem,2.2vw,3.5rem);
  margin-left:auto
}
.home .header nav a {
  letter-spacing:0;
  font-family:Poppins,sans-serif;
  font-size:clamp(.7rem,.78vw,1.25rem);
  font-weight:400
}
.home .hero {
  min-height:100svh
}
.home .hero-copy {
  align-self:start;
  padding-top:clamp(12rem,23.5vh,20rem);
  padding-bottom:4rem
}
.home .hero p {
  letter-spacing:0;
  margin:clamp(1.5rem,2.6vw,4rem) 0 clamp(1.5rem,2.5vw,3.75rem);
  font-family:Poppins,sans-serif;
  font-size:clamp(.95rem,1vw,1.5rem);
  font-weight:300;
  line-height:1.55
}
.home .button {
  letter-spacing:.02em;
  justify-content:center;
  min-width:clamp(10rem,7.8vw,12.5rem);
  margin:0;
  padding:clamp(.8rem,1vw,1.05rem) 1.4rem;
  font-family:Poppins,sans-serif;
  font-size:clamp(.68rem,.72vw,1rem);
  font-weight:500
}
@media (max-width:760px) {
  .home .container {
    width:calc(100% - 2rem)
  }
  .home .header-in {
    min-height:4.75rem;
    padding-top:0
  }
  .home .logo {
    width:10rem
  }
  .home .hero-copy {
    align-self:center;
    padding-block:6rem 3rem
  }
  .home .hero h1 {
    font-size:clamp(3rem,14vw,4.5rem)
  }
  .desktop-break {
    display:none
  }
}
.home .header {
  box-shadow:none!important;
  opacity:1!important;
  background:0 0!important
}
.home .hero {
  box-shadow:none!important;
  background:0 0!important
}
.home .hero:before,.home .hero:after,.home .header:before,.home .header:after {
  content:none!important;
  box-shadow:none!important;
  opacity:0!important;
  background:0 0!important;
  display:none!important
}
.home .shade {
  box-shadow:none!important;
  opacity:0!important;
  background:0 0!important;
  display:none!important
}
.home .hero video {
  filter:none!important;
  opacity:1!important;
  box-shadow:none!important
}
.home .button {
  border-width:1px;
  min-width:clamp(11.5rem,9vw,14.5rem);
  padding:clamp(.95rem,1.15vw,1.45rem) 1.75rem;
  font-size:clamp(.78rem,.82vw,1.25rem)
}
@media (max-width:760px) {
  .home .hero h1 {
    font-size:clamp(3.75rem,16vw,5.5rem);
    line-height:1.02
  }
  .home .hero p {
    font-size:clamp(1rem,4.4vw,1.25rem)
  }
  .home .button {
    font-size:.78rem
  }
}
html.home-screen,html.home-screen body {
  height:100%;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important
}
.home {
  height:100vh;
  min-height:100vh;
  overflow:hidden
}
.home>.header {
  z-index:1000;
  width:100%;
  top:0;
  left:0;
  right:0;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:0 0!important;
  position:absolute!important
}
.home .hero {
  overflow:hidden;
  height:100vh!important;
  min-height:100vh!important;
  max-height:100vh!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:0 0!important
}
.home .hero video {
  object-fit:cover;
  width:100%;
  height:100vh;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  box-shadow:none!important
}
.home .hero h1 {
  letter-spacing:-.06em!important;
  font-size:clamp(5.75rem,6.15vw,9.75rem)!important;
  font-weight:700!important;
  line-height:.96!important
}
.home .hero p {
  font-size:clamp(1.3rem,1.45vw,2.25rem)!important;
  font-weight:400!important;
  line-height:1.45!important
}
.home .button {
  width:max-content!important;
  min-width:0!important;
  height:auto!important;
  box-shadow:none!important;
  background:0 0!important;
  border:1px solid #ffffffe6!important;
  border-radius:999px!important;
  padding:18px 48px!important;
  font-size:clamp(.95rem,1vw,1.4rem)!important;
  font-weight:600!important;
  line-height:1.2!important
}
@media (max-width:760px) {
  .home .hero h1 {
    font-size:clamp(4rem,17vw,6rem)!important
  }
  .home .hero p {
    font-size:clamp(1.05rem,4.6vw,1.35rem)!important
  }
  .home .button {
    padding:16px 38px!important;
    font-size:.9rem!important
  }
}
.home .hero h1 {
  letter-spacing:0!important;
  font-family:Poppins,sans-serif!important;
  font-size:56px!important;
  font-weight:600!important;
  line-height:1.3!important
}
.home .hero p {
  opacity:.9!important;
  margin-top:24px!important;
  margin-bottom:clamp(1.5rem,2.5vw,3.75rem)!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.5!important
}
.home .button {
  letter-spacing:1px!important;
  text-transform:uppercase!important;
  border:1px solid #fff9!important;
  border-radius:50px!important;
  padding:12px 32px!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.2!important
}
.home .hero-copy {
  flex-direction:column!important;
  justify-content:center!important;
  align-self:stretch!important;
  align-items:flex-start!important;
  height:100%!important;
  min-height:100%!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important
}
.home .hero h1 {
  font-weight:500!important
}
.home .hero p {
  width:100%!important;
  max-width:400px!important
}
.home .button {
  isolation:isolate;
  z-index:1!important;
  color:#fff!important;
  border-radius:50px!important;
  position:relative!important;
  overflow:hidden!important
}
.home .button span {
  z-index:2;
  color:inherit;
  transition:color .4s cubic-bezier(.4,0,.2,1);
  position:relative
}
.home .button:before {
  content:"";
  z-index:1;
  background-color:#fff;
  border-radius:50%;
  width:300px;
  height:300px;
  transition:transform .8s cubic-bezier(.4,0,.2,1);
  position:absolute;
  top:100%;
  left:50%;
  transform:translate(-50%,-50%)scale(0)
}
.home .button:hover:before,.home .button:focus-visible:before {
  transform:translate(-50%,-50%)scale(1)
}
.home .button:hover,.home .button:focus-visible {
  color:#1e293b!important
}
.menu svg {
  fill:none;
  stroke:#fff;
  stroke-width:1.8px;
  stroke-linecap:round;
  width:26px;
  height:26px
}
@media (max-width:1024px) {
  .header-in {
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    display:flex
  }
  .menu {
    color:#fff;
    place-items:center;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    display:grid
  }
  .header nav,.home .header nav {
    visibility:visible;
    background:#102e53f5;
    flex-direction:column;
    gap:0;
    width:100%;
    min-height:0;
    margin:0;
    padding:0 0 1rem;
    display:none;
    position:static;
    transform:none
  }
  .header nav.open,.home .header nav.open {
    display:flex
  }
  .header nav a,.home .header nav a {
    width:100%;
    padding:1rem;
    font-size:.78rem
  }
  .brand {
    margin-right:auto
  }
}
.home .hero p {
  font-size:16px!important
}
.home .button {
  font-size:15px!important
}
@media (max-width:1024px) {
  .home .hero h1 {
    font-size:42px!important
  }
}
@media (max-width:768px) {
  .home .hero h1 {
    font-size:32px!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .home .header-in,.home .hero-copy {
    padding-left:50px!important;
    padding-right:50px!important
  }
}
.home {
  --header-link-font-size:clamp(.7rem,.78vw,1.25rem)
}
.home .header nav a,.home .button {
  font-size:var(--header-link-font-size)!important
}
.home .hero h1 {
  font-size:48px!important;
  line-height:1.15!important
}
@media (max-width:1024px) {
  .home .hero h1 {
    font-size:42px!important
  }
}
@media (max-width:768px) {
  .home .hero h1 {
    font-size:28px!important
  }
}
@media (min-width:1025px) {
  .home .hero h1 {
    font-size:48px!important
  }
}
@media (max-width:1024px) {
  .home .hero h1 {
    font-size:42px!important
  }
}
@media (max-width:768px) {
  .home .hero h1 {
    font-size:32px!important
  }
}
@media (min-width:1025px) {
  .home .hero h1 {
    font-size:48px!important
  }
}
@media (max-width:1024px) {
  .home .hero h1 {
    font-size:42px!important
  }
}
@media (max-width:768px) {
  .home .hero h1 {
    font-size:32px!important
  }
}
.home .hero h1 {
  font-size:48px!important
}
.home .button {
  padding:10px 20px!important;
  font-size:13px!important
}
@media (min-width:1920px) {
  .home .hero h1 {
    font-size:clamp(48px,3vw,64px)!important
  }
}
.home .header-in {
  min-height:0;
  padding-top:20px;
  padding-bottom:0
}
.building-hotspot {
  z-index:5;
  cursor:pointer;
  outline:none;
  width:6%;
  height:40%;
  position:absolute;
  top:35%;
  left:47%
}
.building-callout {
  white-space:nowrap;
  pointer-events:none;
  align-items:center;
  height:28px;
  display:flex;
  position:absolute;
  top:calc(26% - 48px);
  left:calc(100% + 18px)
}
.building-line {
  opacity:0;
  background:#ffffffc7;
  width:0;
  height:1px;
  margin-left:0;
  transition:all .4s cubic-bezier(.4,0,.2,1);
  display:block
}
.building-label {
  color:#fff;
  letter-spacing:.02em;
  opacity:0;
  margin-left:12px;
  font:500 15px/1 Poppins,sans-serif;
  transition:all .4s cubic-bezier(.4,0,.2,1);
  transform:translate(-10px)
}
.building-hotspot:hover .building-line,.building-hotspot:focus-visible .building-line {
  opacity:1;
  width:60px
}
.building-hotspot:hover .building-label,.building-hotspot:focus-visible .building-label {
  opacity:1;
  transform:translate(0)
}
@media (max-width:1024px) {
  .building-hotspot {
    display:none
  }
}
@media (min-width:1025px) {
  .home .header nav {
    gap:24px
  }
}
@media (max-width:1024px) {
  .home .header-in,.home .hero-copy {
    width:100%;
    max-width:none;
    margin-inline:auto;
    padding-left:24px!important;
    padding-right:24px!important
  }
}
html.is-resizing *,html.is-resizing :before,html.is-resizing :after {
  scroll-behavior:auto!important;
  transition:none!important;
  animation:none!important
}
.home .hero h1 {
  transition:none!important;
  animation:none!important
}
@media (min-width:1025px) {
  .home .hero h1 {
    font-size:48px!important
  }
}
@media (max-width:1024px) {
  .home .hero h1 {
    font-size:42px!important
  }
}
@media (max-width:768px) {
  .home .hero h1 {
    font-size:32px!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .home .header-in,.home .hero-copy {
    padding-left:50px!important;
    padding-right:50px!important
  }
}
.home {
  --menu-type-size:clamp(.7rem,.78vw,1.25rem);
  --menu-type-weight:400
}
.home .header nav a,.home .button,.home .button span {
  font-family:Poppins,sans-serif!important;
  font-size:var(--menu-type-size)!important;
  font-weight:var(--menu-type-weight)!important
}
.home .button {
  padding:12px 20px!important
}
.home .hero-copy {
  translate:0 -48px!important
}
.home .hero p {
  font-size:15px!important;
  font-weight:400!important
}
.building-label {
  font-weight:400!important
}
.drawer-logo {
  display:none
}
.drawer-links {
  align-items:center;
  gap:inherit;
  display:flex
}
.close-icon {
  display:none
}
@media (max-width:1024px) {
  .header .brand,.header .menu {
    z-index:1003;
    position:relative
  }
  .header.menu-open .brand {
    visibility:hidden
  }
  .header .menu {
    display:grid!important
  }
  .header .menu svg {
    grid-area:1/1;
    transition:opacity .22s,transform .3s
  }
  .header .menu .close-icon {
    opacity:0;
    stroke:#173a69;
    display:block;
    transform:rotate(-90deg)
  }
  .header .menu.open .menu-icon {
    opacity:0;
    transform:rotate(90deg)
  }
  .header .menu.open .close-icon {
    opacity:1;
    transform:rotate(0)
  }
  .header nav,.home .header nav {
    z-index:1001;
    visibility:visible;
    opacity:1;
    pointer-events:none;
    justify-content:center;
    align-items:center;
    width:100vw;
    height:100vh;
    min-height:100vh;
    margin:0;
    padding:0;
    transition:transform .45s cubic-bezier(.4,0,.2,1);
    inset:0;
    transform:translate(100%);
    background:#fff!important;
    display:flex!important;
    position:fixed!important
  }
  .header nav.open,.home .header nav.open {
    pointer-events:auto;
    transform:translate(0)
  }
  .header nav .drawer-logo,.home .header nav .drawer-logo {
    width:clamp(10rem,20vw,15.5rem);
    height:auto;
    padding:0;
    display:block;
    position:absolute;
    top:20px;
    left:40px
  }
  .drawer-logo img {
    width:100%;
    height:auto;
    display:block
  }
  .header nav .drawer-links,.home .header nav .drawer-links {
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:clamp(1rem,3vh,2rem);
    display:flex
  }
  .header nav .drawer-links>a,.home .header nav .drawer-links>a {
    letter-spacing:.08em;
    text-align:center;
    width:auto;
    padding:.5rem;
    color:#173a69!important;
    font-size:clamp(1rem,2.2vw,1.35rem)!important;
    font-weight:400!important
  }
}
@media (max-width:768px) {
  .header nav .drawer-logo,.home .header nav .drawer-logo {
    left:24px
  }
}
@media (max-width:1024px) {
  .header nav .drawer-links,.home .header nav .drawer-links {
    gap:12px
  }
  .header nav .drawer-links>a,.home .header nav .drawer-links>a {
    font-size:13px!important
  }
}
@media (max-width:767px) {
  .home .hero-copy {
    justify-content:flex-end!important;
    padding-top:0!important;
    padding-bottom:86px!important;
    translate:0!important
  }
}
@media (max-width:1024px) {
  .header.menu-open .brand {
    visibility:visible!important;
    opacity:1!important;
    display:flex!important
  }
  .header.menu-open nav .drawer-logo {
    display:none!important
  }
  .header.menu-open .logo-white {
    display:none
  }
  .header.menu-open .logo-blue {
    display:block
  }
}
.logo {
  display:block
}
.logo img {
  width:100%;
  height:auto;
  display:block
}
.logo-blue {
  display:none!important
}
@media (max-width:1024px) {
  .header.menu-open .logo-blue {
    display:block!important
  }
}
.about-hero-stack {
  isolation:isolate;
  background:#173a69;
  display:grid
}
.about-hero-stack>.header,.about-hero-stack>.about-page-banner {
  grid-area:1/1
}
.about-hero-stack>.header {
  z-index:5;
  align-self:start
}
.about-page-banner {
  color:#fff;
  background:linear-gradient(#0d264557,#0d26451f 45%,#0d26457a),url(../images/common/about-us-banner.webp) 50%/cover no-repeat;
  align-items:flex-end;
  min-height:clamp(34rem,61vw,48rem);
  display:flex
}
.about-banner-copy {
  width:100%;
  padding-top:10rem;
  padding-bottom:clamp(3rem,6vw,5.5rem)
}
.about-banner-copy h1 {
  margin:0 0 1.25rem;
  font-size:clamp(3.4rem,5vw,5rem);
  font-weight:400;
  line-height:1.08
}
.about-banner-copy .crumb {
  text-transform:uppercase;
  letter-spacing:.25em;
  align-items:center;
  gap:.85rem;
  font-size:.78rem;
  display:flex
}
.about-banner-copy .crumb a,.about-banner-copy .crumb strong {
  color:#fff;
  font-weight:400;
  text-decoration:none
}
.about-banner-copy .crumb a {
  opacity:.68
}
.about-page {
  overflow:hidden
}
.about-story {
  color:#fff;
  background:linear-gradient(90deg,#3991d224,#1f74bb08),url(../images/common/about-censuria.webp) 50%/cover no-repeat;
  min-height:clamp(48rem,81vw,66rem);
  display:flex
}
.about-story-grid {
  grid-template-columns:minmax(0,1fr) minmax(24rem,.9fr);
  align-items:center;
  gap:clamp(3rem,8vw,9rem);
  padding-top:clamp(5rem,9vw,9rem);
  padding-bottom:clamp(5rem,9vw,9rem);
  display:grid
}
.about-story-copy {
  align-self:start;
  max-width:42rem
}
.about-story-copy em,.philosophy-heading em {
  letter-spacing:.34em;
  text-transform:uppercase;
  margin-bottom:2.2rem;
  font-size:.78rem;
  font-style:normal;
  font-weight:500;
  display:block
}
.about-story-copy h2,.philosophy-heading h2 {
  letter-spacing:-.03em;
  margin:0 0 2.5rem;
  font-size:42px;
  font-weight:400;
  line-height:1.15
}
.about-story-copy p {
  color:#ffffffd6;
  max-width:39rem;
  margin:0 0 1.4rem;
  font-size:clamp(.98rem,1.25vw,1.25rem);
  line-height:1.7
}
.about-framework-link {
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-bottom:1px solid #fffc;
  gap:.5rem;
  margin-top:3.6rem;
  padding-bottom:.45rem;
  font-size:.78rem;
  text-decoration:none;
  display:inline-flex
}
.vision-card {
  -webkit-backdrop-filter:blur(12px);
  background:linear-gradient(90deg,#b8dcf8b8,#16273db8);
  border:1px solid #ffffff57;
  border-radius:20px;
  align-self:end;
  margin-bottom:-7rem;
  padding:clamp(2rem,4vw,4rem);
  box-shadow:0 18px 50px #0823402e
}
.vision-card h3 {
  margin:0 0 1.6rem;
  padding-left:4rem;
  font-size:clamp(2rem,3.2vw,3.2rem);
  font-weight:400;
  line-height:1.1;
  position:relative
}
.vision-card h3:before {
  content:"";
  background:#fff;
  width:2.8rem;
  height:1px;
  position:absolute;
  top:.55em;
  left:0
}
.vision-card p {
  color:#fffc;
  margin:0;
  font-size:clamp(1rem,1.28vw,1.3rem);
  line-height:1.65
}
.philosophy-section {
  color:#173f75;
  background:linear-gradient(#ffffff80,#ffffff80),url(../images/common/investment-philosophy.webp) 50%/cover no-repeat;
  padding:clamp(8rem,12vw,12rem) 0 clamp(7rem,10vw,10rem)
}
.philosophy-heading {
  grid-template-columns:minmax(18rem,.9fr) minmax(25rem,1.2fr);
  align-items:end;
  gap:clamp(3rem,8vw,10rem);
  margin-bottom:clamp(4rem,7vw,6.5rem);
  display:grid
}
.philosophy-heading em {
  margin-bottom:2rem
}
.philosophy-heading h2 {
  margin:0
}
.philosophy-heading>p {
  max-width:49rem;
  margin:0;
  font-size:clamp(1rem,1.35vw,1.3rem);
  line-height:1.6
}
.philosophy-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(1.25rem,2vw,2.2rem);
  display:grid
}
.philosophy-card {
  background:#fff;
  border-radius:16px;
  flex-direction:column;
  min-height:22rem;
  padding:clamp(2rem,3vw,3rem);
  display:flex;
  box-shadow:0 12px 36px #1433590d
}
.philosophy-icon {
  color:#8199b9;
  background:#f6f8fa;
  border-radius:50%;
  place-items:center;
  width:4.4rem;
  height:4.4rem;
  margin-bottom:auto;
  display:grid
}
.philosophy-icon svg {
  fill:none;
  stroke:currentColor;
  stroke-width:2px;
  stroke-linecap:round;
  stroke-linejoin:round;
  width:2rem;
  height:2rem
}
.philosophy-card h3 {
  margin:2.2rem 0 1.25rem;
  font-size:clamp(1.6rem,2.2vw,2.2rem);
  font-weight:400;
  line-height:1.15
}
.philosophy-card p {
  color:#6985a8;
  margin:0;
  font-size:clamp(.95rem,1.1vw,1.1rem);
  line-height:1.65
}
.about-brand-banner {
  background:linear-gradient(90deg,#3a97dd1f,#0f70bf0d),url(../images/common/footer-banner.webp) 50%/cover no-repeat;
  place-items:center;
  min-height:clamp(24rem,42vw,35rem);
  display:grid
}
.about-brand-mark {
  opacity:.66;
  width:min(44rem,70vw)
}
.about-brand-mark img {
  filter:brightness(0)invert();
  width:100%;
  height:auto;
  display:block
}
@media (max-width:1024px) {
  .about-hero-stack .header-in,.about-page-banner .container,.about-story .container,.philosophy-section .container {
    padding-left:50px!important;
    padding-right:50px!important
  }
  .about-story-grid {
    grid-template-columns:1fr;
    gap:4rem
  }
  .vision-card {
    justify-self:end;
    width:min(42rem,88%);
    margin-bottom:-3rem
  }
  .philosophy-heading {
    grid-template-columns:1fr;
    gap:2rem
  }
  .philosophy-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media (max-width:768px) {
  .about-hero-stack .header-in,.about-page-banner .container,.about-story .container,.philosophy-section .container {
    padding-left:24px!important;
    padding-right:24px!important
  }
  .about-page-banner {
    min-height:34rem
  }
  .about-banner-copy {
    padding-bottom:3rem
  }
  .about-banner-copy h1 {
    font-size:3rem
  }
  .about-story {
    background-position:58%;
    min-height:auto
  }
  .about-story-grid {
    padding-top:5rem;
    padding-bottom:6rem
  }
  .about-story-copy h2,.philosophy-heading h2 {
    font-size:42px
  }
  .about-story-copy p {
    font-size:1rem
  }
  .vision-card {
    width:100%;
    margin:0;
    padding:2rem
  }
  .vision-card h3 {
    padding-left:3.2rem;
    font-size:2rem
  }
  .philosophy-section {
    padding:6rem 0
  }
  .philosophy-grid {
    grid-template-columns:1fr
  }
  .philosophy-card {
    min-height:19rem
  }
  .about-brand-banner {
    min-height:22rem
  }
  .about-brand-mark {
    width:80vw
  }
}
@media (min-width:768px) and (max-width:1599px) and (orientation:landscape) and (min-height:600px) {
  .about-hero-stack,.about-page-banner {
    height:100vh!important;
    min-height:100vh!important;
    max-height:none!important
  }
  .about-page>section {
    height:auto!important;
    min-height:100vh!important
  }
}
@media (min-width:1600px) {
  .about-hero-stack {
    height:auto!important;
    min-height:0!important
  }
  .about-page-banner {
    height:clamp(500px,68svh,680px)!important;
    min-height:500px!important;
    max-height:680px!important
  }
  .about-page>section {
    height:auto!important;
    min-height:0!important;
    padding-top:96px!important;
    padding-bottom:96px!important
  }
}
@media (max-width:1024px) and (orientation:portrait) {
  .about-hero-stack {
    height:auto!important;
    min-height:0!important
  }
  .about-page>section {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
html body div#root main>section.section.partners-intro-section>.container {
  margin-top:0!important;
  padding-top:0!important
}
html body #root .partners-firm-heading {
  margin-bottom:48px!important
}
html body #root .partners-intro-section .split {
  max-width:540px!important
}
html body #root .partners-intro-section .prose {
  max-width:28rem!important
}
@media (min-width:1025px) {
  html body #root .partners-people-grid {
    row-gap:48px!important
  }
}
.partner-profile-photo>img {
  object-fit:cover;
  object-position:center top;
  width:100%;
  height:100%;
  display:block
}
html body #root .partners-people-grid .partner-profile-body h4 {
  color:var(--b);
  letter-spacing:-.025em;
  margin:0 0 10px;
  font-family:Poppins,sans-serif;
  font-weight:500;
  line-height:1.3;
  font-size:20px!important
}
@media (max-width:767px) {
  html body #root .site-footer .footer-bottom nav {
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:12px 20px!important;
    max-width:31rem!important
  }
  html body #root .site-footer .footer-bottom nav>* {
    letter-spacing:0!important;
    flex:none!important;
    font-size:10px!important
  }
}
html body #root main:not(.home)>.partners-intro-section .split em {
  color:#ffffffb3!important
}
html body #root main:not(.home)>.partners-intro-section .prose p {
  font-size:15px!important
}
html body #root main:not(.home)>.partners-intro-section {
  padding-top:0!important
}
html body #root .partners-people-grid .partner-profile-body p {
  color:#607da4;
  -webkit-line-clamp:2;
  line-clamp:2;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical;
  height:43.4px!important;
  max-height:43.4px!important;
  margin:0 0 24px!important;
  padding:0!important;
  font-size:14px!important;
  font-weight:300!important;
  line-height:1.55!important;
  display:-webkit-box!important;
  overflow:hidden!important
}
html body #root .partners-people-grid .partner-profile-body>a {
  text-align:right!important;
  justify-content:flex-end!important;
  align-items:center!important;
  font-size:14px!important;
  display:flex!important
}
.partner-profile-body .profile-arrow {
  fill:none;
  stroke:currentColor;
  stroke-width:1.6px;
  stroke-linecap:round;
  stroke-linejoin:round;
  width:14px;
  height:14px;
  margin-left:8px
}
.partners-firm-heading {
  margin-bottom:clamp(2rem,4vw,3.5rem)
}
.partners-firm-heading h2 {
  font-size:clamp(2.25rem,4vw,3.5rem)
}
.partners-people-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.25rem,2.4vw,2rem);
  display:grid
}
.partner-profile-card {
  background:#fff;
  border:1px solid #173a6914;
  border-radius:16px;
  flex-direction:column;
  min-width:0;
  display:flex;
  overflow:hidden;
  box-shadow:0 16px 44px #173a6914
}
.partner-profile-photo {
  aspect-ratio:1.08;
  background:linear-gradient(145deg,#e9eef4,#bfd0df);
  place-items:center;
  display:grid;
  overflow:hidden
}
.partner-profile-photo span {
  aspect-ratio:1;
  color:#fff;
  letter-spacing:.04em;
  background:linear-gradient(145deg,#31567f,#8caac3);
  border:1px solid #fffc;
  border-radius:50%;
  place-items:center;
  width:clamp(5.25rem,8vw,7rem);
  font:400 clamp(1.65rem,3vw,2.4rem)/1 DM Sans,sans-serif;
  display:grid;
  box-shadow:0 12px 30px #173a6924
}
.partner-profile-body {
  flex-direction:column;
  flex:1;
  padding:clamp(1.35rem,2.5vw,2rem);
  display:flex
}
.partner-profile-body h3 {
  color:var(--b);
  margin:.15rem 0 .7rem;
  font-size:clamp(1.3rem,2vw,1.65rem);
  font-weight:400
}
.partner-profile-body p {
  color:#173a699e;
  margin:0 0 1.5rem;
  font-size:.98rem;
  line-height:1.65
}
.partner-profile-body a {
  color:var(--b);
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid #173a692e;
  border-radius:999px;
  align-self:flex-start;
  margin-top:auto;
  padding:.72rem 1rem;
  font:500 .7rem/1 Poppins,sans-serif;
  text-decoration:none;
  transition:background .25s,color .25s,border-color .25s,transform .25s
}
.partner-profile-body a span {
  margin-left:.35rem;
  font-size:1rem
}
@media (max-width:1024px) {
  .partners-people-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media (max-width:640px) {
  .partners-people-grid {
    grid-template-columns:1fr
  }
  .partner-profile-photo {
    aspect-ratio:1.35
  }
  .partner-profile-body {
    padding:1.35rem
  }
}
.partner-profile-card {
  background:0 0;
  border:0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 18px 46px #173a6914
}
.partner-profile-photo {
  aspect-ratio:1.08;
  background:linear-gradient(145deg,#eee8e0,#d9cfc3);
  border-radius:20px 20px 0 0
}
.partner-profile-body {
  z-index:1;
  background:#fff;
  border-radius:20px 20px 0 0;
  margin-top:-24px;
  padding:28px 32px 0;
  position:relative
}
.partner-profile-body small {
  color:#718caf;
  letter-spacing:0;
  text-transform:none;
  margin-bottom:8px;
  font:400 .78rem/1.4 DM Sans,sans-serif
}
.partner-profile-body h3 {
  letter-spacing:-.025em;
  margin:0 0 10px;
  font-size:clamp(1.25rem,1.7vw,1.55rem);
  font-weight:500
}
.partner-profile-body p {
  color:#607da4;
  -webkit-line-clamp:2;
  line-clamp:2;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical;
  height:calc(3.1em + 24px);
  margin:0;
  padding-bottom:24px;
  font-size:.96rem;
  font-weight:300;
  line-height:1.55;
  display:-webkit-box;
  overflow:hidden
}
.partner-profile-body a {
  width:calc(100% + 64px);
  color:var(--b);
  letter-spacing:.035em;
  background:#fff;
  border:0;
  border-top:1px solid #173a6914;
  border-radius:0;
  justify-content:flex-end;
  align-self:center;
  margin:0 -32px;
  padding:22px 32px;
  font:500 .72rem/1 Poppins,sans-serif;
  transform:none
}
.partner-profile-body a:hover {
  color:var(--s);
  background:#fff;
  border-color:#173a6914;
  transform:none
}
.partner-profile-body a span {
  margin-left:.45rem;
  font-size:1rem;
  display:inline-block
}
@media (max-width:640px) {
  .partner-profile-photo {
    aspect-ratio:1.08
  }
  .partner-profile-body {
    margin-top:-20px;
    padding:24px 24px 0
  }
  .partner-profile-body a {
    width:calc(100% + 48px);
    margin:0 -24px;
    padding:20px 24px
  }
}
html body #root .banner-stack>.partners-banner {
  background-color:#0000!important;
  background-image:url(../images/common/partners-banner.webp)!important;
  background-position:50%!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  border:0!important;
  margin:0!important
}
.partners-intro-section {
  z-index:1;
  color:#fff;
  background-color:#0000;
  background-image:url(../images/common/our-partners.webp);
  background-position:50%;
  background-repeat:no-repeat;
  background-size:cover;
  border:0;
  align-items:flex-start;
  min-height:clamp(34rem,46.875vw,56.25rem);
  margin-top:-1px;
  display:flex;
  position:relative;
  overflow:hidden
}
.partners-intro-section>.container {
  width:min(100% - clamp(2rem,8vw,10rem),1240px);
  padding-top:clamp(80px,8vw,150px);
  padding-bottom:60px
}
.partners-intro-section .split {
  max-width:620px;
  display:block
}
.partners-intro-section h2,.partners-intro-section em {
  color:#fff
}
.partners-intro-section em {
  letter-spacing:.28em;
  margin-bottom:1.5rem;
  color:#ffffffc7!important
}
.partners-intro-section h2 {
  font-size:clamp(2.75rem,4vw,4rem);
  font-weight:300
}
.partners-intro-section .prose {
  color:#ffffffe6;
  max-width:620px;
  margin-top:2rem
}
.partners-intro-section .prose p {
  margin:0 0 1.55rem;
  font-size:15px;
  line-height:1.72
}
@media (max-width:760px) {
  .partners-intro-section {
    background-image:url(../images/common/our-partners.webp);
    background-position:68%;
    align-items:flex-start;
    min-height:36rem
  }
  .partners-intro-section>.container {
    width:100%;
    padding:64px 24px 48px
  }
  .partners-intro-section .split {
    max-width:34rem;
    display:block
  }
  .partners-intro-section .prose {
    margin-top:1.5rem
  }
}
@media (max-width:1024px) {
  html.nav-open body #root .header.menu-open,html.nav-open body #root .header.scroll-fixed.menu-open,html.nav-open body #root .header.menu-open .header-in {
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:0 0!important
  }
  html.nav-open body #root .header.menu-open nav.open {
    z-index:10000!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    box-shadow:none!important;
    background:#fff!important;
    margin:0!important;
    padding:0!important;
    position:fixed!important;
    inset:0!important;
    transform:translate(0,0)!important
  }
  html.nav-open body #root .header.menu-open .brand,html.nav-open body #root .header.menu-open .menu {
    z-index:10001!important
  }
}
.about-page+.site-footer {
  margin-top:-1px
}
.framework-mandate {
  color:#fff;
  background:url(../images/common/investment-mandate.webp) 50%/cover no-repeat;
  margin-top:-1px!important;
  padding-top:0!important
}
.banner-stack>.framework-banner {
  background-image:linear-gradient(#0c26481f,#0c26480a 55%,#0c264852),url(../images/common/framework-banner.webp)!important;
  background-position:50%!important;
  background-size:cover!important
}
.framework-strategic {
  color:#fff;
  background:#5b98d0 url(../images/common/strategic-focus.webp) 50%/cover no-repeat;
  align-items:flex-start;
  min-height:clamp(680px,52vw,900px);
  display:flex;
  position:relative
}
.framework-strategic>.container {
  z-index:1;
  position:relative
}
.framework-strategic em,.framework-strategic h2,.framework-strategic .prose,.framework-strategic .prose p {
  color:#fff!important
}
.framework-strategic-copy {
  width:min(100%,28rem)
}
.framework-strategic-copy em {
  margin-bottom:30px
}
.framework-strategic-copy h2 {
  margin:0 0 34px
}
.framework-strategic-copy p {
  color:#ffffffe0;
  margin:0 0 26px;
  font:300 15px/1.7 Poppins,sans-serif
}
html body div#root main .framework-strategic .framework-strategic-copy em {
  color:#ffffffb3!important;
  opacity:1!important;
  letter-spacing:.34em!important;
  text-transform:uppercase!important;
  font-family:Poppins,sans-serif!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.4!important
}
.framework-mandate em,.framework-mandate h2,.framework-mandate .prose {
  color:#fff!important
}
html body div#root main .framework-mandate .heading em {
  color:#ffffffb3!important;
  opacity:1!important;
  letter-spacing:.34em!important;
  text-transform:uppercase!important;
  font-family:Poppins,sans-serif!important;
  font-size:12px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.4!important
}
.framework-mandate .card {
  border:0;
  box-shadow:0 18px 44px #07223e24
}
.framework-mandate .philosophy-card h3 {
  color:#173a69!important;
  opacity:1!important
}
.framework-mandate .philosophy-card p {
  color:#173a69b8!important
}
.framework-mandate .philosophy-icon img {
  object-fit:contain;
  width:24px;
  height:24px;
  display:block
}
.framework-meta {
  color:#ffffffc7;
  margin:36px 0 0;
  font:300 14px/1.8 Poppins,sans-serif
}
.framework-values-heading {
  color:#315985;
  margin:0 0 28px;
  font:400 18px/1.4 Poppins,sans-serif
}
.framework-values-section {
  padding-bottom:0!important
}
.framework-values-grid {
  scroll-behavior:smooth;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  padding:24px clamp(24px,8vw,160px) 20px calc(50vw - 50% + 4px);
  scroll-padding-inline:clamp(24px,8vw,160px);
  overflow-y:visible;
  grid-template-columns:none!important;
  grid-auto-columns:clamp(320px,30%,460px)!important;
  grid-auto-flow:column!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100vw!important;
  max-width:none!important;
  margin-bottom:-20px!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:0!important;
  display:grid!important;
  overflow-x:auto!important
}
.framework-values-grid:active {
  cursor:grabbing
}
.framework-values-grid::-webkit-scrollbar {
  display:none
}
.framework-values-section>.container {
  width:min(100% - clamp(2rem,8vw,10rem),1240px)!important;
  max-width:100%!important;
  overflow:visible!important
}
.framework-values-section {
  overflow:visible!important
}
.framework-values-grid>.framework-value-card {
  overflow:visible;
  flex-direction:column!important;
  align-items:flex-start!important;
  height:100%!important;
  min-height:280px!important;
  margin:0!important;
  padding:28px!important;
  display:flex!important
}
.framework-values-grid>.framework-value-card.reveal {
  opacity:0;
  transition:opacity .75s ease-out,transform .85s cubic-bezier(.2,.7,.2,1),box-shadow .55s;
  transform:translate(72px)
}
.framework-values-grid>.framework-value-card.reveal:nth-child(2) {
  transition-delay:80ms
}
.framework-values-grid>.framework-value-card.reveal:nth-child(3) {
  transition-delay:.16s
}
.framework-values-grid>.framework-value-card.reveal:nth-child(4) {
  transition-delay:.24s
}
.framework-values-grid>.framework-value-card.reveal:nth-child(5) {
  transition-delay:.32s
}
.framework-values-grid>.framework-value-card.reveal.shown {
  opacity:1;
  transform:translate(0,0)
}
.framework-values-grid>.framework-value-card .philosophy-icon {
  flex:none
}
.framework-values-grid>.framework-value-card h3 {
  margin-top:0!important;
  margin-bottom:14px!important
}
.framework-values-grid>.framework-value-card p {
  margin-top:0!important;
  margin-bottom:0!important
}
.framework-values-grid:after {
  content:"Long-Term Compounding";
  box-sizing:border-box;
  white-space:pre-wrap;
  color:#173a69;
  opacity:0;
  background-color:#f1f2f4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='30' fill='white'/%3E%3Cg fill='none' stroke='%2383a0c7' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='27' cy='25' r='6'/%3E%3Cpath d='M17 47v-6c0-5 4-9 9-9h3c5 0 9 4 9 9v6'/%3E%3Cpath d='M42 21a6 6 0 0 1 0 11M43 34c4 0 7 3 7 7v6'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 56'%3E%3Ctext x='0' y='18' fill='%236f87a8' font-family='Poppins,Arial,sans-serif' font-size='15' font-weight='300'%3EClear pathways to long-term%3C/text%3E%3Ctext x='0' y='43' fill='%236f87a8' font-family='Poppins,Arial,sans-serif' font-size='15' font-weight='300'%3Ecompounding.%3C/text%3E%3C/svg%3E");
  background-position:28px 28px,28px 174px;
  background-repeat:no-repeat,no-repeat;
  background-size:48px 48px,calc(100% - 56px) 56px;
  border-radius:10px;
  min-width:0;
  height:100%;
  min-height:280px;
  margin:0;
  padding:104px 28px 28px;
  font:400 22px/1.3 Poppins,sans-serif;
  transition:opacity .75s ease-out .32s,transform .85s cubic-bezier(.2,.7,.2,1) .32s;
  overflow:visible;
  transform:translate(72px);
  display:none!important
}
.framework-values-grid:has(>.framework-value-card.shown):after {
  opacity:1;
  transform:translate(0,0)
}
@media (prefers-reduced-motion:reduce) {
  .framework-values-grid>.framework-value-card.reveal,.framework-values-grid:after {
    opacity:1;
    transition:none;
    transform:none
  }
}
.framework-value-card {
  z-index:1;
  position:relative;
  min-height:280px!important;
  box-shadow:none!important;
  background:#f1f2f4!important;
  border:0!important;
  border-radius:10px!important;
  margin:0!important;
  padding:28px!important
}
.framework-value-card .philosophy-icon {
  background:#fff;
  width:48px;
  height:48px;
  margin-bottom:22px
}
.framework-value-card .philosophy-icon svg {
  width:24px;
  height:24px
}
.framework-value-card h3 {
  color:#173a69!important;
  margin:0 0 16px!important
}
.framework-value-card p {
  color:#173a69a6!important;
  margin:0!important
}
@media (hover:hover) and (pointer:fine) {
  .framework-values-grid>.framework-value-card.reveal.shown:hover {
    z-index:10;
    transform:translateY(-10px);
    transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s!important;
    box-shadow:0 20px 40px -10px #00000014,0 10px 20px -5px #0000000a!important
  }
}
.framework-avoid {
  background:linear-gradient(90deg,#fffffffa,#fff3),url(../images/common/what-we-avoid.webp) 50%/cover no-repeat
}
.framework-avoid .heading {
  display:none!important
}
.framework-avoid>.container:before {
  content:"What we avoid:";
  color:#315985;
  margin:0 0 28px;
  font:400 18px/1.4 Poppins,sans-serif;
  display:block
}
.framework-avoid-list {
  gap:0;
  max-width:760px;
  display:grid
}
.framework-avoid-list article {
  border-bottom:0;
  grid-template-columns:44px 1fr;
  gap:18px;
  padding:18px 0;
  display:grid
}
.framework-avoid-list article>span {
  color:#173a6966;
  font:400 12px Poppins,sans-serif
}
.framework-avoid-list h3 {
  color:#173a69;
  margin:0 0 5px;
  font:400 22px/1.3 Poppins,sans-serif
}
.framework-avoid-list p {
  color:#173a69a3;
  margin:0;
  font:300 15px/1.65 Poppins,sans-serif
}
.framework-ecosystem {
  align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(48px,6vw,96px)!important
}
.framework-ecosystem-section {
  background:#fff url(../images/common/ecosystem-approach-bg.webp) 50%/cover no-repeat
}
.framework-ecosystem-visual {
  background:#dceaf6;
  border-radius:18px;
  align-items:flex-end;
  min-height:560px;
  padding:32px;
  display:flex;
  position:relative;
  overflow:hidden
}
.framework-ecosystem-visual:before {
  content:"";
  transform-origin:50%;
  will-change:transform;
  background:url(../images/common/ecosystem-approach.webp) 50%/cover no-repeat;
  transition:transform 2.4s cubic-bezier(.2,.7,.2,1);
  position:absolute;
  inset:0;
  transform:scale(1.12)
}
.framework-ecosystem.shown .framework-ecosystem-visual:before {
  transform:scale(1)
}
.framework-ecosystem-visual>div {
  z-index:1;
  color:#fff;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  background:#ffffff47;
  border:1px solid #ffffff7a;
  border-radius:14px;
  gap:7px;
  width:min(100%,360px);
  padding:26px 30px;
  display:grid;
  position:relative;
  box-shadow:0 12px 36px #11315324
}
@media (prefers-reduced-motion:reduce) {
  .framework-ecosystem-visual:before {
    transition:none;
    transform:scale(1)
  }
}
.framework-ecosystem-visual strong {
  font:500 clamp(20px,2vw,24px)/1.3 Poppins,sans-serif
}
.framework-ecosystem-visual span {
  padding-left:16px;
  font:300 13px Poppins,sans-serif;
  position:relative
}
.framework-ecosystem-visual span:before {
  content:"•";
  color:#fff;
  position:absolute;
  top:0;
  left:0
}
.framework-ecosystem>div:last-child>p {
  color:#173a69b8;
  font:300 15px/1.7 Poppins,sans-serif
}
.framework-ecosystem ol {
  counter-reset:ecosystem;
  margin:30px 0 0;
  padding:0;
  list-style:none
}
.framework-ecosystem li {
  counter-increment:ecosystem;
  color:#173a69b8;
  border-bottom:1px solid #173a691f;
  padding:20px 0;
  font:300 15px/1.5 Poppins,sans-serif
}
.framework-ecosystem li:before {
  content:"0" counter(ecosystem);
  color:#173a6959;
  width:42px;
  display:inline-block
}
@media (max-width:1024px) {
  .framework-mandate .four {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .framework-strategic:before {
    content:"";
    z-index:0;
    pointer-events:none;
    background:linear-gradient(90deg,#143b6794,#143b6761 65%,#143b673d);
    position:absolute;
    inset:0
  }
}
@media (max-width:899px),(min-width:900px) and (max-width:1024px) and (orientation:portrait) {
  .framework-ecosystem {
    grid-template-columns:1fr!important
  }
  .framework-ecosystem-visual {
    min-height:420px
  }
  .framework-ecosystem li {
    grid-template-columns:42px minmax(0,1fr);
    align-items:start;
    display:grid
  }
  .framework-ecosystem li:before {
    width:auto;
    display:block
  }
}
@media (max-width:767px) {
  .framework-mandate .four {
    grid-template-columns:1fr
  }
  .framework-strategic {
    background-position:62%;
    min-height:620px
  }
  .framework-strategic:before {
    background:#143b677a
  }
  .framework-strategic-copy {
    width:min(100%,34rem)
  }
  .framework-strategic-copy p {
    font-size:15px
  }
  .framework-value-card {
    min-height:260px!important;
    padding:30px!important
  }
  .framework-values-grid {
    grid-auto-columns:minmax(260px,84vw)!important
  }
  .framework-values-grid:after {
    background-position:30px 30px;
    min-height:260px;
    padding:108px 30px 30px
  }
  .framework-ecosystem {
    grid-template-columns:1fr!important
  }
  .framework-ecosystem-visual {
    min-height:420px
  }
  .framework-ecosystem li {
    grid-template-columns:42px minmax(0,1fr);
    align-items:start;
    display:grid
  }
  .framework-ecosystem li:before {
    width:auto;
    display:block
  }
  .framework-avoid-list article {
    grid-template-columns:34px 1fr;
    gap:10px
  }
}
html body #root main:not(.home):not(.about-page)>.section.framework-mandate {
  background-image:url(../images/common/investment-mandate.webp)!important;
  padding-top:0!important
}
html body #root main>.framework-mandate>.container {
  padding-top:clamp(40px,5vw,72px)
}
@media (min-width:1025px) {
  html body #root .home>.hero>.hero-copy {
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root .home>.hero>.hero-copy {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
}
@media (max-width:767px) {
  html body #root .home>.hero>.hero-copy {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
}
html body #root .header nav .drawer-links>a {
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-family:Poppins,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.4!important
}
html body #root .banner-stack>.banner {
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:stretch!important;
  display:flex!important
}
html body #root .banner-stack>.banner>.container {
  margin:0 auto!important;
  padding-top:0!important;
  padding-bottom:86px!important
}
html body #root .banner-stack>.banner h1 {
  letter-spacing:-.025em!important;
  margin:0 0 1rem!important;
  font-family:Poppins,sans-serif!important;
  font-size:48px!important;
  font-weight:400!important;
  line-height:1.15!important
}
html body #root .banner-stack>.banner .crumb {
  letter-spacing:.25em!important;
  text-transform:uppercase!important;
  align-items:center!important;
  gap:.85rem!important;
  font-family:Poppins,sans-serif!important;
  font-size:.78rem!important;
  font-weight:400!important;
  display:flex!important
}
html body #root main:not(.home)>.section em {
  color:#173a69b3!important;
  letter-spacing:.34em!important;
  font-family:Poppins,sans-serif!important;
  font-size:12px!important;
  font-weight:400!important
}
html body #root main:not(.home)>.section h2 {
  letter-spacing:-.035em!important;
  font-family:Poppins,sans-serif!important;
  font-size:42px!important;
  font-weight:400!important;
  line-height:1.18!important
}
html body #root main:not(.home)>.section .prose,html body #root main:not(.home)>.section .prose p {
  font-family:Poppins,sans-serif!important;
  font-size:16px!important;
  font-weight:300!important;
  line-height:1.7!important
}
html body #root main:not(.home)>.section .card h3 {
  font-family:Poppins,sans-serif!important;
  font-size:24px!important;
  font-weight:400!important;
  line-height:1.3!important
}
html body #root main:not(.home)>.section .card p {
  font-family:Poppins,sans-serif!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.65!important
}
@media (min-width:768px) and (max-width:1599px) and (orientation:landscape) and (min-height:600px) {
  html body #root .banner-stack,html body #root .banner-stack>.banner {
    height:100svh!important;
    min-height:100svh!important;
    max-height:none!important
  }
}
@media (min-width:1600px) {
  html body #root .banner-stack,html body #root .banner-stack>.banner {
    height:auto!important;
    min-height:500px!important;
    max-height:680px!important
  }
  html body #root .banner-stack>.banner {
    height:clamp(500px,68svh,680px)!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root .banner-stack>.banner h1,html body #root main:not(.home)>.section h2 {
    font-size:36px!important
  }
  html body #root .banner-stack>.banner h1 {
    font-size:42px!important
  }
}
@media (max-width:767px) {
  html body #root .banner-stack,html body #root .banner-stack>.banner {
    height:auto!important;
    min-height:360px!important;
    max-height:480px!important
  }
  html body #root .banner-stack>.banner {
    height:clamp(360px,58svh,480px)!important
  }
  html body #root .banner-stack>.banner>.container {
    padding-bottom:48px!important
  }
  html body #root .banner-stack>.banner h1 {
    font-size:38px!important
  }
  html body #root main:not(.home)>.section h2 {
    font-size:32px!important
  }
  html body #root main:not(.home)>.section .prose,html body #root main:not(.home)>.section .prose p {
    font-size:15px!important
  }
}
@media (min-width:1025px) {
  html body #root .banner-stack>.header .header-in,html body #root .banner-stack>.banner>.container,html body #root main:not(.home):not(.about-page)>.section>.container {
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
  html body #root main:not(.home):not(.about-page)>.section {
    padding-top:96px!important;
    padding-bottom:96px!important
  }
}
@media (min-width:1025px) and (max-width:1599px) and (orientation:landscape) {
  html body #root main:not(.home):not(.about-page)>.section {
    padding-top:120px!important;
    padding-bottom:120px!important
  }
}
@media (max-width:767px) {
  html body div#root main:not(.home):not(.about-page)>section.section.framework-mandate {
    padding-top:80px!important
  }
  html body div#root main>section.framework-mandate>.container {
    padding-top:0!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root .banner-stack>.header .header-in,html body #root .banner-stack>.banner>.container,html body #root main:not(.home):not(.about-page)>.section>.container {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
  html body #root main:not(.home):not(.about-page)>.section {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
@media (max-width:767px) {
  html body #root .banner-stack>.header .header-in,html body #root .banner-stack>.banner>.container,html body #root main:not(.home):not(.about-page)>.section>.container {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
  html body #root main:not(.home):not(.about-page)>.section {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
html body #root main:not(.home)>.section .heading {
  margin-bottom:clamp(40px,5vw,72px)!important
}
html body #root main:not(.home)>.section .grid {
  gap:clamp(20px,2vw,28px)!important
}
html body #root main:not(.home)>.section .split {
  gap:48px clamp(48px,8vw,128px)!important
}
html body #root .home>.header:not(.scroll-fixed) {
  width:100%!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:0 0!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important
}
html body #root .home>.header .header-in {
  align-items:center!important;
  min-height:72px!important;
  padding-top:0!important;
  padding-bottom:0!important
}
html body #root .home>.header .logo {
  width:clamp(10rem,9.7vw,15.5rem)!important;
  height:auto!important
}
html body #root .home>.header nav {
  gap:24px!important
}
html body #root .home>.header nav a {
  padding-top:.45rem!important;
  padding-bottom:.45rem!important;
  font-family:Poppins,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important
}
html body div#root main:not(.home):not(.about-page)>section.section.framework-values-section {
  padding-bottom:0!important
}
html body div#root main:not(.home):not(.about-page)>section.section.framework-mandate .heading {
  margin-bottom:24px!important
}
html body div#root main:not(.home):not(.about-page)>section.section.framework-strategic {
  align-items:flex-start!important
}
html body div#root main .framework-strategic .framework-strategic-copy {
  width:100%!important;
  max-width:28rem!important
}
html body div#root main .framework-strategic>.container {
  margin-top:0!important;
  margin-bottom:0!important
}
@media (min-width:1025px) and (max-width:1599px) and (orientation:landscape) {
  html body div#root main:not(.home):not(.about-page)>section.section.framework-strategic,html body div#root main:not(.home):not(.about-page)>section.section.framework-mandate {
    padding-top:120px!important
  }
  html body div#root main>section.framework-mandate>.container {
    padding-top:0!important
  }
}
@media (min-width:1025px) {
  html body #root .home>.header .header-in {
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root .home>.header .header-in {
    width:100%!important;
    max-width:none!important;
    min-height:68px!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
}
@media (max-width:767px) {
  html body #root .home>.header .header-in {
    width:100%!important;
    max-width:none!important;
    min-height:64px!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
  html body #root .home>.header .logo {
    width:9rem!important
  }
  html body #root .site-footer .footer-bottom nav {
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:6px 14px!important;
    width:100%!important;
    max-width:32rem!important;
    display:flex!important
  }
  html body #root .site-footer .footer-bottom nav>a {
    letter-spacing:0!important;
    white-space:nowrap!important;
    flex:none!important;
    margin:0!important;
    padding:2px 0!important;
    font-size:clamp(8px,2.2vw,9px)!important
  }
}
@media (max-width:899px),(min-width:900px) and (max-width:1024px) and (orientation:portrait) {
  html body div#root main.about-page>section.about-story,html body div#root main.about-page>section.philosophy-section {
    box-sizing:border-box!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-top:80px!important;
    padding-bottom:80px!important;
    overflow:visible!important
  }
  html body div#root main.about-page>section.about-story>.about-story-grid,html body div#root main.about-page>section.philosophy-section>.container {
    height:auto!important;
    min-height:0!important;
    margin-top:0!important;
    margin-bottom:0!important
  }
}
@media (min-width:1025px) and (max-width:1599px) and (orientation:landscape) {
  html body div#root main.about-page>section.philosophy-section {
    box-sizing:border-box!important;
    padding-top:120px!important;
    padding-bottom:120px!important
  }
  html body div#root main.about-page>section.philosophy-section>.container {
    height:auto!important;
    min-height:0!important;
    margin-top:auto!important;
    margin-bottom:auto!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body div#root main.about-page>section.philosophy-section {
    box-sizing:border-box!important;
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important;
    overflow:visible!important
  }
  html body div#root main.about-page>section.philosophy-section>.container {
    height:auto!important;
    min-height:0!important;
    margin-top:0!important;
    margin-bottom:0!important
  }
}
@media (min-width:1025px) and (max-width:1599px) and (orientation:landscape) {
  html body div#root main.about-page>section.about-story,html body div#root main.about-page>section.philosophy-section {
    padding-top:120px!important;
    padding-bottom:120px!important
  }
}
.site-footer .brand-attribution,.site-footer .brand-attribution:hover,.site-footer .brand-attribution:focus,.site-footer .brand-attribution:visited,.site-footer .brand-attribution:active {
  color:#fff!important;
  opacity:.28!important;
  text-decoration:none!important
}
.about-hero-stack,.banner-stack {
  isolation:auto!important
}
html body #root .header.scroll-fixed {
  z-index:9999!important;
  background:#173a69f5!important;
  overflow:visible!important
}
html body #root .header.scroll-fixed .header-in {
  z-index:2;
  position:relative
}
.about-story,.philosophy-section {
  z-index:1;
  position:relative
}
@media (min-width:768px) and (max-width:1599px) and (orientation:landscape) and (min-height:600px) {
  html body #root .about-page>.about-story,html body #root .about-page>.philosophy-section {
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    padding-top:clamp(48px,7vh,72px)!important;
    padding-bottom:clamp(48px,7vh,72px)!important;
    overflow:hidden!important
  }
  html body #root .about-page>.philosophy-section>.container {
    flex-direction:column!important;
    justify-content:center!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important
  }
}
@media (min-width:1025px) {
  html body #root .about-hero-stack>.interior-header .header-in,html body #root .about-page-banner>.about-banner-copy,html body #root .about-page>.about-story>.about-story-grid {
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
  html body #root .about-page>.about-story>.about-story-grid {
    padding-top:0!important;
    padding-bottom:0!important
  }
  html body #root .about-page>.about-story .about-story-copy {
    align-self:start!important;
    margin-top:0!important;
    padding-top:0!important
  }
}
@keyframes header-slide-down {
  0% {
    transform:translateY(-100%)
  }
  to {
    transform:translateY(0)
  }
}
html body #root .header.scroll-fixed {
  animation:.38s ease-out both header-slide-down;
  z-index:2000!important;
  -webkit-backdrop-filter:blur(10px)saturate(115%)!important;
  backdrop-filter:blur(10px)saturate(115%)!important;
  background:#173a69db!important;
  width:100%!important;
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  box-shadow:0 8px 24px #071c3524!important
}
@media (prefers-reduced-motion:reduce) {
  html body #root .header.scroll-fixed {
    animation:none
  }
}
html body #root .header.interior-header .header-in {
  align-items:center!important;
  min-height:72px!important;
  padding-top:0!important;
  padding-bottom:0!important
}
html body #root .header.interior-header nav a {
  padding-top:.45rem!important;
  padding-bottom:.45rem!important
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root .header.interior-header .header-in {
    min-height:68px!important
  }
}
@media (max-width:767px) {
  html body #root .header.interior-header .header-in {
    min-height:64px!important
  }
  html body #root .header.interior-header .logo {
    width:9rem!important
  }
}
@media (min-width:1025px) {
  html body #root .about-page>.about-story {
    flex-direction:column!important;
    align-items:stretch!important;
    display:flex!important
  }
  html body #root .about-page>.about-story>.about-story-grid {
    flex:auto!important;
    align-self:center!important;
    align-items:stretch!important;
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    margin:0 auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
  html body #root .about-page>.about-story .about-story-copy {
    align-self:start!important;
    margin-top:0!important
  }
  html body #root .about-page>.about-story .vision-card {
    align-self:end!important;
    margin-top:auto!important;
    margin-bottom:0!important
  }
  .about-hero-stack>.interior-header .header-in,.about-page-banner>.about-banner-copy {
    width:min(100% - 160px,1240px)!important;
    max-width:1240px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .about-hero-stack>.interior-header .header-in,.about-page-banner>.about-banner-copy {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
}
@media (max-width:767px) {
  .about-hero-stack>.interior-header .header-in,.about-page-banner>.about-banner-copy {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
}
@media (min-width:1025px) {
  .about-page>.about-story {
    display:flex!important
  }
  .about-page>.about-story>.about-story-grid {
    flex:auto!important;
    align-self:stretch!important;
    align-items:stretch!important
  }
  .about-page>.about-story .about-story-copy {
    align-self:start!important
  }
  .about-page>.about-story .vision-card {
    align-self:end!important;
    margin-top:auto!important;
    margin-bottom:0!important
  }
}
@media (min-width:1600px) {
  .about-page>.about-story {
    padding-top:96px!important;
    padding-bottom:96px!important
  }
}
@media (max-width:1024px) and (orientation:portrait) {
  .about-page>.about-story {
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
@media (max-width:767px) and (orientation:landscape) {
  .about-page>.about-story {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
@media (min-width:1025px) {
  .about-page>.about-story {
    display:flex!important
  }
  .about-page>.about-story>.about-story-grid {
    flex:auto!important;
    align-self:stretch!important;
    align-items:stretch!important
  }
  .about-page>.about-story .about-story-copy {
    align-self:start!important
  }
  .about-page>.about-story .vision-card {
    align-self:end!important;
    margin-top:auto!important;
    margin-bottom:0!important
  }
}
@media (min-width:1600px) {
  .about-page>.about-story {
    padding-top:96px!important;
    padding-bottom:96px!important
  }
}
@media (max-width:1024px) and (orientation:portrait) {
  .about-page>.about-story {
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
@media (max-width:767px) and (orientation:landscape) {
  .about-page>.about-story {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
.header.interior-header {
  -webkit-backdrop-filter:blur(10px)saturate(115%);
  backdrop-filter:blur(10px)saturate(115%);
  background:#173a6980;
  border-bottom:1px solid #ffffff12
}
.header.interior-header .header-in {
  min-height:86px
}
.header.interior-header nav {
  gap:24px
}
.header.interior-header nav a {
  font-family:Poppins,sans-serif;
  font-size:13px;
  font-weight:400
}
.site-footer {
  color:#fff;
  background:#285c8e;
  padding:0
}
.footer-brand-banner {
  background:linear-gradient(90deg,#2789d014,#0e67b30a),url(../images/common/footer-banner.webp) 50%/cover no-repeat;
  place-items:center;
  min-height:clamp(25rem,42vw,35rem);
  display:grid
}
.footer-watermark {
  color:#ffffff94;
  justify-content:center;
  align-items:center;
  gap:clamp(2rem,5vw,5rem);
  width:min(72rem,78vw);
  display:flex
}
.footer-watermark img {
  opacity:.72;
  filter:brightness(0)invert();
  width:clamp(13rem,25vw,24rem);
  height:auto;
  display:block
}
.footer-watermark span {
  white-space:nowrap;
  letter-spacing:.08em;
  font-family:Noto Serif SC,Microsoft YaHei,serif;
  font-size:clamp(3.6rem,8vw,8rem);
  font-weight:600
}
.footer-bottom {
  text-align:center;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  background:#1f4a77e6;
  padding:2rem clamp(1.5rem,5vw,5rem) 1.5rem
}
.footer-bottom nav {
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:24px;
  display:flex
}
.footer-bottom nav a,.footer-bottom nav span {
  color:#ffffffc7;
  text-transform:uppercase;
  white-space:nowrap;
  padding:.2rem 0;
  font-family:Poppins,sans-serif;
  font-size:12px;
  font-weight:400;
  text-decoration:none
}
.footer-bottom nav a:hover {
  color:#fff
}
.footer-bottom p {
  color:#ffffff7a;
  margin:.9rem 0 0;
  font-family:Poppins,sans-serif;
  font-size:12px;
  line-height:1.6
}
@media (max-width:1024px) {
  .header.interior-header .header-in {
    padding-left:50px!important;
    padding-right:50px!important
  }
  .header.interior-header.menu-open {
    -webkit-backdrop-filter:none;
    background:0 0;
    border-color:#0000
  }
  .footer-watermark {
    width:82vw
  }
}
@media (max-width:767px) {
  .header.interior-header .header-in {
    min-height:76px;
    padding-left:24px!important;
    padding-right:24px!important
  }
  .footer-brand-banner {
    min-height:22rem
  }
  .footer-watermark {
    flex-direction:column;
    gap:1rem;
    width:88vw
  }
  .footer-watermark img {
    width:min(16rem,72vw)
  }
  .footer-watermark span {
    font-size:clamp(2.7rem,14vw,4.5rem)
  }
  .footer-bottom {
    padding:1.8rem 24px 1.4rem
  }
  .footer-bottom nav {
    gap:.75rem 1.25rem
  }
  .footer-bottom nav a,.footer-bottom nav span,.footer-bottom p {
    font-size:10px
  }
}
@media (max-width:1024px) {
  .header.menu-open .logo-white {
    display:block!important
  }
  .header.menu-open .logo-blue {
    display:none!important
  }
  .header.interior-header.menu-open {
    -webkit-backdrop-filter:blur(10px)saturate(115%);
    backdrop-filter:blur(10px)saturate(115%);
    background:#173a6980;
    border-bottom-color:#ffffff12
  }
  .header.interior-header .menu.open .close-icon {
    stroke:#fff
  }
}
.banner-stack>.banner,.about-page-banner {
  background-image:linear-gradient(#0c26481f,#0c26480a 55%,#0c264847),url(../images/common/about-us-banner.webp);
  background-position:50%;
  background-repeat:no-repeat;
  background-size:cover;
  align-items:flex-end;
  height:100vh;
  min-height:100svh;
  max-height:none;
  display:flex
}
.banner-stack>.banner {
  align-items:flex-end;
  display:flex
}
.banner-stack>.banner .container,.about-banner-copy {
  width:min(100% - clamp(2rem,8vw,10rem),1240px);
  padding-top:9rem;
  padding-bottom:clamp(3rem,7vh,5rem)
}
.banner-stack>.banner h1,.about-banner-copy h1 {
  letter-spacing:-.025em;
  margin:0 0 1rem;
  font-family:Poppins,sans-serif;
  font-weight:400;
  line-height:1.15;
  font-size:48px!important
}
@media (max-width:1024px) {
  .banner-stack>.banner .container,.about-banner-copy {
    width:100%;
    max-width:none;
    padding-left:50px!important;
    padding-right:50px!important
  }
  .banner-stack>.banner h1,.about-banner-copy h1 {
    font-size:42px!important
  }
}
@media (max-width:768px) {
  .banner-stack>.banner .container,.about-banner-copy {
    padding-left:24px!important;
    padding-right:24px!important
  }
  .banner-stack>.banner h1,.about-banner-copy h1 {
    font-size:32px!important
  }
}
.about-page-banner {
  flex-direction:column;
  justify-content:flex-end;
  align-items:stretch;
  display:flex!important
}
.about-page-banner .about-banner-copy {
  margin:0 auto!important;
  padding-top:0!important;
  padding-bottom:86px!important
}
.about-story {
  background-position:50%;
  min-height:100vh
}
.about-story .about-story-grid {
  grid-template-columns:minmax(0,.83fr) minmax(30rem,1.17fr);
  align-items:stretch;
  gap:clamp(4rem,8vw,10rem);
  width:min(80%,1540px);
  min-height:100vh;
  margin:0 auto;
  padding:clamp(7rem,13vh,9rem) 0 clamp(5rem,10vh,7rem)
}
.about-story-copy {
  align-self:start;
  max-width:40rem;
  font-family:Poppins,sans-serif
}
.about-story-copy em {
  color:#ffffffb3;
  letter-spacing:.34em;
  margin-bottom:1.8rem;
  font-family:Poppins,sans-serif;
  font-size:12px;
  font-weight:400
}
.about-story-copy h2 {
  letter-spacing:-.035em;
  margin:0 0 2rem;
  font-family:Poppins,sans-serif;
  font-weight:400;
  line-height:1.18;
  font-size:42px!important
}
.about-story-copy p {
  color:#ffffffd1;
  max-width:39rem;
  margin:0 0 1.15rem;
  font-family:Poppins,sans-serif;
  font-size:16px;
  line-height:1.7
}
.about-framework-link {
  margin-top:2.6rem;
  font-family:Poppins,sans-serif;
  font-size:13px;
  font-weight:400;
  line-height:1.4
}
.about-story .vision-card {
  place-self:end start;
  width:min(100%,37rem);
  margin:0 0 clamp(1rem,7vh,5rem);
  padding:clamp(2rem,3vw,3.25rem);
  font-family:Poppins,sans-serif
}
.about-story .vision-card h3 {
  margin-bottom:1.35rem;
  font-family:Poppins,sans-serif;
  font-weight:400
}
.about-story .vision-card p {
  font-family:Poppins,sans-serif;
  font-size:16px;
  line-height:1.65
}
@media (max-width:1024px) {
  .about-story .about-story-grid {
    grid-template-columns:1fr;
    gap:4.5rem;
    width:100%;
    min-height:auto;
    padding:6rem 50px 7rem
  }
  .about-story .vision-card {
    justify-self:end;
    width:min(100%,38rem);
    margin:0
  }
}
@media (max-width:767px) {
  .about-story .about-story-grid {
    gap:3.5rem;
    padding:5rem 24px 6rem
  }
  .about-story-copy h2 {
    font-size:42px!important
  }
  .about-story-copy p,.about-story .vision-card p {
    font-size:15px
  }
  .about-story .vision-card {
    justify-self:stretch
  }
}
.about-story .vision-card {
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border:1px solid #ffffff61;
  box-shadow:0 16px 44px #07223e24;
  background:#ffffff26!important
}
.about-story .vision-card h3 {
  letter-spacing:-.025em;
  font-family:Poppins,sans-serif;
  font-weight:400;
  line-height:1.25;
  font-size:28px!important
}
.about-story .vision-card p {
  color:#ffffffdb;
  font-family:Poppins,sans-serif;
  line-height:1.65;
  font-size:16px!important;
  font-weight:300!important
}
@media (max-width:767px) {
  .about-story .vision-card h3 {
    font-size:24px!important
  }
}
.about-story .vision-card {
  border-radius:18px;
  max-width:100%;
  min-height:0;
  width:480px!important;
  box-shadow:none!important;
  padding:28px 32px!important
}
.about-story .vision-card h3 {
  margin:0 0 16px;
  padding-left:58px;
  line-height:1.25;
  font-size:28px!important
}
.about-story .vision-card h3:before {
  width:42px
}
.about-story .vision-card p {
  letter-spacing:0;
  max-width:358px;
  margin:0 0 0 58px;
  line-height:1.65;
  color:#ffffffc7!important;
  font-size:16px!important;
  font-weight:300!important
}
.about-story-copy p {
  font-size:15px!important;
  font-weight:300!important
}
.about-story .vision-card p {
  font-size:15px!important
}
.about-story .vision-card.reveal {
  opacity:0;
  transition:opacity .7s ease-out .3s,transform .7s ease-out .3s;
  transform:translate(36px)
}
.about-story .vision-card.reveal.shown {
  opacity:1;
  transform:translate(0)
}
@media (prefers-reduced-motion:reduce) {
  .about-story .vision-card.reveal {
    opacity:1;
    transition:none;
    transform:none
  }
}
.philosophy-section {
  background-position:50%;
  background-size:cover;
  min-height:100vh;
  padding:clamp(6rem,11vh,8rem) 0
}
.philosophy-section>.container {
  width:min(80%,1540px);
  max-width:none
}
.philosophy-heading {
  grid-template-columns:minmax(0,1fr) minmax(30rem,1fr);
  align-items:end;
  gap:clamp(4rem,9vw,10rem);
  margin-bottom:64px
}
.philosophy-heading em {
  color:#173a69b3;
  letter-spacing:.32em;
  margin-bottom:28px;
  font-size:12px;
  font-weight:400
}
.philosophy-heading h2 {
  letter-spacing:-.035em;
  font-family:Poppins,sans-serif;
  font-weight:400;
  line-height:1.15;
  font-size:42px!important
}
.philosophy-heading>p {
  max-width:620px;
  font-family:Poppins,sans-serif;
  font-size:15px;
  font-weight:300;
  line-height:1.65
}
.philosophy-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px
}
.philosophy-card {
  border-radius:14px;
  height:280px;
  min-height:280px;
  padding:32px
}
.philosophy-icon {
  width:48px;
  height:48px;
  margin-bottom:32px
}
.philosophy-card h3 {
  letter-spacing:-.025em;
  align-items:flex-end;
  min-height:56.64px;
  margin:0 0 14px;
  font-family:Poppins,sans-serif;
  font-weight:400;
  line-height:1.18;
  display:flex;
  font-size:24px!important
}
.philosophy-card p {
  margin:0;
  font-family:Poppins,sans-serif;
  font-weight:300;
  line-height:1.65;
  font-size:14px!important
}
@media (max-width:1024px) {
  .philosophy-section>.container {
    width:100%;
    padding-left:50px!important;
    padding-right:50px!important
  }
  .philosophy-heading {
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:48px
  }
  .philosophy-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media (max-width:767px) {
  .philosophy-section {
    padding:5rem 0
  }
  .philosophy-section>.container {
    padding-left:24px!important;
    padding-right:24px!important
  }
  .philosophy-heading h2 {
    font-size:42px!important
  }
  .philosophy-heading>p {
    font-size:15px
  }
  .philosophy-grid {
    grid-template-columns:1fr
  }
  .philosophy-card {
    height:260px;
    min-height:260px
  }
}
.philosophy-section {
  flex-direction:column;
  justify-content:center;
  padding-top:64px;
  padding-bottom:64px;
  display:flex
}
.philosophy-section>.container {
  margin:0 auto
}
@media (max-width:767px) {
  .philosophy-section {
    padding-top:64px;
    padding-bottom:64px
  }
}
.footer-watermark {
  width:min(50rem,44vw);
  color:inherit;
  display:block
}
.footer-watermark img {
  object-fit:contain;
  opacity:1;
  filter:none;
  width:100%;
  height:auto;
  max-height:16rem;
  display:block
}
@media (max-width:1024px) {
  .footer-watermark {
    width:min(52vw,34rem)
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .footer-watermark {
    width:min(64vw,42rem)
  }
}
@media (max-width:767px) {
  .footer-watermark {
    width:60vw
  }
  .footer-watermark img {
    width:100%;
    max-height:10rem
  }
}
.site-footer {
  background:url(../images/common/footer-banner.webp) 50%/cover no-repeat;
  flex-direction:column;
  padding:0;
  display:flex;
  position:relative
}
.site-footer .footer-brand-banner {
  background:0 0;
  min-height:clamp(25rem,30.6vw,36.7rem)
}
.site-footer .footer-bottom {
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  background:#173a69ad;
  flex-direction:column;
  flex:none;
  justify-content:center;
  align-items:center;
  min-height:100px;
  padding:14px clamp(1.5rem,5vw,5rem);
  display:flex;
  position:relative;
  inset:auto
}
.site-footer .footer-bottom p {
  margin:.45rem 0 0
}
@media (max-width:767px) {
  .site-footer .footer-brand-banner {
    min-height:24rem
  }
  .site-footer .footer-bottom {
    min-height:120px;
    padding:14px 24px
  }
}
.site-footer {
  margin-top:-1px
}
@media (max-width:1024px) {
  .header.menu-open .brand {
    z-index:1003;
    position:relative;
    visibility:visible!important;
    opacity:1!important;
    display:flex!important
  }
  .header.menu-open .logo-white {
    display:none!important
  }
  .header.menu-open .logo-blue {
    display:block!important
  }
  .header.menu-open .menu {
    z-index:1003;
    position:relative;
    display:grid!important
  }
  .header.menu-open .menu .close-icon {
    opacity:1!important;
    stroke:#173a69!important;
    display:block!important;
    transform:rotate(0)!important
  }
  .header.menu-open .menu .menu-icon {
    opacity:0!important
  }
  .header.menu-open nav .drawer-logo {
    display:none!important
  }
  .header.interior-header.menu-open {
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:0 0!important;
    border-color:#0000!important
  }
}
@media (max-width:767px) {
  .about-story .vision-card {
    width:100%!important;
    padding:26px 28px!important
  }
  .about-story .vision-card h3 {
    padding-left:48px;
    font-size:24px!important
  }
  .about-story .vision-card h3:before {
    width:34px
  }
  .about-story .vision-card p {
    max-width:calc(100% - 48px);
    margin-left:48px
  }
}
@media (max-width:1024px) {
  html.nav-open,html.nav-open body {
    overscroll-behavior:none;
    overflow:hidden!important
  }
  html.nav-open .header.menu-open {
    pointer-events:none;
    z-index:2000!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:0 0!important;
    width:100%!important;
    height:100dvh!important;
    position:fixed!important;
    inset:0!important
  }
  html.nav-open .header.menu-open .header-in {
    pointer-events:none;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    margin:0!important
  }
  html.nav-open .header.menu-open .brand,html.nav-open .header.menu-open .menu,html.nav-open .header.menu-open nav {
    pointer-events:auto
  }
  html.nav-open .header.menu-open nav {
    overscroll-behavior:contain;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    position:fixed!important;
    inset:0!important;
    overflow-y:auto!important
  }
  html.nav-open .header.menu-open .header-in {
    z-index:2002!important;
    justify-content:space-between!important;
    align-items:center!important;
    height:auto!important;
    min-height:86px!important;
    display:flex!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important
  }
  html.nav-open .header.menu-open .brand {
    margin-right:auto!important
  }
  html.nav-open .header.menu-open .menu {
    margin-left:auto!important
  }
}
@media (max-width:767px) {
  html.nav-open .header.menu-open .header-in {
    min-height:76px!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html.nav-open .header.menu-open .menu {
    margin:0!important;
    position:fixed!important;
    top:21px!important;
    right:50px!important
  }
}
@media (max-width:767px) {
  html.nav-open .header.menu-open .menu {
    margin:0!important;
    position:fixed!important;
    top:16px!important;
    right:24px!important
  }
}
@media (max-width:1024px) {
  .header .header-in {
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important
  }
}
.philosophy-icon svg {
  width:24px!important;
  height:24px!important
}
.philosophy-icon {
  aspect-ratio:1!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  flex:0 0 48px!important;
  place-items:center!important;
  width:48px!important;
  min-width:48px!important;
  height:48px!important;
  min-height:48px!important;
  display:grid!important
}
.footer-logo-reveal {
  opacity:0;
  will-change:opacity,transform;
  transition:opacity .9s ease-out,transform .9s ease-out;
  transform:translateY(32px)
}
.footer-logo-reveal.shown {
  opacity:1;
  transform:translateY(0)
}
@media (prefers-reduced-motion:reduce) {
  .footer-logo-reveal {
    opacity:1;
    transition:none;
    transform:none
  }
}
.philosophy-card.card-stagger {
  opacity:0;
  transition-property:opacity,transform;
  transition-duration:.75s;
  transition-timing-function:ease-out;
  transform:translateY(28px)
}
.philosophy-card.card-stagger-1 {
  transition-delay:0s
}
.philosophy-card.card-stagger-2 {
  transition-delay:.14s
}
.philosophy-card.card-stagger-3 {
  transition-delay:.28s
}
.philosophy-card.card-stagger-4 {
  transition-delay:.42s
}
.philosophy-card.card-stagger.shown {
  opacity:1;
  transform:translateY(0)
}
@media (prefers-reduced-motion:reduce) {
  .philosophy-card.card-stagger {
    opacity:1;
    transition:none;
    transform:none
  }
}
.crumb a {
  transition:color .3s ease-out,opacity .3s ease-out
}
.crumb a:hover,.crumb a:focus-visible {
  color:#fff!important;
  opacity:1!important
}
.brand-attribution {
  color:#ffffff52;
  opacity:1
}
@media (min-width:1025px) and (max-width:1599px) {
  .about-page>section {
    height:auto;
    min-height:100vh
  }
}
@media (min-width:1600px) {
  .about-page>section {
    height:auto!important;
    min-height:0!important;
    padding-top:120px!important;
    padding-bottom:120px!important
  }
}
@media (max-width:1024px) {
  .about-page>section {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
@media (max-width:767px) {
  .about-hero-stack {
    height:auto!important;
    min-height:0!important
  }
  .about-page-banner {
    height:clamp(400px,70svh,560px)!important;
    min-height:400px!important
  }
}
@media (min-width:768px) and (max-width:1024px) and (orientation:portrait) {
  .about-hero-stack {
    height:auto!important;
    min-height:0!important
  }
  .about-page-banner {
    height:clamp(560px,70svh,720px)!important;
    min-height:560px!important
  }
}
@media (min-width:700px) and (max-width:1024px) {
  h1 {
    font-size:42px!important
  }
  h2 {
    font-size:36px!important
  }
  .about-page-banner h1,.banner h1,.home .hero h1 {
    font-size:42px!important
  }
  main h2,.about-story-copy h2,.philosophy-heading h2 {
    font-size:36px!important
  }
}
.footer-watermark picture {
  width:100%;
  display:block
}
@media (max-width:767px) {
  .footer-watermark {
    width:min(70vw,22rem)!important
  }
  .footer-watermark picture,.footer-watermark picture img {
    object-fit:contain;
    display:block;
    width:100%!important;
    height:auto!important;
    max-height:15rem!important
  }
  .site-footer .footer-bottom nav {
    align-items:center;
    width:100%;
    max-width:31rem;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:4px 12px!important;
    display:flex!important
  }
  .site-footer .footer-bottom nav>* {
    text-align:center;
    white-space:nowrap;
    margin:0!important;
    padding:0!important
  }
  .site-footer .footer-bottom nav>:nth-child(-n+4),.site-footer .footer-bottom nav>:nth-child(n+5) {
    grid-column:auto
  }
  .site-footer .footer-bottom {
    padding-left:12px!important;
    padding-right:12px!important
  }
  .site-footer .footer-bottom nav {
    column-gap:12px!important
  }
  .site-footer .footer-bottom nav>* {
    letter-spacing:-.01em;
    min-width:0;
    font-size:9px!important
  }
  .site-footer {
    margin-top:-1px!important
  }
  .site-footer .footer-brand-banner {
    min-height:20rem!important
  }
  .site-footer .footer-bottom {
    min-height:80px!important;
    padding:8px 24px!important
  }
  .site-footer .footer-bottom nav {
    flex-wrap:nowrap!important;
    gap:0 4px!important;
    max-width:none!important
  }
  .site-footer .footer-bottom nav>* {
    flex:0 auto;
    font-size:clamp(6px,2vw,9px)!important
  }
  .site-footer .footer-bottom p {
    margin-top:6px!important;
    margin-bottom:0!important;
    font-size:clamp(7px,2.2vw,10px)!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .about-page>.about-story {
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
@media (max-width:1024px) {
  .about-page>.about-story,.about-page>.philosophy-section {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
  .about-page>.about-story {
    display:block!important
  }
  .about-page>.about-story>.about-story-grid,.about-page>.philosophy-section>.container {
    align-content:start!important;
    align-items:start!important;
    height:auto!important;
    min-height:0!important;
    margin-top:0!important;
    margin-bottom:0!important
  }
  .about-page>.about-story>.about-story-grid {
    padding-top:0!important;
    padding-bottom:0!important
  }
  .about-page .about-story-copy {
    align-self:start!important;
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root main>section.framework-mandate>.container {
    padding-top:80px!important
  }
}
@media (min-width:768px) and (max-width:899px),(min-width:900px) and (max-width:1024px) and (orientation:portrait) {
  html body #root .about-page>.about-story .about-story-copy,html body #root .about-page>.about-story .about-story-copy p,html body #root .partners-intro-section .split,html body #root .partners-intro-section .prose {
    width:100%!important;
    max-width:100%!important
  }
}
@media (max-width:767px) {
  h1,.about-page-banner h1,.banner h1,.home .hero h1 {
    font-size:38px!important
  }
  h2,main h2,.about-story-copy h2,.philosophy-heading h2 {
    font-size:32px!important
  }
}
@media (min-width:1025px) {
  .about-page>.about-story,.about-page>.philosophy-section {
    align-items:center!important;
    height:auto!important;
    min-height:clamp(680px,44vw,820px)!important;
    padding-top:96px!important;
    padding-bottom:96px!important;
    display:flex!important
  }
  .about-page>.about-story>.about-story-grid,.about-page>.philosophy-section>.container {
    height:auto!important;
    min-height:0!important;
    margin-top:auto!important;
    margin-bottom:auto!important
  }
}
.banner-stack>.banner,.about-page-banner {
  height:clamp(500px,68svh,680px)!important;
  min-height:500px!important;
  max-height:680px!important
}
@media (min-width:768px) and (max-width:1024px) {
  .banner-stack>.banner,.about-page-banner {
    height:clamp(460px,62svh,600px)!important;
    min-height:460px!important;
    max-height:600px!important
  }
}
@media (max-width:767px) {
  .banner-stack>.banner,.about-page-banner {
    height:clamp(360px,58svh,480px)!important;
    min-height:360px!important;
    max-height:480px!important
  }
  .about-page-banner .about-banner-copy {
    padding-bottom:48px!important
  }
}
@media (min-width:768px) and (max-width:1599px) and (orientation:landscape) and (min-height:600px) {
  .about-hero-stack,.about-page-banner {
    height:100vh!important;
    min-height:100vh!important;
    max-height:none!important
  }
  .about-page>section {
    height:auto!important;
    min-height:100vh!important
  }
}
@media (min-width:1600px) {
  .about-hero-stack {
    height:auto!important;
    min-height:0!important
  }
  .about-page-banner {
    height:clamp(500px,68svh,680px)!important;
    min-height:500px!important;
    max-height:680px!important
  }
  .about-page>section {
    height:auto!important;
    min-height:0!important;
    padding-top:96px!important;
    padding-bottom:96px!important
  }
}
@media (max-width:1024px) and (orientation:portrait) {
  .about-hero-stack {
    height:auto!important;
    min-height:0!important
  }
  .about-page>section {
    height:auto!important;
    min-height:0!important;
    padding-top:80px!important;
    padding-bottom:80px!important
  }
}
html body div#root main>section.section.partners-intro-section div.prose>p {
  font-size:15px!important
}
@media (max-width:1024px) {
  html.nav-open body #root .header.menu-open {
    --open-header-height:72px;
    width:100%!important;
    height:var(--open-header-height)!important;
    min-height:var(--open-header-height)!important;
    z-index:2002!important;
    pointer-events:auto!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
    background:#173a69!important;
    position:fixed!important;
    inset:0 0 auto!important
  }
  html.nav-open body #root .header.menu-open .header-in {
    width:100%!important;
    height:var(--open-header-height)!important;
    min-height:var(--open-header-height)!important;
    pointer-events:auto!important;
    background:#173a69!important;
    padding-top:0!important;
    padding-bottom:0!important;
    position:relative!important;
    inset:auto!important
  }
  html.nav-open body #root .header.menu-open nav.open {
    inset:var(--open-header-height) 0 0!important;
    width:100vw!important;
    height:calc(100dvh - var(--open-header-height))!important;
    min-height:calc(100dvh - var(--open-header-height))!important;
    z-index:2001!important;
    background:#fff!important;
    position:fixed!important;
    overflow-y:auto!important
  }
  html.nav-open body #root .header.menu-open .brand,html.nav-open body #root .header.menu-open .menu {
    position:relative!important;
    inset:auto!important
  }
  html.nav-open body #root .header.menu-open .logo-white {
    display:block!important
  }
  html.nav-open body #root .header.menu-open .logo-blue {
    display:none!important
  }
  html.nav-open body #root .header.menu-open .menu .close-icon {
    stroke:#fff!important
  }
}
@media (max-width:767px) {
  html.nav-open body #root .header.menu-open {
    --open-header-height:76px
  }
  html body #root .site-footer .footer-bottom nav>a {
    font-size:10px!important
  }
}
html body #root main>.secretariat-contact-section>.container {
  width:min(80%,1540px)!important;
  max-width:1540px!important;
  margin-left:auto!important;
  margin-right:auto!important
}
html body #root .secretariat-contact-panel {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important
}
@media (max-width:1024px) {
  html body #root main>.secretariat-contact-section>.container {
    width:100%!important;
    max-width:none!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
}
@media (max-width:767px) {
  html body #root main>.secretariat-contact-section>.container {
    padding-left:24px!important;
    padding-right:24px!important
  }
}
html body #root .banner-stack>.secretariat-banner {
  background-color:#0000!important;
  background-image:url(../images/common/secretariat-banner.webp)!important;
  background-position:50%!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  border:0!important;
  margin:0!important
}
.secretariat-contact-section {
  background-color:#f5f8fb;
  background-image:url(../images/common/cloud-bg.webp);
  background-position:50%;
  background-repeat:no-repeat;
  background-size:cover;
  margin-top:-1px;
  padding:96px 0!important
}
.secretariat-contact-panel {
  background:#fff;
  border:1px solid #173a6912;
  border-radius:18px;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  max-width:1120px;
  margin:0 auto;
  display:grid;
  overflow:hidden;
  box-shadow:0 22px 60px #173a6917
}
.secretariat-contact-image {
  min-height:560px;
  overflow:hidden
}
.secretariat-contact-image img {
  object-fit:cover;
  object-position:center;
  width:100%;
  height:100%;
  display:block
}
.secretariat-contact-content {
  color:var(--b);
  flex-direction:column;
  justify-content:center;
  padding:clamp(40px,5vw,72px);
  display:flex
}
.secretariat-contact-content h2 {
  margin:0 0 24px;
  font-family:Poppins,sans-serif;
  font-weight:400;
  line-height:1.15;
  font-size:clamp(32px,3vw,46px)!important
}
.secretariat-contact-content>p {
  color:#173a69b8;
  margin:0 0 14px;
  font-size:15px;
  font-weight:300;
  line-height:1.7
}
.secretariat-contact-content address {
  gap:14px;
  margin:24px 0 32px;
  font-style:normal;
  display:grid
}
.secretariat-contact-content address a {
  color:var(--b);
  grid-template-columns:20px 1fr;
  align-items:start;
  gap:10px;
  font-size:14px;
  line-height:1.55;
  text-decoration:none;
  display:grid
}
.secretariat-contact-content address a>img {
  object-fit:contain;
  width:20px;
  height:20px;
  margin-top:0;
  display:block
}
.secretariat-contact-content address a strong {
  font-weight:400
}
.secretariat-disclaimer {
  background:#eef3f8;
  border:1px solid #173a690f;
  border-radius:10px;
  padding:18px 20px
}
.secretariat-disclaimer>strong {
  color:var(--b);
  letter-spacing:.04em;
  margin-bottom:5px;
  font-size:11px;
  font-weight:500;
  display:block
}
.secretariat-disclaimer>p {
  color:#173a6994;
  margin:0;
  font-size:12px;
  font-weight:300;
  line-height:1.55
}
@media (max-width:1024px) {
  html body #root main>.secretariat-contact-section {
    padding:80px 0!important
  }
  .secretariat-contact-panel {
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)
  }
  .secretariat-contact-image {
    min-height:520px
  }
  .secretariat-contact-content {
    padding:40px
  }
}
@media (min-width:768px) and (max-width:899px),(min-width:900px) and (max-width:1024px) and (orientation:portrait) {
  .secretariat-contact-panel {
    grid-template-columns:1fr
  }
  .secretariat-contact-image {
    aspect-ratio:1.45;
    min-height:0
  }
  .secretariat-contact-content {
    padding:40px 50px
  }
}
@media (max-width:767px) {
  html body #root main>.secretariat-contact-section {
    padding:64px 0!important
  }
  .secretariat-contact-section>.container {
    width:min(100% - 32px,620px)
  }
  .secretariat-contact-panel {
    grid-template-columns:1fr
  }
  .secretariat-contact-image {
    aspect-ratio:1.15;
    min-height:0
  }
  .secretariat-contact-content {
    padding:32px 24px
  }
  .secretariat-contact-content h2 {
    font-size:32px!important
  }
}
@media (max-width:1024px) {
  html.nav-open body #root .header.menu-open {
    z-index:3000!important;
    pointer-events:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    box-shadow:none!important;
    background:0 0!important;
    border:0!important;
    position:fixed!important;
    inset:0!important
  }
  html.nav-open body #root .header.menu-open .header-in {
    z-index:3002!important;
    pointer-events:none!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    box-shadow:none!important;
    background:0 0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    position:fixed!important;
    inset:0 0 auto!important
  }
  html.nav-open body #root .header.menu-open nav.open {
    z-index:3001!important;
    background:#fff!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    position:fixed!important;
    inset:0!important;
    overflow-y:auto!important
  }
  html.nav-open body #root .header.menu-open .brand,html.nav-open body #root .header.menu-open .menu {
    z-index:3003!important;
    pointer-events:auto!important;
    position:relative!important;
    inset:auto!important
  }
  html.nav-open body #root .header.menu-open .brand .logo {
    width:clamp(10rem,20vw,15.5rem)!important
  }
  html.nav-open body #root .header.menu-open .logo-white {
    display:none!important
  }
  html.nav-open body #root .header.menu-open .logo-blue {
    display:block!important
  }
  html.nav-open body #root .header.menu-open .menu .close-icon {
    stroke:#173a69!important
  }
}
@media (max-width:767px) {
  html.nav-open body #root .header.menu-open .header-in {
    height:76px!important;
    min-height:76px!important
  }
}
.partner-detail-section {
  background:#f5f8fc url(../images/common/cloud-bg.webp) top/cover no-repeat;
  padding:clamp(64px,8vw,112px) 0
}
.partner-detail-section>.container {
  margin-left:auto;
  margin-right:auto
}
.partner-detail-layout {
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  align-items:start;
  gap:clamp(56px,7vw,104px);
  display:grid
}
.partner-detail-image {
  aspect-ratio:1/1.16;
  background:#eee7dd;
  border-radius:16px;
  overflow:hidden
}
.partner-detail-image img {
  object-fit:cover;
  transform-origin:50%;
  width:100%;
  height:100%;
  transition:transform 1.8s cubic-bezier(.22,1,.36,1);
  display:block;
  transform:scale(1.1)
}
.partner-detail-layout.shown .partner-detail-image img {
  transform:scale(1)
}
.partner-detail-content {
  max-width:680px
}
.partner-detail-back {
  color:#173a699e;
  letter-spacing:.24em;
  text-transform:uppercase;
  margin-bottom:30px;
  font:500 11px/1.2 Poppins,sans-serif;
  text-decoration:none;
  display:inline-block
}
.partner-detail-content h2 {
  color:var(--b);
  margin:0 0 32px;
  font-family:Poppins,sans-serif;
  font-weight:500;
  line-height:1.2;
  font-size:clamp(28px,2.55vw,40px)!important
}
.partner-detail-content h2 span {
  white-space:nowrap
}
.partner-detail-content p {
  color:#173a69ad;
  margin:0;
  font-size:15px;
  font-weight:300;
  line-height:1.55
}
.partner-detail-content p+p {
  margin-top:24px
}
@media (max-width:1024px) {
  .partner-detail-layout {
    gap:44px
  }
  .partner-detail-content h2 span {
    white-space:normal
  }
}
@media (min-width:1025px) {
  html body #root main>.partner-detail-section>.container {
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    padding-left:0!important;
    padding-right:0!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root main>.partner-detail-section>.container {
    width:100%!important;
    max-width:none!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
}
@media (max-width:767px) {
  .partner-detail-section {
    background-position:top;
    padding:56px 0 64px
  }
  html body #root main>.partner-detail-section>.container {
    width:100%!important;
    max-width:none!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
  .partner-detail-layout {
    grid-template-columns:1fr;
    gap:36px
  }
  .partner-detail-image {
    aspect-ratio:1/1.12
  }
  .partner-detail-back {
    margin-bottom:22px;
    font-size:11px
  }
  .partner-detail-content h2 {
    margin-bottom:22px;
    font-size:28px!important
  }
  .partner-detail-content p {
    font-size:15px
  }
}
@media (prefers-reduced-motion:reduce) {
  .partner-detail-image img {
    transition:none;
    transform:scale(1)
  }
}
.partners-people-grid>.partner-profile-card.reveal {
  opacity:0;
  will-change:opacity,transform;
  transition-property:opacity,transform,box-shadow;
  transition-duration:.8s,.9s,.3s;
  transition-timing-function:ease-out,cubic-bezier(.22,1,.36,1),ease;
  transform:translateY(36px)
}
.partners-people-grid>.partner-profile-card.reveal.shown {
  opacity:1;
  will-change:auto;
  transform:translate(0,0)
}
@media (prefers-reduced-motion:reduce) {
  .partners-people-grid>.partner-profile-card.reveal {
    opacity:1;
    transition:none;
    transform:none
  }
}
.scroll-directional.reveal {
  opacity:1;
  transform:none
}
.scroll-directional em,.scroll-directional h2 {
  opacity:0;
  transition:opacity .75s ease-out,transform .85s cubic-bezier(.22,1,.36,1);
  transform:translateY(30px)
}
.scroll-directional>p,.scroll-directional>.prose {
  opacity:0;
  transition:opacity .8s ease-out .12s,transform .9s cubic-bezier(.22,1,.36,1) .12s;
  transform:translate(48px)
}
.scroll-directional.shown em,.scroll-directional.shown h2,.scroll-directional.shown>p,.scroll-directional.shown>.prose {
  opacity:1;
  transform:translate(0,0)
}
.partners-intro-section .scroll-directional>div:first-child,.partner-detail-layout.scroll-directional .partner-detail-back,.partner-detail-layout.scroll-directional h2 {
  opacity:0;
  transition:opacity .75s ease-out,transform .85s cubic-bezier(.22,1,.36,1);
  transform:translateY(30px)
}
.partners-intro-section .scroll-directional>.prose,.partner-detail-layout.scroll-directional .partner-detail-content>p {
  opacity:0;
  transition:opacity .8s ease-out,transform .9s cubic-bezier(.22,1,.36,1);
  transform:translate(48px)
}
.partner-detail-layout.scroll-directional h2 {
  transition-delay:.1s
}
.partner-detail-layout.scroll-directional .partner-detail-content>p:first-of-type {
  transition-delay:.18s
}
.partner-detail-layout.scroll-directional .partner-detail-content>p:nth-of-type(2) {
  transition-delay:.26s
}
.partner-detail-layout.scroll-directional .partner-detail-content>p:nth-of-type(3) {
  transition-delay:.34s
}
.partners-intro-section .scroll-directional.shown>div:first-child,.partners-intro-section .scroll-directional.shown>.prose,.partner-detail-layout.scroll-directional.shown .partner-detail-back,.partner-detail-layout.scroll-directional.shown h2,.partner-detail-layout.scroll-directional.shown .partner-detail-content>p {
  opacity:1;
  transform:translate(0,0)
}
@media (prefers-reduced-motion:reduce) {
  .scroll-directional em,.scroll-directional h2,.scroll-directional>p,.scroll-directional>.prose,.partners-intro-section .scroll-directional>div:first-child,.partners-intro-section .scroll-directional>.prose,.partner-detail-layout.scroll-directional .partner-detail-back,.partner-detail-layout.scroll-directional h2,.partner-detail-layout.scroll-directional .partner-detail-content>p {
    opacity:1;
    transition:none;
    transform:none
  }
}
.home .scroll-discover {
  z-index:8;
  color:#fff;
  pointer-events:none;
  flex-direction:column;
  align-items:center;
  display:flex;
  position:absolute;
  bottom:0;
  left:50%;
  transform:translate(-50%)
}
.home .scroll-discover span {
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
  color:#0000;
  background:linear-gradient(90deg,#ffffff7a 0% 40%,#ffffffdb 50%,#ffffff7a 60% 100%) 100% 0/300% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  margin-bottom:14px;
  font:500 13px/1.2 Poppins,sans-serif;
  animation:2.8s linear infinite scroll-discover-reflection
}
@keyframes scroll-discover-reflection {
  0% {
    background-position:100% 0
  }
  to {
    background-position:0 0
  }
}
.home .scroll-discover i {
  background:linear-gradient(#ffffffe6 0%,#ffffff7a 48%,#fff0 100%);
  width:1px;
  height:clamp(64px,10vh,104px);
  display:block
}
@media (min-width:1025px) and (max-width:1599px) {
  .home .scroll-discover span {
    font-size:10px
  }
}
@media (max-width:767px) {
  .home .scroll-discover span {
    letter-spacing:.18em;
    font-size:9px
  }
  .home .scroll-discover i {
    height:58px
  }
  html body #root .home .hero-copy {
    translate:0 -48px!important
  }
}
@media (prefers-reduced-motion:reduce) {
  .home .scroll-discover span {
    color:#ffffff7a;
    background:0 0;
    animation:none
  }
}
html,body {
  scroll-behavior:smooth;
  height:auto
}
body {
  -webkit-overflow-scrolling:touch
}
html.lenis,html.lenis body {
  height:auto
}
.lenis.lenis-smooth {
  scroll-behavior:auto!important
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior:contain
}
.lenis.lenis-stopped {
  overflow:hidden
}
.lenis.lenis-smooth iframe {
  pointer-events:none
}
@media (prefers-reduced-motion:reduce) {
  html,body {
    scroll-behavior:auto
  }
}
.home .hero-scroll {
  height:500vh;
  position:relative
}
.home:has(.hero-static-image) .hero-scroll {
  height:250vh
}
html.video-autoplay-fallback .home .hero-scroll,html.video-static-fallback .home .hero-scroll {
  height:100vh
}
html.video-autoplay-fallback .home .home-conclusion,html.video-static-fallback .home .home-conclusion {
  margin-top:0
}
html.video-autoplay-fallback .home .scroll-discover,html.video-static-fallback .home .scroll-discover {
  display:none
}
.home .hero-scroll>.hero {
  width:100%;
  top:0;
  height:100svh!important;
  min-height:100svh!important;
  position:sticky!important
}
.home .hero-scrub-video {
  object-fit:cover;
  backface-visibility:hidden;
  will-change:contents;
  width:100%;
  height:100%;
  transform:translateZ(0)
}
.home .hero-static-image,.home .hero-mobile-static-image {
  object-fit:cover;
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}
.home .hero-mobile-static-image {
  display:none
}
.home .hero-video-poster {
  object-fit:cover;
  opacity:1;
  pointer-events:none;
  width:100%;
  height:100%;
  transition:opacity .8s;
  position:absolute;
  inset:0
}
html.hero-has-scrolled .home .hero-video-poster {
  opacity:0
}
@media (max-width:768px) {
  .home:has(.hero-mobile-static-image) .hero-scroll {
    height:200vh!important
  }
  .home:has(.hero-mobile-static-image) .hero-scrub-video {
    display:none!important
  }
  .home:has(.hero-mobile-static-image) .hero-video-poster {
    display:none!important
  }
  .home:has(.hero-mobile-static-image) .hero-mobile-static-image {
    display:block
  }
}
html.home-screen,html.home-screen body,html.home-screen body #root {
  height:auto!important;
  min-height:100%!important;
  overflow:clip visible!important
}
html.home-screen {
  overflow-y:auto!important
}
html.home-screen body #root .home {
  height:auto!important;
  min-height:0!important;
  overflow:visible!important
}
@media (min-width:1025px) {
  html body #root .home>.header .header-in,html body #root .home>.hero-scroll>.hero>.hero-copy {
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  html body #root .home>.header .header-in,html body #root .home>.hero-scroll>.hero>.hero-copy {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
}
@media (max-width:767px) {
  html body #root .home>.header .header-in,html body #root .home>.hero-scroll>.hero>.hero-copy {
    width:100%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
}
html body #root .home .button,html body #root .home .button span {
  font-size:13px!important
}
html body #root .home>.hero-scroll>.hero>.hero-copy {
  will-change:transform;
  transform:translate3d(0,var(--hero-copy-scroll-shift,0),0)!important;
  opacity:var(--hero-copy-scroll-opacity,1)!important
}
@media (prefers-reduced-motion:reduce) {
  html body #root .home>.hero-scroll>.hero>.hero-copy {
    opacity:1!important;
    transform:none!important
  }
}
.home-conclusion {
  z-index:20;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  background:#f4f7fb url(../images/common/cloud-bg.webp) top/cover no-repeat;
  flex-direction:column;
  min-height:100svh;
  margin-top:-100svh;
  padding:0;
  display:flex;
  position:relative;
  overflow:clip;
  transform:translateZ(0);
  box-shadow:0 -28px 64px #133a690f
}
.home-conclusion>.panel-header {
  z-index:30;
  color:#173a69;
  -webkit-backdrop-filter:blur(14px)saturate(120%);
  backdrop-filter:blur(14px)saturate(120%);
  background:#f4f7fbdb;
  border-bottom:1px solid #173a6914;
  width:100%;
  position:sticky;
  top:0
}
.home-conclusion>.panel-header .header-in {
  align-items:center!important;
  min-height:72px!important;
  padding-top:0!important;
  padding-bottom:0!important
}
.home-conclusion>.panel-header .logo {
  width:clamp(10rem,9.7vw,15.5rem)!important;
  height:auto!important
}
.home-conclusion>.panel-header nav {
  gap:24px!important
}
.home-conclusion>.panel-header .logo-white {
  display:none!important
}
.home-conclusion>.panel-header .logo-blue {
  display:block!important
}
.home-conclusion>.panel-header nav a {
  color:#173a69b8;
  padding-top:.45rem!important;
  padding-bottom:.45rem!important;
  font-family:Poppins,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important
}
.home-conclusion>.panel-header nav a:hover,.home-conclusion>.panel-header nav a[aria-current=page],.home-conclusion>.panel-header .menu {
  color:#173a69
}
.home-conclusion>.panel-header .menu-icon,.home-conclusion>.panel-header .close-icon {
  stroke:#173a69!important
}
.home-conclusion-grid {
  flex:auto;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-content:center;
  align-items:center;
  gap:clamp(18px,2vw,34px);
  padding-top:0;
  padding-bottom:0;
  display:grid
}
.home-conclusion-card {
  --card-rest:42px;
  --tilt-x:0deg;
  --tilt-y:0deg;
  --card-lift:0px;
  --card-scale:1;
  aspect-ratio:.84;
  color:#fff;
  isolation:isolate;
  transform-style:preserve-3d;
  will-change:transform;
  border-radius:16px;
  display:block;
  position:relative;
  overflow:hidden;
  box-shadow:0 22px 55px #1639631f
}
.home-conclusion-card:nth-child(2n) {
  --card-rest:-42px
}
.home-conclusion-card>img {
  object-fit:cover;
  width:100%;
  height:100%;
  transition:transform .8s cubic-bezier(.22,1,.36,1)
}
.home-conclusion-shade {
  z-index:1;
  opacity:0;
  background:#173a69b8;
  transition:opacity .45s;
  position:absolute;
  inset:0
}
.home-conclusion-card-copy {
  z-index:2;
  text-align:center;
  opacity:0;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;
  padding:24px;
  transition:opacity .4s,transform .55s cubic-bezier(.22,1,.36,1);
  display:flex;
  position:absolute;
  top:50%;
  left:0;
  right:0;
  transform:translateY(calc(18px - 50%))
}
.home-conclusion-card-copy strong {
  font-size:clamp(20px,1.55vw,28px);
  font-weight:500
}
.home-conclusion-arrow {
  flex:0 0 56px;
  width:56px;
  height:56px;
  display:block
}
.home-conclusion-card.reveal {
  opacity:0;
  transform:perspective(1000px) translate3d(0,calc(var(--card-rest) + 76px),var(--card-lift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(var(--card-scale));
  transition:opacity .8s,transform 1s cubic-bezier(.22,1,.36,1),box-shadow .6s;
  transition-delay:calc(var(--card-index) * .11s)
}
@keyframes home-card-enter {
  0% {
    opacity:0;
    transform:perspective(1000px) translate3d(0,calc(var(--card-rest) + 76px),0) rotateX(0) rotateY(0) scale(1)
  }
  to {
    opacity:1;
    transform:perspective(1000px) translate3d(0,var(--card-rest),0) rotateX(0) rotateY(0) scale(1)
  }
}
.home-conclusion-card.reveal.shown {
  opacity:1;
  transform:perspective(1000px) translate3d(0,var(--card-rest),var(--card-lift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(var(--card-scale));
  animation:.82s cubic-bezier(.22,1,.36,1) backwards home-card-enter;
  animation-delay:calc(var(--card-index) * .15s);
  transition:opacity .8s,transform .72s cubic-bezier(.2,.85,.25,1.28),box-shadow .55s
}
.home-conclusion-card.reveal.shown.is-tilting {
  --card-lift:0px;
  --card-scale:1;
  z-index:5;
  transition:transform .12s ease-out,box-shadow .28s;
  box-shadow:0 34px 72px #11305747;
  transition-delay:0s!important
}
.home-conclusion-card:hover>img,.home-conclusion-card:focus-visible>img {
  transform:scale(1.05)
}
.home-conclusion-card:hover .home-conclusion-shade,.home-conclusion-card:focus-visible .home-conclusion-shade {
  opacity:1
}
.home-conclusion-card:hover .home-conclusion-card-copy,.home-conclusion-card:focus-visible .home-conclusion-card-copy {
  opacity:1;
  transform:translateY(-50%)
}
.home-compact-footer {
  z-index:20;
  flex:none;
  width:100%;
  margin-top:auto;
  position:relative;
  padding-top:0!important
}
@media (min-width:1025px) {
  .home-conclusion>.panel-header .header-in,.home-conclusion>.home-conclusion-grid {
    width:min(80%,1540px)!important;
    max-width:1540px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important
  }
}
@media (max-width:1024px) {
  .home-conclusion {
    padding:0
  }
  .home-conclusion>.panel-header .header-in {
    width:100%!important;
    max-width:none!important;
    min-height:68px!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
  .home-conclusion-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    padding-top:72px;
    padding-bottom:72px;
    width:100%!important;
    max-width:none!important;
    padding-left:50px!important;
    padding-right:50px!important
  }
  .home-conclusion-card {
    aspect-ratio:.93;
    --card-rest:0px!important
  }
  .home-conclusion-card .home-conclusion-shade {
    opacity:.62
  }
  .home-conclusion-card .home-conclusion-card-copy {
    opacity:1;
    transform:translateY(-50%)
  }
  .home-conclusion-card .home-conclusion-arrow {
    display:none
  }
}
@media (max-width:767px) {
  .home-conclusion {
    min-height:100svh;
    padding:0
  }
  .home-conclusion>.panel-header .header-in {
    min-height:64px!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
  .home-conclusion>.panel-header .logo {
    width:9rem!important
  }
  .home-conclusion-grid {
    grid-template-columns:1fr;
    gap:24px;
    padding:56px 24px 64px!important
  }
  .home-conclusion-card {
    aspect-ratio:1.2
  }
  .home-conclusion-card-copy strong {
    font-size:20px
  }
  .home-conclusion-arrow {
    flex-basis:48px;
    width:48px;
    height:48px
  }
}
@media (prefers-reduced-motion:reduce) {
  .home-conclusion-card.reveal,.home-conclusion-card.reveal.shown {
    opacity:1;
    transform:translateY(var(--card-rest));
    transition:none;
    animation:none
  }
}
.home .building-hotspot {
  transition:opacity .22s
}
html.hero-has-scrolled .home .building-hotspot {
  opacity:0;
  pointer-events:none
}
html.hero-has-scrolled .home .building-hotspot .building-line {
  opacity:0!important;
  width:0!important
}
html.hero-has-scrolled .home .building-hotspot .building-label {
  opacity:0!important;
  transform:translate(-10px)!important
}
.partner-profile-photo>img {
  transform-origin:50%;
  will-change:transform;
  transition:transform 1.25s cubic-bezier(.22,1,.36,1);
  transform:scale(1)
}
.partner-profile-card:hover .partner-profile-photo>img,.partner-profile-card:focus-within .partner-profile-photo>img {
  transform:scale(1.06)
}
@media (prefers-reduced-motion:reduce) {
  .partner-profile-photo>img {
    transition:none
  }
}
.framework-ecosystem ol>.ecosystem-row.reveal {
  opacity:0;
  transition-property:opacity,transform;
  transition-duration:.72s;
  transition-timing-function:cubic-bezier(.22,1,.36,1);
  transform:translateY(30px)
}
.framework-ecosystem ol>.ecosystem-row.reveal.shown {
  opacity:1;
  transform:translate(0,0)
}
@media (prefers-reduced-motion:reduce) {
  .framework-ecosystem ol>.ecosystem-row.reveal {
    opacity:1;
    transition:none;
    transform:none
  }
}
.secretariat-contact-content .contact-row.reveal {
  opacity:0;
  transition-property:opacity,transform;
  transition-duration:.7s;
  transition-timing-function:cubic-bezier(.22,1,.36,1);
  transform:translateY(28px)
}
.secretariat-contact-content .contact-row.reveal.shown {
  opacity:1;
  transform:translate(0,0)
}
@media (prefers-reduced-motion:reduce) {
  .secretariat-contact-content .contact-row.reveal {
    opacity:1;
    transition:none;
    transform:none
  }
}
.framework-avoid-list>article.reveal {
  opacity:0;
  transition-property:opacity,transform;
  transition-duration:.72s;
  transition-timing-function:cubic-bezier(.22,1,.36,1);
  transform:translateY(30px)
}
.framework-avoid-list>article.reveal:nth-child(2) {
  transition-delay:.14s
}
.framework-avoid-list>article.reveal:nth-child(3) {
  transition-delay:.28s
}
.framework-avoid-list>article.reveal:nth-child(4) {
  transition-delay:.42s
}
.framework-avoid-list>article.reveal.shown {
  opacity:1;
  transform:translate(0,0)
}
@media (prefers-reduced-motion:reduce) {
  .framework-avoid-list>article.reveal {
    opacity:1;
    transition:none;
    transform:none
  }
}
.framework-values-viewport {
  scroll-behavior:smooth;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  width:100vw;
  max-width:none;
  margin-bottom:-64px;
  margin-left:calc(50% - 50vw);
  padding:24px 0 64px;
  overflow:auto hidden
}
.framework-values-viewport:active {
  cursor:grabbing
}
.framework-values-viewport::-webkit-scrollbar {
  display:none
}
.framework-values-viewport>.framework-values-grid {
  grid-auto-columns:clamp(320px,30vw,460px)!important;
  justify-content:start!important;
  gap:34px!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0 clamp(24px,8vw,160px) 0 max(24px,50vw - min(80vw,1540px)/2)!important;
  overflow:visible!important
}
@media (min-width:1025px) and (max-width:1799px) {
  .framework-values-viewport>.framework-values-grid {
    grid-auto-columns:clamp(320px,26.087vw - 29.5652px,440px)!important
  }
}
@media (min-width:1800px) {
  .framework-values-viewport>.framework-values-grid {
    grid-auto-columns:470px!important
  }
}
@media (min-width:768px) and (max-width:1024px) {
  .framework-values-viewport>.framework-values-grid {
    padding-left:50px!important;
    padding-right:50px!important
  }
  .framework-values-viewport>.framework-values-grid>.framework-value-card.reveal {
    opacity:1;
    transition:box-shadow .55s;
    transform:none
  }
}
@media (max-width:767px) {
  .framework-values-viewport>.framework-values-grid {
    grid-auto-columns:minmax(260px,84vw)!important;
    gap:24px!important;
    padding-left:24px!important;
    padding-right:24px!important
  }
  .framework-values-viewport>.framework-values-grid>.framework-value-card.reveal {
    opacity:1;
    transition:box-shadow .55s;
    transform:none
  }
}
.home .hero p,.about-story-copy p,.about-story .vision-card p,.philosophy-heading>p,.philosophy-card p,.partners-intro-section .prose p,.partner-profile-body p,.framework-strategic-copy p,.framework-meta,.framework-mandate .philosophy-card p,.framework-values-grid>.framework-value-card p,.framework-avoid-list p,.framework-ecosystem-visual span,.framework-ecosystem>div:last-child>p,.framework-ecosystem li,.partner-detail-content p {
  letter-spacing:0!important;
  font-family:Poppins,sans-serif!important;
  font-size:15px!important;
  font-weight:200!important;
  line-height:1.7!important
}
html body #root .partners-people-grid .partner-profile-body p {
  color:#173a69cc!important;
  font-weight:300!important
}
html body #root .philosophy-section .philosophy-card p,html body #root .framework-mandate .philosophy-card p,html body #root .framework-avoid-list p,html body #root .framework-ecosystem-visual span,html body #root .framework-ecosystem>div:last-child>p,html body #root .framework-ecosystem li {
  font-weight:300!important
}
html body #root .framework-ecosystem li:before {
  font-weight:200!important
}
html body #root .framework-strategic-copy p {
  color:#ffffffd1!important
}
@media (min-width:768px) and (max-width:899px),(min-width:900px) and (max-width:1024px) and (orientation:portrait) {
  html body div#root main .framework-strategic .framework-strategic-copy {
    max-width:100%!important
  }
}
html body #root .home .hero-copy p {
  color:#fff!important;
  opacity:.8!important
}
html body #root main:not(.home) em {
  margin-bottom:12px!important
}
.partner-profile-card {
  scroll-margin-top:112px
}
@media (max-width:1024px) {
  .partner-profile-card {
    scroll-margin-top:88px
  }
}
@media (max-width:768px) {
  .about-story {
    background-image:linear-gradient(90deg,#3991d224,#1f74bb08),url(../images/common/about-censuria-mobile-bg.webp)!important;
    background-position:50%!important;
    background-repeat:no-repeat!important;
    background-size:cover!important
  }
  html body #root main:not(.home):not(.about-page)>section.section.framework-mandate {
    background-image:linear-gradient(#0000 0% 42%,#00000080 100%),url(../images/common/investment-mandate-mobile-bg.webp)!important;
    background-position:50%!important;
    background-repeat:no-repeat!important;
    background-size:cover!important
  }
}
@media (max-width:767px) {
  html body #root .site-footer {
    background-image:url(../images/common/footer-mobile-banner.webp)!important;
    background-position:50%!important;
    background-repeat:no-repeat!important;
    background-size:cover!important
  }
}
html body #root main:not(.home)>.partners-intro-section .prose p {
  color:#ffffffd1!important;
  letter-spacing:0!important;
  font-family:Poppins,sans-serif!important;
  font-size:15px!important;
  font-weight:200!important;
  line-height:1.7!important
}
html {
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  text-size-adjust:100%;
  font-size:100%
}
body,#root,main,header,footer,section {
  min-width:0;
  max-width:100%
}
main,section {
  width:100%
}
:where(.container,.split,.grid,.heading,.prose,.card,.philosophy-grid,.partners-people-grid,.partner-detail-layout,.framework-ecosystem)>* {
  min-width:0
}
img,picture,video,canvas {
  max-width:100%
}
img,video {
  height:auto
}
:where(p,h1,h2,h3,h4,a,span,strong,small) {
  overflow-wrap:break-word
}
:is(html body #root .banner-stack:has(>.partners-banner)>.header.interior-header,html body #root .banner-stack:has(>.secretariat-banner)>.header.interior-header) {
  background:#173a69bd
}
