:root {
  --blue:#1994bc;
  --bright:#22b8e6;
  --navy:#0e1723;
  --slate:#263042;
  --gray:#5c6878;
  --line:#94a1b3;
  --paper:#f0f4f8;
  --ease:cubic-bezier(.22,1,.36,1)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:#5c6878;
  color:#0e1723;
  font-family:Inter,Arial,sans-serif;
  -webkit-font-smoothing:antialiased
}
.site-shell {
  width:100%;
  max-width:2700px;
  margin:0 auto;
  overflow:clip;
  background:var(--paper);
  position:relative
}
img,video {
  display:block
}
a {
  color:inherit;
  text-decoration:none
}
p,h1,h2,h3,figure,blockquote {
  margin:0
}
.section-label,.eyebrow {
  text-transform:uppercase;
  letter-spacing:2.64px;
  font-size:11px;
  font-weight:500
}
.site-header {
  height:100px;
  position:fixed;
  z-index:50;
  top:0;
  left:50%;
  width:min(100%,2700px);
  transform:translate(-50%,-24px);
  opacity:0;
  color:rgba(240,244,248,.88);
  background:rgba(10,18,32,.35);
  border-bottom:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(4px);
  animation:navEnter .6s var(--ease) forwards;
  transition:background-color .5s,border-color .5s,backdrop-filter .5s,color .5s
}
@keyframes navEnter {
  to {
    opacity:1;
    transform:translate(-50%,0)
  }
  }
.header-inner {
  height:100%;
  max-width:1920px;
  margin:auto;
  padding:0 87px;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.site-header.scrolled {
  background:rgba(240,244,248,.96);
  border-color:#94a1b3;
  backdrop-filter:blur(25.75px);
  color:#263042
}
.brand {
  position:relative;
  width:110px;
  height:60px;
  flex:none
}
.logo {
  position:absolute;
  left:0;
  top:50%;
  width:auto;
  transform:translateY(-50%);
  transition:opacity .45s var(--ease)
}
.logo-light {
  height:68px;
  opacity:1
}
.logo-dark {
  height:44px;
  opacity:0
}
.scrolled .logo-light {
  opacity:0;
  pointer-events:none
}
.scrolled .logo-dark {
  opacity:1
}
.site-nav {
  display:flex;
  gap:36px;
  align-items:center;
  margin-left:8%
}
.site-nav a {
  position:relative;
  text-transform:uppercase;
  font-size:12px;
  font-weight:500;
  letter-spacing:1.68px;
  white-space:nowrap
}
.site-nav a:after {
  content:"";
  position:absolute;
  bottom:-3px;
  left:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease-out
}
.site-nav a:hover:after {
  transform:scaleX(1)
}
.header-cta {
  padding:14px 28px;
  border:1px solid rgba(240,244,248,.5);
  text-transform:uppercase;
  font-size:12px;
  font-weight:500;
  letter-spacing:.72px;
  white-space:nowrap;
  transition:background-color .5s,color .5s,border-color .5s,transform .2s
}
.header-cta:hover {
  transform:scale(1.02)
}
.scrolled .header-cta {
  background:#263042;
  color:#f9f9f9;
  border-color:#263042
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  padding:8px
}
.menu-toggle span {
  display:block;
  width:24px;
  height:1px;
  background:currentColor;
  margin:5px;
  transition:.3s
}
.menu-toggle span:last-child {
  width:16px;
  margin-left:auto
}
.hero {
  position:relative;
  width:100%;
  height:100vh;
  min-height:600px;
  max-height:900px;
  overflow:hidden;
  color:var(--paper)
}
.section-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.hero-shade,.contact-shade {
  position:absolute;
  inset:0;
  background:rgba(10,18,32,.65)
}
.hero-inner {
  position:relative;
  height:100%;
  max-width:1920px;
  margin:auto;
  padding:0 64px 64px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end
}
.hero-grid {
  display:flex;
  gap:64px;
  align-items:flex-end
}
.hero-grid>h1,.hero-grid>.hero-copy {
  flex:1;
  min-width:0
}
.eyebrow {
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:24px;
  animation:blurIn .7s .4s var(--ease) both
}
.eyebrow:before,.section-label:before {
  content:"";
  display:inline-block;
  width:24px;
  height:1px;
  background:currentColor;
  margin-right:14px;
  vertical-align:middle
}
.hero h1 {
  font:400 clamp(48px,8vw,120px)/.85 Fraunces,serif;
  letter-spacing:-3px;
  white-space:nowrap
}
.hero h1 br {
  display:block
}
.hero h1 {
  animation:blurIn .9s .5s var(--ease) both
}
.hero h1 em {
  color:var(--bright);
  font-weight:400
}
.hero-copy {
  padding-bottom:0;
  animation:blurIn .8s .9s var(--ease) both
}
.hero-copy h2 {
  font:italic 400 clamp(16px,1.6vw,22px)/1.45 Fraunces,serif;
  color:var(--bright);
  margin-bottom:9px;
  letter-spacing:-.11px
}
.hero-copy p {
  font-size:clamp(13px,1.1vw,16px);
  line-height:26px;
  max-width:480px;
  color:#d4d8df
}
.hero-foot {
  margin-top:40px;
  padding-top:28px;
  border-top:1px solid #5c6878;
  display:flex;
  align-items:center;
  justify-content:space-between;
  animation:fadeIn .6s 1.2s both
}
.hero-foot>span {
  font-size:11px;
  letter-spacing:2.64px;
  text-transform:uppercase;
  color:#d0d8ee
}
.hero-foot strong {
  font:400 20px Fraunces,serif;
  color:#f1ece2
}
.hero-foot strong em {
  color:var(--bright)
}
.hero-foot>i {
  font:italic 400 12px Fraunces,serif;
  color:#9c9384
}
@keyframes blurIn {
  from {
    opacity:0;
    filter:blur(16px)
  }
  to {
    opacity:1;
    filter:blur(0)
  }
  }
@keyframes fadeIn {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
  }
.foundation-wrap {
  position:relative;
  overflow:hidden;
  padding-bottom:120px
}
.foundation-bg {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:#fbfcff
}
.foundation-bg img {
  position:absolute;
  width:100%;
  height:136%;
  top:-18%;
  object-fit:cover;
  filter:grayscale(1);
  opacity:.24;
  mix-blend-mode:multiply;
  will-change:transform
}
.metrics {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid #94a1b3;
  max-width:1440px;
  margin:auto
}
.metrics article {
  position:relative;
  text-align:center;
  padding:40px 24px;
  border-right:1px solid #94a1b3
}
.metrics article:last-child {
  border:0
}
.metrics span {
  display:block;
  color:#5c6878;
  font-size:10px;
  font-weight:500;
  letter-spacing:2.2px;
  text-transform:uppercase;
  margin-bottom:12px
}
.metrics strong {
  display:block;
  font:italic 400 clamp(36px,4.5vw,56px)/1 Fraunces,serif;
  color:#1994bc;
  letter-spacing:-1.4px;
  margin-bottom:12px
}
.metrics article:nth-child(2) strong {
  font-weight:700;
  font-size:clamp(48px,6vw,80px)
}
.metrics p {
  font:400 clamp(12px,1vw,16px) Fraunces,serif;
  color:#5c6878
}
.foundation {
  position:relative;
  display:flex;
  gap:64px;
  align-items:flex-start;
  padding:64px;
  max-width:1440px;
  margin:auto
}
.foundation-title,.foundation-copy {
  flex:1;
  min-width:0
}
.foundation-title {
  display:flex;
  flex-direction:column;
  gap:24px
}
.foundation-title .section-label {
  color:#94a1b3
}
.foundation-title .section-label:before {
  color:#1994bc
}
.foundation-title h2 {
  font:400 clamp(32px,4vw,58px)/1.07 Fraunces,serif;
  letter-spacing:-1.276px
}
.foundation-title h2 br+* {
  color:red
}
.foundation-copy {
  display:flex;
  flex-direction:column;
  gap:18px
}
.foundation-copy p {
  font-size:15px;
  line-height:26px;
  color:#263042
}
.foundation-copy .lead {
  font:italic 400 clamp(16px,1.6vw,22px)/1.45 Fraunces,serif;
  color:#1994bc
}
.foundation blockquote {
  position:relative;
  background:#263042;
  color:#f0f4f8;
  border-left:2px solid #22b8e6;
  padding:32px 48px 32px 80px;
  font:italic 400 clamp(18px,2vw,28px)/1.3 Fraunces,serif;
  transition:transform .25s
}
.foundation blockquote:hover {
  transform:translateX(4px)
}
.foundation cite {
  display:block;
  font:500 10px Inter,sans-serif;
  letter-spacing:2.4px;
  color:#94a1b3;
  text-transform:uppercase;
  margin-top:20px
}
.story {
  background:#f0f4f8;
  padding:120px 80px;
  max-width:1440px;
  margin:auto
}
.story-heading {
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  margin-bottom:120px
}
.story-heading .section-label {
  color:#5c6878
}
.story-heading h2 {
  font:400 clamp(52px,9vw,132px)/.94 Fraunces,serif;
  letter-spacing:-4.62px
}
.story-heading h2 em {
  color:#1994bc
}
.story-heading>p:last-child {
  font:italic 400 clamp(14px,1.5vw,20px)/30px Fraunces,serif;
  color:#5c6878;
  max-width:720px
}
.timeline {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:120px
}
.timeline:before,.timeline:after {
  content:"";
  position:absolute;
  left:240px;
  top:0;
  bottom:0;
  width:2px;
  background:rgba(38,48,66,.2)
}
.timeline:after {
  background:#1994bc;
  transform-origin:top;
  transform:scaleY(var(--timeline-progress,0));
  transition:transform .1s linear
}
.timeline-item {
  display:flex;
  align-items:flex-start;
  gap:64px;
  min-height:0
}
.timeline-item.reverse figure {
  order:initial
}
.timeline-item.reverse .timeline-copy {
  order:initial
}
.year {
  width:240px;
  flex:none;
  padding:20px 16px 0;
  text-align:right
}
.year strong {
  font:italic 700 clamp(36px,4vw,60px)/1 Fraunces,serif;
  color:#1994bc
}
.year span {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  font-size:10px;
  font-weight:600;
  letter-spacing:2.4px;
  text-transform:uppercase;
  color:#263042;
  margin-top:12px
}
.year i {
  display:block;
  position:relative;
  width:20px;
  height:14px
}
.year i:before {
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:14px;
  height:1.5px;
  background:#263042
}
.year i:after {
  content:"";
  position:absolute;
  right:-4px;
  top:1px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#22b8e6;
  box-shadow:0 0 0 2px rgba(34,184,230,.25)
}
.timeline-item figure {
  width:360px;
  align-self:stretch;
  min-height:300px;
  flex:none;
  position:relative;
  overflow:hidden;
  border-radius:18px
}
.timeline-item figure img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:bottom !important;
}
.timeline-item:first-child figure img {
  object-position:center 18%
}
.timeline-copy {
  flex:1;
  background:#f0f4f8;
  padding:48px 48px 48px 0
}
.timeline-item {
  background:#f0f4f8;
  border-radius:12px;
  overflow:hidden
}
.timeline-copy>span {
  font-size:11px;
  font-weight:500;
  letter-spacing:2.42px;
  text-transform:uppercase;
  color:#1994bc
}
.timeline-copy h3 {
  font:400 clamp(28px,3vw,42px)/1 Fraunces,serif;
  margin:20px 0
}
.timeline-copy h3 em {
  color:#1994bc
}
.timeline-copy p {
  font-size:15px;
  line-height:26px;
  color:#5c6878
}
.platform {
  position:relative;
  padding:140px 64px;
  color:#f0f4f8;
  background:#0e1723 url('../images/capital.png') center/cover no-repeat;
  background-blend-mode:multiply
}
.platform-sticky {
  position:relative
}
.platform-intro {
  display:flex;
  gap:64px;
  align-items:flex-end;
  width:100%;
  max-width:1312px;
  margin:0 auto 64px
}
.platform-intro>* {
  flex:1
}
.platform-intro .section-label {
  position:absolute;
  transform:translateY(-52px);
  color:#1994bc
}
.platform-intro h2 {
  font:400 clamp(30px,4vw,58px)/1.07 Fraunces,serif;
  letter-spacing:-1.276px
}
.platform-intro h2 em {
  color:#1994bc
}
.platform-intro>p:last-child {
  font-size:15px;
  line-height:26px
}
.services {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  width:100%;
  max-width:1312px;
  margin:0 auto
}
.services article {
  padding:48px 36px;
  /*
  border-right:1px solid #1994bc 
  */
}
.services article:last-child {
  border:0
}
.services h3 {
  font:400 clamp(20px,2.2vw,30px)/1.15 Fraunces,serif
}
.services h3 em {
  color:#94a1b3
}
.services p {
  font-size:12px;
  line-height:22px;
  color:#e8e0ce;
  margin-top:24px
}
.capital {
  position:relative;
  background:#f0f4f8;
  color:#0e1723;
  padding:140px 64px;
  min-height:0
}
.capital-content {
  display:flex;
  gap:64px;
  width:100%;
  max-width:1310px;
  margin:0 auto
}
.capital-content>* {
  flex:1
}
.capital-content .section-label {
  position:absolute;
  transform:translateY(-52px);
  color:#5c6878
}
.capital-content h2 {
  font:400 clamp(28px,3.5vw,48px)/1.25 Fraunces,serif;
  margin:0
}
.capital-content h2 br {
  display:none
}
.capital-copy {
  display:flex;
  flex-direction:column;
  gap:8px
}
.capital-copy p {
  font-size:15px;
  line-height:26px;
  color:#0e1723
}
.capital-types {
  width:100%;
  max-width:1310px;
  margin:64px auto 0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid #94a1b3
}
.capital-types span {
  min-height:132px;
  padding:32px 16px;
  border-right:1px solid #94a1b3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  text-transform:uppercase;
  font-size:10px;
  font-weight:500;
  letter-spacing:2.2px;
  transition:background-color .25s
}
.capital-types span:hover {
  background:rgba(148,161,179,.12)
}
.capital-types span:last-child {
  border:0
}
.capital-types img {
  display:block;
  width:auto;
  height:auto;
  max-width:calc(100% - 24px);
  max-height:61px;
  object-fit:contain;
  flex-shrink:1
}
.capital-types b {
  font:600 24px Fraunces,serif;
  letter-spacing:0;
  text-transform:none;
  color:#060d18
}
.contact {
  position:relative;
  width:100%;
  max-width:none;
  margin:auto;
  overflow:hidden;
  color:#f0f4f8;
  text-align:center;
  padding:180px 64px
}
.contact>div:not(.contact-shade) {
  position:relative;
  z-index:1;
  width:100%;
  max-width:1312px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:32px
}
.contact .section-label {
  color:#f0f4f8
}
.contact h2 {
  font:400 clamp(32px,5.5vw,80px)/1.05 Fraunces,serif;
  letter-spacing:-2px
}
.contact h2 em {
  color:#1994bc
}
.contact>div>p:not(.section-label) {
  font-size:clamp(14px,1.2vw,16px);
  line-height:26px;
  max-width:560px
}
.contact a {
  background:#1a2434;
  color:#22b8e6;
  border:1px solid #22b8e6;
  padding:22px 44px;
  text-transform:uppercase;
  font-size:clamp(12px,1.2vw,16px);
  font-weight:600;
  letter-spacing:1.76px;
  transition:.25s
}
.contact a span {
  display:none
}
.contact a:hover {
  background:#0e1723;
  transform:scale(1.03);
  box-shadow:0 0 24px rgba(34,184,230,.3)
}
.site-footer {
  height:112px;
  background:#0e1723;
  border-top:1px solid #94a1b3;
  color:#94a1b3;
  padding:0 max(64px,calc((100% - 1440px)/2 + 64px));
  display:flex;
  align-items:center
}
.footer-brand {
  display:contents
}
.footer-brand>span,.site-footer p {
  flex:1;
  font-size:11px;
  font-weight:500;
  letter-spacing:1.98px
}
.footer-since {
  font:italic 400 13px Fraunces,serif!important;
  text-align:center
}
.site-footer p {
  text-align:right
}
.footer-email {
  color:inherit
}
.footer-credit {
  font-style:normal;
  font-weight:400
}
.js .reveal {
  opacity:0;
  filter:blur(12px);
  transform:translateY(12px);
  transition:opacity .8s var(--ease),filter .8s var(--ease),transform .8s var(--ease)
}
.js .reveal.visible {
  opacity:1;
  filter:blur(0);
  transform:none
}
.story-title-typewriter [data-typewriter-part] {
  white-space:pre
}
.typewriter-caret {
  display:none;
  width:2px;
  height:.78em;
  margin-left:.06em;
  vertical-align:-.02em;
  background:#1994bc;
  animation:typewriter-caret .7s step-end infinite
}
.js .story-title-typewriter.typing .typewriter-caret {
  display:inline-block
}
@keyframes typewriter-caret {
  50% {
    opacity:0
  }
}
.js .metric-year-reveal {
  opacity:0;
  transition:opacity .8s ease-out
}
.js .metric-year-reveal.visible {
  opacity:1
}
@media(max-width:1023px) {
  .site-header {
    height:100px
  }
  .header-inner {
    padding:0 40px
  }
  .site-nav,.header-cta {
    display:none
  }
  .menu-toggle {
    display:block;
    color:inherit
  }
  .hero-inner {
    padding:0 40px 64px
  }
  .hero-grid {
    flex-direction:column;
    align-items:flex-start;
    gap:32px
  }
  .hero-copy {
    display:block
  }
  .hero-foot {
    display:none
  }
  .foundation-wrap {
    padding-bottom:80px
  }
  .foundation {
    padding:64px 40px;
    flex-direction:column
  }
  .story {
    padding:80px 40px
  }
  .timeline:before,.timeline:after {
    left:160px
  }
  .year {
    width:160px
  }
  .timeline-item {
    gap:32px
  }
  .timeline-item figure {
    width:260px
  }
  .timeline-copy {
    padding:36px 36px 36px 0
  }
  .platform,.capital {
    padding:80px 40px
  }
  .platform-intro,.capital-content {
    gap:40px
  }
  .services {
    grid-template-columns:1fr
  }
  .services article {
    border-right:0;
    border-bottom:1px solid rgba(25,148,188,.4)
  }
  .capital-types {
    grid-template-columns:repeat(3,1fr)
  }
  .contact {
    padding:112px 40px
  }
  .site-footer {
    padding:0 40px
  }
  }
@media(max-width:767px) {
  .site-header {
    height:72px
  }
  .header-inner {
    padding:0 20px
  }
  .brand {
    height:52px
  }
  .logo-light {
    height:48px
  }
  .logo-dark {
    height:32px
  }
  .menu-open {
    overflow:hidden
  }
  .site-nav {
    display:flex;
    position:fixed;
    inset:72px 0 0;
    background:#f0f4f8;
    color:#263042;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:40px;
    margin:0;
    opacity:0;
    pointer-events:none;
    transform:translateY(-20px);
    transition:.35s
  }
  .menu-open .site-nav {
    opacity:1;
    pointer-events:auto;
    transform:none
  }
  .menu-open .menu-toggle span:first-child {
    transform:translateY(6px) rotate(45deg)
  }
  .menu-open .menu-toggle span:nth-child(2) {
    opacity:0
  }
  .menu-open .menu-toggle span:last-child {
    width:24px;
    transform:translateY(-6px) rotate(-45deg)
  }
  .hero-inner {
    padding:0 20px 48px
  }
  .hero h1 {
    letter-spacing:-1px
  }
  .hero-copy {
    display:none
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:2px
  }
  .foundation-wrap {
    padding-bottom:64px
  }
  .metrics {
    grid-template-columns:1fr
  }
  .metrics article {
    border-right:0;
    border-bottom:1px solid #94a1b3
  }
  .foundation {
    padding:48px 20px
  }
  .foundation blockquote {
    padding:32px
  }
  .story {
    padding:64px 20px
  }
  .story-heading {
    margin-bottom:64px
  }
  .timeline {
    gap:48px
  }
  .timeline:before,.timeline:after {
    display:none
  }
  .timeline-item {
    display:flex;
    flex-direction:column;
    gap:0
  }
  .year {
    width:auto;
    padding:24px 32px 0;
    text-align:left
  }
  .year span {
    justify-content:flex-start
  }
  .timeline-item figure {
    width:100%;
    height:260px;
    min-height:260px;
    align-self:auto
  }
  .timeline-copy {
    padding:32px
  }
  .platform,.capital {
    padding:64px 20px
  }
  .platform-intro,.capital-content {
    flex-direction:column;
    align-items:flex-start
  }
  .platform-intro .section-label,.capital-content .section-label {
    position:static;
    transform:none
  }
  .capital-types {
    grid-template-columns:repeat(2,1fr)
  }
  .capital-types span {
    border-bottom:1px solid #94a1b3
  }
  .contact {
    padding:80px 20px
  }
  .contact h2 br {
    display:none
  }
  .site-footer {
    height:auto;
    min-height:176px;
    padding:32px 20px;
    display:flex;
    flex-direction:column;
    gap:18px;
    text-align:center
  }
  .footer-brand {
    display:flex;
    flex-direction:column;
    gap:18px
  }
  .footer-brand>span,.site-footer p {
    flex:none;
    text-align:center
  }
  }
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
  .js .reveal {
    opacity:1;
    filter:none;
    transform:none
  }
  .js .metric-year-reveal {
    opacity:1
  }
  .platform {
    height:auto!important;
    min-height:0!important;
    padding:140px 64px!important
  }
  .platform-sticky {
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important
  }
  .services article {
    opacity:1!important;
    transform:none!important
  }
  }
/* Story cards match the prototype: year rail + one unified image/content card. */
.timeline-item {
  background:transparent;
  border-radius:0;
  overflow:visible
}
.story-card {
  flex:1;
  min-width:0;
  display:flex;
  align-items:stretch;
  background:#f0f4f8;
  border-radius:12px;
  overflow:hidden
}
.story-card figure {
  align-self:stretch
}
.story-card .timeline-copy {
  padding:48px
}
@media(max-width:1023px) {
  .story-card .timeline-copy {
    padding:36px
  }
  }
@media(max-width:767px) {
  .story-card {
    width:100%;
    flex-direction:column
  }
  .story-card .timeline-copy {
    padding:32px
  }
  }
.story-more p {
  margin-top:18px
}
.story-toggle {
  appearance:none;
  margin-top:20px;
  padding:0 0 5px;
  background:transparent;
  border:0;
  border-bottom:1px solid #1994bc;
  color:#1994bc;
  font:600 10px/1.2 Inter,sans-serif;
  letter-spacing:2px;
  text-transform:uppercase;
  cursor:pointer
}
.story-toggle:hover {
  color:#263042;
  border-color:#263042
}
.scroll-top {
  position:fixed;
  z-index:45;
  right:24px;
  bottom:24px;
  width:52px;
  height:52px;
  border:1px solid rgba(240,244,248,.65);
  background:rgba(14,23,35,.9);
  color:#f0f4f8;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .3s,visibility .3s,transform .3s,background-color .25s;
  cursor:pointer
}
.scroll-top.visible {
  opacity:1;
  visibility:visible;
  transform:none
}
.scroll-top:hover {
  background:#1994bc
}
.scroll-top span {
  font-size:18px;
  line-height:15px
}
.scroll-top small {
  font:500 8px/1 Inter,sans-serif;
  letter-spacing:1px;
  text-transform:uppercase
}
@media(max-width:767px) {
    .site-header {
    left:0;
    right:0;
    width:100%;
    transform:none;
    animation:none;
    opacity:1
  }
    .header-inner {
    position:relative;
    width:100%
  }
    .menu-toggle {
    position:relative;
    z-index:52;
    width:40px;
    height:40px;
    padding:8px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:5px
  }
    .menu-toggle span {
    width:24px;
    margin:0;
    flex:none
  }
    .menu-toggle span:last-child {
    width:16px
  }
    .site-nav {
    position:fixed;
    z-index:49;
    inset:72px 0 0;
    width:100%;
    height:calc(100dvh - 72px);
    padding:24px 20px;
    background:#f0f4f8;
    color:#263042;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    overflow-y:auto;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-20px);
    transition:opacity .35s,visibility .35s,transform .35s
  }
    .site-nav a {
    width:min(100%,600px);
    padding:28px 0;
    border-bottom:1px solid #94a1b3;
    text-align:center;
    font-size:13px;
    letter-spacing:2.4px
  }
    .site-nav a:last-child {
    border-bottom:0
  }
    .menu-open .site-nav {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none
  }
    .menu-open .menu-toggle span:first-child {
    transform:translateY(6px) rotate(45deg)
  }
    .menu-open .menu-toggle span:nth-child(2) {
    opacity:0
  }
    .menu-open .menu-toggle span:last-child {
    width:24px;
    transform:translateY(-6px) rotate(-45deg)
  }
    .capital-types {
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible
  }
    .capital-types span {
    width:auto;
    min-width:0;
    overflow:visible;
    padding:30px 16px
  }
    .capital-types span:nth-child(5) {
    grid-column:1/-1
  }
    .capital-types img {
    width:auto;
    max-width:100%;
    height:auto;
    max-height:52px;
    object-fit:contain
  }
    .capital-types b {
    font-size:20px
  }
    .scroll-top {
    right:16px;
    bottom:16px;
    width:46px;
    height:46px
  }
  }
/* Final cascade: shared emphasis, controls and mobile navigation. */
.foundation-title h2 em,
.capital-content h2 em {
  font-style:italic;
  color:#1994bc
}
.story-toggle,
.story-toggle:hover,
.story-toggle:focus {
    appearance:none;
  border:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  padding:0;
  color:#1994bc;
  font:500 12px/1.4 Inter,Arial,sans-serif;
  text-decoration:none;
  cursor:pointer
}
.story-toggle:focus-visible {
  outline:1px dotted #1994bc;
  outline-offset:4px
}
.year strong {
  font-weight:700
}
#landau-scroll-top {
    position:fixed!important;
  z-index:100;
  left:auto!important;
  right:max(20px,calc((100vw - 1440px)/2 + 20px))!important;
  bottom:84px!important;
  width:54px;
  height:54px;
  margin:0;
  padding:0;
  border:1px solid rgba(240,244,248,.7);
  border-radius:50%;
  background:#263042;
  color:#f0f4f8;
  box-shadow:0 8px 24px rgba(6,13,24,.22);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .25s,visibility .25s,transform .25s,background-color .25s;
  cursor:pointer
}
#landau-scroll-top.visible {
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto
}
#landau-scroll-top:hover {
  background:#1994bc
}
#landau-scroll-top span {
  font:400 19px/15px Fraunces,serif
}
#landau-scroll-top small {
  font:500 8px/1 Inter,Arial,sans-serif;
  letter-spacing:1px;
  text-transform:uppercase
}
.mobile-menu {
  display:none
}
@media(min-width:768px) {
    .site-footer p,.footer-brand>span {
    white-space:nowrap
  }
    .footer-brand>span:first-child {
    flex:1.35;
    font-size:clamp(8px,.65vw,10px);
    letter-spacing:1.5px
  }
    .footer-since {
    flex:.65
  }
    .site-footer {
    gap:24px
  }
    .site-footer p {
    flex:1.35;
    font-size:clamp(8px,.75vw,11px)
  }
  }
@media(max-width:767px) {
    .site-header {
    left:0;
    right:0;
    width:100%;
    transform:none;
    animation:none;
    opacity:1
  }
    .header-inner {
    height:72px;
    padding:0 24px
  }
    .site-nav,.header-cta {
    display:none!important
  }
    .menu-toggle {
    position:relative;
    z-index:52;
    width:42px;
    height:42px;
    padding:9px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:7px
  }
    .menu-toggle span {
    display:block;
    width:24px!important;
    height:1px;
    margin:0;
    background:currentColor;
    opacity:1!important;
    transform-origin:center;
    transition:transform .25s,opacity .2s
  }
    .menu-toggle span:last-child {
    width:24px!important
  }
    .menu-open .menu-toggle span:first-child {
    width:24px!important;
    opacity:1!important;
    transform:translateY(4px) rotate(45deg)
  }
    .menu-open .menu-toggle span:nth-child(2),
  .menu-open .menu-toggle span:last-child {
    width:24px!important;
    opacity:1!important;
    transform:translateY(-4px) rotate(-45deg)
  }
    .mobile-menu {
    position:fixed;
    z-index:49;
    inset:72px 0 0;
    height:calc(100dvh - 72px);
    padding:24px;
    background:#f0f4f8;
    color:#263042;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow-y:auto;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-16px);
    transition:opacity .3s,visibility .3s,transform .3s
  }
    .mobile-menu a {
    width:min(100%,520px);
    padding:20px 12px;
    border-bottom:1px solid #94a1b3;
    color:#263042;
    text-align:center;
    font:500 13px/1.4 Inter,Arial,sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase
  }
    .mobile-menu .mobile-menu-cta {
    width:auto;
    margin-top:28px;
    padding:14px 22px;
    border:1px solid #263042
  }
    .menu-open .mobile-menu {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none
  }
    .site-footer p,.footer-brand>span {
    white-space:normal
  }
    #landau-scroll-top {
    right:16px!important;
    bottom:28px!important;
    width:50px;
    height:50px
  }
  }
/* Measured desktop refinements from the 1440px Figma frames. */
@media(min-width:1024px) {
    .hero-copy {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-end
  }
    .hero-copy h2,.hero-copy p {
    width:100%;
    max-width:680px
  }
    .foundation-wrap {
    height:810px;
    padding:0 0 120px;
    display:flex;
    flex-direction:column;
    gap:64px;
    background:#fbfcff
  }
    .foundation-bg img {
    height:136%;
    top:-18%;
    opacity:1;
    filter:none;
    mix-blend-mode:normal
  }
    .foundation-bg:after {
    content:"";
    position:absolute;
    inset:0;
    background:#d6dde8;
    mix-blend-mode:color
  }
    .metrics {
    width:100%;
    height:240px;
    min-height:240px;
    flex:none
  }
    .metrics article {
    width:auto;
    height:240px;
    padding:48px 32px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px
  }
    .metrics article:nth-child(2) {
    background:rgba(214,221,232,.24);
    border-left:1px solid #94a1b3;
    border-right:1px solid #94a1b3
  }
    .metrics article:first-child {
    border-right:0
  }
    .metrics span,.metrics strong,.metrics p {
    margin:0
  }
    .metrics strong {
    font-size:56px;
    line-height:56px;
    color:#1a2434
  }
    .metrics article:nth-child(2) strong {
    font-size:80px;
    line-height:80px;
    color:#263042
  }
    .metrics p {
    font-family:Inter,Arial,sans-serif;
    font-style:normal;
    font-size:12px;
    line-height:18px
  }
    .metrics article:nth-child(2) p {
    font-family:Fraunces,serif;
    font-style:italic;
    font-size:16px;
    line-height:24px;
    max-width:291px
  }
    .foundation {
    width:100%;
    height:386px;
    padding:0 64px;
    gap:64px;
    flex:none
  }
    .foundation-title {
    width:auto;
    flex:609 1 0
  }
    .foundation-copy {
    width:auto;
    flex:639 1 0
  }
    .foundation-title h2 {
    width:100%;
    font-size:clamp(32px,4vw,58px);
    line-height:1.07;
    letter-spacing:-.022em
  }
    .foundation-title h2 span {
    display:block;
    white-space:nowrap
  }
    .foundation-title h2 em {
    font-style:italic;
    color:#1994bc
  }
    .foundation blockquote {
    width:100%;
    height:170px;
    padding:33px 48px 33px 80px;
    display:flex;
    flex-direction:column;
    justify-content:center
  }
    .platform {
    height:320vh;
    min-height:2300px;
    padding:0;
    background:#0e1723
  }
    .platform-sticky {
    position:sticky;
    top:0;
    height:100vh;
    min-height:680px;
    padding:clamp(76px,10vh,140px) 64px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
    isolation:isolate
  }
    .platform-sticky:before {
    content:"";
    position:absolute;
    inset:0;
    background:url('../images/capital.png') center/cover no-repeat;
    opacity:.19;
    z-index:-1
  }
    .platform-intro {
    height:161px;
    margin-bottom:64px
  }
    .platform-heading,.platform-intro>p {
    flex:1;
    min-width:0
  }
    .platform-heading {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:24px
  }
    .platform-intro .section-label {
    position:static;
    transform:none
  }
    .services {
    height:284px
  }
    .services article {
    height:284px;
    padding:48px 36px 56px;
    opacity:var(--service-opacity,0);
    transform:translate3d(var(--service-offset,100vw),0,0);
    will-change:opacity,transform
  }
    .capital {
    height:679px;
    padding:140px 64px
  }
    .capital-content {
    width:100%;
    max-width:1310px;
    height:164px
  }
    .capital-heading,.capital-copy {
    flex:1;
    min-width:0
  }
    .capital-heading {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:24px
  }
    .capital-content .section-label {
    position:static;
    transform:none
  }
.capital-content h2 {
  font-size: clamp(26px, calc(3.5vw - 2px), 46px);
  line-height: 1.25;
}
    .capital-content h2 em {
    font-style:italic;
    color:#1994bc
  }
    .capital-types {
    width:100%;
    max-width:1310px;
    height:171px;
    margin-top:64px
  }
    .capital-types span {
    width:auto;
    height:170px;
    min-height:170px;
    padding:44px 16px;
    gap:10px
  }
    .capital-types img {
    display:block;
    width:auto;
    height:auto;
    max-width:216px;
    max-height:61px;
    object-fit:contain
  }
  }
