:root {
  --sf-atmosphere: #020714;
  --sf-atmosphere-80: rgba(2, 7, 20, 0.8);
  --sf-atmosphere-60: rgba(2, 7, 20, 0.6);
  --sf-future: #ffffff;
  --sf-future-80: rgba(255, 255, 255, 0.8);
  --sf-future-70: rgba(255, 255, 255, 0.7);
  --sf-future-30: rgba(255, 255, 255, 0.3);
  --sf-future-20: rgba(255, 255, 255, 0.2);
  --sf-future-10: rgba(255, 255, 255, 0.1);
  --sf-future-5: rgba(255, 255, 255, 0.05);
  --sf-brand-light: #89deab;
  --sf-brand-primary: #00aa50;
  --sf-brand-dark: #006e4a;
  --sf-brand-light-rgb: 137, 222, 171;
  --sf-brand-primary-rgb: 0, 170, 80;
  --sf-brand-dark-rgb: 0, 110, 74;
  --sf-brand-gradient: linear-gradient(90deg, var(--sf-brand-primary) 0%, var(--sf-brand-light) 100%);
  --sf-brand-gradient-start: var(--sf-brand-primary);
  --sf-brand-gradient-end: var(--sf-brand-light);
  --sf-terrain-100: var(--sf-brand-light);
  --sf-terrain-300: var(--sf-brand-primary);
  --sf-terrain-500: var(--sf-brand-dark);
  --sf-aqua-100: #70d0d9;
  --sf-solar-100: #ffba4a;
  --sf-font-body: "Neuro", Arial, sans-serif;
  --sf-font-display: "Osiris", Arial, sans-serif;
  --sf-container: 1344px;
  --sf-page-gutter: 48px;
}
/* Why Space page components. */
.sf-why-space-hero {
  background: var(--sf-atmosphere);
  height: 150vh;
  isolation: auto;
  min-height: 150vh;
  overflow: visible;
}

.sf-why-space-hero .whySpaceHero {
  min-height: 900px;
  padding-top: clamp(120px, 15vw, 250px);
  z-index: auto;
}

.sf-why-space-hero .whySpaceHero__inner {
  min-height: 60vh;
}

.sf-why-space-hero .whySpaceHero__eyebrow {
  -webkit-background-clip: text;
  background-clip: text;
  background-image: var(--sf-brand-gradient);
  color: transparent;
  justify-content: center;
  margin-bottom: 24px;
  -webkit-text-fill-color: transparent;
}

.sf-why-space-hero .whySpaceHero__eyebrow::before {
  background: none;
  color: var(--sf-brand-gradient-start);
  content: "//";
  height: auto;
  transform: none;
  width: auto;
  -webkit-text-fill-color: var(--sf-brand-gradient-start);
}

.sf-why-space-hero .whySpaceHero__eyebrow::after {
  content: none;
}

.sf-why-space-hero .whySpaceHero__body p {
  color: var(--sf-future-70);
}

.sf-why-space-hero .statsRowCon {
  backdrop-filter: blur(12px);
  background: transparent;
  border: 0;
  border-radius: 20px;
  margin-bottom: 50px;
  padding: 70px 0 50px;
  z-index: auto;
}

.sf-why-space-hero .statsRowCon > [class*="col-"] {
  padding-inline: calc(var(--bs-gutter-x) * 0.5);
}

.sf-why-space-hero .statsRowCon h2 {
  margin-bottom: 0.5rem;
}

.sf-why-space-hero .statsRowCon p {
  color: var(--sf-future-70);
  margin: 0;
  max-width: none;
}

.sf-why-space-hero .earthLayerCon {
  height: 150svh;
}

.sf-why-space-hero .earthLayerCon .earthLayer {
  background-attachment: fixed;
  background-image: var(--why-space-earth-image, none);
  background-position: 0 60vh;
  background-repeat: no-repeat;
  background-size: 100vw auto;
  height: 40vh;
  overflow: visible;
}

.sf-why-space-hero .earthLayer::before {
  content: none;
}

.sf-why-space-hero .whySpaceScroll {
  color: var(--sf-future-70);
  margin: 0 auto;
  padding-top: 20vh;
  position: relative;
  transform: none;
  z-index: auto;
}

.sf-why-space-hero .whySpaceScroll:hover {
  color: var(--sf-brand-light);
}

.sf-why-space-hero .shipLayer {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 32vh;
  overflow: visible;
}

.sf-hero-statement {
  margin: 50px 0;
  padding-block: 0;
}

.sf-page .sf-hero-statement p {
  color: var(--sf-future-70);
  font-family: var(--sf-font-body);
  font-size: clamp(40px, 4vw, 70px);
  font-weight: 400;
  line-height: 1;
  margin: 0;
}

.sf-page .sf-hero-statement p > span {
  color: var(--sf-future);
}

.sf-space-evolution {
  --space-evolution-start: contain 0%;
  --space-evolution-end: contain 78%;
  background: transparent;
  color: var(--sf-future);
  min-height: 220svh;
}

.sf-space-evolution .spaceEvolution__stage {
  height: auto;
  min-height: 100vh;
  top: 0;
}

.sf-space-evolution .spaceEvolution__ringWrap {
  height: auto;
  min-height: 100vh;
}

.sf-space-evolution .spaceEvolution__ringWrap h2 {
  max-width: 560px;
}

.sf-space-evolution .spaceEvolution__ringWrap h3 {
  max-width: 560px;
  position: relative;
  z-index: 2;
}

.sf-space-evolution .spaceEvolution__rings {
  border-color: var(--sf-future-20);
}

.sf-space-evolution .spaceEvolution__rings span {
  background-image: none;
  border: 2px dashed rgba(var(--sf-brand-primary-rgb), 0.68);
}

.sf-space-evolution .spaceEvolution__year {
  background: var(--sf-atmosphere);
  color: var(--sf-future-40);
}

.sf-space-evolution .spaceEvolution__marker {
  background: linear-gradient(90deg, rgba(var(--sf-brand-primary-rgb), 0), var(--sf-brand-primary));
}

.sf-space-evolution .spaceEvolution__marker::after {
  background: var(--sf-brand-primary);
  box-shadow: 0 0 18px rgba(var(--sf-brand-primary-rgb), 0.7);
}

.sf-space-evolution .spaceEvolution__content {
  height: auto;
  min-height: 100vh;
  padding: clamp(70px, 8vw, 130px) clamp(42px, 7vw, 120px) clamp(70px, 8vw, 120px) 0;
}

.sf-space-evolution .spaceEvolution__visual,
.sf-space-evolution .spaceEvolution__annotation,
.sf-space-evolution .spaceEvolution__fact {
  min-height: min(36vh, 360px);
}

.sf-space-evolution .spaceEvolution__ship {
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  position: relative;
}

.sf-space-evolution .spaceEvolution__ship--two {
  position: absolute;
}

.sf-space-evolution .spaceEvolution__ship:has(.spaceEvolution__visualImage) {
  background: none;
  clip-path: none;
  height: min(28vh, 280px);
  width: min(22vw, 260px);
}

.sf-space-evolution .spaceEvolution__ship:has(.spaceEvolution__visualImage)::before,
.sf-space-evolution .spaceEvolution__ship:has(.spaceEvolution__visualImage)::after {
  content: none;
}

.sf-space-evolution .spaceEvolution__visualImage {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.sf-space-evolution .spaceEvolution__annotation--launch::before,
.sf-space-evolution .spaceEvolution__measure {
  border-color: rgba(var(--sf-brand-light-rgb), 0.78);
}

.sf-space-evolution .spaceEvolution__measureState,
.sf-space-evolution .spaceEvolution__factState .caption {
  color: var(--sf-brand-light);
}

.sf-space-evolution .spaceEvolution__factState p {
  color: var(--sf-future-70);
}

@media (max-width: 991.98px) {
  .sf-why-space-hero {
    height: 150vh;
    min-height: 150vh;
  }

  .sf-why-space-hero .whySpaceHero {
    min-height: 700px;
    padding-top: clamp(120px, 15vw, 250px);
  }

  .sf-why-space-hero .whySpaceHero__inner {
    min-height: 60vh;
  }

  .sf-why-space-hero .statsRowCon > [class*="col-"] {
    padding-block: 0;
  }

  .sf-why-space-hero .statsRowCon > [class*="col-"]:nth-child(2n) {
    border-right: 1px solid var(--sf-future-20);
  }

  .sf-why-space-hero .statsRowCon > [class*="col-"]:last-child {
    border-right: 0;
  }

  .sf-space-evolution .spaceEvolution__stage {
    height: auto;
    min-height: 100vh;
  }

  .sf-space-evolution .spaceEvolution__ringWrap {
    height: auto;
    min-height: 58vh;
  }

  .sf-space-evolution .spaceEvolution__content {
    height: auto;
    min-height: 42vh;
  }
}

@media (max-width: 767.98px) {
  .sf-why-space-hero {
    height: 150vh;
    min-height: 150vh;
  }

  .sf-why-space-hero .whySpaceHero {
    padding: clamp(120px, 15vw, 250px) 0 0;
  }

  .sf-why-space-hero .whySpaceHero__inner {
    min-height: 60vh;
  }

  .sf-why-space-hero .statsRowCon {
    margin-inline: calc(var(--bs-gutter-x) * -0.5);
    padding: 70px 0 50px;
  }

  .sf-why-space-hero .statsRowCon > [class*="col-"] {
    border-bottom: 0;
    padding-block: 0;
  }

  .sf-space-evolution {
    --space-evolution-start: contain 0%;
    --space-evolution-end: contain 78%;
    min-height: 220vh;
  }

  .sf-space-evolution .spaceEvolution__stage {
    display: grid;
    height: auto;
    min-height: 100vh;
  }

  .sf-space-evolution .spaceEvolution__ringWrap {
    height: auto;
    min-height: 58vh;
    padding: 0 clamp(24px, 6vw, 54px) 0 clamp(32px, 5vw, 86px);
  }

  .sf-space-evolution .spaceEvolution__ringWrap h3 {
    max-width: 420px;
  }

  .sf-space-evolution .spaceEvolution__rings,
  .sf-space-evolution .spaceEvolution__yearRing {
    left: min(-46vw, -260px);
    width: min(104vw, 720px);
  }

  .sf-space-evolution .spaceEvolution__marker {
    left: calc(min(-46vw, -260px) + min(104vw, 720px) - 28px);
    width: 78px;
  }

  .sf-space-evolution .spaceEvolution__content {
    column-gap: clamp(18px, 4vw, 36px);
    grid-template-columns: minmax(120px, 0.95fr) minmax(54px, 0.35fr) minmax(160px, 1fr);
    height: auto;
    min-height: 42vh;
    padding: 0 clamp(24px, 6vw, 54px) clamp(48px, 8vw, 76px);
  }

  .sf-space-evolution .spaceEvolution__visual,
  .sf-space-evolution .spaceEvolution__annotation,
  .sf-space-evolution .spaceEvolution__fact {
    min-height: min(36vh, 360px);
  }

  .sf-space-evolution .spaceEvolution__measure {
    height: clamp(150px, 18vw, 260px);
    width: clamp(54px, 5vw, 84px);
  }

  .sf-space-evolution .spaceEvolution__measureState {
    font-size: inherit;
    left: calc(-1 * clamp(90px, 8vw, 128px));
  }
}

@media (max-width: 575.98px) {
  .sf-why-space-hero .whySpaceHero {
    min-height: 620px;
  }

  .sf-why-space-hero h1 {
    font-size: 32px;
    line-height: 36px;
    max-width: 100%;
  }

  .sf-why-space-hero .whySpaceHero__body {
    margin-inline: auto;
    max-width: 340px;
    overflow-wrap: break-word;
  }

  .sf-why-space-hero .statsRowCon > [class*="col-"] {
    border-bottom: 1px solid var(--sf-future-20);
    border-right: 0;
    padding: 18px 24px;
  }

  .sf-why-space-hero .statsRowCon > [class*="col-"]:last-child {
    border-bottom: 0;
  }

  .sf-why-space-hero .statsRowCon p {
    margin-inline: auto;
    max-width: 310px;
    overflow-wrap: break-word;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sf-space-evolution .spaceEvolution__yearRing,
  .sf-space-evolution .spaceEvolution__year,
  .sf-space-evolution .spaceEvolution__ship,
  .sf-space-evolution .spaceEvolution__factState,
  .sf-space-evolution .spaceEvolution__measureState {
    animation: none;
  }

  .sf-space-evolution .spaceEvolution__year--1980,
  .sf-space-evolution .spaceEvolution__ship--one,
  .sf-space-evolution .spaceEvolution__factState--one,
  .sf-space-evolution .spaceEvolution__measureState--one {
    display: none;
  }

  .sf-space-evolution .spaceEvolution__year--2000,
  .sf-space-evolution .spaceEvolution__ship--two,
  .sf-space-evolution .spaceEvolution__factState--two,
  .sf-space-evolution .spaceEvolution__measureState--two {
    opacity: 1;
    position: relative;
    transform: none;
  }
}


/* Insight single and archive refinements. */
.singleArticleHero__image .sf-cover-image {
  border-radius: inherit;
}

.singleArticleHero__tagline {
  color: var(--sf-future-70);
  margin: -6px 0 26px;
  max-width: 640px;
}

.singleArticleTags a.caption {
  color: var(--sf-future-80);
}

.singleArticleEmbed {
  border-radius: 8px;
  margin-bottom: clamp(30px, 4vw, 52px);
  overflow: hidden;
}

.singleArticleEmbed iframe,
.singleArticleEmbed video,
.singleArticleEmbed .wp-video,
.singleArticleEmbed .wp-video-shortcode {
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}

.singleArticleEmbed .singleArticleEmbed__audio {
  aspect-ratio: auto;
  height: 352px;
}

.singleArticleEmbed .singleArticleEmbed__document {
  aspect-ratio: auto;
  height: min(76vh, 760px);
}

.singleArticleShare .footerSocials button {
  align-items: center;
  background: transparent;
  border: 1px solid var(--sf-future-30);
  border-radius: 50%;
  color: var(--sf-future-70);
  display: inline-flex;
  height: 30px;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 30px;
}

.singleArticleShare .footerSocials button::before,
.singleArticleShare .footerSocials button::after {
  content: none;
}

.singleArticleShare .footerSocials a:hover,
.singleArticleShare .footerSocials a:focus-visible,
.singleArticleShare .footerSocials button:hover,
.singleArticleShare .footerSocials button:focus-visible,
.singleArticleShare .footerSocials button.is-copied {
  border-color: var(--sf-terrain-100);
  color: var(--sf-terrain-100);
}

.sf-archive__hero {
  padding: clamp(150px, 16vw, 230px) 0 clamp(58px, 7vw, 96px);
}

.sf-archive__hero .caption {
  margin-bottom: 20px;
}

.sf-archive__hero h1 {
  margin-bottom: 20px;
}

.sf-archive__description {
  color: var(--sf-future-70);
  margin: 0;
  max-width: 720px;
}

.sf-archive__description p {
  margin: 0;
}

.sf-archive__filters {
  border-bottom: 1px solid var(--sf-future-10);
  border-top: 1px solid var(--sf-future-10);
  padding: 28px 0;
}

.sf-archive-filter {
  align-items: end;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(260px, 1fr) minmax(190px, 0.45fr) auto auto;
}

.sf-archive-filter__field label {
  color: var(--sf-future-70);
  display: block;
  font-size: 12px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.sf-archive-filter input,
.sf-archive-filter select {
  appearance: none;
  background: var(--sf-future-5);
  border: 1px solid var(--sf-future-20);
  border-radius: 6px;
  color: var(--sf-future);
  height: 52px;
  padding: 0 16px;
  width: 100%;
}

.sf-archive-filter select {
  background-image: linear-gradient(45deg, transparent 50%, var(--sf-future-70) 50%), linear-gradient(135deg, var(--sf-future-70) 50%, transparent 50%);
  background-position: calc(100% - 18px) 23px, calc(100% - 13px) 23px;
  background-repeat: no-repeat;
  background-size: 5px 5px;
  padding-right: 38px;
}

.sf-archive-filter .button {
  height: 52px;
  margin: 0;
  white-space: nowrap;
}

.sf-archive-filter__reset {
  align-self: center;
  white-space: nowrap;
}

.sf-archive__results {
  min-height: 360px;
  padding: clamp(58px, 7vw, 100px) 0;
}

.sf-archive__empty {
  border: 1px solid var(--sf-future-20);
  border-radius: 8px;
  padding: 42px;
}

.sf-archive__empty p,
.sf-archive-card p {
  color: var(--sf-future-70);
}

.sf-archive .navigation.pagination {
  margin-top: 28px;
}

.sf-archive .nav-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sf-archive .page-numbers {
  align-items: center;
  border: 1px solid var(--sf-future-20);
  border-radius: 50%;
  display: inline-flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.sf-archive .page-numbers.current {
  border-color: var(--sf-terrain-100);
  color: var(--sf-terrain-100);
}

.sf-archive .page-numbers.prev,
.sf-archive .page-numbers.next {
  border-radius: 6px;
  padding-inline: 18px;
  width: auto;
}

@media (max-width: 991.98px) {
  .sf-archive-filter {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 575.98px) {
  .sf-archive-filter {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .sf-archive-filter__reset {
    justify-self: start;
  }

  .singleArticleBody {
    padding: 28px 22px;
  }
}

/* Mock-library component adapters. Original presentation remains in _theme.scss. */
.sf-cover-image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.contentListItem__image .sf-cover-image,
.contentCard__image .sf-cover-image,
.notch-card .imageCon > .sf-cover-image,
.team-card .imageCon > .sf-cover-image,
.drawer .imageCon > .sf-cover-image {
  inset: 0;
  position: absolute;
}

.sf-results-list__format {
  margin-left: 8px;
}

.sf-results-list--horizontal .resultsDownloadList {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-results-list--horizontal .resultsDownloadItem {
  align-items: flex-start;
  flex-direction: column;
}

.sf-results-list--horizontal .resultsDownloadItem__button {
  align-self: flex-end;
}

.sf-component-heading {
  margin-bottom: 36px;
}

.sf-notch-grid,
.sf-team-grid,
.sf-ecosystem-grid {
  display: grid;
  gap: 56px 24px;
}

.sf-notch-grid--cols-2,
.sf-ecosystem-grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-notch-grid--cols-3,
.sf-team-grid,
.sf-ecosystem-grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-notch-grid--cols-4,
.sf-ecosystem-grid--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-notch-grid .notch-card,
.sf-team-profiles .card,
.sf-team-grid .notch-card {
  margin-top: 38px;
}

.sf-notch-grid .notch-card,
.sf-team-grid .notch-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.sf-notch-grid .notch-card .contentCon,
.sf-team-grid .notch-card .contentCon {
  flex: 1 1 auto;
}

.sf-notch-grid .notch-card .detailsCon::before {
  pointer-events: none;
}

.sf-notch-grid .notch-card .white65,
.sf-team-featured .sf-team-bio p {
  color: var(--sf-future-70);
  margin-bottom: 0;
}

.sf-notch-grid .notch-card .buttonCon {
  z-index: 3;
}

.sf-notch-grid .notch-card .buttonCon a::after {
  content: none;
}

.sf-team-featured {
  margin-bottom: 72px;
}

.sf-team-profiles .imageCon {
  position: relative;
}

.sf-team-profiles .textCtaCon .openDrawer {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--sf-terrain-100);
  font-size: 0.8em;
  margin: 0;
  padding: 0 0 6px;
}

.sf-team-profiles .textCtaCon .openDrawer::before,
.sf-team-profiles .textCtaCon .openDrawer::after {
  content: none;
}

.sf-team-profiles .textCtaCon .openDrawer:hover,
.sf-team-profiles .textCtaCon .openDrawer:focus-visible {
  color: var(--sf-future);
  padding: 0 0 6px;
}

body.has-open-drawer {
  overflow: hidden;
}

.sf-team-profiles .drawerCon {
  align-items: stretch;
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  transition: opacity 250ms ease;
  visibility: hidden;
}

.sf-team-profiles .drawerCon .drawer {
  max-width: 760px;
  overflow-y: auto;
  right: 0;
  transform: translateX(100%);
  transition: transform 350ms ease;
  width: min(760px, 72vw);
}

.sf-team-profiles .drawerCon.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.sf-team-profiles .drawerCon.is-open .drawer {
  transform: translateX(0);
}

.sf-team-profiles .drawer .close {
  cursor: pointer;
  z-index: 4;
}

.sf-team-profiles .drawer .imageCon {
  min-height: 0;
}

.sf-ecosystem-grid .ecosystemBox {
  margin-bottom: 0;
  overflow: hidden;
}

.sf-ecosystem-image {
  inset: 0;
  overflow: hidden;
  position: absolute;
  z-index: 0;
}

.sf-ecosystem-image::after {
  background: linear-gradient(180deg, rgba(2, 7, 20, 0.2), rgba(2, 7, 20, 0.88));
  content: "";
  inset: 0;
  position: absolute;
}

.sf-ecosystem-grid .ecosystemHeading,
.sf-ecosystem-grid .ecosystemContent {
  position: relative;
  z-index: 1;
}

.sf-ecosystem-grid .activeCorners {
  z-index: 2;
}

.sf-ecosystem-grid .ecosystemContent p {
  color: var(--sf-future-70);
  margin-bottom: 18px;
}

.sf-newsletter-panel {
  background-image: linear-gradient(90deg, rgba(2, 7, 20, 0.92) 0%, rgba(2, 7, 20, 0.74) 48%, rgba(2, 7, 20, 0.15) 100%), url("../img/ssit/newsletter-background.png");
}

@media (max-width: 991.98px) {
  .sf-notch-grid--cols-3,
  .sf-notch-grid--cols-4,
  .sf-team-grid,
  .sf-ecosystem-grid--cols-3,
  .sf-ecosystem-grid--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sf-team-profiles .drawerCon .drawer {
    border-radius: 24px 0 0 24px;
    width: min(680px, 88vw);
  }
}

@media (max-width: 767.98px) {
  .sf-results-list--horizontal .resultsDownloadList,
  .sf-notch-grid--cols-2,
  .sf-notch-grid--cols-3,
  .sf-notch-grid--cols-4,
  .sf-team-grid,
  .sf-ecosystem-grid--cols-2,
  .sf-ecosystem-grid--cols-3,
  .sf-ecosystem-grid--cols-4 {
    grid-template-columns: 1fr;
  }

  .sf-team-profiles .drawerCon .drawer {
    border-radius: 0;
    padding: 28px 20px;
    width: 100%;
  }

  .sf-team-profiles .drawer .topRow {
    align-items: flex-start;
    gap: 24px;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--sf-atmosphere);
  color: var(--sf-future);
  font-family: var(--sf-font-body);
}

body.has-open-menu {
  overflow: hidden;
}

.sf-page,
.sf-site-header,
.sf-site-footer {
  box-sizing: border-box;
  font-family: var(--sf-font-body);
}

.sf-page *,
.sf-page *::before,
.sf-page *::after,
.sf-site-header *,
.sf-site-header *::before,
.sf-site-header *::after,
.sf-site-footer *,
.sf-site-footer *::before,
.sf-site-footer *::after {
  box-sizing: inherit;
}

.sf-card::before,
.sf-card::after,
.sf-site-header a::before,
.sf-site-header a::after,
.sf-site-footer a::before,
.sf-site-footer a::after {
  content: none;
}

.sf-page {
  background: var(--sf-atmosphere);
  color: var(--sf-future);
  isolation: isolate;
  min-height: 100vh;
  overflow: clip;
  position: relative;
}

.sf-sticky-gradient {
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.sf-sticky-gradient span {
  background:
    radial-gradient(78% 56% at 82% 15%, rgba(var(--sf-brand-primary-rgb), 0.3) 0%, rgba(var(--sf-brand-primary-rgb), 0.13) 34%, transparent 72%),
    radial-gradient(68% 42% at 4% 4%, rgba(var(--sf-brand-light-rgb), 0.2) 0%, rgba(var(--sf-brand-light-rgb), 0.08) 38%, transparent 72%),
    radial-gradient(64% 46% at 72% 100%, rgba(var(--sf-brand-dark-rgb), 0.1) 0%, transparent 74%);
  display: block;
  height: 100vh;
  mix-blend-mode: lighten;
  width: 100%;
}

.sf-sticky-gradient--page {
  position: fixed;
}

.sf-container {
  margin-inline: auto;
  max-width: var(--sf-container);
  width: calc(100% - (var(--sf-page-gutter) * 2));
}

.sf-container-fluid {
  width: 100%;
}

.sf-page h1,
.sf-page h2,
.sf-page h3,
.sf-page p {
  margin-top: 0;
}

.sf-page h1,
.sf-page h2,
.sf-page h3 {
  color: inherit;
  font-family: var(--sf-font-display);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: lowercase;
}

.sf-page h1 {
  font-size: 68px;
  line-height: 1;
}

.sf-page h2 {
  font-size: 48px;
  line-height: 1.08;
}

.sf-page h3 {
  font-size: 32px;
  line-height: 1.125;
}

.sf-page p {
  color: var(--sf-future-70);
  font-size: 16px;
  line-height: 1.5;
}

.sf-section {
  background: var(--sf-atmosphere);
  color: var(--sf-future);
  position: relative;
  z-index: 1;
}

.sf-section > .sf-container,
.sf-section > .sf-container-fluid {
  position: relative;
  z-index: 1;
}

.sf-page--sticky-gradient .sf-section--theme-dark,
.sf-page--sticky-gradient .sf-section--theme-light {
  background: transparent;
}

.sf-section--spacing-none {
  padding-block: 0;
}

.sf-section--spacing-small {
  padding-block: 48px;
}

.sf-section--spacing-default {
  padding-block: 88px;
}

.sf-section--spacing-large {
  padding-block: 120px;
}

.sf-section--theme-dark,
.sf-section--theme-light {
  background: var(--sf-atmosphere);
  color: var(--sf-future);
}

.sf-section--theme-brand {
  background: var(--sf-terrain-300);
  color: var(--sf-atmosphere);
}

.sf-builder-row + .sf-builder-row {
  margin-top: 64px;
}

@media (min-width: 992px) {
  .sf-builder-row.g-4 {
    --bs-gutter-x: clamp(48px, 6vw, 96px);
  }
}

.sf-prefix {
  align-items: center;
  -webkit-background-clip: text;
  background-clip: text;
  background-image: var(--sf-brand-gradient);
  background-repeat: no-repeat;
  color: transparent !important;
  display: inline-flex;
  font-size: 24px !important;
  gap: 7px;
  line-height: 28px !important;
  margin-bottom: 12px;
  -webkit-text-fill-color: transparent;
}

.sf-prefix::before {
  color: var(--sf-brand-gradient-start);
  content: "//";
  font-size: 17px;
  line-height: 1;
  -webkit-text-fill-color: var(--sf-brand-gradient-start);
}

.sf-eyebrow {
  color: transparent !important;
  font-size: 13px !important;
  letter-spacing: 0;
  line-height: 16px !important;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.sf-demo-label {
  align-items: center;
  color: var(--sf-future-70) !important;
  display: inline-flex;
  font-size: 12px !important;
  gap: 8px;
  margin-bottom: 28px;
}

.sf-demo-label::before,
.sf-demo-label::after {
  border-block: 1px solid var(--sf-future-30);
  content: "";
  height: 18px;
  width: 5px;
}

.sf-demo-label::before {
  border-left: 1px solid var(--sf-future-30);
}

.sf-demo-label::after {
  border-right: 1px solid var(--sf-future-30);
}

.sf-section-header {
  max-width: 936px;
}

.sf-section-header h2 {
  margin-bottom: 24px;
}

.sf-section-header .sf-rich-text {
  max-width: 640px;
}

.sf-section-header--center {
  margin-inline: auto;
  text-align: center;
}

.sf-section-header--center .sf-prefix {
  justify-content: center;
}

.sf-section-header--center .sf-rich-text {
  margin-inline: auto;
}

.sf-rich-text > :last-child {
  margin-bottom: 0;
}

.sf-text-block h2 {
  margin-bottom: 24px;
}

.sf-rich-text--large p {
  font-size: 20px;
  line-height: 1.5;
}

.sf-button-group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.sf-button {
  align-items: center;
  color: var(--sf-future) !important;
  display: inline-flex;
  font-family: var(--sf-font-body);
  font-size: 17px;
  gap: 8px;
  justify-content: center;
  line-height: 20px;
  text-decoration: none;
}

.sf-button:focus-visible {
  outline: 1px solid var(--sf-terrain-300);
  outline-offset: 4px;
}

.sf-button--text {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--sf-terrain-100) !important;
  min-height: 24px;
  padding: 0 0 4px;
}

.sf-button--text:hover,
.sf-button--text:focus-visible {
  background: transparent;
  color: var(--sf-future) !important;
  padding: 0 0 4px;
}

.sf-button__icon {
  border: 0;
  display: block;
  height: 24px;
  position: relative;
  width: 24px;
}

.sf-button__icon::before,
.sf-button__icon::after {
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  content: "";
  height: 7px;
  position: absolute;
  top: 8px;
  transform: rotate(45deg);
  width: 7px;
}

.sf-button__icon::before {
  left: 5px;
}

.sf-button__icon::after {
  left: 10px;
}

.sf-hero {
  align-items: end;
  background: var(--sf-atmosphere);
  color: var(--sf-future);
  display: grid;
  min-height: 840px;
  overflow: hidden;
  position: relative;
}

.sf-page--sticky-gradient .sf-hero {
  --sf-hero-feather-height: clamp(120px, 14vw, 220px);
  overflow: visible;
}

.sf-page--sticky-gradient .sf-hero::after {
  background: linear-gradient(180deg, var(--sf-atmosphere) 0%, rgba(2, 7, 20, 0) 100%);
  bottom: calc(var(--sf-hero-feather-height) * -1);
  content: "";
  height: var(--sf-hero-feather-height);
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 1;
}

.sf-hero__media {
  inset: 0;
  overflow: hidden;
  position: absolute;
}

.sf-hero__media::after {
  background:
    linear-gradient(180deg, rgba(2, 7, 20, 0.08) 0%, rgba(2, 7, 20, 0.12) 48%, rgba(2, 7, 20, 0.82) 82%, var(--sf-atmosphere) 100%),
    linear-gradient(90deg, rgba(2, 7, 20, 0.96) 0%, rgba(2, 7, 20, 0.45) 50%, rgba(2, 7, 20, 0.1) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.pageHeaderCon::before {
  background: linear-gradient(180deg, rgba(2, 7, 20, 0.1) 0%, rgba(2, 7, 20, 0.18) 46%, rgba(2, 7, 20, 0.9) 84%, var(--sf-atmosphere) 100%);
}

.circleIcon {
  align-content: center;
  justify-content: center;
  place-items: center;
}

.circleIcon i,
.circleIcon [class^="ci-"],
.circleIcon [class*=" ci-"] {
  font-family: "coolicons" !important;
  font-style: normal;
  line-height: 1;
}

.sf-page .activeCorners {
  bottom: 0;
  height: auto;
  left: 0;
  right: 0;
  top: 0;
  width: auto;
}

.sf-button-group .sf-button--text,
.portfolioInfoLinks a,
.fundDataLinks a {
  overflow: hidden;
}

.sf-page a:not([class])::before,
.sf-page a.secondary:not(.button)::before,
.sf-page a.nonactive:not(.button)::before,
.sf-page .sf-button--text::before,
.sf-page .faqCard__link::before,
.sf-page .sf-archive-filter__reset::before {
  -webkit-mask-image: linear-gradient(
    90deg,
    #000 0,
    #000 calc(50% - 30px),
    transparent calc(50% - 30px),
    transparent calc(50% + 30px),
    #000 calc(50% + 30px),
    #000 100%
  );
  -webkit-mask-position: 100% 0;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: calc(200% + 120px) 100%;
  mask-image: linear-gradient(
    90deg,
    #000 0,
    #000 calc(50% - 30px),
    transparent calc(50% - 30px),
    transparent calc(50% + 30px),
    #000 calc(50% + 30px),
    #000 100%
  );
  mask-position: 100% 0;
  mask-repeat: no-repeat;
  mask-size: calc(200% + 120px) 100%;
}

.sf-page a:not([class]):is(:hover, :focus-visible)::before,
.sf-page a.secondary:not(.button):is(:hover, :focus-visible)::before,
.sf-page a.nonactive:not(.button):is(:hover, :focus-visible)::before,
.sf-page .sf-button--text:is(:hover, :focus-visible)::before,
.sf-page .faqCard__link:is(:hover, :focus-visible)::before,
.sf-page .sf-archive-filter__reset:is(:hover, :focus-visible)::before {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  transition: -webkit-mask-position 750ms ease-in-out, mask-position 750ms ease-in-out, background-color 300ms ease-in-out;
}

.fundDataLinks {
  gap: 0;
}

.fundDataLinks a {
  align-items: center;
  display: inline-flex;
}

.sf-fund-details .fundDataLinksCon {
  padding-bottom: 0;
}

.sf-download-cta .whySpaceDownload__panel > .activeCorners {
  inset: 0;
}

.sf-hero__media img,
.sf-hero__media video {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.sf-hero__inner {
  align-items: end;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 2fr) minmax(420px, 1fr);
  padding-block: 220px 48px;
  position: relative;
  z-index: 1;
}

.sf-hero__content {
  max-width: 890px;
}

.sf-hero__content .sf-demo-label {
  margin-bottom: 24px;
}

.sf-hero__content h1 {
  margin-bottom: 18px;
}

.sf-hero__content .sf-rich-text {
  max-width: 600px;
}

.sf-hero__content .sf-rich-text p {
  font-size: 18px;
  line-height: 28px;
}

.sf-hero__content .sf-button-group {
  margin-top: 64px;
}

.sf-hero__meta {
  align-items: end;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-meta-card {
  backdrop-filter: blur(14px);
  background: var(--sf-atmosphere-60);
  border: 1px solid var(--sf-future-20);
  border-radius: 16px;
  color: var(--sf-future);
  display: flex;
  flex-direction: column;
  font-size: 15px;
  gap: 12px;
  padding: 16px;
}

.sf-meta-card > span {
  border-bottom: 1px solid var(--sf-future-20);
  color: var(--sf-future-70);
  display: block;
  margin-bottom: 4px;
  padding-bottom: 16px;
}

.sf-meta-card div {
  display: flex;
  gap: 4px;
  line-height: 20px;
}

.sf-meta-card b,
.sf-meta-card strong {
  font-family: var(--sf-font-body);
  font-size: 17px;
  font-weight: 400;
}

.sf-meta-card strong {
  color: var(--sf-terrain-100);
}

.sf-section--stats {
  margin-top: -1px;
  padding-bottom: 80px;
}

.sf-section--stats .sf-demo-label {
  margin: 32px 0 16px;
}

.sf-stats {
  backdrop-filter: blur(14px);
  background: var(--sf-atmosphere-60);
  border: 1px solid var(--sf-future-20);
  border-radius: 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 64px 24px;
}

.sf-stat {
  align-items: center;
  background: transparent;
  border: 0;
  border-left: 1px solid var(--sf-future-20);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 108px;
  padding: 0 24px;
  text-align: center;
}

.sf-stat:first-child {
  border-left: 0;
}

.sf-stat strong {
  color: var(--sf-future);
  display: block;
  font-family: var(--sf-font-display);
  font-size: 48px;
  font-weight: 400;
  line-height: 52px;
  margin-bottom: 8px;
  text-transform: lowercase;
}

.sf-stat span {
  color: var(--sf-future-70);
  display: block;
  font-size: 16px;
  line-height: 24px;
}

.sf-card-grid {
  display: grid;
  gap: 20px;
  margin-top: 56px;
}

.sf-demo-label + .sf-card-grid {
  margin-top: 0;
}

.sf-card-grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-card-grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-card-grid--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sf-card {
  background: var(--sf-future-5);
  border: 1px solid var(--sf-future-10);
  border-radius: 16px;
  color: inherit !important;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.sf-card:hover {
  background: var(--sf-future-10);
  border-color: transparent;
  transform: translateY(-3px);
}

.sf-card:focus-within {
  border-color: transparent;
}

a.sf-card::after {
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  background: var(--sf-brand-gradient);
  border-radius: inherit;
  bottom: 0;
  box-sizing: border-box;
  content: "";
  height: auto;
  left: 0;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  padding: 1px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 180ms ease;
  width: auto;
  z-index: 2;
}

a.sf-card:is(:hover, :focus-within)::after {
  left: 0;
  opacity: 1;
}

.sf-content-list li::after,
.platformsCon .platformCard::after,
.team-card:not(.notch-card)::after,
.accordionConHroz__item::before {
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  background: var(--sf-brand-gradient);
  border-radius: inherit;
  bottom: 0;
  box-sizing: border-box;
  content: "";
  height: auto;
  left: 0;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  padding: 1px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 180ms ease;
  width: auto;
  z-index: 4;
}

.sf-content-list li:is(:hover, :focus-within),
.platformsCon .platformCard:is(:hover, :focus-within),
.team-card:not(.notch-card):is(:hover, :focus-within),
.accordionConHroz__item:is(:hover, :focus-within) {
  border-color: transparent;
}

.sf-content-list li:is(:hover, :focus-within)::after,
.platformsCon .platformCard:is(:hover, :focus-within)::after,
.team-card:not(.notch-card):is(:hover, :focus-within)::after,
.accordionConHroz__item:is(:hover, :focus-within)::before {
  left: 0;
  opacity: 1;
}

.sf-card__media {
  aspect-ratio: 16 / 10;
  background: #071b20;
  overflow: hidden;
}

.sf-card__image,
.contentCard__image img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
  width: 100%;
}

.sf-card:hover .sf-card__image {
  transform: scale(1.025);
}

.sf-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.sf-card__body h3 {
  font-family: var(--sf-font-body);
  font-size: 20px;
  line-height: 24px;
  margin-bottom: 16px;
  text-transform: none;
}

.sf-card__body p {
  margin-bottom: 24px;
}

.sf-card__link {
  color: var(--sf-terrain-100);
  display: block;
  font-size: 17px;
  line-height: 20px;
  margin-top: auto;
}

.sf-card__link::after {
  content: " \2197";
}

.sf-card--platform {
  justify-content: end;
  min-height: 100%;
}

.sf-card--platform .sf-card__body {
  justify-content: end;
}

.sf-platform-mark {
  align-items: center;
  background: var(--sf-future);
  border-radius: 8px;
  color: var(--sf-atmosphere);
  display: flex;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  margin-bottom: 32px;
  width: 40px;
}

.sf-media-block {
  display: grid;
  gap: 48px;
  grid-template-columns: 1fr;
  width: 100%;
}

.sf-media-block__content {
  max-width: 720px;
}

.sf-media-block__content h2 {
  margin-bottom: 20px;
}

.sf-media-block > .sf-video-player {
  transform: scale(var(--sf-media-scale, 0.832));
  transform-origin: center;
  width: 100%;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .sf-media-block > .sf-video-player {
    transform: none;
  }
}

.sf-media-block__media {
  aspect-ratio: 1118 / 647;
  background: #071b20;
  border: 1px solid var(--sf-future-30);
  border-radius: 22px;
  overflow: hidden;
  padding: 22px;
  position: relative;
}

.sf-media-block__media img,
.sf-media-block__media video {
  border-radius: 16px;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.sf-media-block__play {
  background: var(--sf-future-80);
  border-radius: 50%;
  height: 80px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
}

.sf-media-block__play::after {
  border-bottom: 10px solid transparent;
  border-left: 16px solid var(--sf-atmosphere);
  border-top: 10px solid transparent;
  content: "";
  left: 34px;
  position: absolute;
  top: 30px;
}

.sf-media-block__duration {
  bottom: 34px;
  color: var(--sf-future-70);
  font-size: 13px;
  position: absolute;
  right: 38px;
}

.sf-list-grid {
  display: grid;
  gap: 80px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-content-list {
  background: transparent;
  border: 0;
  color: var(--sf-future);
  padding: 0;
}

.sf-content-list__header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 32px;
}

.sf-content-list h3,
.sf-content-list__header h3 {
  font-family: var(--sf-font-body);
  font-size: 24px;
  line-height: 28px;
  margin: 0;
  text-transform: uppercase;
}

.sf-content-list__header a {
  color: var(--sf-terrain-100);
  font-size: 15px;
  padding: 0;
  text-decoration: none;
}

.sf-content-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sf-content-list li {
  align-items: center;
  border: 1px solid var(--sf-future-20);
  border-radius: 12px;
  display: grid;
  gap: 8px 16px;
  grid-template-columns: 1fr auto;
  margin-top: 20px;
  min-height: 110px;
  padding: 20px 56px 20px 24px;
  position: relative;
}

.sf-content-list li:first-child {
  margin-top: 0;
}

.sf-content-list li span {
  color: var(--sf-future-70);
  font-size: 13px;
  grid-column: 1;
  line-height: 16px;
  text-transform: uppercase;
}

.sf-content-list li strong,
.sf-content-list li a {
  color: var(--sf-future) !important;
  font-size: 17px;
  font-weight: 400;
  grid-column: 1;
  line-height: 22px;
  padding: 0;
  text-decoration: none;
}

.sf-content-list li i {
  border-right: 1px solid var(--sf-terrain-100);
  border-top: 1px solid var(--sf-terrain-100);
  height: 9px;
  position: absolute;
  right: 28px;
  top: calc(50% - 5px);
  transform: rotate(45deg);
  width: 9px;
}

.sf-copy-grid {
  display: grid;
  gap: 80px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
}

.sf-accordion {
  border-bottom: 1px solid var(--sf-future-20);
}

.sf-accordion__item {
  border-top: 1px solid var(--sf-future-20);
  padding: 0;
}

.sf-accordion__item summary {
  color: var(--sf-future);
  cursor: pointer;
  font-family: var(--sf-font-body);
  font-size: 20px;
  line-height: 28px;
  list-style: none;
  padding: 28px 64px 28px 0;
  position: relative;
}

.sf-accordion__item summary::-webkit-details-marker {
  display: none;
}

.sf-accordion__item summary::after {
  border: 1px solid var(--sf-future-30);
  border-radius: 50%;
  color: var(--sf-terrain-100);
  content: "+";
  font-size: 24px;
  height: 36px;
  line-height: 33px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 21px;
  width: 36px;
}

.sf-accordion__item[open] summary::after {
  content: "\2212";
}

.sf-accordion__body {
  max-width: 760px;
  padding: 0 64px 28px 0;
}

.sf-newsletter {
  align-items: center;
  background-color: var(--sf-atmosphere-60);
  background-image: linear-gradient(90deg, rgba(2, 7, 20, 0.92), rgba(2, 7, 20, 0.34)), url("../img/ssit/newsletter-background.png");
  background-position: center;
  background-size: cover;
  border: 1px solid var(--sf-future-20);
  border-radius: 16px;
  color: var(--sf-future);
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.85fr);
  min-height: 260px;
  overflow: hidden;
  padding: 64px 48px;
}

.sf-newsletter__content {
  max-width: 615px;
}

.sf-newsletter h2 {
  font-size: 32px;
  line-height: 36px;
  margin-bottom: 8px;
}

.sf-newsletter__content p {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 0;
  max-width: 500px;
}

.sf-newsletter__action {
  align-items: center;
  background: var(--sf-atmosphere-80);
  border: 1px solid var(--sf-future-20);
  border-radius: 8px;
  color: var(--sf-future-70);
  display: flex;
  font-size: 17px;
  gap: 16px;
  height: 56px;
  justify-content: space-between;
  padding-left: 24px;
}

.sf-newsletter__action .sf-button {
  border: 0;
  border-radius: 50%;
  height: 36px;
  margin-right: 9px;
  min-height: 36px;
  padding: 0;
  width: 36px;
}

.sf-newsletter__action .sf-button:hover,
.sf-newsletter__action .sf-button:focus-visible {
  padding: 0;
}

.sf-newsletter__action .sf-button__label {
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.sf-spacer--small {
  height: 32px;
}

.sf-spacer--medium {
  height: 72px;
}

.sf-spacer--large {
  height: 120px;
}

.sf-spacer-demo {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-spacer-demo span {
  color: var(--sf-future-70);
  font-size: 13px;
}

.sf-spacer-demo .sf-spacer {
  background: var(--sf-future-5);
  border: 1px solid var(--sf-future-20);
  grid-row: 2;
}

.sf-site-header {
  inset: 0 0 auto;
  position: fixed;
  z-index: 1000;
}

.sf-navbar {
  align-items: stretch;
  backdrop-filter: blur(15px);
  background: var(--sf-atmosphere-60);
  border-bottom: 1px solid var(--sf-future-20);
  display: flex;
  min-height: 80px;
  padding: 0;
}

.sf-navbar__brand {
  align-items: center;
  border-right: 1px solid var(--sf-future-20);
  display: flex;
  flex: 0 0 296px;
  justify-content: center;
  padding: 20px 48px;
}

.sf-navbar__brand > a {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 0;
  width: 100%;
}

.sf-navbar__brand img,
.sf-navbar__brand .custom-logo {
  display: block;
  height: 40px;
  max-width: 200px;
  object-fit: contain;
  width: 200px;
}

.sf-navbar__menus {
  align-items: stretch;
  display: flex;
  flex: 1;
  justify-content: space-between;
  min-width: 0;
}

.sf-navbar__menu,
.sf-site-footer__menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sf-navbar__menu {
  align-items: stretch;
  display: flex;
  gap: 30px;
  padding-inline: 48px;
}

.sf-navbar__menu--primary {
  flex: 1;
}

.sf-navbar__menu--secondary {
  border-left: 1px solid var(--sf-future-20);
  gap: 24px;
}

.sf-navbar__menu > li {
  align-items: center;
  display: flex;
  position: relative;
}

.sf-navbar__menu a {
  color: var(--sf-future-80) !important;
  display: flex;
  font-size: 15px;
  line-height: 18px;
  padding: 31px 0;
  text-decoration: none;
  white-space: nowrap;
}

.sf-navbar__menu > li > a:hover,
.sf-navbar__menu > .current-menu-item > a,
.sf-navbar__menu > .current-menu-ancestor > a {
  color: var(--sf-terrain-100) !important;
}

.sf-navbar__menu > li::before {
  -webkit-mask-image: linear-gradient(
    90deg,
    #000 0,
    #000 calc(50% - 30px),
    transparent calc(50% - 30px),
    transparent calc(50% + 30px),
    #000 calc(50% + 30px),
    #000 100%
  );
  -webkit-mask-position: 100% 0;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: calc(200% + 120px) 100%;
  bottom: -1px;
  background: var(--sf-brand-light);
  content: "";
  height: 1px;
  left: 0;
  mask-image: linear-gradient(
    90deg,
    #000 0,
    #000 calc(50% - 30px),
    transparent calc(50% - 30px),
    transparent calc(50% + 30px),
    #000 calc(50% + 30px),
    #000 100%
  );
  mask-position: 100% 0;
  mask-repeat: no-repeat;
  mask-size: calc(200% + 120px) 100%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 180ms ease;
  width: 100%;
  z-index: 2;
}

.sf-navbar__menu > li:is(:hover, :focus-within)::before {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  opacity: 1;
  transition: -webkit-mask-position 750ms ease-in-out, opacity 180ms ease;
}

.sf-navbar__menu > :is(
  .current-menu-item,
  .current-menu-parent,
  .current-menu-ancestor,
  .current_page_item,
  .current_page_parent,
  .current_page_ancestor
)::before {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  opacity: 1;
}

.sf-navbar__menu .menu-item-has-children > a::after {
  align-self: center;
  background: transparent;
  border-bottom: 1px solid currentColor;
  border-right: 1px solid currentColor;
  bottom: auto;
  content: "";
  flex: 0 0 5px;
  height: 5px;
  left: auto;
  margin: 4px 0 0 8px;
  position: static;
  right: auto;
  top: auto;
  transition: none;
  transform: rotate(45deg);
  width: 5px;
}

.sf-navbar__menu .sub-menu {
  backdrop-filter: blur(14px);
  background: var(--sf-atmosphere-80);
  border: 1px solid var(--sf-future-30);
  border-radius: 0 0 10px 10px;
  display: none;
  left: -16px;
  list-style: none;
  margin: 0;
  min-width: 240px;
  padding: 16px;
  position: absolute;
  top: 79px;
}

.sf-navbar__menu li:hover > .sub-menu,
.sf-navbar__menu li:focus-within > .sub-menu {
  display: block;
}

.sf-navbar__menu .sub-menu a {
  color: var(--sf-future-70) !important;
  padding: 9px 8px;
}

.sf-navbar__toggle {
  align-items: center;
  background: transparent !important;
  border: 0;
  border-left: 1px solid var(--sf-future-20);
  border-radius: 0;
  box-shadow: none;
  color: var(--sf-future);
  display: none;
  height: 80px;
  justify-content: center;
  margin: 0 0 0 auto;
  padding: 0;
  position: relative;
  width: 80px;
}

.sf-navbar__toggle:hover,
.sf-navbar__toggle:focus,
.sf-navbar__toggle:active,
.sf-navbar__toggle[aria-expanded="true"] {
  background: transparent !important;
  box-shadow: none;
  padding: 0;
}

.sf-navbar__toggle::before,
.sf-navbar__toggle::after {
  content: none;
}

.sf-navbar__toggle-line {
  background: currentColor;
  display: block;
  height: 1px;
  position: absolute;
  transition: opacity 180ms ease, transform 180ms ease;
  width: 24px;
}

.sf-navbar__toggle-line:nth-of-type(2) {
  transform: translateY(-7px);
}

.sf-navbar__toggle-line:nth-of-type(4) {
  transform: translateY(7px);
}

.sf-navbar__toggle[aria-expanded="true"] .sf-navbar__toggle-line:nth-of-type(2) {
  transform: rotate(45deg);
}

.sf-navbar__toggle[aria-expanded="true"] .sf-navbar__toggle-line:nth-of-type(3) {
  opacity: 0;
}

.sf-navbar__toggle[aria-expanded="true"] .sf-navbar__toggle-line:nth-of-type(4) {
  transform: rotate(-45deg);
}

.sf-site-footer {
  background-color: var(--sf-atmosphere);
  background-image: linear-gradient(rgba(2, 7, 20, 0.78), rgba(2, 7, 20, 0.94)), url("../img/ssit/newsletter-background.png");
  background-position: bottom center;
  background-size: cover;
  color: var(--sf-future);
  min-height: 650px;
  padding: 120px 0 32px;
}

.sf-site-footer__inner {
  display: grid;
  gap: 64px;
  grid-template-columns: minmax(360px, 1.2fr) minmax(180px, 0.5fr) minmax(180px, 0.5fr);
}

.sf-site-footer__logo > a {
  display: inline-block;
  padding: 0;
}

.sf-site-footer__logo img,
.sf-site-footer__logo .custom-logo {
  height: auto;
  max-width: 320px;
  width: 100%;
}

.sf-site-footer__brand p {
  color: var(--sf-future-80);
  margin: 28px 0 24px;
  max-width: 435px;
}

.sf-site-footer__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.sf-site-footer__tags span {
  color: var(--sf-future-70);
  font-size: 12px;
  text-transform: uppercase;
}

.sf-site-footer__tags span::before {
  content: "[ ";
}

.sf-site-footer__tags span::after {
  content: " ]";
}

.sf-site-footer__heading {
  color: var(--sf-future-70);
  font-size: 13px;
  margin-bottom: 28px;
  text-transform: uppercase;
}

.sf-site-footer__menu {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sf-site-footer__menu a {
  color: var(--sf-future) !important;
  display: inline-flex;
  font-size: 17px;
  line-height: 20px;
  padding: 0;
  text-decoration: none;
}

.sf-site-footer__menu a::before {
  background: none;
  color: var(--sf-future-70);
  content: "\203a";
  display: inline;
  height: auto;
  margin-right: 7px;
  position: static;
  width: auto;
}

.sf-site-footer__menu a:hover {
  color: var(--sf-terrain-100) !important;
}

.sf-site-footer__bottom {
  border-top: 1px solid var(--sf-future-20);
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
  padding-top: 24px;
}

.sf-site-footer__bottom p,
.sf-menu-empty {
  color: var(--sf-future-70);
  font-size: 13px;
  margin: 0;
}

@media (max-width: 1399px) {
  :root {
    --sf-page-gutter: 32px;
  }

  .sf-navbar__brand {
    flex-basis: 240px;
    padding-inline: 28px;
  }

  .sf-navbar__menu {
    gap: 20px;
    padding-inline: 28px;
  }

  .sf-navbar__menu--secondary {
    padding-inline: 22px;
  }

  .sf-hero__inner {
    grid-template-columns: minmax(0, 1.5fr) minmax(360px, 1fr);
  }
}

@media (max-width: 1199.98px) {
  :root {
    --sf-page-gutter: 24px;
  }

  .sf-page h1 {
    font-size: 52px;
  }

  .sf-page h2 {
    font-size: 40px;
  }

  .sf-section--spacing-large {
    padding-block: 88px;
  }

  .sf-navbar__brand {
    border-right: 0;
    flex-basis: auto;
    justify-content: flex-start;
    padding-inline: 24px;
  }

  .sf-navbar__toggle {
    display: inline-flex;
  }

  .sf-navbar__menus {
    align-items: stretch;
    background: var(--sf-atmosphere);
    display: none;
    flex-direction: column;
    gap: 0;
    inset: 80px 0 auto;
    max-height: calc(100vh - 80px);
    overflow: auto;
    padding: 24px;
    position: absolute;
  }

  .sf-navbar__menus.is-open {
    display: flex;
  }

  .sf-navbar__menu,
  .sf-navbar__menu--secondary {
    align-items: stretch;
    border: 0;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  .sf-navbar__menu--secondary {
    border-top: 1px solid var(--sf-future-20);
    margin-top: 12px;
    padding-top: 12px;
  }

  .sf-navbar__menu > li {
    display: block;
  }

  .sf-navbar__menu > li::before {
    content: none;
  }

  .sf-navbar__menu a {
    font-size: 18px;
    padding: 14px 0;
  }

  .sf-navbar__menu .sub-menu {
    background: transparent;
    border: 0;
    display: block;
    padding: 0 0 8px 20px;
    position: static;
  }

  .sf-navbar__menu .sub-menu a {
    font-size: 15px;
    padding: 8px 0;
  }

  .sf-hero {
    min-height: 800px;
  }

  .sf-hero__inner {
    gap: 48px;
    grid-template-columns: 1fr;
    padding-block: 180px 48px;
  }

  .sf-hero__content .sf-button-group {
    margin-top: 40px;
  }

  .sf-hero__meta {
    max-width: 520px;
  }

  .sf-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 32px 24px;
  }

  .sf-stat:nth-child(3) {
    border-left: 0;
  }

  .sf-stat:nth-child(n + 3) {
    border-top: 1px solid var(--sf-future-20);
    padding-top: 32px;
  }

  .sf-stat:nth-child(-n + 2) {
    padding-bottom: 32px;
  }

  .sf-card-grid--cols-3,
  .sf-card-grid--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sf-list-grid,
  .sf-copy-grid {
    gap: 64px;
    grid-template-columns: 1fr;
  }

  .sf-newsletter {
    grid-template-columns: 1fr;
  }

  .sf-site-footer__inner {
    grid-template-columns: minmax(0, 1.4fr) 1fr 1fr;
  }
}

@media (max-width: 767.98px) {
  :root {
    --sf-page-gutter: 20px;
  }

  .sf-page h1 {
    font-size: 40px;
    line-height: 44px;
  }

  .sf-page h2 {
    font-size: 34px;
    line-height: 38px;
  }

  .sf-prefix {
    align-items: flex-start;
    font-size: 18px !important;
    line-height: 24px !important;
  }

  .sf-section--spacing-small {
    padding-block: 36px;
  }

  .sf-section--spacing-default,
  .sf-section--spacing-large {
    padding-block: 72px;
  }

  .sf-navbar__brand img,
  .sf-navbar__brand .custom-logo {
    height: 32px;
    width: 160px;
  }

  .sf-hero {
    min-height: 860px;
  }

  .sf-hero__inner {
    padding-block: 144px 32px;
  }

  .sf-hero__content h1 br {
    display: none;
  }

  .sf-hero__content .sf-button-group,
  .sf-button-group {
    align-items: stretch;
    flex-direction: column;
  }

  .sf-button {
    width: 100%;
  }

  .sf-hero__meta {
    grid-template-columns: 1fr;
  }

  .sf-stats {
    grid-template-columns: 1fr;
    padding: 8px 24px;
  }

  .sf-stat,
  .sf-stat:first-child,
  .sf-stat:nth-child(3),
  .sf-stat:nth-child(n + 3),
  .sf-stat:nth-child(-n + 2) {
    border-left: 0;
    border-top: 1px solid var(--sf-future-20);
    padding: 32px 12px;
  }

  .sf-stat:first-child {
    border-top: 0;
  }

  .sf-card-grid--cols-2,
  .sf-card-grid--cols-3,
  .sf-card-grid--cols-4 {
    grid-template-columns: 1fr;
  }

  .sf-media-block__media {
    aspect-ratio: 4 / 3;
    border-radius: 16px;
    padding: 12px;
  }

  .sf-media-block__play {
    height: 56px;
    width: 56px;
  }

  .sf-media-block__play::after {
    border-bottom-width: 7px;
    border-left-width: 12px;
    border-top-width: 7px;
    left: 24px;
    top: 21px;
  }

  .sf-newsletter {
    min-height: 360px;
    padding: 48px 24px;
  }

  .sf-newsletter__action {
    min-width: 0;
    width: 100%;
  }

  .sf-spacer-demo {
    grid-template-columns: 1fr;
  }

  .sf-spacer-demo .sf-spacer {
    grid-row: auto;
  }

  .sf-site-footer {
    padding-top: 80px;
  }

  .sf-site-footer__inner {
    gap: 48px;
    grid-template-columns: 1fr;
  }

  .sf-site-footer__logo img,
  .sf-site-footer__logo .custom-logo {
    max-width: 260px;
  }

  .sf-site-footer__bottom {
    flex-direction: column;
    gap: 12px;
    margin-top: 56px;
  }
}

/* Reusable patterns adapted from the secondary HTML mocks. */
.sf-component-header,
.sf-component-header--split,
.sf-ecosystem-carousel__header {
  align-items: flex-end;
  display: flex;
  gap: 32px;
  justify-content: space-between;
  margin-bottom: 48px;
}

.sf-component-header > :last-child,
.sf-component-header--split > :last-child,
.sf-ecosystem-carousel__header > :last-child {
  max-width: 560px;
}

.sf-component-header h2,
.sf-component-header--split h2,
.sf-ecosystem-carousel__header h2,
.sf-component-header p,
.sf-component-header--split p,
.sf-ecosystem-carousel__header p {
  margin-bottom: 0;
}

.sf-editorial-grid .contentCard--grid {
  height: 100%;
}

.sf-editorial-grid .contentCard__image {
  display: block;
  overflow: hidden;
  position: relative;
}

.sf-editorial-grid .contentListItem__play {
  bottom: 16px;
  left: 16px;
  position: absolute;
  z-index: 2;
}

.sf-metric-grid {
  margin-top: 0;
}

.sf-metric-grid .shareDataMetric {
  display: flex;
  flex-direction: column;
}

.sf-metric-grid .shareDataMetric strong {
  color: var(--sf-future);
  display: block;
  font-family: var(--sf-font-display);
  font-size: 42px;
  font-weight: 400;
  line-height: 1;
  margin: 24px 0 12px;
}

.sf-metric-grid .shareDataMetric__pill {
  align-self: flex-start;
  background: var(--sf-future-10);
  color: var(--sf-future-70);
}

.sf-faq-cards {
  display: grid;
  gap: clamp(40px, 7vw, 100px);
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
}

.sf-faq-cards .faqsTitle p {
  color: var(--sf-future-70);
  margin-top: 20px;
  max-width: 420px;
}

.sf-faq-cards .faqList {
  display: grid;
  gap: 14px;
}

.sf-faq-cards .faqCard {
  background: var(--sf-future-5);
  border: 1px solid var(--sf-future-10);
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  transition: background-color 200ms ease, border-color 200ms ease;
}

.sf-faq-cards .faqCard::before {
  background: var(--sf-terrain-300);
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  transform: scaleY(0);
  transition: transform 200ms ease;
  width: 3px;
}

.sf-faq-cards .faqCard[open] {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--sf-future-20);
}

.sf-faq-cards .faqCard[open]::before {
  transform: scaleY(1);
}

.sf-faq-cards .faqCard__header {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  list-style: none;
  padding: 26px 28px;
}

.sf-faq-cards .faqCard__header::-webkit-details-marker {
  display: none;
}

.sf-faq-cards .faqCard__header h4 {
  margin: 0;
}

.sf-faq-cards .faqCard__icon {
  flex: 0 0 22px;
  height: 22px;
  position: relative;
}

.sf-faq-cards .faqCard__icon::before,
.sf-faq-cards .faqCard__icon::after {
  background: currentColor;
  content: "";
  inset: 50% 2px auto;
  height: 1px;
  position: absolute;
  transition: transform 200ms ease;
}

.sf-faq-cards .faqCard__icon::after {
  transform: rotate(90deg);
}

.sf-faq-cards .faqCard[open] .faqCard__icon::after {
  transform: rotate(0);
}

.sf-faq-cards .faqCard__inner {
  color: var(--sf-future-70);
  padding: 0 72px 28px 28px;
}

.sf-faq-cards .faqCard__inner > :last-child {
  margin-bottom: 0;
}

.sf-faq-cards .faqCard__link {
  display: inline-block;
  margin-top: 12px;
}

.sf-accordion-horizontal {
  padding-block: 0;
}

.sf-accordion-horizontal .sf-accordion-heading {
  max-width: 720px;
}

.sf-accordion-horizontal__body {
  bottom: 18px;
  left: 10px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 10px;
  transform: translateY(16px);
  transition: opacity 220ms ease 420ms, transform 220ms ease 420ms;
  z-index: 2;
}

.accordionConHroz__item[open] .sf-accordion-horizontal__body {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.sf-accordion-horizontal__body a {
  display: inline-block;
  margin: 0 20px 24px;
}

.sf-results-archive .results-filter {
  align-items: center;
  background: var(--sf-future-5);
  border: 1px solid var(--sf-future-10);
  border-radius: 8px;
  display: flex;
  gap: 32px;
  margin-bottom: 50px;
  padding: 20px 30px;
}

.sf-results-archive .results-filter__select {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  min-width: 190px;
  padding: 8px 28px 8px 0;
}

.sf-results-archive .results-filter__item {
  position: relative;
}

.sf-results-archive .results-filter__item::after {
  border-bottom: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  height: 7px;
  pointer-events: none;
  position: absolute;
  right: 4px;
  top: 14px;
  transform: rotate(45deg);
  width: 7px;
}

.sf-results-archive .results-filter__divider {
  background: var(--sf-future-20);
  height: 24px;
  width: 1px;
}

.sf-results-archive .results-year-title {
  color: var(--sf-future-70);
  font-size: 14px;
  margin: 48px 0 20px;
  text-transform: uppercase;
}

.sf-results-archive .result-item {
  align-items: center;
  border-bottom: 1px solid var(--sf-future-10);
  display: flex;
  gap: 24px;
  padding: 26px 0;
}

.sf-results-archive .result-item__title {
  flex: 1 1 30%;
}

.sf-results-archive .result-item__title h4 {
  margin: 0;
}

.sf-results-archive .result-item__meta {
  align-items: center;
  display: grid;
  flex: 1 1 64%;
  gap: 16px;
  grid-template-columns: 0.7fr 1fr 0.7fr auto;
}

.sf-results-archive .result-item__type,
.sf-results-archive .result-item__date,
.sf-results-archive .result-item__filetype {
  color: var(--sf-future-70);
  font-size: 13px;
}

.sf-results-archive .result-item__type::before,
.sf-results-archive .result-item__filetype::before {
  content: "[ ";
}

.sf-results-archive .result-item__type::after,
.sf-results-archive .result-item__filetype::after {
  content: " ]";
}

.sf-results-archive .result-item__download {
  align-items: center;
  border: 1px solid var(--sf-future-20);
  border-radius: 6px;
  color: var(--sf-future);
  display: inline-flex;
  gap: 10px;
  overflow: hidden;
  padding: 9px 14px;
  text-decoration: none;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  white-space: nowrap;
}

.sf-results-archive .result-item__download::before,
.sf-results-archive .result-item__download::after {
  content: none;
}

.sf-results-archive .result-item__download:hover {
  background: var(--sf-future-10);
  border-color: var(--sf-future-30);
  color: var(--sf-future);
}

.sf-results-archive .result-item__download:focus {
  border-radius: 6px;
  outline: 1px solid var(--sf-terrain-100);
  outline-offset: 4px;
}

.sf-results-archive__empty {
  color: var(--sf-future-70);
  padding: 40px 0;
}

.sf-ecosystem-carousel {
  overflow: hidden;
}

.sf-ecosystem-carousel__cards {
  height: 520px;
  perspective: 1000px;
  position: relative;
}

.sf-ecosystem-carousel__arc {
  border-top: 1px solid var(--sf-future-10);
  border-radius: 60% 60% 0 0;
  bottom: -180px;
  height: 220px;
  left: 5%;
  position: absolute;
  right: 5%;
}

.sf-ecosystem-carousel__card {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid var(--sf-future-10);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  height: 440px;
  left: 50%;
  overflow: hidden;
  padding: 34px;
  position: absolute;
  top: 20px;
  transform: translateX(-50%) scale(0.75);
  transition: opacity 500ms ease, transform 500ms ease, border-color 300ms ease;
  width: min(360px, 72vw);
}

.sf-ecosystem-carousel__card.is-active {
  border-color: rgba(var(--sf-brand-primary-rgb), 0.55);
  transform: translateX(-50%) scale(1);
  z-index: 5;
}

.sf-ecosystem-carousel__card.is-left-1 {
  opacity: 0.72;
  transform: translateX(calc(-50% - min(28vw, 390px))) translateY(46px) rotate(-3deg) scale(0.86);
  z-index: 3;
}

.sf-ecosystem-carousel__card.is-right-1 {
  opacity: 0.72;
  transform: translateX(calc(-50% + min(28vw, 390px))) translateY(46px) rotate(3deg) scale(0.86);
  z-index: 3;
}

.sf-ecosystem-carousel__card.is-left-2 {
  opacity: 0.24;
  transform: translateX(calc(-50% - min(50vw, 700px))) translateY(120px) rotate(-5deg) scale(0.8);
  z-index: 1;
}

.sf-ecosystem-carousel__card.is-right-2 {
  opacity: 0.24;
  transform: translateX(calc(-50% + min(50vw, 700px))) translateY(120px) rotate(5deg) scale(0.8);
  z-index: 1;
}

.sf-ecosystem-carousel__card.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.sf-ecosystem-carousel__image {
  inset: 0;
  opacity: 0.22;
  position: absolute;
}

.sf-ecosystem-carousel__label,
.sf-ecosystem-carousel__content {
  position: relative;
  z-index: 2;
}

.sf-ecosystem-carousel__label {
  color: var(--sf-terrain-100);
  font-size: 12px;
  text-transform: uppercase;
}

.sf-ecosystem-carousel__content {
  margin-top: auto;
}

.sf-ecosystem-carousel__content h3 {
  margin-bottom: 12px;
}

.sf-ecosystem-carousel__content p,
.sf-ecosystem-carousel__content a {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 250ms ease 180ms, transform 250ms ease 180ms;
}

.sf-ecosystem-carousel__card.is-active .sf-ecosystem-carousel__content p,
.sf-ecosystem-carousel__card.is-active .sf-ecosystem-carousel__content a {
  opacity: 1;
  transform: translateY(0);
}

.sf-ecosystem-carousel__select {
  background: transparent;
  border: 0;
  inset: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  z-index: 1;
}

.sf-ecosystem-carousel__card.is-active .sf-ecosystem-carousel__select {
  pointer-events: none;
}

.sf-ecosystem-carousel__pagination {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 24px;
}

.sf-ecosystem-carousel__pagination button {
  background: var(--sf-future-20);
  border: 0;
  border-radius: 4px;
  height: 8px;
  margin: 0;
  padding: 0;
  transition: background-color 200ms ease, width 200ms ease;
  width: 8px;
}

.sf-ecosystem-carousel__pagination button.is-active {
  background: var(--sf-terrain-300);
  width: 26px;
}

.sf-industry-explorer {
  min-height: 680px;
  overflow: hidden;
  text-align: center;
}

.sf-industry-explorer__header {
  margin-inline: auto;
  max-width: 700px;
}

.sf-industry-explorer__header p {
  color: var(--sf-future-70);
}

.sf-industry-explorer__globe {
  height: 520px;
  margin: 50px auto 0;
  max-width: 1100px;
  position: relative;
}

.sf-industry-explorer__globe::before,
.sf-industry-explorer__globe::after {
  border: 1px solid var(--sf-future-10);
  border-bottom: 0;
  border-radius: 50% 50% 0 0;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.sf-industry-explorer__globe::before {
  height: 390px;
  width: min(900px, 92vw);
}

.sf-industry-explorer__globe::after {
  height: 245px;
  width: min(570px, 62vw);
}

.sf-industry-explorer__rings {
  bottom: 0;
  height: 440px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: min(1000px, 96vw);
}

.sf-industry-explorer__item {
  bottom: 10px;
  left: 50%;
  position: absolute;
  transform: translate(-50%, 50%) rotate(var(--sf-angle)) translateY(calc(0px - var(--sf-radius))) rotate(var(--sf-counter-angle));
  z-index: 3;
}

.sf-industry-explorer__item--outer {
  --sf-radius: min(390px, 40vw);
}

.sf-industry-explorer__item--inner {
  --sf-radius: min(245px, 26vw);
}

.sf-industry-explorer__pill {
  backdrop-filter: blur(8px);
  background: var(--sf-atmosphere-80);
  border: 1px solid var(--sf-future-20);
  border-radius: 4px;
  color: var(--sf-future);
  margin: 0;
  padding: 9px 14px;
  white-space: nowrap;
}

.sf-industry-explorer__item.is-active .sf-industry-explorer__pill {
  background: rgba(var(--sf-brand-primary-rgb), 0.18);
  border-color: var(--sf-terrain-300);
}

.sf-industry-explorer__panel {
  background: rgba(14, 20, 32, 0.97);
  border: 1px solid var(--sf-future-20);
  border-radius: 6px;
  left: 50%;
  opacity: 0;
  padding: 18px;
  pointer-events: none;
  position: absolute;
  text-align: left;
  top: calc(100% + 16px);
  transform: translate(-50%, 8px);
  transition: opacity 180ms ease, transform 180ms ease;
  visibility: hidden;
  width: 240px;
  z-index: 8;
}

.sf-industry-explorer__panel strong {
  display: block;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.sf-industry-explorer__panel p {
  color: var(--sf-future-70);
  font-size: 13px;
  margin: 0;
}

.sf-industry-explorer__item.is-active {
  z-index: 9;
}

.sf-industry-explorer__item.is-active .sf-industry-explorer__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
  visibility: visible;
}

.sf-fund-details {
  padding: 0;
}

.sf-fund-details .fundDetailsPanel {
  overflow: hidden;
}

.sf-fund-details .fundDetailItem strong > span {
  color: inherit;
  display: inline;
  text-transform: none;
}

.sf-copy-value {
  background: transparent;
  border: 0;
  color: var(--sf-future-70);
  margin: 0;
  padding: 0;
}

.sf-copy-value.is-copied {
  color: var(--sf-terrain-100);
}

.sf-copy-buffer {
  height: 1px;
  left: -9999px;
  opacity: 0;
  position: fixed;
  top: 0;
  width: 1px;
}

.sf-info-cta-grid {
  display: grid;
  gap: 24px;
}

.sf-info-cta-grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sf-info-cta-grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sf-info-cta-grid .portfolioInfoCard {
  display: flex;
  flex-direction: column;
}

.sf-info-cta-grid .portfolioInfoLinks {
  margin-top: auto;
  padding-top: 32px;
}

.sf-download-cta {
  padding: 0;
}

.sf-podcast-platform span {
  color: var(--sf-future);
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .sf-faq-cards,
  .sf-info-cta-grid--cols-3 {
    grid-template-columns: 1fr;
  }

  .sf-faq-cards {
    gap: 40px;
  }

  .sf-results-archive .result-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .sf-results-archive .result-item__meta {
    grid-template-columns: repeat(3, 1fr) auto;
    width: 100%;
  }

  .sf-industry-explorer__panel {
    width: 210px;
  }
}

@media (max-width: 767.98px) {
  .sf-component-header,
  .sf-component-header--split,
  .sf-ecosystem-carousel__header {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 32px;
  }

  .shareDataMetricGrid,
  .sf-info-cta-grid--cols-2 {
    grid-template-columns: 1fr;
  }

  .sf-results-archive .results-filter {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .sf-results-archive .results-filter__divider {
    height: 1px;
    width: 100%;
  }

  .sf-results-archive .results-filter__select {
    width: 100%;
  }

  .sf-results-archive .result-item__meta {
    align-items: start;
    grid-template-columns: 1fr 1fr;
  }

  .sf-results-archive .result-item__download-col {
    grid-column: 1 / -1;
  }

  .sf-ecosystem-carousel__cards {
    height: 460px;
  }

  .sf-ecosystem-carousel__card {
    height: 400px;
    padding: 26px;
  }

  .sf-ecosystem-carousel__card.is-left-1 {
    transform: translateX(calc(-50% - 72vw)) translateY(46px) rotate(-3deg) scale(0.8);
  }

  .sf-ecosystem-carousel__card.is-right-1 {
    transform: translateX(calc(-50% + 72vw)) translateY(46px) rotate(3deg) scale(0.8);
  }

  .sf-industry-explorer {
    min-height: 720px;
  }

  .sf-industry-explorer__globe {
    height: 580px;
    margin-top: 30px;
  }

  .sf-industry-explorer__globe::before,
  .sf-industry-explorer__globe::after {
    display: none;
  }

  .sf-industry-explorer__rings {
    align-content: start;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: auto;
    padding-top: 20px;
    position: static;
    transform: none;
    width: 100%;
  }

  .sf-industry-explorer__item {
    position: relative;
    inset: auto;
    transform: none;
  }

  .sf-industry-explorer__pill {
    white-space: normal;
    width: 100%;
  }

  .sf-industry-explorer__panel,
  .sf-industry-explorer__item.is-active .sf-industry-explorer__panel {
    left: auto;
    margin-top: 8px;
    position: relative;
    top: auto;
    transform: none;
    width: 100%;
  }

  .sf-industry-explorer__item.is-active {
    grid-column: 1 / -1;
  }

  .sf-fund-details .fundDetailsPanel {
    grid-template-columns: 1fr;
  }

  .sf-fund-details .fundDetailItem,
  .sf-fund-details .fundDetailItem:nth-child(4),
  .sf-fund-details .fundDetailItem:nth-child(7) {
    border-bottom: 1px solid var(--sf-future-10);
    border-right: 0;
    padding-inline: 12px;
  }
}


/* Portfolio directory */
.sf-portfolio-directory {
  color: var(--sf-future);
  padding-bottom: 95px;
}

.sf-portfolio-directory .portfolioTabs {
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.sf-portfolio-directory .portfolioTabs::-webkit-scrollbar {
  display: none;
}

.sf-portfolio-directory .portfolioTab {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--sf-future-70);
  flex: 0 0 auto;
  font-family: var(--sf-font-body);
  font-size: 1.25em;
  margin: 0;
  padding: 20px 25px 45px;
  position: relative;
  text-decoration: none;
}

.sf-portfolio-directory .portfolioTab::before {
  background: var(--sf-brand-gradient);
  bottom: -1px;
  content: "";
  height: 2px;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  transition: opacity 0.3s ease;
}

.sf-portfolio-directory .portfolioTab::after {
  content: none;
}

.sf-portfolio-directory .portfolioTab:hover,
.sf-portfolio-directory .portfolioTab:focus-visible,
.sf-portfolio-directory .portfolioTab.active {
  background: transparent;
  color: var(--sf-future);
  padding: 20px 25px 45px;
}

.sf-portfolio-directory .portfolioTab.active::before {
  opacity: 1;
}

.sf-portfolio-directory__panel[hidden],
.sf-portfolio-directory .portfolioHoldingCard[hidden],
.sf-portfolio-directory__empty[hidden] {
  display: none !important;
}

.sf-portfolio-directory__content {
  padding-top: clamp(32px, 5vw, 72px);
}

.sf-portfolio-directory .portfolioFilterMenu {
  background:
    radial-gradient(circle at 58% 70%, rgba(var(--sf-brand-light-rgb), 0.18), transparent 32%),
    rgba(2, 7, 20, 0.9);
}

.sf-portfolio-directory .portfolioFilterMenu button.is-active {
  color: var(--sf-brand-light);
}

.sf-portfolio-directory .portfolioHoldingCard {
  color: inherit;
  text-decoration: none;
}

.sf-portfolio-directory .portfolioHoldingCard:focus-visible {
  border-color: var(--sf-brand-light);
  outline: 2px solid var(--sf-brand-light);
  outline-offset: 5px;
}

.sf-portfolio-directory .portfolioHoldingCard .imageCon,
.sf-portfolio-directory .portfolioHoldingCard .contentCon,
.sf-portfolio-directory .portfolioHoldingCard .detailsCon,
.sf-portfolio-directory .portfolioHoldingCard .captionCon,
.sf-portfolio-directory .portfolioHoldingCard .buttonCon {
  display: block;
}

.sf-portfolio-directory .portfolioHoldingCard .imageCon {
  flex: 0 0 auto;
}

.sf-portfolio-directory .portfolioHoldingCard .logoCon {
  align-self: center;
  display: block;
  justify-self: center;
}

.sf-portfolio-directory .portfolioHoldingCard .sf-card-logo {
  display: block;
  height: auto;
  max-height: 72px;
  object-fit: contain;
  width: 100%;
}

.sf-portfolio-directory .portfolioHoldingCard .contentCon {
  flex: 1 1 auto;
}

.sf-portfolio-directory .portfolioHoldingCard .contentCon h4 {
  margin-bottom: 10px;
}

.sf-portfolio-directory .portfolioHoldingCard .tagline {
  display: block;
}

.sf-portfolio-directory .portfolioHoldingCard .caption + .caption {
  margin-left: 8px;
}

.sf-portfolio-directory .portfolioHoldingCard .buttonCon {
  display: block;
}

.sf-portfolio-directory .portfolioHoldingCard .buttonCon .button {
  margin: 0;
}

.sf-portfolio-directory .portfolioGrid.is-list .portfolioListValues {
  display: contents;
}

.sf-portfolio-directory .portfolioGrid.is-list .contentCon {
  display: block;
}

.sf-portfolio-directory .portfolioGrid.is-list .notch-card__tab,
.sf-portfolio-directory .portfolioGrid.is-list .imageCon,
.sf-portfolio-directory .portfolioGrid.is-list .badge,
.sf-portfolio-directory .portfolioGrid.is-list .detailsCon {
  display: none;
}

.sf-portfolio-directory .portfolioGrid.is-list .portfolioHoldingCard:not(.is-top-holding) .contentCon h4::after {
  content: none;
}

@media (max-width: 1399.98px) and (min-width: 992px) {
  .sf-portfolio-directory .portfolioTabs {
    flex: 1 1 auto;
    gap: 20px;
  }

  .sf-portfolio-directory .portfolioTab,
  .sf-portfolio-directory .portfolioTab:hover,
  .sf-portfolio-directory .portfolioTab:focus-visible,
  .sf-portfolio-directory .portfolioTab.active {
    padding-inline: 10px;
  }

  .sf-portfolio-directory .portfolioStat {
    min-width: 96px;
    padding-inline: 18px;
  }
}

@media (max-width: 991.98px) {
  .sf-portfolio-directory .portfolioToolbar {
    width: 100%;
  }

  .sf-portfolio-directory .portfolioTabs {
    width: 100%;
  }

  .sf-portfolio-directory .portfolioStats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .sf-portfolio-directory {
    padding-bottom: 64px;
  }

  .sf-portfolio-directory .portfolioTab,
  .sf-portfolio-directory .portfolioTab:hover,
  .sf-portfolio-directory .portfolioTab:focus-visible,
  .sf-portfolio-directory .portfolioTab.active {
    font-size: 1rem;
    padding: 18px 4px 26px;
  }

  .sf-portfolio-directory .portfolioStats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sf-portfolio-directory .portfolioStat {
    min-width: 0;
  }

  .sf-portfolio-directory .portfolioFilterToggle,
  .sf-portfolio-directory .portfolioFilterToggle:hover,
  .sf-portfolio-directory .portfolioFilterToggle:focus {
    padding-inline: 24px;
  }
}
