@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/poppins-300.woff2') format('woff2');
}
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/poppins-500.woff2') format('woff2');
}
@font-face {
  font-family: Poppins;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/poppins-700.woff2') format('woff2');
}

/* Geometry and colours follow the original page's published layout settings. */
:root {
  --page-width: 2560px;
  --gutter: 2vw;
  --content-width: min(var(--page-width), calc(100vw - 2 * var(--gutter)));
  --grid-row: calc(var(--content-width) * .0215);
  --heading-font: Arial, Helvetica, sans-serif;
  color-scheme: light;
  font-family: Poppins, sans-serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.8;
  color: #000;
  background: #fafafa;
}
* { box-sizing: border-box; }
body { margin: 0; overflow-wrap: break-word; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, summary:focus-visible { outline: 3px solid #729fff; outline-offset: 6px; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3 { font-family: var(--heading-font); font-weight: 500; margin: 0; }
.container { width: var(--content-width); margin-inline: auto; }
.skip-link { position: fixed; top: 0; left: 1rem; padding: .75rem 1rem; background: #fff; color: #000; transform: translateY(-150%); z-index: 20; }
.skip-link:focus { transform: translateY(0); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.8vw max(var(--gutter), calc((100vw - var(--page-width)) / 2));
  background: #1c1c1c;
  box-shadow: inset 0 0 0 4px #000;
  color: #dcdcdc;
  line-height: 1;
}
.wordmark { font-family: var(--heading-font); font-size: min(calc(1rem + 1.2vw), 46.72px); font-weight: 500; line-height: 1.4; text-decoration: none; }
nav { display: flex; align-items: center; gap: 2.5vw; }
.linkedin { display: grid; place-items: center; width: 20px; min-height: 44px; }
.linkedin svg { width: 20px; height: 20px; }
.contact-button { display: inline-block; padding: 20.8px 34.736px; border: 2px solid #dcdcdc; color: #dcdcdc; text-decoration: none; font-size: max(calc(1rem - .12vw), 12.928px); line-height: normal; font-weight: 500; white-space: nowrap; }
.contact-button:hover { background: #dcdcdc; color: #000; }
.mobile-menu { display: none; }
.hero { background: #000; color: #dcdcdc; padding-bottom: 6vw; }
.hero .container {
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  grid-template-rows: repeat(18, minmax(var(--grid-row), auto));
  gap: 11px;
}
h1 { font-size: min(calc(1rem + 3.6vw), 108.16px); line-height: 1.232; }
.hero h1 { grid-area: 3 / 1 / 12 / 15; }
.section-label { font-family: Poppins, sans-serif; font-weight: 300; font-size: 1rem; line-height: 1.8; }
.hero .section-label { grid-area: 14 / 1 / 16 / 11; }
.investments { display: contents; list-style: none; margin: 0; padding: 0; }
.investments li { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 0; }
.investments li:nth-child(1) { grid-area: 15 / 1 / 18 / 3; }
.investments li:nth-child(2) { grid-area: 15 / 3 / 18 / 5; }
.investments li:nth-child(3) { grid-area: 15 / 5 / 18 / 7; }
.investments li:nth-child(4) { grid-area: 15 / 7 / 18 / 9; }
.investments li:nth-child(5) { grid-area: 15 / 9 / 18 / 11; }
.investments li:nth-child(6) { grid-area: 15 / 11 / 18 / 13; }
.investments li:nth-child(7) { grid-area: 14 / 13 / 19 / 16; }
.investments a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.investments img { width: 100%; height: 100%; object-fit: contain; }
.investors { padding: 6.6vmax 0 calc(6.6vmax + 6vw); background: #fafafa; color: #000; }
.investors .section-label { text-align: center; padding-bottom: 30px; font-family: var(--heading-font); font-weight: 500; font-size: min(calc(1rem + 2.16vw), 71.296px); line-height: 1.8; }
.people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 100px; align-items: start; }
.person { min-width: 0; padding: 20px; background: #fff; text-align: center; }
.person img { width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; border-radius: 50%; margin-bottom: calc(4% + 1px); }
.person h3 { font-size: min(calc(1rem + .24vw), 22.144px); line-height: 1.2992; margin-bottom: 1%; }
.person p { margin: 0; font-size: max(calc(1rem - .12vw), 12.928px); }
.person p + p { margin-top: 1rem; }
.about { background: #fafafa; color: #000; min-height: 66vh; padding: 6.6vmax 0 calc(6.6vmax + 6vw); }
.about-inner { width: var(--content-width); margin-inline: auto; display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 11px; min-height: calc(16 * var(--grid-row) + 165px); align-content: start; }
.about h2 { grid-column: 3 / 10; text-align: center; font-size: min(calc(1rem + 2.16vw), 71.296px); line-height: 1.2992; }
.accordion { grid-column: 10 / 24; }
.accordion details { border-bottom: 1px solid rgb(0 0 0 / 50%); }
.accordion details:first-of-type { border-top: 1px solid rgb(0 0 0 / 50%); }
.accordion summary { scroll-margin-top: 140px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; cursor: pointer; padding: 30px 0; font-family: var(--heading-font); font-size: min(calc(1rem + .72vw), 34.432px); line-height: 1.327; list-style: none; }
summary::-webkit-details-marker { display: none; }
.accordion summary::after { content: ''; width: 24px; height: 24px; flex: 0 0 24px; background: linear-gradient(currentColor, currentColor) center / 24px 1px no-repeat, linear-gradient(currentColor, currentColor) center / 1px 24px no-repeat; }
.accordion details[open] > summary::after { background-size: 24px 1px, 1px 0; }
.answer { width: auto; min-width: 85%; max-width: 300px; margin: 16px 0 16px auto; padding-bottom: 15px; font-size: max(calc(1rem - .12vw), 12.928px); }
.answer p { margin: 0 0 1rem; }
.answer p:last-child { margin-bottom: 0; }
.answer li { padding-bottom: 1rem; }
footer { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); grid-template-rows: repeat(6, minmax(var(--grid-row), auto)); gap: 11px; padding-inline: max(var(--gutter), calc((100vw - var(--page-width)) / 2)); background: #000; color: #dcdcdc; }
footer img { grid-area: 1 / 21 / 4 / 25; width: 111px; max-width: 100%; aspect-ratio: 1; height: auto; justify-self: center; object-fit: cover; border-radius: 50%; }
footer a { grid-area: 1 / 1 / 4 / 7; align-self: center; overflow-wrap: anywhere; }

@media (min-width: 768px) and (max-width: 1099px) {
  .people { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 799px), (pointer: coarse) and (max-width: 1024px) {
  .desktop-contact { display: none; }
  .mobile-menu { display: block; }
  .mobile-menu > summary { display: flex; align-items: center; justify-content: center; width: 44px; height: 37px; cursor: pointer; list-style: none; }
  .menu-lines { width: 35px; height: 12px; border-block: 1px solid currentColor; }
  .mobile-menu-panel { position: absolute; top: 100%; left: 0; right: 0; min-height: calc(100dvh - 83px); background: #fafafa; padding: 0 6vw 6vw; }
  .mobile-menu-panel nav { min-height: calc(100dvh - 83.78125px - 6vw); flex-direction: column; justify-content: flex-end; gap: 54px; }
}
@media (max-width: 767px) {
  :root { --gutter: 6vw; --grid-row: 24px; }
  .site-header { padding: 6vw; gap: 1rem; }
  .hero .container { grid-template-columns: repeat(8, minmax(0, 1fr)); grid-template-rows: repeat(26, 24px); }
  .hero h1 { grid-area: 3 / 1 / 12 / 9; }
  .hero .section-label { grid-area: 15 / 1 / 17 / 9; align-self: center; }
  .investments li:nth-child(1) { grid-area: 17 / 1 / 20 / 3; }
  .investments li:nth-child(2) { grid-area: 17 / 4 / 20 / 6; }
  .investments li:nth-child(3) { grid-area: 17 / 7 / 20 / 9; }
  .investments li:nth-child(4) { grid-area: 20 / 1 / 23 / 3; }
  .investments li:nth-child(5) { grid-area: 20 / 4 / 23 / 6; }
  .investments li:nth-child(6) { grid-area: 20 / 7 / 23 / 9; }
  .investments li:nth-child(7) { grid-area: 22 / 3 / 27 / 7; }
  .investors .container { width: 96vw; }
  .people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-inner { grid-template-columns: repeat(8, minmax(0, 1fr)); min-height: 409px; row-gap: 11px; }
  .accordion summary { scroll-margin-top: 105px; }
  .about h2 { grid-column: 1 / -1; min-height: 59px; }
  .accordion { grid-column: 1 / -1; }
  footer { grid-template-columns: repeat(8, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(24px, auto)); }
  footer img { grid-area: 1 / 6 / 4 / 9; width: 94px; }
  footer a { grid-area: 2 / 1 / 4 / 6; align-self: start; }
}
@media (max-width: 767px) and (orientation: portrait) {
  h1 { font-size: calc(1rem + .036 * min(100vh, 900px)); }
  .wordmark { font-size: calc(1rem + .012 * min(100vh, 900px)); }
  .about h2, .investors .section-label { font-size: calc(1rem + .0216 * min(100vh, 900px)); }
  .accordion summary { font-size: calc(1rem + .0072 * min(100vh, 900px)); }
  .person h3 { font-size: calc(1rem + .0024 * min(100vh, 900px)); }
  .person p, .answer { font-size: calc(1rem - .0012 * min(100vh, 900px)); }
}
@media (max-width: 575px) {
  .people { grid-template-columns: 1fr; }
}

/* The original section dividers rise by six percent of the viewport width. */
.hero, .investors, .about { position: relative; }
.hero::after, .investors::after, .about::after { content: ''; position: absolute; inset: auto 0 0; height: 6vw; pointer-events: none; }
.hero::after { background: linear-gradient(to bottom right, transparent calc(50% - 3px), #dcdcdc 50%, #dcdcdc calc(50% + 3px), #fafafa calc(50% + 4px)); }
.investors::after { background: linear-gradient(to bottom right, transparent calc(50% - 3px), #000 50%, #000 calc(50% + 3px), #fafafa calc(50% + 4px)); }
.about::after { background: #000; clip-path: polygon(0 100%, 100% 0, 100% 100%); }
.mobile-menu[open] .menu-lines { width: 25px; border: 0; position: relative; }
.mobile-menu[open] .menu-lines::before, .mobile-menu[open] .menu-lines::after { content: ''; position: absolute; inset: 50% 0 auto; height: 1px; background: currentColor; transform: rotate(45deg); }
.mobile-menu[open] .menu-lines::after { transform: rotate(-45deg); }

@media (max-width: 799px), (pointer: coarse) and (max-width: 1024px) {
  .site-header:has(.mobile-menu[open]) { background: #fafafa; color: #000; box-shadow: none; }
  .mobile-menu-panel .linkedin, .mobile-menu-panel .linkedin svg { width: 25px; height: 25px; min-height: 25px; }
  .mobile-menu-panel .contact-button { color: #000; border-color: #000; font-size: 19.2px; padding: 20.8px 34.736px; width: 210px; max-width: 100%; text-align: center; }
  .mobile-menu-panel .contact-button:hover { background: #000; color: #fafafa; }
  body:has(.mobile-menu[open]) { overflow: hidden; }
}
