:root {
  --color-bg1: black;
  --color-bg2: #070707;
  --color1: 18, 113, 255;
  --color2: 221, 74, 255;
  --color3: 100, 220, 255;
  --color4: 200, 50, 50;
  --color5: 61, 158, 255;
  --color-interactive: 140, 100, 255;
  --circle-size: 100%;
  --blending: hard-light;
}

@keyframes moveInCircle {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes moveVertical {
  0% {
    transform: translate3d(0, -50%, 0);
  }
  50% {
    transform: translate3d(0, 50%, 0);
  }
  100% {
    transform: translate3d(0, -50%, 0);
  }
}
@keyframes moveHorizontal {
  0% {
    transform: translate3d(-50%, -10%, 0);
  }
  50% {
    transform: translate3d(50%, 10%, 0);
  }
  100% {
    transform: translate3d(-50%, -10%, 0);
  }
}
.icon-clear {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/clear.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/clear.svg") center/contain no-repeat;
  background-color: white;
}

.icon-home {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/home.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/home.svg") center/contain no-repeat;
  background-color: white;
}

.icon-gear {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/gear.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/gear.svg") center/contain no-repeat;
  background-color: white;
}

.icon-cloud {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/cloud.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/cloud.svg") center/contain no-repeat;
  background-color: white;
}

.icon-mac {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/mac.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/mac.svg") center/contain no-repeat;
  background-color: white;
}

.icon-windows {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/windows.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/windows.svg") center/contain no-repeat;
  background-color: white;
}

.icon-ledger {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/ledger.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/ledger.svg") center/contain no-repeat;
  background-color: white;
}

.icon-doughnut {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/doughnut.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/doughnut.svg") center/contain no-repeat;
  background-color: white;
}

.icon-sync {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/sync.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/sync.svg") center/contain no-repeat;
  background-color: white;
}

.icon-bookmark {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/bookmark.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/bookmark.svg") center/contain no-repeat;
  background-color: white;
}

.icon-contract {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/contract.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/contract.svg") center/contain no-repeat;
  background-color: white;
}

.icon-table {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/table.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/table.svg") center/contain no-repeat;
  background-color: white;
}

.icon-bar-graph {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/bar graph.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/bar graph.svg") center/contain no-repeat;
  background-color: white;
}

.icon-down {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/down.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/down.svg") center/contain no-repeat;
  background-color: white;
}

.icon-arrow {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/arrow.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/arrow.svg") center/contain no-repeat;
  background-color: white;
}

.icon-drag {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/drag.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/drag.svg") center/contain no-repeat;
  background-color: white;
}

.icon-filter {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/filter.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/filter.svg") center/contain no-repeat;
  background-color: white;
}

.icon-plus {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/plus.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/plus.svg") center/contain no-repeat;
  background-color: white;
}

.icon-save {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/save.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/save.svg") center/contain no-repeat;
  background-color: white;
}

.icon-bin {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/bin.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/bin.svg") center/contain no-repeat;
  background-color: white;
}

.icon-up {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/up.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/up.svg") center/contain no-repeat;
  background-color: white;
}

.icon-edit {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/edit.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/edit.svg") center/contain no-repeat;
  background-color: white;
}

.icon-warning {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/warning.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/warning.svg") center/contain no-repeat;
  background-color: white;
}

.icon-exchange {
  width: 15px;
  height: 15px;
  display: inline-block;
  mask: url("../icons/exchange.svg") center/contain no-repeat;
  -webkit-mask: url("../icons/exchange.svg") center/contain no-repeat;
  background-color: white;
}

.hero .downloadPanel {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 85%;
  padding: 32px;
  box-sizing: border-box;
  text-align: center;
}
.hero .downloadPanel .downloadIcon {
  width: 86px;
  height: 86px;
  margin-bottom: 14px;
}
.hero .downloadPanel h1 {
  margin: 0;
  color: #FFF;
  font-size: 36px;
  font-weight: normal;
  letter-spacing: 0;
}
.hero .downloadPanel p {
  margin: 12px 0 0;
  color: #8f9393;
  font-size: 14px;
}
.hero .downloadPanel .downloadActions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.hero .downloadPanel .downloadButton {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  min-width: 180px;
  padding: 12px 18px;
  border: 0;
  border-radius: 8px;
  appearance: none;
  box-sizing: border-box;
  color: #FFF;
  background: rgba(156, 111, 247, 0.2);
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.hero .downloadPanel .downloadButton i {
  width: 18px;
  height: 18px;
  margin-top: -2px;
  background-color: currentColor;
}
.hero .downloadPanel .downloadButton span {
  min-width: 0;
  white-space: nowrap;
}

@media (max-width: 820px) {
  .hero .downloadPanel {
    padding: 22px;
  }
  .hero .downloadPanel .downloadIcon {
    width: 56px;
    height: 56px;
    margin-bottom: 10px;
  }
  .hero .downloadPanel h1 {
    font-size: 24px;
  }
  .hero .downloadPanel p {
    font-size: 13px;
  }
  .hero .downloadPanel .downloadActions {
    gap: 8px;
    margin-top: 18px;
  }
  .hero .downloadPanel .downloadButton {
    min-width: 132px;
    padding: 10px 14px;
    font-size: 12px;
  }
  .hero .downloadPanel .downloadButton i {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
  }
}
@media (max-width: 520px) {
  .hero .downloadPanel {
    padding: 18px;
  }
  .hero .downloadPanel .downloadIcon {
    width: 44px;
    height: 44px;
    margin-bottom: 8px;
  }
  .hero .downloadPanel h1 {
    font-size: 20px;
  }
  .hero .downloadPanel p {
    margin-top: 8px;
    font-size: 12px;
  }
  .hero .downloadPanel .downloadActions {
    margin-top: 14px;
  }
  .hero .downloadPanel .downloadButton {
    min-width: 0;
    flex: 1 1 100%;
    padding: 9px 10px;
  }
}
.hero .featuresPanel {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  grid-template-rows: auto minmax(0, 1fr);
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #000000;
  transition: grid-template-columns 340ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .featuresPanel:focus-visible {
  outline: 2px solid rgba(255, 168, 205, 0.68);
  outline-offset: -4px;
}
.hero .featuresPanel.featuresPanel--copyOnly {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0fr);
}
.hero .featuresPanel.featuresPanel--copyOnly .featureCopyPane {
  grid-column: 1/-1;
  justify-items: center;
  padding: clamp(18px, 3vh, 40px) clamp(30px, 6vw, 96px) clamp(20px, 3.2vh, 44px);
}
.hero .featuresPanel.featuresPanel--copyOnly .featureDetails {
  width: min(100%, 980px);
  height: 100%;
  overflow: hidden;
}
.hero .featuresPanel.featuresPanel--copyOnly .featurePanel--centred {
  justify-content: flex-start;
  padding: 0;
}
.hero .featuresPanel.featuresPanel--copyOnly .featurePanel--andMore {
  padding: clamp(6px, 1.2vh, 14px) 0;
}
.hero .featuresPanel.featuresPanel--copyOnly .featureVisualPane {
  opacity: 0;
  padding: 0;
  pointer-events: none;
}
.hero .featuresPanel.featuresPanel--copyOnly .featureVisualPane::before {
  animation-play-state: paused;
}
.hero .featureCopyPane {
  display: grid;
  grid-column: 1;
  grid-row: 2;
  grid-template-rows: minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  padding: clamp(18px, 3.2vw, 56px) clamp(30px, 4.2vw, 72px) clamp(30px, 4.2vw, 72px);
  box-sizing: border-box;
}
.hero .featureButtonRail {
  display: flex;
  grid-column: 1/-1;
  grid-row: 1;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 10px;
  width: calc(100% - 20px);
  padding: 10px;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  height: 44px;
}
.hero .featureButtonRail::-webkit-scrollbar {
  display: none;
}
.hero .featurePanel--centred {
  align-items: center;
  justify-content: center;
  max-width: none;
  padding: clamp(14px, 4vh, 48px) 0 12px;
  text-align: center;
}
.hero .featurePanel--centred h1,
.hero .featurePanel--centred p,
.hero .featurePanel--centred .featurePanelBrief,
.hero .featurePanel--centred .featureInfoGrid {
  margin-right: auto;
  margin-left: auto;
}
.hero .featurePanel--centred .featurePanelBrief {
  max-width: 720px;
}
.hero .featurePanel--centred .featureInfoGrid {
  max-width: 880px;
}
.hero .featurePanel--centred .featureInfoBox {
  justify-items: center;
  text-align: center;
}
.hero .featurePanel--centred .featureInfoBox strong {
  max-width: 680px;
}
.hero .featurePanel--centred .featureInfoBox > .transactionBadge {
  justify-self: center;
}
.hero .featurePanel--andMore {
  width: 100%;
  max-width: none;
  padding: clamp(6px, 1.2vh, 14px) 0;
}
.hero .featurePanel--andMore .featureEyebrow {
  margin-bottom: 8px;
}
.hero .featurePanel--andMore h1 {
  font-size: clamp(30px, 3vw, 50px);
}
.hero .featurePanel--andMore .featurePanelBrief {
  max-width: 760px;
  margin-top: 14px;
}
.hero .featurePanel--andMore p {
  margin-top: 12px;
}
.hero .featurePanel--andMore .featureInfoGrid {
  width: min(100%, 920px);
  max-width: none;
  margin-top: 16px;
}
.hero .featurePanel--andMore .featureInfoGrid--compact {
  gap: 7px;
}
.hero .featurePanel--andMore .featureInfoGrid--compact .featureInfoBox {
  padding: 12px 14px;
}
.hero .featurePanel--andMore .featureInfoGrid--compact .featureInfoBox strong {
  line-height: 1.36;
}
.hero .featureNavButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 0 0;
  min-inline-size: 92px;
  min-height: 32px;
  padding: 8px 11px 7px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 7px;
  color: rgba(255, 255, 255, 0.55);
  background: rgba(0, 0, 0, 0.16);
  font: inherit;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  transition: border-color 180ms ease, color 180ms ease, background 180ms ease, transform 180ms ease;
}
.hero .featureNavButton:hover, .hero .featureNavButton:focus-visible {
  background: rgba(24, 41, 57, 0.52);
}
.hero .featureNavButton:focus-visible {
  outline-offset: 2px;
}
.hero .featureNavButton.is-active {
  color: #FFF;
  border-color: rgba(61, 158, 255, 0.78);
  background: rgba(61, 158, 255, 0.14);
}
.hero .featureDetails {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .featurePanel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: clamp(18px, 6vh, 72px) 6px 8px 0;
  box-sizing: border-box;
  overflow-y: auto;
  scrollbar-width: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 260ms ease, transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.hero .featurePanel.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.hero .featurePanel::-webkit-scrollbar {
  display: none;
}
.hero .featureEyebrow {
  margin-bottom: 12px;
  color: #9C6FF7;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.hero .featurePanel h1 {
  max-width: 680px;
  margin: 0;
  color: #FFF;
  font-size: clamp(30px, 3.3vw, 62px);
  font-weight: normal;
  line-height: 1.02;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.hero .featurePanel p {
  max-width: 600px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.55;
  letter-spacing: 0;
}
.hero .featurePanelBrief {
  display: grid;
  gap: 12px;
  max-width: 610px;
  margin-top: 20px;
}
.hero .featurePanelBrief p {
  margin: 0;
}
.hero .featurePanelLead {
  color: rgba(255, 255, 255, 0.78);
}
.hero .featurePanelHow {
  color: rgba(229, 229, 229, 0.62);
}
.hero .featurePanelHow strong {
  display: block;
  margin-bottom: 5px;
  color: #FFF;
  font-size: clamp(10px, 0.8vw, 12px);
  line-height: 1;
  text-transform: uppercase;
}
.hero .featureInfoGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  max-width: 620px;
  margin-top: 22px;
}
.hero .featureInfoGrid--compact {
  gap: 8px;
  max-width: 640px;
  margin-top: 18px;
}
.hero .featureInfoGrid--compact .featureInfoBox {
  gap: 5px;
  padding: 15px 17px;
}
.hero .featureInfoGrid--compact .featureInfoBox .transactionBadgeGroup {
  background: rgba(241, 238, 243, 0.1);
}
.hero .featureInfoGrid--compact .featureInfoBox > span:not(.transactionBadge) {
  font-size: 9px;
}
.hero .featureInfoGrid--compact .featureInfoBox strong {
  font-size: clamp(11px, 0.88vw, 12px);
  line-height: 1.8;
  font-weight: normal;
  color: #e5e5e5;
}
.hero .featureInfoGrid--compact .featureInfoBox--wide {
  grid-column: 1/-1;
  width: 100%;
}
.hero .featureInfoGrid--compact .featureInfoBox--wide strong {
  max-width: none;
}
.hero .featureInfoBox--wide {
  grid-column: 1/-1;
}
.hero .featureInfoBox--wide strong {
  max-width: 560px;
  line-height: 1.34;
}
.hero .featureInfoBox {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 13px 14px;
  box-sizing: border-box;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.045);
}
.hero .featureInfoBox > span:not(.transactionBadge),
.hero .featureInfoBox > strong {
  min-width: 0;
  overflow-wrap: anywhere;
  letter-spacing: 0;
}
.hero .featureInfoBox > span:not(.transactionBadge) {
  color: #9C6FF7;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
}
.hero .featureInfoBox > .transactionBadge {
  justify-self: start;
}
.hero .featureInfoBox > strong {
  color: #FFF;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: normal;
  line-height: 1.25;
}
.hero .featurePoints {
  display: grid;
  gap: 10px;
  max-width: 650px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.hero .featurePoints li {
  position: relative;
  padding-left: 17px;
  color: rgba(229, 229, 229, 0.74);
  font-size: 12px;
  line-height: 1.42;
  letter-spacing: 0;
}
.hero .featurePoints li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(61, 158, 255, 0.14);
  box-shadow: 0 0 18px rgba(61, 158, 255, 0.5);
}
.hero .featureVisualPane {
  position: relative;
  grid-column: 2;
  grid-row: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  min-height: 0;
  padding: clamp(20px, 2.6vw, 44px);
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 12px 0 0 0;
  background: linear-gradient(135deg, rgba(24, 41, 57, 0.46), rgba(14, 14, 14, 0.96) 62%);
  isolation: isolate;
  transition: opacity 260ms ease, padding 340ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .featureVisualPane::before {
  content: "";
  position: absolute;
  inset: -38%;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at 78% 12%, rgba(255, 168, 205, 0.24), transparent 26%), radial-gradient(circle at 92% 82%, rgba(205, 124, 55, 0.28), transparent 28%), radial-gradient(circle at 18% 18%, rgba(156, 111, 247, 0.13), transparent 30%), radial-gradient(circle at 56% 64%, rgba(24, 41, 57, 0.14), transparent 34%);
  opacity: 0.92;
  transform: translate3d(-3%, -2%, 0) rotate(0deg) scale(1.04);
  transform-origin: center;
  animation: featureVisualPaneColourShift 12s ease-in-out infinite;
  backface-visibility: hidden;
  will-change: transform;
}
.hero .featureImageSlot {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  width: 1280px;
  aspect-ratio: 1.42;
  border-radius: 10px;
  overflow: visible;
  transform: scale(1);
  transform-origin: center;
  transform-box: border-box;
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.hero .featurePicture {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .featurePicture.is-active {
  opacity: 1;
  transform: scale(1);
}
.hero .featurePicture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.hero .bulkImportFeaturePreview {
  position: absolute;
  inset: 0;
  display: block;
  color: #FFF;
  font-family: "primary", sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .bulkImportFeaturePreview.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}
.hero .bulkImportFeaturePreview button {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  color: #FFF;
  cursor: default;
}
.hero .bulkImportFeaturePreview button:disabled {
  opacity: 1;
}
.hero .bulkImportFeaturePreview .bulkImportWorkspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(8px, 1vw, 12px);
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: clamp(7px, 0.85vw, 10px);
  box-sizing: border-box;
  overflow: hidden;
  border: 3px solid rgba(241, 238, 243, 0.05);
  border-radius: 12px;
  background: #000000;
}
.hero .bulkImportFeaturePreview .bulkImportMapSection {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(7px, 0.8vw, 10px);
  min-width: 0;
  min-height: 0;
}
.hero .bulkImportFeaturePreview .bulkImportControls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  padding: 7px 8px;
  box-sizing: border-box;
  border-radius: 12px;
  background: #000000;
}
.hero .bulkImportFeaturePreview .bulkImportControlGroup {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.hero .bulkImportFeaturePreview .bulkImportControlActions {
  justify-content: flex-end;
  flex-wrap: wrap;
}
.hero .bulkImportFeaturePreview .bulkImportFileName {
  min-width: 0;
  max-width: 190px;
  padding: 7px 9px;
  overflow: hidden;
  border-radius: 6px;
  color: rgba(229, 229, 229, 0.78);
  background: rgba(241, 238, 243, 0.1);
  font-size: clamp(8px, 0.7vw, 10px);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .bulkImportFeaturePreview .bulkImportIconButton,
.hero .bulkImportFeaturePreview .bulkImportNext {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border-radius: 3px;
  background: rgba(241, 238, 243, 0.08);
  font-size: clamp(7px, 0.62vw, 9px);
  line-height: 1;
  white-space: nowrap;
}
.hero .bulkImportFeaturePreview .bulkImportIconButton {
  width: 28px;
  min-width: 28px;
  padding: 0;
}
.hero .bulkImportFeaturePreview .bulkImportIconButton i {
  width: 13px;
  height: 13px;
  background: currentColor;
}
.hero .bulkImportFeaturePreview .bulkImportIconButton.isDanger {
  color: rgb(217, 74, 78);
}
.hero .bulkImportFeaturePreview .bulkImportFeatureTextButton {
  gap: 6px;
  width: auto;
  min-width: 0;
  padding: 0 9px;
}
.hero .bulkImportFeaturePreview .bulkImportNext {
  background: #182939;
}
.hero .bulkImportFeaturePreview .bulkImportMapper {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #000000;
}
.hero .bulkImportFeaturePreview .bulkImportMapper {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
  gap: clamp(18px, 2.2vw, 28px);
  padding: 0 clamp(18px, 2vw, 28px);
  box-sizing: border-box;
}
.hero .bulkImportFeaturePreview .bulkImportConnections {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.hero .bulkImportFeaturePreview .bulkImportConnection {
  fill: none;
  stroke: #1f3952;
  stroke-linecap: round;
  stroke-width: 2.75;
  opacity: 0.95;
}
.hero .bulkImportFeaturePreview .bulkImportPane {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 9px;
  min-width: 0;
  min-height: 0;
  padding: 10px 0;
  box-sizing: border-box;
}
.hero .bulkImportFeaturePreview .bulkImportVardonPane .bulkImportPaneHeader {
  justify-content: right;
  text-align: right;
}
.hero .bulkImportFeaturePreview .bulkImportVardonPane .bulkImportAttributeBox {
  justify-content: right;
}
.hero .bulkImportFeaturePreview .bulkImportPaneHeader {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.hero .bulkImportFeaturePreview .bulkImportPaneTitle {
  overflow: hidden;
  color: #FFF;
  font-size: clamp(11px, 0.95vw, 15px);
  font-family: "bolder";
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .bulkImportFeaturePreview .bulkImportPaneMeta {
  overflow: hidden;
  color: rgba(241, 238, 243, 0.58);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.08em;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero .bulkImportFeaturePreview .bulkImportList {
  display: grid;
  gap: 7px;
  min-height: 0;
  overflow: hidden;
}
.hero .bulkImportFeaturePreview .bulkImportSourceCanvas {
  position: relative;
  min-height: 0;
  overflow: visible;
}
.hero .bulkImportFeaturePreview .bulkImportHeaderList,
.hero .bulkImportFeaturePreview .bulkImportConditionList {
  position: absolute;
  inset: 0;
}
.hero .bulkImportFeaturePreview .bulkImportHeaderList {
  z-index: 1;
  width: min(215px, 39%);
  pointer-events: none;
}
.hero .bulkImportFeaturePreview .bulkImportConditionList {
  z-index: 2;
  display: block;
  overflow: visible;
}
.hero .bulkImportFeaturePreview .bulkImportHeaderEntry {
  display: grid;
  width: min(100%, 210px);
}
.hero .bulkImportFeaturePreview .bulkImportHeaderBlock,
.hero .bulkImportFeaturePreview .bulkImportConditionBlock {
  position: absolute;
  top: 0;
  left: 0;
}
.hero .bulkImportFeaturePreview .bulkImportBox {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 36px;
  padding: 8px 14px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: #FFF;
  font-size: clamp(8px, 0.7vw, 10px);
  line-height: 1.15;
}
.hero .bulkImportFeaturePreview .bulkImportHeaderBox,
.hero .bulkImportFeaturePreview .bulkImportAttributeBox {
  width: min(100%, 210px);
}
.hero .bulkImportFeaturePreview .bulkImportHeaderBox {
  gap: 6px;
  border-color: rgba(24, 41, 57, 0.78);
  background: rgba(24, 41, 57, 0.3);
}
.hero .bulkImportFeaturePreview .bulkImportBoxLabel {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .bulkImportFeaturePreview .bulkImportHeaderBox .bulkImportBoxLabel {
  flex: 1 1 auto;
}
.hero .bulkImportFeaturePreview .bulkImportBoxView {
  flex: 0 0 auto;
  min-height: 22px;
  padding: 0 7px;
  border-radius: 3px;
  background: rgba(7, 7, 7, 0.42);
  font-size: clamp(7px, 0.58vw, 8px);
}
.hero .bulkImportFeaturePreview .bulkImportConditionBlock {
  display: grid;
  gap: 0;
  width: min(100%, 245px);
  padding: 6px;
  box-sizing: border-box;
  border: 1px solid #1a1a1a;
  border-radius: 3px;
  color: #FFF;
  background: #0b0b0b;
}
.hero .bulkImportFeaturePreview .bulkImportConditionHeader,
.hero .bulkImportFeaturePreview .bulkImportConditionRow {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 28px;
  box-sizing: border-box;
  border: 1px solid #141414;
  border-radius: 3px;
  background: #090909;
}
.hero .bulkImportFeaturePreview .bulkImportConditionHeader {
  gap: 5px;
  padding: 4px 5px 4px 13px;
}
.hero .bulkImportFeaturePreview .bulkImportConditionRow {
  gap: 5px;
  padding: 6px 15px 6px 7px;
}
.hero .bulkImportFeaturePreview .bulkImportConditionRows {
  display: grid;
  gap: 5px;
}
.hero .bulkImportFeaturePreview .bulkImportBlockContent {
  margin-top: 6px;
  min-height: 0;
}
.hero .bulkImportFeaturePreview .bulkImportConditionLabel,
.hero .bulkImportFeaturePreview .bulkImportConditionPrefix,
.hero .bulkImportFeaturePreview .bulkImportConditionSelect,
.hero .bulkImportFeaturePreview .bulkImportLabelSelect {
  overflow: hidden;
  font-size: clamp(7px, 0.62vw, 9px);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .bulkImportFeaturePreview .bulkImportConditionLabel {
  flex: 1 1 auto;
  color: #FFF;
  font-family: "bolder";
}
.hero .bulkImportFeaturePreview .bulkImportConditionPrefix {
  flex: 0 0 auto;
  color: rgba(241, 238, 243, 0.72);
}
.hero .bulkImportFeaturePreview .bulkImportConditionSelect,
.hero .bulkImportFeaturePreview .bulkImportLabelSelect {
  flex: 1 1 auto;
  min-width: 0;
  color: #FFF;
}
.hero .bulkImportFeaturePreview .bulkImportConditionRow.isDateRangeCondition {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: start;
  gap: 5px;
}
.hero .bulkImportFeaturePreview .bulkImportConditionRow.isDateRangeCondition .bulkImportConditionPrefix {
  grid-column: 1/-1;
}
.hero .bulkImportFeaturePreview .bulkImportConditionDateRange {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  min-width: 0;
}
.hero .bulkImportFeaturePreview .bulkImportConditionDateField {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: rgba(241, 238, 243, 0.72);
  font-size: clamp(7px, 0.58vw, 8px);
  line-height: 1;
}
.hero .bulkImportFeaturePreview .bulkImportConditionDateInput {
  min-width: 0;
  padding: 6px 5px;
  overflow: hidden;
  border: 1px solid #151515;
  color: #FFF;
  background: #050505;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .bulkImportFeaturePreview .bulkImportLabelBlock {
  width: min(100%, 220px);
}
.hero .bulkImportFeaturePreview .bulkImportLabelBlock.isRegionLabel {
  width: min(100%, 235px);
}
.hero .bulkImportFeaturePreview .bulkImportLabelHeader {
  padding: 4px 13px 4px 5px;
}
.hero .bulkImportFeaturePreview .bulkImportLabelBody {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 28px;
  padding: 6px 8px;
  box-sizing: border-box;
  border: 1px solid #141414;
  border-radius: 3px;
  background: #090909;
}
.hero .bulkImportFeaturePreview .bulkImportLabelBlock.isRegionLabel .bulkImportLabelBody {
  align-items: stretch;
  padding: 0;
  border: 0;
  background: transparent;
}
.hero .bulkImportFeaturePreview .bulkImportRegionLabelControl,
.hero .bulkImportFeaturePreview .bulkImportRegionLabelRows {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.hero .bulkImportFeaturePreview .bulkImportRegionLabelRow {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.hero .bulkImportFeaturePreview .bulkImportRegionLabelRemoveSpace {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 20px;
  width: 20px;
  min-width: 20px;
  min-height: 26px;
  pointer-events: none;
}
.hero .bulkImportFeaturePreview .bulkImportRegionLabelRemoveSpace::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.36);
}
.hero .bulkImportFeaturePreview .bulkImportRegionLabelRow .bulkImportLabelSelect {
  padding: 7px 8px;
  border: 1px solid #141414;
  border-radius: 3px;
  background: #090909;
}
.hero .bulkImportFeaturePreview .bulkImportConditionDrag,
.hero .bulkImportFeaturePreview .bulkImportBlockToggle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
}
.hero .bulkImportFeaturePreview .bulkImportConditionDrag i,
.hero .bulkImportFeaturePreview .bulkImportBlockToggle i {
  width: 11px;
  height: 11px;
  background: rgba(241, 238, 243, 0.72);
}
.hero .bulkImportFeaturePreview .bulkImportBlockToggle i {
  background: rgba(241, 238, 243, 0.82);
}
.hero .bulkImportFeaturePreview .bulkImportAttributeList {
  align-content: start;
  justify-items: end;
  gap: 8px;
  padding-top: 48px;
}
.hero .bulkImportFeaturePreview .bulkImportAttributeBox {
  justify-content: flex-end;
  background: rgba(255, 255, 255, 0.035);
}
.hero .bulkImportFeaturePreview .bulkImportAttributeGroupBox {
  display: grid;
  align-items: stretch;
  justify-content: stretch !important;
  gap: 7px;
  padding: 8px;
}
.hero .bulkImportFeaturePreview .bulkImportLedgerLabel {
  justify-self: end;
  padding: 0 7px;
}
.hero .bulkImportFeaturePreview .bulkImportLedgerChildren {
  display: grid;
  gap: 5px;
  width: 100%;
}
.hero .bulkImportFeaturePreview .bulkImportLedgerChild {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  min-height: 30px;
  padding: 7px 10px 7px 16px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.035);
  font-size: clamp(8px, 0.7vw, 10px);
  line-height: 1;
}
.hero .bulkImportFeaturePreview .isMappedTarget,
.hero .bulkImportFeaturePreview .isConnected {
  border-color: rgba(24, 41, 57, 0.52);
}
.hero .bulkImportFeaturePreview .bulkImportNode {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 4;
  width: 10px;
  height: 10px;
  border: 2px solid #182939;
  border-radius: 50%;
  box-sizing: border-box;
  background: #FFF;
  box-shadow: 0 0 0 4px rgba(24, 41, 57, 0.13);
  transform: translate(50%, -50%);
}
.hero .bulkImportFeaturePreview [data-bulk-import-source-node] {
  right: 0;
}
.hero .bulkImportFeaturePreview [data-bulk-import-target-node] {
  right: auto;
  left: 0;
  transform: translate(-50%, -50%);
}
.hero .bulkImportFeaturePreview .bulkImportConditionHeader [data-bulk-import-target-node] {
  left: 0;
}
.hero .financialOverviewPreview {
  --feature-amount-currency-size: clamp(16px, calc(13px + 0.45vw), 22px);
  --feature-amount-font-size: clamp(42px, calc(34px + 1.15vw), 58px);
  --feature-investment-label-size: clamp(10px, calc(9px + 0.2vw), 12px);
  --feature-investment-value-size: clamp(13px, calc(12px + 0.2vw), 15px);
  --feature-net-worth-currency-size: clamp(14px, calc(12px + 0.35vw), 18px);
  --feature-net-worth-font-size: clamp(20px, calc(16px + 0.7vw), 26px);
  --feature-pot-gap: 18px;
  --feature-pot-height: 152px;
  --feature-pot-label-size: clamp(10px, calc(9px + 0.18vw), 12px);
  --feature-pot-stat-size: clamp(10px, calc(9px + 0.2vw), 12px);
  --feature-pot-stat-value-size: clamp(12px, calc(10px + 0.35vw), 15px);
  --feature-pot-width: min(100%, clamp(690px, 43vw, 820px));
  --feature-net-worth-height: 116px;
  --feature-investment-bar-height: 44px;
  --feature-overview-top-overflow: calc(
    var(--feature-net-worth-height) + 45px + var(--feature-investment-bar-height) + 7px
  );
  --feature-overview-centre-offset: calc(var(--feature-overview-top-overflow) / 2);
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  grid-template-rows: repeat(3, var(--feature-pot-height));
  gap: var(--feature-pot-gap);
  width: var(--feature-pot-width);
  height: calc(var(--feature-pot-height) * 3 + var(--feature-pot-gap) * 2);
  min-width: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(-50% + var(--feature-overview-centre-offset) + 10px)) scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .financialOverviewPreview.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, calc(-50% + var(--feature-overview-centre-offset))) scale(1);
}
.hero .featureInvestmentBar {
  position: absolute;
  top: calc(0px - var(--feature-net-worth-height) - 45px - var(--feature-investment-bar-height) - 7px);
  right: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--feature-investment-bar-height);
  min-width: 0;
  padding: 0 14px;
  box-sizing: border-box;
  border-radius: 12px;
  color: #FFF;
  background: #070707;
  font-family: "primary", sans-serif;
  outline: none;
}
.hero .featureInvestmentBar:focus-visible {
  box-shadow: 0 0 0 2px rgba(241, 238, 243, 0.28);
}
.hero .featureMarketIndicator {
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-right: 15px;
  border-radius: 50%;
  background: lightgrey;
}
.hero .featureMarketIndicatorActive {
  animation: featureMarketIndicatorPulse 1s infinite alternate;
}
.hero .featureMarketIndicator--closed {
  background: lightgrey;
}
.hero .featureMarketIndicator--regular,
.hero .featureMarketIndicator--ukRegular,
.hero .featureMarketIndicator--usRegular,
.hero .featureMarketIndicator--euRegular {
  background: rgb(113, 172, 99);
}
.hero .featureMarketIndicator--preMarket {
  background: #e16b28;
}
.hero .featureMarketIndicator--afterHours {
  background: #FFA8CD;
}
.hero .featureMarketIndicator--overnight {
  background: #6a67c2;
}
.hero .featureInvestmentDetails {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}
.hero .featureInvestmentTicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  min-width: 0;
  margin-right: 18px;
  font-size: 19px;
  line-height: 1;
}
.hero .featureInvestmentSessionChip {
  padding: 2px 5px;
  border-radius: 3px;
  color: rgb(113, 172, 99);
  background: rgba(113, 172, 99, 0.14);
  font-size: 8px;
  font-weight: bold;
  line-height: 1;
}
.hero .featureInvestmentSessionChip[data-session=preMarket] {
  color: #e16b28;
  background: rgba(225, 107, 40, 0.14);
}
.hero .featureInvestmentSessionChip[data-session=afterHours] {
  color: #FFA8CD;
  background: rgba(255, 168, 205, 0.14);
}
.hero .featureInvestmentSessionChip[data-session=overnight] {
  color: #8f8cff;
  background: rgba(143, 140, 255, 0.14);
}
.hero .featureInvestmentSessionChip[data-active=false] {
  color: rgba(143, 147, 147, 0.78);
  background: rgba(143, 147, 147, 0.12);
}
.hero .featureInvestmentBreakdown {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex: 1 1 auto;
  min-width: 0;
}
.hero .featureInvestmentBreakdown div {
  min-width: 0;
  flex: 1 1 0;
  color: #FFF;
  font-size: 10px;
  line-height: 1;
  text-align: center;
}
.hero .featureInvestmentBreakdown span {
  display: block;
  overflow: hidden;
  color: inherit;
  font-size: var(--feature-investment-value-size);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .featureInvestmentBreakdown span.is-positive {
  color: rgb(113, 172, 99);
}
.hero .featureInvestmentBreakdown span.is-negative {
  color: rgb(217, 74, 78);
}
.hero .featureInvestmentSessionText {
  flex: 0 0 auto;
  max-width: 150px;
  margin-left: 12px;
  color: rgba(143, 147, 147, 0.78);
  font-size: var(--feature-investment-label-size);
  line-height: 1;
  text-align: right;
}
.hero .featureInvestmentTooltip {
  position: absolute;
  top: calc(100% + 8px);
  left: 8px;
  z-index: 4;
  display: grid;
  gap: 5px;
  width: min(58%, 320px);
  max-width: 320px;
  padding: 10px 12px;
  box-sizing: border-box;
  border-radius: 6px;
  color: #FFF;
  background: rgba(7, 7, 7, 0.96);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.42);
  opacity: 1;
  pointer-events: none;
  transform: none;
}
.hero .featureInvestmentTooltip::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 24px;
  width: 10px;
  height: 10px;
  background: rgba(7, 7, 7, 0.96);
  transform: rotate(45deg);
}
.hero .featureInvestmentTooltip span {
  position: relative;
  z-index: 1;
  color: rgba(229, 229, 229, 0.58);
  font-size: 9px;
  line-height: 1;
  text-transform: uppercase;
}
.hero .featureInvestmentTooltip strong {
  position: relative;
  z-index: 1;
  color: #FFF;
  font-size: 12px;
  line-height: 1;
}
.hero .featureInvestmentTooltip small {
  position: relative;
  z-index: 1;
  color: rgba(229, 229, 229, 0.68);
  font-size: 10px;
  line-height: 1.2;
}
@keyframes featureMarketIndicatorPulse {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.4;
  }
}
.hero .sinkingFundFeaturePreview {
  position: absolute;
  inset: clamp(6px, 1.1vw, 14px);
  display: grid;
  align-items: center;
  justify-items: center;
  min-width: 0;
  min-height: 0;
  color: #FFF;
  font-family: "primary", sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px) scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .sinkingFundFeaturePreview.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.hero .sinkingFundFeatureShell {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: fit-content;
  padding: 16px 15px 12px;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 12px;
  background: #070707;
}
.hero .sinkingFundFeatureHeader,
.hero .sinkingFundFeatureGoal {
  border-radius: 6px;
  background: rgba(241, 238, 243, 0.03);
}
.hero .sinkingFundFeatureHeader {
  position: relative;
  min-width: 0;
  padding: 12px;
  box-sizing: border-box;
}
.hero .sinkingFundFeatureOverview {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.hero .sinkingFundFeatureAmounts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  padding-right: 122px;
}
.hero .sinkingFundFeatureAmounts strong {
  color: #FFF;
  font-size: 17px;
  font-weight: normal;
  line-height: 1;
  white-space: nowrap;
}
.hero .sinkingFundFeatureAmounts span {
  color: rgba(229, 229, 229, 0.78);
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.hero .sinkingFundFeatureProgress,
.hero .sinkingFundFeatureGoalProgress > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.hero .sinkingFundFeatureProgress {
  margin-top: 10px;
}
.hero .sinkingFundFeatureProgress strong,
.hero .sinkingFundFeatureGoalProgress strong {
  color: #FFF;
  font-size: 11px;
  font-weight: normal;
  line-height: 1;
  white-space: nowrap;
}
.hero .sinkingFundFeatureProgress strong {
  font-size: 13px;
}
.hero .sinkingFundFeatureTrack {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  height: 8px;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
}
.hero .sinkingFundFeatureTrack span {
  display: block;
  width: var(--sinking-feature-width, 0%);
  height: 100%;
  border-radius: inherit;
  background: var(--sinking-feature-colour, rgb(113, 172, 99));
  transition: width 760ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: width;
}
.hero .sinkingFundFeatureNew {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  padding: 6px 12px;
  border: 0;
  border-radius: 3px;
  color: #FFF;
  background: rgba(255, 255, 255, 0.04);
  font: inherit;
  font-size: 13px;
  line-height: 1;
}
.hero .sinkingFundFeatureNew span {
  color: rgb(113, 172, 99);
  font-size: 15px;
  line-height: 1;
}
.hero .sinkingFundFeatureNew i {
  width: 13px;
  height: 13px;
  background-color: rgba(255, 255, 255, 0.78);
}
.hero .sinkingFundFeatureGoals {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding-right: 4px;
  padding-bottom: 10px;
}
.hero .sinkingFundFeatureGoal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px) 20px;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 3px solid transparent;
  border-left-color: var(--sinking-feature-colour, rgb(113, 172, 99));
  transition: background 260ms ease, transform 260ms ease;
}
.hero .sinkingFundFeatureGoal.is-money-in {
  background: rgba(113, 172, 99, 0.1);
  transform: translateX(2px);
}
.hero .sinkingFundFeatureGoal.is-money-out {
  background: rgba(91, 42, 42, 0.16);
  transform: translateX(-2px);
}
.hero .sinkingFundFeatureGoalSummary {
  min-width: 0;
}
.hero .sinkingFundFeatureGoalName {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: 14px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .sinkingFundFeatureMeta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
  margin-top: 6px;
}
.hero .sinkingFundFeatureMeta span,
.hero .sinkingFundFeatureMeta button {
  min-width: 0;
  padding: 5px;
  border: 1px solid rgba(241, 238, 243, 0.1);
  border-radius: 3px;
  color: rgba(229, 229, 229, 0.82);
  background: transparent;
  font: inherit;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}
.hero .sinkingFundFeatureGoalProgress {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.hero .sinkingFundFeatureGoalProgress span {
  min-width: 0;
  overflow: hidden;
  color: rgba(229, 229, 229, 0.78);
  font-size: 11px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .sinkingFundFeatureMenu {
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.04);
}
.hero .sinkingFundFeatureMenu::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: -5px 0 0 rgba(255, 255, 255, 0.76), 5px 0 0 rgba(255, 255, 255, 0.76);
  transform: translate(-50%, -50%);
}
.hero .analyticsFeaturePreview {
  position: absolute;
  inset: clamp(6px, 1.1vw, 14px);
  display: grid;
  align-items: center;
  justify-items: center;
  min-width: 0;
  min-height: 0;
  color: #FFF;
  font-family: "primary", sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px) scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .analyticsFeaturePreview.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.hero .analyticsFeatureApp {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 1200px);
  height: min(100%, 520px);
  min-width: 0;
  min-height: 0;
}
.hero .analyticsFeatureGraphContainer {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding-top: 10px;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 12px;
  background: #070707;
}
.hero .analyticsFeatureGraphPanel {
  position: relative;
  display: none;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}
.hero .analyticsFeatureGraphPanel.is-active {
  display: flex;
}
.hero .gaussianGraphLayout {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}
.hero .gaussianInsightPanel {
  display: grid;
  grid-template-columns: minmax(130px, 0.72fr) minmax(0, 2fr);
  flex: 0 0 auto;
  align-items: stretch;
  gap: 10px;
  min-height: 64px;
  padding: 0 14px 8px 21px;
  box-sizing: border-box;
}
.hero .gaussianInsightLead {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.hero .gaussianInsightLead strong {
  overflow: hidden;
  margin-top: 5px;
  color: #FFF;
  font-size: 13px;
  font-family: "bolder";
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .gaussianInsightTitleRow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}
.hero .gaussianInsightEyebrow,
.hero .gaussianInsightSubline {
  font-family: "primary", sans-serif;
}
.hero .gaussianInsightEyebrow {
  color: rgba(229, 229, 229, 0.58);
  font-size: 9px;
  font-family: "bolder";
  line-height: 1;
  text-transform: uppercase;
}
.hero .gaussianInsightSubline {
  overflow: hidden;
  margin-top: 3px;
  color: rgba(229, 229, 229, 0.48);
  font-size: 10px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .gaussianInsightMetrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}
.hero .gaussianInsightMetric {
  min-width: 0;
  padding: 7px 8px;
  border: 2px solid rgba(229, 229, 229, 0.1);
  border-radius: 6px;
  background: rgba(241, 238, 243, 0.055);
  box-sizing: border-box;
}
.hero .gaussianInsightMetric_good {
  border-color: rgba(113, 172, 99, 0.32);
}
.hero .gaussianInsightMetric_warn {
  border-color: rgba(241, 238, 243, 0.32);
}
.hero .gaussianInsightMetric_danger {
  border-color: rgba(91, 42, 42, 0.42);
}
.hero .gaussianInsightMetricLabel,
.hero .gaussianInsightMetricMeta {
  display: block;
  overflow: hidden;
  color: rgba(229, 229, 229, 0.52);
  font-family: "primary", sans-serif;
  font-size: 9px;
  line-height: 1.1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero .gaussianInsightMetricValue {
  display: block;
  overflow: hidden;
  margin: 2px 0;
  color: #FFF;
  font-size: 12px;
  font-family: "bolder";
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .gaussianChartFrame {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  padding: 0 10px 8px;
  box-sizing: border-box;
}
.hero .analyticsFeatureLegend {
  position: absolute;
  top: 6px;
  right: 17px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  max-width: calc(100% - 34px);
  max-height: 30px;
  overflow: hidden;
  padding-right: 4px;
  box-sizing: border-box;
}
.hero .customLegendAction {
  display: flex;
  align-items: center;
  margin-top: 10px;
}
.hero .customLegendAction input[type=checkbox] {
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--form-background);
  margin: 0 10px 0 0;
  cursor: pointer;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid rgba(241, 238, 243, 0.1);
  border-radius: 0.15em;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
}
.hero .customLegendAction input[type=checkbox]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform: scale(0);
  transform-origin: bottom left;
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em #e5e5e5;
  background-color: CanvasText;
}
.hero .customLegendAction input[type=checkbox]:checked::before {
  transform: scale(1);
}
.hero .customLegendAction input[type=checkbox]:focus {
  outline: max(2px, 0.15em) solid currentColor;
  outline-offset: max(2px, 0.15em);
}
.hero .customLegendAction {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 5px;
  min-height: 24px;
  margin-top: 0;
  padding: 0 10px;
  border-radius: 3px;
  color: rgba(229, 229, 229, 0.7);
  background: rgba(7, 7, 7, 0.88);
  font-size: 10px;
  font-family: "bolder";
  line-height: 1;
  text-transform: uppercase;
  cursor: default;
}
.hero .customLegendAction input {
  pointer-events: none;
}
.hero .customLegendItems {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 3px;
  color: rgba(229, 229, 229, 0.7);
  background: rgba(7, 7, 7, 0.88);
  font-size: 10px;
  font-family: "bolder";
  line-height: 1;
  text-transform: uppercase;
  cursor: default;
  opacity: 1;
}
.hero .customLegendItems:disabled {
  opacity: 1;
}
.hero .customLegendColor {
  flex: 0 0 auto;
  width: 5px;
  height: 12px;
  margin-right: 5px;
  border-radius: 3px;
  background: var(--legend-colour);
}
.hero .customLegendCopy {
  min-width: 0;
}
.hero .customLegendLabel {
  display: block;
  overflow: hidden;
  color: rgba(229, 229, 229, 0.7);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .analyticsFeatureCanvas {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}
.hero .merchantIconLookupPreview {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(48px, 8vw, 120px) clamp(18px, 3vw, 44px) clamp(18px, 3vw, 44px);
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px) scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .merchantIconLookupPreview.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.hero .transactionClusterPreview {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  width: min(100%, 1000px);
  max-width: 1000px;
  height: fit-content;
  margin: 0 auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px) scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .transactionClusterPreview.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.hero .budgetFeaturePreview {
  position: absolute;
  inset: clamp(2px, 0.6vw, 8px) clamp(6px, 1.1vw, 14px);
  display: grid;
  grid-template-rows: minmax(0, 1fr) max-content;
  align-content: stretch;
  gap: clamp(6px, 0.8vw, 10px);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  color: #FFF;
  font-family: "primary", sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px) scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .budgetFeaturePreview.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.hero .budgetFeaturePanel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(8px, 1vw, 12px);
  min-width: 0;
  min-height: 0;
  padding: clamp(10px, 1.3vw, 16px);
  box-sizing: border-box;
  overflow: hidden;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 12px;
  background: #070707;
}
.hero .budgetFeatureInsightPanel {
  display: grid;
  grid-template-columns: minmax(210px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(10px, 1.3vw, 16px);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeatureSelectorRail {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeatureHeroHeader {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: clamp(12px, 1.4vw, 16px);
  box-sizing: border-box;
  border-radius: 12px;
  background: rgba(241, 238, 243, 0.06);
}
.hero .budgetFeatureSummaryToggle {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeatureSummaryToggle strong {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(12px, 1vw, 17px);
  font-weight: bold;
  line-height: 1.16;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeatureSummaryToggle i {
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.7);
}
.hero .budgetFeatureSummaryDetails {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeatureSummaryDetails p {
  margin: 0;
  color: rgba(241, 238, 243, 0.68);
  font-size: clamp(9px, 0.76vw, 11px);
  line-height: 1.45;
}
.hero .budgetFeaturePillAndBalance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeatureTotal {
  color: #FFF;
  font-size: clamp(18px, 1.7vw, 26px);
  font-weight: bold;
  line-height: 0.95;
  white-space: nowrap;
}
.hero .budgetFeatureUsagePill {
  flex: 0 0 auto;
  padding: 5px 8px 4px;
  border: 1px solid rgba(61, 158, 255, 0.24);
  border-radius: 999px;
  color: #FFF;
  background: rgba(61, 158, 255, 0.12);
  font-size: clamp(8px, 0.7vw, 10px);
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeatureSelectorRows {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeatureSelector {
  display: grid;
  gap: 6px;
  min-width: 0;
  min-height: 0;
  padding: clamp(7px, 0.9vw, 9px);
  box-sizing: border-box;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.16);
}
.hero .budgetFeatureSelector.is-selected {
  border-color: rgba(61, 158, 255, 0.4);
}
.hero .budgetFeatureSelectorHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeatureSelectorHeader strong {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(10px, 0.88vw, 13px);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeatureSelectorHeader span {
  flex: 0 0 auto;
  padding-top: 1px;
  color: rgba(241, 238, 243, 0.74);
  font-size: clamp(8px, 0.68vw, 10px);
  line-height: 1.1;
  text-transform: lowercase;
}
.hero .budgetFeatureSelectorHeader span.is-track {
  color: rgba(61, 158, 255, 0.9);
}
.hero .budgetFeatureSelectorHeader span.is-watch {
  color: rgba(61, 158, 255, 0.84);
}
.hero .budgetFeatureSelectorBalance {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeatureSelectorBalance strong {
  flex: 0 0 56px;
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(10px, 0.88vw, 13px);
  font-weight: bold;
  line-height: 1;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeatureTrack {
  position: relative;
  flex: 1 1 auto;
  height: 6px;
  min-width: 0;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}
.hero .budgetFeatureTrackFill {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--budget-feature-width, 0%);
  height: calc(100% - 2px);
  border-radius: 999px;
  transform: translateY(-50%);
}
.hero .budgetFeatureTrackFill.is-track {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.78), rgba(97, 182, 255, 0.92));
}
.hero .budgetFeatureTrackFill.is-watch {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.44), rgba(61, 158, 255, 0.78));
}
.hero .budgetFeatureInsightVisual {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 8px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeatureGraphShell {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding-top: 2px;
  box-sizing: border-box;
}
.hero .budgetFeatureGraphControls {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  min-height: 28px;
  overflow: visible;
}
.hero .budgetFeatureLegend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px 10px;
  min-width: 0;
  max-height: 42px;
  overflow: hidden;
}
.hero .budgetFeatureLegend span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: rgba(241, 238, 243, 0.74);
  font-size: clamp(7px, 0.62vw, 10px);
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeatureLegend i {
  display: inline-block;
  width: 7px;
  height: 10px;
  margin-right: 6px;
  border-radius: 2px;
}
.hero .budgetFeatureLegend .actual {
  background: #182939;
}
.hero .budgetFeatureLegend .forecast {
  border: 1px dashed rgba(24, 41, 57, 0.82);
  background: transparent;
}
.hero .budgetFeatureLegend .previous {
  background: rgba(255, 255, 255, 0.48);
}
.hero .budgetFeatureLegend .budget {
  background: rgba(255, 168, 205, 0.86);
}
.hero .budgetFeatureGraphToggle {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid rgba(241, 238, 243, 0.14);
  border-radius: 3px;
  color: rgba(241, 238, 243, 0.78);
  background: rgba(7, 7, 7, 0.92);
  font-family: inherit;
  font-size: clamp(7px, 0.62vw, 10px);
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeatureChart {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: visible;
}
.hero .budgetFeatureChart .budgetFeatureGrid path {
  fill: none;
  stroke: rgba(241, 238, 243, 0.1);
  stroke-linecap: round;
  stroke-width: 1;
}
.hero .budgetFeatureChart .budgetFeatureActualArea {
  fill: url("#budgetFeatureActualFill");
}
.hero .budgetFeatureChart .budgetFeatureActualPath,
.hero .budgetFeatureChart .budgetFeatureForecastPath,
.hero .budgetFeatureChart .budgetFeaturePreviousPath,
.hero .budgetFeatureChart .budgetFeatureLastYearPath,
.hero .budgetFeatureChart .budgetFeatureBudgetLine {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero .budgetFeatureChart .budgetFeatureActualPath {
  stroke: #182939;
  stroke-width: 3.2;
}
.hero .budgetFeatureChart .budgetFeatureForecastPath {
  stroke: rgba(24, 41, 57, 0.78);
  stroke-dasharray: 7 5;
  stroke-width: 3;
}
.hero .budgetFeatureChart .budgetFeaturePreviousPath {
  stroke: rgba(255, 255, 255, 0.46);
  stroke-dasharray: 6 5;
  stroke-width: 2;
}
.hero .budgetFeatureChart .budgetFeatureLastYearPath {
  stroke: rgba(113, 172, 99, 0.56);
  stroke-dasharray: 2 6;
  stroke-width: 2;
}
.hero .budgetFeatureChart .budgetFeatureBudgetLine {
  stroke: rgba(255, 168, 205, 0.86);
  stroke-width: 2;
}
.hero .budgetFeatureChart .budgetFeatureTodayMarker,
.hero .budgetFeatureChart .budgetFeatureForecastMarker {
  fill: #FFA8CD;
  stroke: #070707;
  stroke-width: 3;
}
.hero .budgetFeatureChart .budgetFeatureForecastMarker {
  fill: rgba(24, 41, 57, 0.95);
  stroke-width: 2;
}
.hero .budgetFeatureChart text {
  fill: rgba(241, 238, 243, 0.58);
  font-family: "primary", sans-serif;
  font-size: 13px;
  letter-spacing: 0;
}
.hero .budgetFeatureChart .budgetFeatureXAxis {
  fill: rgba(241, 238, 243, 0.5);
  text-anchor: middle;
}
.hero .budgetFeatureChart .budgetFeatureLimitLabel {
  fill: rgba(255, 168, 205, 0.9);
  font-size: 12px;
  font-weight: bold;
}
.hero .budgetFeatureMetrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}
.hero .budgetFeatureMetrics div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(241, 238, 243, 0.12);
  border-radius: 6px;
  background: rgba(241, 238, 243, 0.04);
}
.hero .budgetFeatureMetrics span {
  display: block;
  overflow: hidden;
  color: rgba(241, 238, 243, 0.58);
  font-size: clamp(7px, 0.62vw, 10px);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeatureMetrics strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(10px, 0.88vw, 13px);
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeatureSubscription {
  display: grid;
  gap: 8px;
  min-width: 0;
  min-height: 0;
  padding: 10px 10px 8px;
  box-sizing: border-box;
  overflow: hidden;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.16);
}
.hero .budgetFeatureSubscriptionHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.hero .budgetFeatureSubscriptionHeader > div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.hero .budgetFeatureSubscriptionHeader > div:first-child span {
  color: rgba(241, 238, 243, 0.64);
  font-size: clamp(7px, 0.62vw, 10px);
  line-height: 1;
  text-transform: uppercase;
}
.hero .budgetFeatureSubscriptionHeader > div:first-child strong {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(12px, 1vw, 17px);
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeatureSubscriptionTabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  flex: 0 0 min(190px, 46%);
  min-width: 0;
}
.hero .budgetFeatureSubscriptionTabs span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  min-width: 0;
  padding: 6px 7px 5px;
  border: 1px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  color: #FFF;
  background: rgba(241, 238, 243, 0.05);
  font-size: clamp(8px, 0.7vw, 10px);
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeatureSubscriptionTabs span.is-selected {
  background: #182939;
}
.hero .budgetFeatureSubscriptionRows {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
}
.hero .budgetFeatureSubscriptionRows span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border: 2px solid rgba(24, 41, 57, 0.6);
  border-radius: 6px;
  background: rgba(24, 41, 57, 0.1);
}
.hero .budgetFeatureSubscriptionRows strong,
.hero .budgetFeatureSubscriptionRows em,
.hero .budgetFeatureSubscriptionRows b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeatureSubscriptionRows strong {
  color: #FFF;
  font-size: clamp(9px, 0.78vw, 12px);
  line-height: 1.15;
}
.hero .budgetFeatureSubscriptionRows em {
  color: rgba(241, 238, 243, 0.62);
  font-size: clamp(7px, 0.62vw, 9px);
  font-style: normal;
  line-height: 1.2;
}
.hero .budgetFeatureSubscriptionRows b {
  color: #FFF;
  font-size: clamp(9px, 0.78vw, 12px);
  line-height: 1.15;
}
.hero .budgetFeaturePreview {
  grid-template-rows: max-content minmax(0, 1fr);
  align-content: start;
}
.hero .budgetFeaturePreview.is-active {
  pointer-events: auto;
}
.hero .budgetFeaturePreview #previewBudgetContainer {
  position: relative;
  align-self: start;
  display: block;
  width: 100%;
  height: min(100%, clamp(308px, 32vw, 404px));
  min-width: 0;
  min-height: 0;
  padding: clamp(5px, 0.6vw, 7px) clamp(7px, 0.9vw, 10px);
  overflow: hidden;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview #previewBudgetRows {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeaturePreview #previewBudgets,
.hero .budgetFeaturePreview .previewBudgetPanel,
.hero .budgetFeaturePreview .previewBudgetSummary,
.hero .budgetFeaturePreview .previewBudgetHero {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeaturePreview .previewBudgetPanel,
.hero .budgetFeaturePreview .previewBudgetHero {
  display: flex;
  flex-direction: column;
}
.hero .budgetFeaturePreview .previewBudgetHero {
  justify-content: flex-start;
  gap: 8px;
}
.hero .budgetFeaturePreview .previewBudgetInsightPanel {
  display: grid;
  grid-template-columns: minmax(0, 0.5fr) minmax(0, 0.5fr);
  gap: clamp(5px, 0.7vw, 8px);
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeaturePreview .previewBudgetSelectorRail {
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview .previewHeroHeader {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: start;
  gap: 6px;
  justify-content: space-between;
  min-width: 0;
  padding: clamp(7px, 0.8vw, 10px);
  box-sizing: border-box;
  border-radius: 6px;
  background: rgba(241, 238, 243, 0.06);
}
.hero .budgetFeaturePreview .previewHeroTotals {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
}
.hero .budgetFeaturePreview .previewHeroTotals strong {
  color: #FFF;
  font-size: clamp(10px, 0.86vw, 13px);
  line-height: 1.15;
}
.hero .budgetFeaturePreview .previewBudgetSummaryToggle {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding: 0;
  color: #FFF;
  text-align: left;
  cursor: default;
}
.hero .budgetFeaturePreview .previewBudgetSummaryToggle strong {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .previewBudgetSummaryToggle i {
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  background: rgba(255, 255, 255, 0.7);
}
.hero .budgetFeaturePreview .previewBudgetSummaryExpandable {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
.hero .budgetFeaturePreview .previewBudgetSummaryExpandable.isExpanded {
  max-height: 88px;
  margin-top: 4px;
  opacity: 1;
  pointer-events: auto;
}
.hero .budgetFeaturePreview .previewBudgetSummaryExpandableInner {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.hero .budgetFeaturePreview .previewBudgetSummaryExpandableInner p {
  margin: 0;
  color: rgba(241, 238, 243, 0.68);
  font-size: clamp(8px, 0.68vw, 10px);
  line-height: 1.3;
}
.hero .budgetFeaturePreview .previewBudgetPillAndBalance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}
.hero .budgetFeaturePreview .previewBudgetTotal {
  margin: 0 10px 0 0;
  color: #FFF;
  font-size: clamp(16px, 1.25vw, 20px);
  font-family: "bolder";
  line-height: 0.95;
}
.hero .budgetFeaturePreview .previewBudgetUsagePill {
  align-self: flex-end;
  width: fit-content;
  padding: 4px 7px 3px;
  border: 1px solid rgba(61, 158, 255, 0.24);
  border-radius: 999px;
  color: #FFF;
  background: rgba(61, 158, 255, 0.12);
  font-size: clamp(8px, 0.64vw, 9px);
  line-height: 1;
}
.hero .budgetFeaturePreview .previewBudgetSelectorRows {
  display: grid;
  align-content: start;
  flex: 1 1 auto;
  gap: 3px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview .previewBudget {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 8px 10px;
  height: auto;
  cursor: pointer;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  background: #070707;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}
.hero .budgetFeaturePreview .previewBudget.is-selected {
  border-color: rgba(61, 158, 255, 0.4);
}
.hero .budgetFeaturePreview .previewBudgetCardBody {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(82px, 95px);
  grid-template-areas: "identity status" "track balance";
  align-items: center;
  column-gap: 8px;
  row-gap: 3px;
  min-width: 0;
}
.hero .budgetFeaturePreview .previewBudgetCardHeader {
  display: contents;
}
.hero .budgetFeaturePreview .previewBudgetCardIdentity {
  display: flex;
  align-items: center;
  gap: 5px;
  grid-area: identity;
  min-width: 0;
}
.hero .budgetFeaturePreview .previewBudgetCardIdentity strong {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: 13px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .previewBudgetNameIcon,
.hero .budgetFeaturePreview .budgetNameDropdownIcon {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  background: rgba(255, 255, 255, 0.72);
}
.hero .budgetFeaturePreview .previewBudgetStatus {
  grid-area: status;
  justify-self: end;
  color: rgba(241, 238, 243, 0.74);
  font-size: 10px;
  line-height: 1.1;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  text-transform: lowercase;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .previewBudgetStatus.is-track {
  color: rgba(61, 158, 255, 0.9);
}
.hero .budgetFeaturePreview .previewBudgetStatus.is-watch {
  color: rgba(61, 158, 255, 0.84);
}
.hero .budgetFeaturePreview .previewBudgetStatus.is-over {
  color: rgba(217, 74, 78, 0.94);
}
.hero .budgetFeaturePreview .previewBudgetStatus.is-idle {
  color: rgba(241, 238, 243, 0.74);
}
.hero .budgetFeaturePreview .previewBudgetBalance {
  display: contents;
}
.hero .budgetFeaturePreview .previewRightBalance {
  display: flex;
  justify-content: center;
  align-items: center;
  grid-area: balance;
  justify-content: right;
  width: 100%;
}
.hero .budgetFeaturePreview .previewRightBalance strong {
  display: block;
  min-width: 70px;
  color: #FFF;
  line-height: 1;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .previewBudgetTrack {
  position: relative;
  grid-area: track;
  width: 100%;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}
.hero .budgetFeaturePreview .previewBudgetTrackFill,
.hero .budgetFeaturePreview .previewBudgetTrackOverflow {
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: calc(100% - 2px);
  border-radius: 999px;
  transform: translateY(-50%);
  transition: width 720ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease;
}
.hero .budgetFeaturePreview .previewBudgetTrackFill {
  z-index: 1;
}
.hero .budgetFeaturePreview .previewBudgetTrackFill.is-ready {
  width: var(--preview-budget-width, 0%);
}
.hero .budgetFeaturePreview .previewBudgetTrackFill.is-idle {
  background: rgba(241, 238, 243, 0.22);
}
.hero .budgetFeaturePreview .previewBudgetTrackFill.is-track {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.78), rgba(97, 182, 255, 0.92));
}
.hero .budgetFeaturePreview .previewBudgetTrackFill.is-watch {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.44), rgba(61, 158, 255, 0.78));
}
.hero .budgetFeaturePreview .previewBudgetTrackFill.is-over {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.5), rgba(61, 158, 255, 0.8));
}
.hero .budgetFeaturePreview .previewBudgetTrackOverflow {
  z-index: 2;
  opacity: 0;
  border: 1px solid rgba(217, 74, 78, 0.7);
  background: linear-gradient(90deg, #6f3131, rgba(217, 74, 78, 0.9));
  transition: width 420ms cubic-bezier(0.22, 1, 0.36, 1) 720ms, opacity 220ms ease 720ms;
}
.hero .budgetFeaturePreview .previewBudgetTrackOverflow.is-visible {
  opacity: 1;
}
.hero .budgetFeaturePreview .previewBudgetTrackOverflow.is-ready {
  width: var(--preview-budget-overflow-width, 0%);
}
.hero .budgetFeaturePreview .previewBudgetInsightVisual {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}
.hero .budgetFeaturePreview .previewBudgetInsightGraphShell {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  gap: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  padding-top: 0;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview .previewBudgetGraphControls {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 3px 6px 0 0;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview .previewBudgetGraphModeToggle {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  flex: 0 0 auto;
  align-self: flex-start;
  padding: 5px 8px;
  border: 1px solid rgba(241, 238, 243, 0.14);
  border-radius: 3px;
  color: rgba(241, 238, 243, 0.78);
  background: rgba(7, 7, 7, 0.92);
  font-size: 10px;
}
.hero .budgetFeaturePreview .previewBudgetGraphModeToggle:disabled, .hero .budgetFeaturePreview .previewBudgetGraphModeToggle[hidden] {
  display: none;
}
.hero .budgetFeaturePreview .customLegend {
  display: flex;
  justify-content: center;
  align-items: center;
}
.hero .budgetFeaturePreview .previewBudgetForecastLegend {
  align-self: center;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px 6px;
  min-width: 0;
  max-height: 16px;
  overflow: hidden;
}
.hero .budgetFeaturePreview .customLegendItems {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  padding: 0;
  cursor: default;
}
.hero .budgetFeaturePreview .customLegendColor {
  flex: 0 0 auto;
  width: 6px;
  height: 8px;
  margin-right: 5px;
  border-radius: 3px;
  background: var(--legend-colour);
}
.hero .budgetFeaturePreview .customLegendCopy {
  min-width: 0;
}
.hero .budgetFeaturePreview .customLegendLabel {
  display: block;
  overflow: hidden;
  color: rgba(241, 238, 243, 0.74);
  font-size: clamp(7px, 0.62vw, 9px);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .previewBudgetForecastCanvas {
  position: relative;
  align-self: stretch;
  display: grid;
  place-items: stretch;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: clamp(238px, 23vw, 340px);
  max-height: 100%;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview .previewBudgetSeedGraph {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: visible;
}
.hero .budgetFeaturePreview .previewBudgetSeedGrid path {
  fill: none;
  stroke: rgba(241, 238, 243, 0.06);
  stroke-linecap: round;
  stroke-width: 1;
}
.hero .budgetFeaturePreview .previewBudgetSeedActualArea {
  fill: url("#previewBudgetSeedActualFill");
}
.hero .budgetFeaturePreview .previewBudgetSeedActual,
.hero .budgetFeaturePreview .previewBudgetSeedPrevious,
.hero .budgetFeaturePreview .previewBudgetSeedLastYear,
.hero .budgetFeaturePreview .previewBudgetSeedForecast,
.hero .budgetFeaturePreview .previewBudgetSeedBudget {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero .budgetFeaturePreview .previewBudgetSeedActual {
  stroke: hsla(205, 42%, 58%, 0.98);
  stroke-width: 3;
}
.hero .budgetFeaturePreview .previewBudgetSeedPrevious {
  stroke: rgba(31, 50, 68, 0.82);
  stroke-width: 2;
}
.hero .budgetFeaturePreview .previewBudgetSeedLastYear {
  stroke: rgba(75, 108, 75, 0.76);
  stroke-dasharray: 4 5;
  stroke-width: 2;
}
.hero .budgetFeaturePreview .previewBudgetSeedForecast {
  stroke: rgba(224, 214, 236, 0.86);
  stroke-dasharray: 7 5;
  stroke-width: 2;
}
.hero .budgetFeaturePreview .previewBudgetSeedBudget {
  stroke: rgba(217, 74, 78, 0.88);
  stroke-dasharray: 2 4;
  stroke-width: 1.5;
}
.hero .budgetFeaturePreview .previewBudgetSeedMarker {
  fill: #FFF;
  stroke: hsla(205, 42%, 58%, 0.98);
  stroke-width: 2;
  transition: fill 180ms ease, filter 180ms ease, stroke 180ms ease;
}
.hero .budgetFeaturePreview .previewBudgetSeedMarker.is-money-moving {
  fill: rgb(91, 42, 42);
  filter: drop-shadow(0 0 8px rgba(91, 42, 42, 0.7));
  stroke: #FFF;
}
.hero .budgetFeaturePreview .previewBudgetSeedY,
.hero .budgetFeaturePreview .previewBudgetSeedX,
.hero .budgetFeaturePreview .previewBudgetSeedLimitChip text {
  fill: #8f9393;
  font-family: "primary", sans-serif;
  font-size: 12px;
  letter-spacing: 0;
}
.hero .budgetFeaturePreview .previewBudgetSeedX {
  text-anchor: middle;
}
.hero .budgetFeaturePreview .previewBudgetSeedLimitChip rect {
  fill: rgba(217, 74, 78, 0.92);
  stroke: rgb(217, 74, 78);
  stroke-width: 1;
}
.hero .budgetFeaturePreview .previewBudgetSeedLimitChip text {
  fill: #FFF;
  font-size: 11px;
  font-weight: bold;
  text-anchor: middle;
  dominant-baseline: middle;
}
.hero .budgetFeaturePreview .budgetFeatureExpandedPreview {
  display: grid;
  align-self: start;
  align-items: start;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 0.88fr) minmax(260px, 1fr);
  gap: clamp(8px, 1vw, 12px);
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: clamp(6px, 0.8vw, 10px);
  overflow: hidden;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview .budgetFeatureExpandedMain,
.hero .budgetFeaturePreview .budgetSubscriptionTile {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.hero .budgetFeaturePreview .budgetFeatureExpandedMain {
  display: grid;
  grid-column: 1/span 2;
  height: auto;
  padding: 0;
  overflow: visible;
}
.hero .budgetFeaturePreview .budgetGraphList {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(2, max-content);
  gap: clamp(10px, 1vw, 14px);
  min-width: 0;
  height: auto;
  min-height: 0;
  align-items: start;
  align-content: start;
  overflow: hidden;
}
.hero .budgetFeaturePreview .budgetDoughnuts {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: clamp(8px, 0.9vw, 12px) clamp(8px, 0.9vw, 12px) clamp(6px, 0.7vw, 8px);
  overflow: hidden;
  box-sizing: border-box;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  color: #e5e5e5;
  background: #070707;
}
.hero .budgetFeaturePreview .remainder {
  display: flex;
  flex-direction: column;
  gap: clamp(7px, 0.8vw, 10px);
  min-width: 0;
  min-height: 0;
  position: relative;
}
.hero .budgetFeaturePreview .titleRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  margin: calc(clamp(8px, 0.9vw, 12px) * -1) calc(clamp(8px, 0.9vw, 12px) * -1) 0;
  padding: clamp(7px, 0.8vw, 10px) clamp(8px, 0.9vw, 12px);
  border-radius: 6px 6px 0 0;
  background: rgba(241, 238, 243, 0.02);
}
.hero .budgetFeaturePreview .titleBlock {
  min-width: 0;
}
.hero .budgetFeaturePreview .title {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(11px, 0.98vw, 15px);
  font-weight: bold;
  line-height: 1.1;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .title span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .budgetController {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: clamp(5px, 0.6vw, 8px);
  min-width: 0;
}
.hero .budgetFeaturePreview .budgetViewTransactions {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  min-width: 0;
  padding: 4px 8px;
  border: 0;
  border-radius: 6px;
  color: rgba(241, 238, 243, 0.76);
  background: transparent;
  font-size: clamp(7px, 0.58vw, 8px);
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .budgetViewTransactions {
  flex-shrink: 0;
  border-radius: 3px;
  color: #FFF;
  background: rgba(241, 238, 243, 0.05);
}
.hero .budgetFeaturePreview .budgetViewTransactions:hover {
  background: rgba(61, 158, 255, 0.1);
}
.hero .budgetFeaturePreview .budgetViewTransactions:disabled {
  opacity: 0.45;
  cursor: default;
}
.hero .budgetFeaturePreview .budgetDropdownIcon {
  display: block;
  flex: 0 0 clamp(13px, 1.2vw, 18px);
  width: clamp(13px, 1.2vw, 18px);
  height: clamp(13px, 1.2vw, 18px);
  background: rgba(241, 238, 243, 0.82);
}
.hero .budgetFeaturePreview .budgetVisual {
  display: flex;
  flex-direction: column;
  gap: clamp(7px, 0.8vw, 10px);
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.hero .budgetFeaturePreview .budgetHeadline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.hero .budgetFeaturePreview .budgetHeadlineCopy {
  min-width: 0;
}
.hero .budgetFeaturePreview .left {
  color: rgba(241, 238, 243, 0.56);
  font-size: clamp(7px, 0.62vw, 9px);
  line-height: 1;
}
.hero .budgetFeaturePreview .budgetHeadlineAmount {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  margin-top: 4px;
}
.hero .budgetFeaturePreview .budgetBalanceValue {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(14px, 1.12vw, 18px);
  font-weight: bold;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .budgetHeadlineMeta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
  min-width: 0;
}
.hero .budgetFeaturePreview .budgetVisualValue {
  color: #FFF;
  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .outOf {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px;
  color: rgba(241, 238, 243, 0.5);
  font-size: clamp(7px, 0.62vw, 9px);
  line-height: 1.25;
}
.hero .budgetFeaturePreview .outOf strong {
  color: #FFF;
  padding-left: 3px;
  font-size: clamp(8px, 0.72vw, 10px);
}
.hero .budgetFeaturePreview .budgetStatusPill {
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(241, 238, 243, 0.32);
  color: #FFF;
  background: rgba(241, 238, 243, 0.14);
  font-size: clamp(7px, 0.62vw, 9px);
  white-space: nowrap;
}
.hero .budgetFeaturePreview .budgetVisualTrack {
  position: relative;
  height: 6px;
  width: 100%;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}
.hero .budgetFeaturePreview .budgetVisualTrackFill,
.hero .budgetFeaturePreview .budgetVisualTrackOverflow {
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: calc(100% - 2px);
  border-radius: 999px;
  transform: translateY(-50%);
  transition: width 720ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease;
  will-change: width;
}
.hero .budgetFeaturePreview .budgetVisualTrackFill {
  z-index: 1;
  width: var(--budget-usage-pct, 0%);
  background: rgba(241, 238, 243, 0.22);
}
.hero .budgetFeaturePreview .budgetVisualTrackOverflow {
  z-index: 2;
  width: var(--budget-overflow-pct, 0%);
  opacity: 0;
  border: 1px solid rgba(217, 74, 78, 0.7);
  background: linear-gradient(90deg, #6f3131, rgba(217, 74, 78, 0.9));
}
.hero .budgetFeaturePreview .budgetVisual.is-track .budgetVisualTrackFill {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.78), rgba(97, 182, 255, 0.92));
}
.hero .budgetFeaturePreview .budgetVisual.is-watch .budgetVisualTrackFill {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.44), rgba(61, 158, 255, 0.78));
}
.hero .budgetFeaturePreview .budgetVisual.is-over .budgetVisualTrackFill,
.hero .budgetFeaturePreview .budgetVisual.is-overflowing .budgetVisualTrackFill {
  background: linear-gradient(90deg, rgba(61, 158, 255, 0.5), rgba(61, 158, 255, 0.8));
}
.hero .budgetFeaturePreview .budgetVisual.is-over .budgetVisualTrackOverflow,
.hero .budgetFeaturePreview .budgetVisual.is-overflowing .budgetVisualTrackOverflow {
  opacity: 1;
}
.hero .budgetFeaturePreview .budgetVisual.is-idle .budgetVisualTrackFill {
  background: rgba(241, 238, 243, 0.22);
}
.hero .budgetFeaturePreview .budgetInsightGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}
.hero .budgetFeaturePreview .budgetInsightMetric {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 7px;
  border: 1px solid rgba(241, 238, 243, 0.22);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.2);
}
.hero .budgetFeaturePreview .budgetInsightMetric span,
.hero .budgetFeaturePreview .budgetInsightMetric small {
  min-width: 0;
  overflow: hidden;
  color: rgba(241, 238, 243, 0.58);
  font-size: clamp(7px, 0.58vw, 8px);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .budgetInsightMetric strong {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(8px, 0.72vw, 10px);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .budgetInsightMetric.is-up strong {
  color: rgba(61, 158, 255, 0.88);
}
.hero .budgetFeaturePreview .budgetInsightMetric.is-down strong {
  color: rgba(113, 172, 99, 0.92);
}
.hero .budgetFeaturePreview .budgetInsightMetric.is-wide {
  grid-column: span 1;
}
.hero .budgetFeaturePreview .budgetDropdown {
  display: none;
}
.hero .budgetFeaturePreview .budgetAddCat,
.hero .budgetFeaturePreview .keepOnPreviewContainer,
.hero .budgetFeaturePreview .budgetDelete {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  padding: 8px 10px;
  color: #FFF;
  background: transparent;
  font-size: clamp(7px, 0.62vw, 9px);
  line-height: 1;
}
.hero .budgetFeaturePreview .budgetAddCat i,
.hero .budgetFeaturePreview .keepOnPreviewContainer i,
.hero .budgetFeaturePreview .budgetDelete i {
  display: block;
  width: 12px;
  height: 12px;
  background: rgba(241, 238, 243, 0.8);
}
.hero .budgetFeaturePreview .budgetFeatureCheck {
  width: 11px;
  height: 11px;
  border: 1px solid rgba(241, 238, 243, 0.38);
  border-radius: 3px;
}
.hero .budgetFeaturePreview .budgetFeatureCheck.is-checked {
  border-color: rgba(61, 158, 255, 0.14);
  background: #182939;
}
.hero .budgetFeaturePreview .budgetFeatureSubscriptionWatch {
  align-self: start;
  grid-column: 3;
  min-height: 0;
}
.hero .budgetFeaturePreview .subscriptionTrackingCard {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
  padding: 10px;
  overflow: hidden;
  box-sizing: border-box;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  background: #070707;
  opacity: 1;
  transform: none;
}
.hero .budgetFeaturePreview .subscriptionTrackingHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeaturePreview .subscriptionTrackingHeading {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.hero .budgetFeaturePreview .subscriptionTrackingEyebrow {
  color: rgba(241, 238, 243, 0.64);
  font-size: clamp(7px, 0.58vw, 8px);
  line-height: 1;
  text-transform: uppercase;
}
.hero .budgetFeaturePreview .subscriptionTrackingTitle {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(11px, 0.95vw, 14px);
  font-weight: bold;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .subscriptionTrackingOverview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 0;
  min-width: 0;
}
.hero .budgetFeaturePreview .subscriptionTrackingMetric {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  min-width: 0;
  padding: 6px 7px;
  border: 2px solid rgba(241, 238, 243, 0.18);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.18);
}
.hero .budgetFeaturePreview .subscriptionTrackingMetric span,
.hero .budgetFeaturePreview .subscriptionTrackingMetric strong {
  min-width: 0;
  overflow: hidden;
  font-size: clamp(7px, 0.58vw, 9px);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .subscriptionTrackingMetric span {
  color: rgba(241, 238, 243, 0.68);
}
.hero .budgetFeaturePreview .subscriptionTrackingMetric strong {
  color: #FFF;
  font-weight: bold;
}
.hero .budgetFeaturePreview .subscriptionTrackingItems {
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.hero .budgetFeaturePreview .subscriptionTrackingItem {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  border: 3px solid transparent;
  border-radius: 6px;
  background: rgba(241, 238, 243, 0.03);
}
.hero .budgetFeaturePreview .subscriptionTrackingItem.is-tracked {
  border: 2px solid rgba(24, 41, 57, 0.6);
  background: rgba(24, 41, 57, 0.1);
}
.hero .budgetFeaturePreview .subscriptionTrackingItemTop {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeaturePreview .subscriptionTrackingMerchant {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.hero .budgetFeaturePreview .subscriptionMerchantIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  overflow: hidden;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(241, 238, 243, 0.08);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  font-size: clamp(8px, 0.7vw, 10px);
  font-weight: bold;
  line-height: 1;
}
.hero .budgetFeaturePreview .subscriptionMerchantIcon.has-icon span {
  visibility: hidden;
}
.hero .budgetFeaturePreview .subscriptionMerchantCopy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.hero .budgetFeaturePreview .merchantRow,
.hero .budgetFeaturePreview .subscriptionTrackingMetaRow {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.hero .budgetFeaturePreview .merchant {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(9px, 0.78vw, 11px);
  font-weight: bold;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .subscriptionTrackingStatus,
.hero .budgetFeaturePreview .subscriptionTrackingStatusMeta {
  min-width: 0;
  overflow: hidden;
  color: rgba(241, 238, 243, 0.66);
  font-size: clamp(7px, 0.58vw, 8px);
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .subscriptionTrackingStatus {
  flex: 0 0 auto;
}
.hero .budgetFeaturePreview .subscriptionTrackingMetaDivider {
  flex: 0 0 3px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(241, 238, 243, 0.35);
}
.hero .budgetFeaturePreview .subscriptionTrackingTopControls {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  min-width: 76px;
}
.hero .budgetFeaturePreview .subscriptionTrackingPrice {
  color: #FFF;
  font-size: clamp(10px, 0.88vw, 12px);
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .subscriptionActionMenu {
  position: relative;
  align-self: flex-end;
}
.hero .budgetFeaturePreview .subscriptionActionMenuToggle {
  font-family: primary, serif !important;
  border-radius: 3px;
  font-size: 11px;
  position: relative;
  box-sizing: border-box;
  padding: 3px 20px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: white;
  min-height: 22px;
  padding: 5px 7px 3px;
  border-radius: 6px;
  color: rgba(241, 238, 243, 0.82);
  background: rgba(241, 238, 243, 0.08);
  font-size: clamp(7px, 0.58vw, 8px);
  line-height: 1;
  white-space: nowrap;
}
.hero .budgetFeaturePreview .subscriptionTrackingActions.is-dropdown {
  display: none;
}
.hero .loanFeaturePreview {
  position: absolute;
  inset: clamp(8px, 1.5vw, 18px);
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  color: #FFF;
  font-family: "primary", sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px) scale(0.985);
  transition: opacity 260ms ease, transform 360ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .loanFeaturePreview.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.hero .loanFeatureSurface {
  min-width: 0;
  min-height: 0;
  padding: clamp(9px, 1vw, 12px);
  box-sizing: border-box;
  overflow: hidden;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 12px;
  background: #070707;
}
.hero .loanGraphStatLabel {
  color: rgba(241, 238, 243, 0.56);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-transform: uppercase;
}
.hero .loanFeatureModeControl {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 4px;
  min-width: 0;
  padding: 3px;
  box-sizing: border-box;
  border-radius: 6px;
  border: 1px solid rgba(241, 238, 243, 0.14);
  background: rgba(0, 0, 0, 0.18);
}
.hero .loanFeatureModeControl button {
  flex: 0 1 auto;
  min-width: 0;
  min-height: 24px;
  padding: 0 9px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 3px;
  color: rgba(241, 238, 243, 0.62);
  background: transparent;
  font: inherit;
  font-size: clamp(8px, 0.72vw, 10px);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
}
.hero .loanFeatureModeControl button:hover, .hero .loanFeatureModeControl button:focus-visible {
  color: #FFF;
  background: rgba(241, 238, 243, 0.08);
}
.hero .loanFeatureModeControl button:focus-visible {
  outline: 1px solid rgba(255, 168, 205, 0.7);
  outline-offset: 2px;
}
.hero .loanFeatureModeControl button.is-active {
  color: #FFF;
  border-color: rgba(61, 158, 255, 0.26);
  background: rgba(61, 158, 255, 0.16);
}
.hero .loanFeatureGraph {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}
.hero .loanGraphFrame {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .loanGraphSummary {
  min-width: 0;
}
.hero .loanFeatureSummarySet {
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  min-width: 0;
}
.hero .loanFeaturePreview[data-loan-feature-selection=synthetic] .loanFeatureSummarySet[data-loan-mode-summary=synthetic] {
  display: grid;
}
.hero .loanFeaturePreview[data-loan-feature-selection=residential] .loanFeatureSummarySet[data-loan-mode-summary=residential] {
  display: grid;
}
.hero .loanGraphStat {
  min-width: 0;
  padding: 12px 14px;
  box-sizing: border-box;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.24);
}
.hero .loanGraphStatValue {
  margin-top: 6px;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(11px, 1vw, 17px);
  font-weight: bold;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .loanGraphStatMeta {
  margin-top: 6px;
  display: -webkit-box;
  overflow: hidden;
  color: rgba(241, 238, 243, 0.58);
  font-size: clamp(8px, 0.72vw, 11px);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.hero .loanGraphStat--positive {
  border-color: rgba(12, 171, 69, 0.22);
  background: rgba(12, 171, 69, 0.08);
}
.hero .loanGraphStat--positive .loanGraphStatValue {
  color: rgb(113, 172, 99);
}
.hero .loanGraphControls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  width: 100%;
  min-height: 34px;
  min-width: 0;
}
.hero #loansGraphLegend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px 10px;
  min-width: 0;
  margin-left: auto;
  color: rgba(241, 238, 243, 0.68);
  font-size: clamp(7px, 0.62vw, 9px);
  line-height: 1;
  text-align: right;
}
.hero #loansGraphLegend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  white-space: nowrap;
}
.hero #loansGraphLegend i {
  display: inline-block;
  flex: 0 0 auto;
  width: 14px;
  height: 8px;
  border-radius: 999px;
}
.hero #loansGraphLegend .loanFeatureLegendCurrent {
  height: 3px;
  background: #182939;
}
.hero #loansGraphLegend .loanFeatureLegendBaseline {
  height: 3px;
  border-top: 2px dashed rgba(255, 255, 255, 0.48);
  border-radius: 0;
}
.hero #loansGraphLegend .loanFeaturePrincipalBar {
  background: rgba(113, 172, 99, 0.82);
}
.hero #loansGraphLegend .loanFeatureInterestBar {
  background: rgba(217, 74, 78, 0.76);
}
.hero .loanGraphCanvasWrap {
  position: relative;
  display: grid;
  flex: 1;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.hero .loanFeatureChart {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: visible;
}
.hero .loanFeatureChart.loanFeatureGraphPanel {
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero .loanFeatureChart.loanFeatureGraphPanel.is-active {
  opacity: 1;
  transform: translateY(0);
}
.hero .loanFeatureChart line,
.hero .loanFeatureChart .loanFeatureGridLine {
  fill: none;
  stroke: rgba(241, 238, 243, 0.1);
  stroke-width: 1;
  stroke-linecap: round;
}
.hero .loanFeatureChart .loanFeatureAxis {
  stroke: rgba(241, 238, 243, 0.18);
  stroke-width: 1.2;
}
.hero .loanFeatureChart .loanFeatureZeroLine {
  stroke: rgba(241, 238, 243, 0.2);
  stroke-width: 1.4;
}
.hero .loanFeatureChart .loanFeatureBaselinePath,
.hero .loanFeatureChart .loanFeatureCurrentPath,
.hero .loanFeatureChart .loanFeatureProjectedPath {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero .loanFeatureChart .loanFeatureBaselinePath {
  stroke: rgba(255, 255, 255, 0.48);
  stroke-width: 2;
  stroke-dasharray: 7 5;
}
.hero .loanFeatureChart .loanFeatureCurrentPath {
  stroke: #182939;
  stroke-width: 3;
}
.hero .loanFeatureChart .loanFeatureProjectedPath {
  stroke: rgba(24, 41, 57, 0.72);
  stroke-width: 3;
  stroke-dasharray: 7 4;
}
.hero .loanFeatureChart[data-loan-feature-graph=synthetic] .loanFeatureCurrentArea {
  fill: url("#loanFeatureSyntheticCurrentFill");
}
.hero .loanFeatureChart[data-loan-feature-graph=residential] .loanFeatureCurrentArea {
  fill: url("#loanFeatureResidentialCurrentFill");
}
.hero .loanFeatureChart .loanFeaturePrincipalBar {
  fill: rgba(113, 172, 99, 0.82);
}
.hero .loanFeatureChart .loanFeaturePrincipalBar.is-projected {
  fill: rgba(113, 172, 99, 0.34);
}
.hero .loanFeatureChart .loanFeatureInterestBar {
  fill: rgba(217, 74, 78, 0.76);
}
.hero .loanFeatureChart .loanFeatureInterestBar.is-projected {
  fill: rgba(217, 74, 78, 0.3);
}
.hero .loanFeatureChart .loanFeatureMarker,
.hero .loanFeatureChart .loanFeaturePayoffMarker {
  fill: #FFA8CD;
  stroke: #070707;
  stroke-width: 3;
}
.hero .loanFeatureChart .loanFeaturePayoffMarker {
  fill: rgba(113, 172, 99, 0.94);
}
.hero .loanFeatureChart .loanFeaturePlanMarker {
  fill: rgba(255, 255, 255, 0.72);
  stroke: #070707;
  stroke-width: 2;
}
.hero .loanFeatureChart .loanFeatureRateGuide {
  fill: none;
  stroke: #FFA8CD;
  stroke-dasharray: 4 4;
  stroke-linecap: round;
  stroke-width: 1.2;
}
.hero .loanFeatureChart .loanFeatureRateGuide.is-now {
  stroke: rgba(255, 255, 255, 0.72);
}
.hero .loanFeatureChart .loanFeatureRateGuide.is-paid {
  stroke: rgba(113, 172, 99, 0.94);
}
.hero .loanFeatureChart .loanFeatureRateGuide.is-plan {
  stroke: rgba(255, 255, 255, 0.72);
}
.hero .loanFeatureChart .loanFeatureRateChip {
  fill: #FFA8CD;
}
.hero .loanFeatureChart .loanFeatureRateChip.is-now, .hero .loanFeatureChart .loanFeatureRateChip.is-plan {
  fill: rgba(255, 255, 255, 0.94);
}
.hero .loanFeatureChart .loanFeatureRateChip.is-paid {
  fill: rgba(113, 172, 99, 0.94);
}
.hero .loanFeatureChart text {
  fill: rgba(241, 238, 243, 0.55);
  font-family: "primary", sans-serif;
  font-size: 13px;
  letter-spacing: 0;
}
.hero .loanFeatureChart .loanFeatureRateChipText {
  fill: #070707;
  font-size: 11px;
  font-weight: bold;
  text-anchor: middle;
  dominant-baseline: middle;
}
.hero .loanFeatureChart .loanFeatureYRightAxis {
  fill: rgba(241, 238, 243, 0.42);
}
.hero .loanFeatureChart .loanFeatureXAxis {
  fill: rgba(241, 238, 243, 0.5);
}
.hero .loanFeatureChart .loanFeaturePointLabel {
  fill: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: bold;
}
.hero .loanFeatureChart .loanFeatureSvgLegend {
  display: none;
}
.hero .loanFeatureChart .loanFeatureSvgLegend text {
  fill: rgba(241, 238, 243, 0.62);
  font-size: 11px;
}
.hero .loanFeatureChart .loanFeatureLegendCurrent {
  stroke: #182939;
  stroke-linecap: round;
  stroke-width: 3;
}
.hero .loanFeatureChart .loanFeatureLegendBaseline {
  stroke: rgba(255, 255, 255, 0.48);
  stroke-dasharray: 7 5;
  stroke-linecap: round;
  stroke-width: 2;
}
.hero .transactionPreviewBox {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  padding: 10px;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 12px;
  color: #FFF;
  background: #070707;
  font-family: "primary", sans-serif;
}
.hero .transactionPreviewSummary {
  position: relative;
  display: grid;
  min-width: 0;
  margin-bottom: 5px;
  padding: 14px;
  box-sizing: border-box;
  border-radius: 12px;
  background: rgba(241, 238, 243, 0.05);
}
.hero .transactionSummaryLead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(8px, 1.2vw, 12px);
  min-width: 0;
}
.hero .transactionSummaryCopy {
  min-width: 0;
}
.hero .transactionSummaryEyebrow {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  min-width: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: clamp(7px, 0.62vw, 9px);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.hero .transactionSummaryEyebrow > span:first-child {
  flex: 0 0 auto;
}
.hero .transactionSummaryChips {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  color: rgba(241, 238, 243, 0.3);
}
.hero .transactionSummaryChip {
  min-width: 0;
  overflow: hidden;
  color: rgba(241, 238, 243, 0.3);
  text-overflow: ellipsis;
}
.hero .transactionSummaryTitle {
  margin-top: 5px;
  color: #FFF;
  font-size: clamp(14px, 1.45vw, 21px);
  font-weight: bold;
  line-height: 1.08;
}
.hero .transactionSummaryMeta {
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.62);
  font-size: clamp(8px, 0.72vw, 10px);
  line-height: 1.35;
}
.hero .transactionSummaryToggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 10px;
  padding: 0;
  border: 0;
  color: rgba(255, 255, 255, 0.7);
  background: transparent;
  font-family: inherit;
  font-size: clamp(8px, 0.72vw, 10px);
  font-weight: bold;
  line-height: 1;
  cursor: default;
}
.hero .transactionSummaryToggle i {
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.7);
}
.hero .transactionSummaryHeadline {
  min-width: 0;
  text-align: right;
}
.hero .transactionSummaryLabel {
  color: rgba(255, 255, 255, 0.58);
  font-size: clamp(7px, 0.62vw, 9px);
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionSummaryValue {
  margin-top: 6px;
  color: rgb(113, 172, 99);
  font-size: clamp(18px, 2vw, 25px);
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
.hero .transactionSummaryHint {
  color: rgba(255, 255, 255, 0.62);
  font-size: clamp(8px, 0.72vw, 10px);
  line-height: 1.35;
}
.hero .transactionSummaryHint {
  margin-top: 6px;
}
.hero .transactionSummaryHeadlinePositive .transactionSummaryValue {
  color: rgb(113, 172, 99);
}
.hero .transactionSummaryHoverCard {
  position: absolute;
  top: calc(100% + 12px);
  right: 14px;
  z-index: 6;
  display: grid;
  gap: 12px;
  width: 330px;
  max-width: calc(100% - 28px);
  padding: 14px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #FFF;
  background: #070707;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
}
.hero .transactionSummaryHoverCard::before {
  content: "";
  position: absolute;
  top: -7px;
  right: 18px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(241, 238, 243, 0.1);
  border-left: 1px solid rgba(241, 238, 243, 0.1);
  background: #070707;
  transform: rotate(45deg);
}
.hero .transactionPreviewSummary:hover .transactionSummaryHoverCard,
.hero .transactionPreviewSummary:focus-within .transactionSummaryHoverCard {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}
.hero .transactionSummaryHoverHeader {
  display: grid;
  gap: 6px;
}
.hero .transactionSummaryHoverEyebrow {
  color: rgba(229, 229, 229, 0.56);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionSummaryHoverTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.hero .transactionSummaryHoverTitle span:first-child {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(11px, 0.98vw, 13px);
  font-weight: bold;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .transactionSummaryHoverTitle span:last-child {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  color: rgba(255, 214, 232, 0.95);
  background: rgba(255, 168, 205, 0.12);
  font-size: clamp(8px, 0.72vw, 10px);
  font-weight: bold;
}
.hero .transactionSummaryHoverStats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.hero .transactionSummaryHoverStats div {
  min-width: 0;
  padding: 9px 10px;
  box-sizing: border-box;
  border-radius: 3px;
  background: rgba(241, 238, 243, 0.04);
}
.hero .transactionSummaryHoverStats span {
  color: rgba(229, 229, 229, 0.54);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionSummaryHoverStats strong {
  display: block;
  margin-top: 5px;
  color: #FFF;
  font-size: clamp(9px, 0.82vw, 12px);
  line-height: 1.35;
  white-space: nowrap;
}
.hero .transactionSummaryHoverStats small {
  display: block;
  margin-top: 3px;
  color: rgba(229, 229, 229, 0.72);
  font-size: clamp(8px, 0.72vw, 10px);
  line-height: 1.25;
}
.hero .transactionSummaryHoverDivider {
  border-top: 1px solid rgba(241, 238, 243, 0.1);
}
.hero .transactionSummaryHoverFooter {
  color: rgba(229, 229, 229, 0.72);
  font-size: clamp(8px, 0.72vw, 10px);
  line-height: 1.35;
}
.hero .transactionPreviewList {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  font-size: clamp(9px, 0.84vw, 12px);
  line-height: 1;
}
.hero .transactionDayAmount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 23px;
  padding: 0 12px;
  margin: 0 0 4px;
  box-sizing: border-box;
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.86);
  background: rgba(255, 255, 255, 0.05);
}
.hero .transactionDayAmount > span:last-child {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  min-width: 0;
  text-align: right;
}
.hero .transactionDayAmount strong {
  font-weight: bold;
  white-space: nowrap;
}
.hero .transactionDayAmount strong:first-child {
  color: rgb(113, 172, 99);
}
.hero .transactionPreviewRow {
  position: relative;
  min-width: 0;
  margin: 2px 0;
  border-radius: 6px;
  color: #FFF;
}
.hero .transactionPreviewRow summary,
.hero .transactionPreviewRow .transactionMainRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 27px;
  min-width: 0;
  border-radius: inherit;
  list-style: none;
  transition: background 180ms ease;
}
.hero .transactionPreviewRow summary::-webkit-details-marker,
.hero .transactionPreviewRow .transactionMainRow::-webkit-details-marker {
  display: none;
}
.hero .transactionPreviewRow summary:hover,
.hero .transactionPreviewRow .transactionMainRow:hover, .hero .transactionPreviewRow.is-menu-open > .transactionMainRow, .hero .transactionPreviewRow.is-detail-open > .transactionMainRow {
  background: rgba(241, 238, 243, 0.1);
}
.hero .transactionPreviewGroup[open] summary {
  background: transparent;
}
.hero .transactionPreviewGroup .transactionGroupRows {
  margin-left: clamp(26px, 3.2vw, 38px);
  padding-top: 4px;
  overflow: visible;
}
.hero .transactionGroupToggle {
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  margin-right: 5px;
}
.hero .transactionGroupToggle i {
  grid-area: 1/1;
  display: block;
  width: 15px;
  height: 15px;
  background: rgba(241, 238, 243, 0.2);
  transition: 0.3s;
}
.hero .transactionGroupToggle .icon-up {
  display: none;
}
.hero .transactionPreviewGroup[open] .transactionGroupToggle .icon-down {
  display: none;
}
.hero .transactionPreviewGroup[open] .transactionGroupToggle .icon-up {
  display: block;
}
.hero .transactionPreviewGroup summary:hover .transactionGroupToggle i {
  background: #e5e5e5;
}
.hero .transactionMerchant,
.hero .transactionAmount {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.hero .transactionMerchant {
  flex: 1 1 auto;
  font-weight: bold;
}
.hero .transactionMerchant > span:last-child {
  min-width: 0;
  overflow: visible;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .transactionIndex {
  flex: 0 0 30px;
  width: 30px;
  margin-right: 4px;
  color: rgba(241, 238, 243, 0.32);
  text-align: center;
}
.hero .transactionIcon {
  display: grid;
  place-items: center;
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  margin: 2px 10px 2px 1px;
  box-sizing: border-box;
  border: none;
  border-radius: 25%;
  outline: 1px solid rgba(255, 255, 255, 0.08);
  outline-offset: 0;
  color: #FFF;
  background: #070707;
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  overflow: hidden;
}
.hero .transactionIcon img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}
.hero .transactionAmount {
  display: grid;
  grid-template-columns: 62px minmax(64px, 132px) 15px;
  align-items: center;
  justify-content: end;
  column-gap: 10px;
  flex: 0 0 clamp(210px, 24vw, 262px);
  width: clamp(210px, 24vw, 262px);
  font-weight: bold;
  text-align: right;
  white-space: nowrap;
}
.hero .transactionAmount > span:nth-child(2) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hero .transactionPositive .transactionAmount > span:nth-child(2) {
  color: rgb(113, 172, 99);
}
.hero .transactionBadges {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 62px;
  min-width: 0;
}
.hero .transactionBadge {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 13px;
  padding: 2px 6px 1px;
  border-radius: 4px;
  color: #070707;
  font-size: clamp(7px, 0.58vw, 9px);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: default;
}
.hero .transactionBadgeHover {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 5;
  display: grid;
  gap: 6px;
  width: 184px;
  padding: 12px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #FFF;
  background: #070707;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  text-align: left;
  transform: translateY(6px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
}
.hero .transactionBadgeHover::before {
  content: "";
  position: absolute;
  top: -7px;
  right: 12px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(241, 238, 243, 0.1);
  border-left: 1px solid rgba(241, 238, 243, 0.1);
  background: #070707;
  transform: rotate(45deg);
}
.hero .transactionBadgeHover span {
  color: rgba(229, 229, 229, 0.56);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionBadgeHover strong,
.hero .transactionBadgeHover small {
  display: block;
  color: #FFF;
  font-size: clamp(9px, 0.82vw, 12px);
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}
.hero .transactionBadgeHover small {
  color: rgba(229, 229, 229, 0.72);
  font-size: clamp(8px, 0.72vw, 10px);
}
.hero .transactionDpaHover {
  width: 236px;
}
.hero .transactionBadge:hover .transactionBadgeHover {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}
.hero .transactionBadgeGroup {
  color: rgba(255, 255, 255, 0.88);
  background: transparent;
}
.hero .transactionBadgeDpa {
  background: linear-gradient(135deg, rgba(255, 168, 205, 0.96), rgba(250, 201, 222, 0.9));
  box-shadow: 0 6px 16px rgba(255, 168, 205, 0.18);
}
.hero .transactionBadgeSub {
  background: linear-gradient(135deg, rgba(173, 255, 191, 0.96), rgba(184, 244, 198, 0.9));
  box-shadow: 0 6px 16px rgba(173, 255, 191, 0.18);
}
.hero .transactionBadgeSr {
  background: linear-gradient(135deg, rgba(118, 215, 255, 0.96), rgba(205, 242, 255, 0.9));
  box-shadow: 0 2px 8px rgba(118, 215, 255, 0.18);
}
.hero .transactionBadgeCr {
  color: #FFF;
  background: linear-gradient(135deg, rgb(33, 60, 55), rgb(44, 67, 62));
  box-shadow: 0 3px 16px rgba(33, 60, 55, 0.8);
}
.hero .transactionBadgeCa {
  color: #FFF;
  background: linear-gradient(135deg, rgb(19, 37, 58), rgb(16, 49, 85));
  box-shadow: 0 3px 16px rgba(62, 132, 214, 0.16);
}
.hero .transactionMenuIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  padding: 0;
  margin-left: 0;
  margin-right: 5px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
  transition: 0.3s;
}
.hero .transactionMenuIcon:hover i {
  background: #e5e5e5;
}
.hero .transactionMenuIcon i {
  display: block;
  width: 15px;
  height: 15px;
  background: rgba(241, 238, 243, 0.2);
  transition: 0.3s;
}
.hero .transactionMenuIconSpacer {
  display: block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
}
.hero .transactionDpaRow .transactionDropdown {
  padding-right: min(270px, 46%);
}
.hero .transactionDpaPermanentDropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 6;
  display: grid;
  gap: 0;
  width: 248px;
  padding: 14px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #FFF;
  background: #070707;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.3);
  font-weight: normal;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}
.hero .transactionDpaPermanentDropdown::before {
  content: "";
  position: absolute;
  top: -7px;
  right: 12px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(241, 238, 243, 0.1);
  border-left: 1px solid rgba(241, 238, 243, 0.1);
  background: #070707;
  transform: rotate(45deg);
}
.hero .transactionDpaPermanentDropdown .dpaHoverHeader {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}
.hero .transactionDpaPermanentDropdown .dpaHoverEyebrow {
  color: rgba(229, 229, 229, 0.56);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionDpaPermanentDropdown .dpaTransactionName {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.hero .transactionDpaPermanentDropdown .transactionName {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(11px, 0.98vw, 13px);
  font-weight: bold;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .transactionDpaPermanentDropdown .dpaHoverBadge {
  flex: 0 0 auto;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  color: rgba(255, 214, 232, 0.95);
  background: rgba(255, 168, 205, 0.12);
  font-size: clamp(8px, 0.72vw, 10px);
  font-weight: bold;
  line-height: 1;
}
.hero .transactionDpaPermanentDropdown .dpaHoverStats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.hero .transactionDpaPermanentDropdown .dpaHoverStat {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
  border-radius: 3px;
  background: rgba(241, 238, 243, 0.04);
}
.hero .transactionDpaPermanentDropdown .dpaHoverLabel {
  color: rgba(229, 229, 229, 0.54);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionDpaPermanentDropdown .dpaHoverValue {
  min-width: 0;
  overflow: hidden;
  color: #FFF;
  font-size: clamp(9px, 0.82vw, 12px);
  font-weight: bold;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .transactionDpaPermanentDropdown .divider {
  margin: 12px 0 10px;
  border-top: 1px solid rgba(241, 238, 243, 0.1);
}
.hero .transactionDpaPermanentDropdown .dpaHoverFooter {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}
.hero .transactionDpaPermanentDropdown .dpaHoverTotalLabel {
  color: rgba(229, 229, 229, 0.56);
  font-size: clamp(7px, 0.62vw, 9px);
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionDpaPermanentDropdown .dpaHoverTotal {
  color: rgba(255, 214, 232, 0.98);
  font-size: clamp(12px, 1vw, 14px);
  font-weight: bold;
  line-height: 1;
}
.hero .transactionRowMenu {
  position: absolute;
  top: 5px;
  right: 22px;
  z-index: 4;
  display: none;
  width: 180px;
  overflow: hidden;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  background: #070707;
}
.hero .transactionRowMenu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px;
  border: 0;
  color: #FFF;
  background: transparent;
  font: inherit;
  font-size: clamp(9px, 0.78vw, 11px);
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
.hero .transactionRowMenu button i {
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  margin-left: 8px;
  background: rgba(255, 255, 255, 0.72);
}
.hero .transactionRowMenu button:hover {
  background: rgba(241, 238, 243, 0.1);
}
.hero .transactionPreviewRow.is-menu-open > .transactionMainRow .transactionRowMenu {
  display: grid;
}
.hero .transactionDropdown {
  display: none;
  margin: 0;
  padding: 0 10px 10px 10px;
  box-sizing: border-box;
  overflow: hidden;
}
.hero .transactionDropdown .transactionDetails {
  width: auto !important;
  padding: 10px;
  margin: 0 0 10px -3px;
  overflow: hidden;
}
.hero .transactionDropdown .transactionDetail {
  display: flex;
  align-items: center;
  justify-content: left;
}
.hero .transactionDropdown .transactionDetailsContainer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  min-width: 0;
  margin: 4px 0 0 12px;
  padding: 4px 15px 3px 15px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  color: #e5e5e5;
  font-size: clamp(8px, 0.76vw, 11px);
  font-weight: bold;
  line-height: 1.2;
}
.hero .transactionDropdown .transactionDetailsContainer::after {
  content: "";
  position: absolute;
  left: -13px;
  top: -22px;
  width: 9px;
  height: 30px;
  border-left: 4px solid #1f1f1f;
  border-bottom: 3px solid #1f1f1f;
  border-bottom-left-radius: 6px;
}
.hero .transactionDropdown .txDetailsLabel {
  width: 80px;
  color: rgba(241, 238, 243, 0.55);
  font-size: clamp(7px, 0.62vw, 9px);
  text-transform: uppercase;
}
.hero .transactionDropdown .txDetailsData {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0 0 0 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .transactionDropdown .txDetailsDataDesc .transactionDetailsContainer {
  display: block;
}
.hero .transactionDropdown .txDetailsDataDesc .txDetailsData {
  padding: 5px 0 0 0;
  white-space: normal;
}
.hero .transactionPreviewRow.is-detail-open > .transactionDropdown {
  display: grid;
}
.hero .transactionMonthTotal {
  display: grid;
  gap: 10px;
  width: 100%;
  padding: 18px 14px;
  margin: 10px auto 0 auto;
  box-sizing: border-box;
  border: 3px solid rgba(241, 238, 243, 0.1);
  border-radius: 12px;
  color: #FFF;
}
.hero .transactionMonthTotal .totalMonthSummary {
  display: grid;
  gap: 9px;
}
.hero .transactionMonthTotal .totalMonthMetrics {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  text-align: center;
}
.hero .transactionMonthTotal .totalMonthName {
  min-width: 0;
  color: #FFF;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.hero .transactionMonthTotal .totalMonthMetric {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding: 7px 8px;
}
.hero .transactionMonthTotal .totalMonthMetricLabel {
  color: rgba(255, 255, 255, 0.56);
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
}
.hero .transactionMonthTotal .totalMonthMetricValue {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .transactionMonthTotal .totalMonthMetricpositive {
  color: rgb(113, 172, 99);
}
.hero .transactionMonthTotal .totalMonthMetricnegative {
  color: rgb(217, 74, 78);
}
.hero .transactionMonthTotal .totalMonthMetricneutral {
  color: rgba(255, 255, 255, 0.84);
}
.hero .merchantLookupStage {
  position: relative;
  width: min(100%, 620px);
}
.hero .merchantLookupLabel {
  margin: 0 0 9px 2px;
  color: #8f9393;
  font-family: "primary", sans-serif;
  font-size: clamp(12px, 11px + 0.12vw, 13px);
  line-height: 1;
  letter-spacing: 1.1px;
  text-align: left;
  text-transform: uppercase;
}
.hero .merchantLookupInput {
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 16px 18px 14px;
  box-sizing: border-box;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  color: #FFF;
  background: #070707;
  font-family: "primary", sans-serif;
  font-size: clamp(18px, 16px + 0.25vw, 21px);
  line-height: 1;
  letter-spacing: 0;
}
.hero .merchantLookupCursor {
  display: inline-block;
  width: 1px;
  height: 19px;
  margin-left: 2px;
  background: #FFF;
  animation: merchantLookupCursorBlink 880ms steps(2, start) infinite;
}
.hero .merchantLookupPopup {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  display: none;
  width: calc(100% - 4px);
  max-height: min(430px, 52vh);
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  border: 2px solid rgba(241, 238, 243, 0.1);
  border-radius: 6px;
  box-sizing: border-box;
  background: #070707;
  text-align: left;
  z-index: 3;
}
.hero .merchantLookupPopup.is-active {
  display: block;
}
.hero .merchantLookupPopup::-webkit-scrollbar {
  display: none;
}
.hero .merchantSuggestionGroupTitle {
  padding: 10px 12px 5px;
  color: #8f9393;
  font-family: "primary", sans-serif;
  font-size: clamp(12px, 11px + 0.12vw, 13px);
  letter-spacing: 0;
  text-transform: uppercase;
}
.hero .merchantSuggested {
  position: relative;
  display: flex;
  align-items: center;
  padding: 7px;
  color: #FFF;
  font-family: "primary", sans-serif;
  font-size: clamp(17px, 15px + 0.25vw, 19px);
  line-height: 1;
}
.hero .merchantSuggestedActive {
  background: rgba(241, 238, 243, 0.1);
}
.hero .merchantSuggestedIcon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  margin: 1px 13px 1px 1px;
  border-radius: 25%;
  object-fit: cover;
  background-color: #FFF;
}
.hero .merchantSuggestedIconFallback {
  display: grid;
  place-items: center;
  color: #070707;
  font-weight: bold;
}
.hero .suggestedMerchant {
  min-width: 0;
  width: calc(100% - 56px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .featurePot {
  position: relative;
  display: grid;
  align-content: center;
  min-width: 0;
  width: 100%;
  height: var(--feature-pot-height);
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 12px;
  color: #FFF;
  text-align: center;
  background: #070707;
  padding: 23px 5px 20px;
}
.hero .featurePotNetWorth {
  position: absolute;
  top: calc(0px - var(--feature-net-worth-height) - 45px);
  right: 0;
  z-index: 2;
  width: 40%;
  min-width: 0;
  font-weight: bold;
}
.hero .featurePotNetWorth .featurePotTitle {
  padding: 0 16px;
  font-size: var(--feature-pot-label-size);
}
.hero .featurePotNetWorth .featureBalanceRows {
  display: block;
  margin-top: 0;
}
.hero .featurePotNetWorth .featureBalanceStat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 80%;
  margin: 6px auto;
  padding: 0;
  color: #FFF;
  font-family: "primary", sans-serif;
  font-size: var(--feature-pot-stat-size);
  line-height: 1;
  text-align: left;
}
.hero .featurePotNetWorth .featureBalanceStat span {
  margin-top: 0;
  color: #FFF;
  font-family: "primary", sans-serif;
  font-size: var(--feature-pot-stat-value-size);
  font-weight: normal;
  text-align: right;
}
.hero .featurePotNetWorth .featureNetWorthTitle {
  min-width: 0;
  color: #FFF;
  font-size: var(--feature-pot-stat-size);
  text-align: left;
}
.hero .featurePotNetWorth .featureNetWorthActual {
  width: 100%;
  margin-top: 23px;
  font-family: "primary", sans-serif;
  font-size: var(--feature-net-worth-font-size);
  line-height: 1;
  text-align: center;
}
.hero .featurePotNetWorth .featureNetWorthCurrency {
  font-size: var(--feature-net-worth-currency-size);
}
.hero .featurePotTitle {
  position: absolute;
  top: 7px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 0 clamp(9px, 1.3vw, 14px);
  box-sizing: border-box;
  color: #8f9393;
  font-family: "primary", sans-serif;
  font-size: var(--feature-pot-label-size);
  line-height: 1;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}
.hero .featurePotTitle span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero .featurePotAmount {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 1px;
  min-width: 0;
  min-height: 1.36em;
  color: #FFF;
  font-family: "primary", sans-serif;
  font-size: var(--feature-amount-font-size);
  line-height: 1.18;
  letter-spacing: 0;
  white-space: nowrap;
}
.hero .featurePotCurrency {
  font-size: var(--feature-amount-currency-size);
  line-height: 1.18;
}
.hero .featurePotAmountValue {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 1.36em;
  font-size: inherit;
  line-height: 1.18;
}
.hero .featurePotOverview,
.hero .featureBalanceRows {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(6px, 1vw, 12px);
  margin-top: clamp(9px, 1.1vw, 14px);
}
.hero .featureBalanceRows {
  display: block;
  margin-top: 0;
}
.hero .featurePotStat,
.hero .featureBalanceStat {
  min-width: 0;
  color: rgba(143, 147, 147, 0.86);
  font-size: var(--feature-pot-stat-size);
  line-height: 1.12;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.hero .featurePotStat strong,
.hero .featureBalanceStat span {
  display: block;
  margin-top: 4px;
  color: #FFF;
  font-size: var(--feature-pot-stat-value-size);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hero .featurePotStat strong.is-positive,
.hero .featureBalanceStat span.is-positive,
.hero .featureNetWorthActual span.is-positive {
  color: rgb(113, 172, 99);
}
.hero .featurePotStat strong.is-negative,
.hero .featureBalanceStat span.is-negative,
.hero .featureNetWorthActual span.is-negative {
  color: rgb(217, 74, 78);
}
.hero .featureBalanceStat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 80%;
  margin: 5px auto;
  padding: 0;
  color: #FFF;
  font-family: "primary", sans-serif;
  font-size: var(--feature-pot-stat-size);
  text-align: left;
}
.hero .featureBalanceStat span {
  margin-top: 0;
  color: #FFF;
  font-family: "primary", sans-serif;
  font-size: var(--feature-pot-stat-value-size);
  font-weight: normal;
  text-align: right;
}
.hero .featureNetWorthTitle {
  min-width: 0;
  color: #FFF;
  font-size: var(--feature-pot-stat-size);
  text-align: left;
}
.hero .featureNetWorthActual {
  width: 100%;
  margin-top: 20px;
  color: #FFF;
  font-family: "primary", sans-serif;
  font-size: var(--feature-net-worth-font-size);
  line-height: 1;
  text-align: center;
}
.hero .featureNetWorthActual span {
  white-space: nowrap;
}
.hero .featureNetWorthCurrency {
  font-size: var(--feature-net-worth-currency-size);
}
.hero .featureMoneyMovement,
.hero .featureFetchAge {
  flex: 0 1 auto;
  min-width: 0;
  color: rgba(143, 147, 147, 0.78);
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 180ms ease, opacity 180ms ease;
}
.hero .featureFetchAge[data-session=regular],
.hero .featureFetchAge[data-session=ukRegular],
.hero .featureFetchAge[data-session=usRegular],
.hero .featureFetchAge[data-session=euRegular],
.hero .featureInvestmentSessionText[data-session=regular],
.hero .featureInvestmentSessionText[data-session=ukRegular],
.hero .featureInvestmentSessionText[data-session=usRegular],
.hero .featureInvestmentSessionText[data-session=euRegular] {
  color: rgb(113, 172, 99);
}
.hero .featureFetchAge[data-session=preMarket],
.hero .featureInvestmentSessionText[data-session=preMarket] {
  color: #e16b28;
}
.hero .featureFetchAge[data-session=afterHours],
.hero .featureInvestmentSessionText[data-session=afterHours] {
  color: #FFA8CD;
}
.hero .featureFetchAge[data-session=overnight],
.hero .featureInvestmentSessionText[data-session=overnight] {
  color: #8f8cff;
}
.hero .featureFetchAge[data-active=false],
.hero .featureInvestmentSessionText[data-active=false] {
  color: rgba(143, 147, 147, 0.78);
}
.hero .featureMoneyMovement {
  opacity: 0.72;
}
.hero .featureMoneyMovement.is-active {
  opacity: 1;
}
.hero .featureMoneyMovement.is-positive {
  color: rgb(113, 172, 99);
}
.hero .featureMoneyMovement.is-negative {
  color: rgb(217, 74, 78);
}

@keyframes featureVisualPaneColourShift {
  0% {
    transform: translate3d(-3%, -2%, 0) rotate(0deg) scale(1.04);
  }
  34% {
    transform: translate3d(4%, -5%, 0) rotate(8deg) scale(1.07);
  }
  68% {
    transform: translate3d(3%, 4%, 0) rotate(-7deg) scale(1.05);
  }
  100% {
    transform: translate3d(-3%, -2%, 0) rotate(0deg) scale(1.04);
  }
}
@keyframes merchantLookupCursorBlink {
  0%, 45% {
    opacity: 1;
  }
  46%, 100% {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero .featureVisualPane::before {
    animation: none;
    transform: translate3d(0, 0, 0) scale(1.04);
  }
}
@media (max-width: 1500px) and (min-width: 821px) {
  .hero .featuresPanel[data-feature-active=financial-overview] .featureVisualPane {
    padding: clamp(14px, 1.8vw, 32px);
  }
  .hero .featuresPanel[data-feature-active=financial-overview] .financialOverviewPreview {
    --feature-amount-currency-size: clamp(17px, calc(14px + 0.45vw), 23px);
    --feature-amount-font-size: clamp(46px, calc(38px + 1vw), 60px);
    --feature-net-worth-currency-size: clamp(15px, calc(13px + 0.35vw), 19px);
    --feature-net-worth-font-size: clamp(22px, calc(18px + 0.7vw), 28px);
    --feature-pot-gap: 19px;
    --feature-pot-height: 160px;
    --feature-pot-label-size: clamp(11px, calc(10px + 0.16vw), 13px);
    --feature-pot-stat-size: clamp(11px, calc(10px + 0.18vw), 13px);
    --feature-pot-stat-value-size: clamp(13px, calc(11px + 0.28vw), 16px);
    --feature-pot-width: min(100%, clamp(740px, 48vw, 900px));
    --feature-net-worth-height: 122px;
    --feature-investment-bar-height: 46px;
  }
  .hero .featuresPanel[data-feature-active=merchant-icons] .featureVisualPane {
    padding: clamp(14px, 1.8vw, 32px);
  }
  .hero .featuresPanel[data-feature-active=merchant-icons] .merchantIconLookupPreview {
    padding: clamp(28px, 4.6vw, 76px) clamp(12px, 1.8vw, 32px) clamp(14px, 1.8vw, 32px);
  }
  .hero .featuresPanel[data-feature-active=merchant-icons] .merchantLookupStage {
    width: min(100%, 700px);
  }
  .hero .featuresPanel[data-feature-active=merchant-icons] .merchantLookupInput {
    min-height: 58px;
    padding: 17px 19px 15px;
    font-size: clamp(19px, 17px + 0.3vw, 22px);
  }
  .hero .featuresPanel[data-feature-active=merchant-icons] .merchantLookupPopup {
    max-height: min(460px, 54vh);
  }
  .hero .featuresPanel[data-feature-active=merchant-icons] .merchantSuggested {
    padding: 8px;
    font-size: clamp(18px, 16px + 0.25vw, 20px);
  }
  .hero .featuresPanel[data-feature-active=merchant-icons] .merchantSuggestedIcon {
    width: 38px;
    height: 38px;
    margin: 1px 14px 1px 1px;
  }
}
@media (max-width: 1400px) and (min-width: 821px) {
  .hero .featureInfoGrid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 820px) {
  .hero .featuresPanel {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero .featureCopyPane {
    padding: 24px;
  }
  .hero .featureButtonRail {
    max-height: 82px;
  }
  .hero .featureDetails {
    min-height: 300px;
  }
  .hero .featurePanel h1 {
    font-size: 28px;
  }
  .hero .featurePanel p {
    font-size: 12px;
  }
  .hero .featureInfoGrid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 460px;
  }
  .hero .featurePoints {
    margin-top: 15px;
  }
  .hero .featureVisualPane {
    display: none;
  }
}
@media (max-width: 520px) {
  .hero .featureCopyPane {
    gap: 18px;
    padding: 18px;
  }
  .hero .featureButtonRail {
    max-height: 72px;
  }
  .hero .featureNavButton {
    min-inline-size: 72px;
    min-height: 28px;
    padding: 6px 8px 5px;
    border-radius: 6px;
    font-size: 9px;
  }
  .hero .featureDetails {
    min-height: 270px;
  }
  .hero .featureEyebrow {
    margin-bottom: 8px;
    font-size: 9px;
  }
  .hero .featurePanel {
    padding-top: 0;
  }
  .hero .featurePanel h1 {
    font-size: 22px;
    line-height: 1.05;
  }
  .hero .featurePanel p {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.45;
  }
  .hero .featurePanelBrief {
    gap: 9px;
    margin-top: 12px;
  }
  .hero .featurePanelHow strong,
  .hero .featureInfoBox > span:not(.transactionBadge) {
    font-size: 9px;
  }
  .hero .featureInfoGrid {
    gap: 7px;
    margin-top: 13px;
  }
  .hero .featureInfoBox {
    gap: 5px;
    padding: 10px;
  }
  .hero .featureInfoBox strong {
    font-size: 12px;
  }
  .hero .featurePoints {
    gap: 7px;
    margin-top: 12px;
  }
  .hero .featurePoints li {
    padding-left: 13px;
    font-size: 10px;
    line-height: 1.34;
  }
  .hero .featurePoints li::before {
    width: 5px;
    height: 5px;
  }
}
.hero .reviewPanel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  color: #FFF;
  background: #000000;
}
.hero .reviewSymbols {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.hero .pricingPane {
  display: flex;
  flex-direction: column;
  gap: clamp(22px, 3vw, 48px);
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  padding: clamp(30px, 4.2vw, 72px);
  box-sizing: border-box;
  scrollbar-width: none;
}
.hero .pricingPane::-webkit-scrollbar {
  display: none;
}
.hero .pricingIntro {
  min-width: 0;
}
.hero .reviewEyebrow {
  margin-bottom: 12px;
  color: #9C6FF7;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}
.hero .pricingIntro h1 {
  max-width: 620px;
  margin: 0;
  color: #FFF;
  font-size: clamp(30px, 3.3vw, 62px);
  font-weight: normal;
  line-height: 1.02;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.hero .priceLine {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  min-width: 0;
  margin-top: clamp(18px, 2vw, 28px);
}
.hero .priceLine strong {
  color: #9C6FF7;
  font-size: clamp(44px, 5vw, 78px);
  font-weight: normal;
  line-height: 0.82;
  letter-spacing: 0;
  white-space: nowrap;
}
.hero .priceLine span {
  margin-bottom: 8px;
  color: rgba(229, 229, 229, 0.72);
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
.hero .pricingIntro p {
  max-width: 540px;
  margin: 18px 0 0;
  color: rgba(229, 229, 229, 0.78);
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
.hero .pricingAttributes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
  margin: 0;
}
.hero .pricingAttributes div {
  min-width: 0;
  padding: 16px 18px 15px;
}
.hero .pricingAttributes div:nth-child(1),
.hero .pricingAttributes div:nth-child(2) {
  border-top: 0;
}
.hero .pricingAttributes div:nth-child(odd) {
  padding-left: 0;
}
.hero .pricingAttributes dt {
  color: #FFF;
  font-size: 22px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0;
}
.hero .pricingAttributes dd {
  margin: 8px 0 0;
  color: rgba(229, 229, 229, 0.68);
  font-size: 11px;
  line-height: 1.32;
  letter-spacing: 0;
}
.hero .reviewsPane {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(18px, 2.5vw, 34px);
  min-width: 0;
  min-height: 0;
  padding: clamp(30px, 4vw, 72px);
  box-sizing: border-box;
  background-color: #070707;
}
.hero .reviewsHeader {
  min-width: 0;
  padding-bottom: 20px;
}
.hero .reviewsHeader h2 {
  max-width: 720px;
  margin: 0;
  color: #FFF;
  font-size: clamp(26px, 2.6vw, 42px);
  font-weight: normal;
  line-height: 1.06;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.hero .reviewList {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(156, 111, 247, 0.62) transparent;
}
.hero .reviewList::-webkit-scrollbar {
  width: 6px;
}
.hero .reviewList::-webkit-scrollbar-thumb {
  background: rgba(156, 111, 247, 0.62);
}
.hero .customerReview {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px 0 19px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  box-sizing: border-box;
}
.hero .customerReview:first-child {
  padding-top: 0;
}
.hero .customerReviewRating {
  display: flex;
  gap: 3px;
  color: #9C6FF7;
}
.hero .ratingStar {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  fill: currentColor;
}
.hero .ratingStar.is-muted {
  color: rgba(255, 255, 255, 0.18);
}
.hero .customerReview p {
  margin: 13px 0 0;
  color: rgba(229, 229, 229, 0.86);
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.46;
  letter-spacing: 0;
}
.hero .customerReview footer {
  margin-top: auto;
  padding-top: 18px;
}
.hero .customerReview footer strong {
  display: block;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0;
}
.hero .customerReview footer span {
  display: block;
  margin-top: 5px;
  color: #8f9393;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 0;
}

@media (max-width: 820px) {
  .hero .reviewPanel {
    grid-template-columns: minmax(0, 1fr);
    overflow-y: auto;
  }
  .hero .pricingPane {
    justify-content: flex-start;
    padding: 24px;
  }
  .hero .pricingIntro h1 {
    font-size: 30px;
  }
  .hero .reviewsPane {
    min-height: 520px;
    padding: 24px;
  }
  .hero .reviewList {
    overflow: visible;
    padding-right: 0;
  }
}
@media (max-width: 620px) {
  .hero .pricingAttributes {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero .pricingAttributes div,
  .hero .pricingAttributes div:nth-child(2) {
    padding: 13px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-right: 0;
  }
  .hero .pricingAttributes div:first-child {
    border-top: 0;
  }
}
@media (max-width: 520px) {
  .hero .pricingPane,
  .hero .reviewsPane {
    padding: 18px;
  }
  .hero .reviewEyebrow {
    margin-bottom: 8px;
    font-size: 9px;
  }
  .hero .pricingIntro h1 {
    font-size: 24px;
    line-height: 1.05;
  }
  .hero .pricingIntro p {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.45;
  }
  .hero .priceLine {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .hero .priceLine strong {
    font-size: 42px;
  }
  .hero .priceLine span {
    margin-bottom: 0;
  }
  .hero .reviewsHeader h2 {
    font-size: 22px;
  }
  .hero .customerReview {
    padding: 16px 0;
  }
  .hero .customerReview p {
    font-size: 13px;
  }
}
.hero .welcomePanel {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000000;
}
.hero .heroDemoViewport {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #000000;
}
.hero .heroDemoSurface {
  position: relative;
  width: var(--demo-width, 2300px);
  height: var(--demo-height, 1200px);
  flex: 0 0 auto;
  overflow: hidden;
  background: #000000;
  transform-origin: center center;
  will-change: transform;
}
.hero .heroDashboard {
  display: block;
  width: var(--demo-width, 2300px);
  height: var(--demo-height, 1200px);
  border-radius: 12px;
}
.hero .heroDemoFrame {
  position: relative;
  z-index: 1;
  border: 0;
  background: #000000;
}
.hero .heroDemoLoader {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0;
  z-index: 2;
  box-sizing: border-box;
  opacity: 1;
  visibility: visible;
  color: #FFF;
  background: #000000;
  font-family: "Vardon";
  font-size: 150px;
  pointer-events: none;
  transition: opacity 80ms ease, visibility 0s linear 80ms;
}
.hero .heroDemoLoader.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.hero .heroDemoLoaderText {
  position: absolute;
  top: 40%;
  left: calc(50% + 20px);
  transform: translate(-50%, -50%);
  letter-spacing: 20px;
}
.hero .heroDemoLoaderBar {
  display: block;
  opacity: 0.5;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  width: 300px;
  margin: 0 auto;
}
.hero .heroDemoLoaderProgressBar {
  position: relative;
  width: 100%;
  height: 5px;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(241, 238, 243, 0.1);
  margin-bottom: 10px;
}
.hero .heroDemoLoaderProgress {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: #182939;
}
.hero .heroDemoLoaderSubText {
  display: none;
  width: 100%;
  color: rgba(241, 238, 243, 0.5);
  font-family: "primary" !important;
  font-size: 13px;
  letter-spacing: 0;
  text-align: center;
}
.hero #heroContent {
  position: absolute;
  left: 50%;
  right: auto;
  top: 120px;
  bottom: auto;
  width: 800px;
  max-width: calc(100% - 48px);
  padding: 24px;
  border-radius: 8px;
  box-sizing: border-box;
  overflow: hidden;
  color: #FFF;
  pointer-events: auto;
  backdrop-filter: blur(10px);
  border: 2px solid rgba(241, 238, 243, 0.1);
  box-shadow: 0 18px 46px rgba(156, 111, 247, 0.3);
  transform: translateX(-50%) translateY(-8px);
  background: rgba(0, 0, 0, 0.5);
}
.hero #heroContent.is-visible {
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.hero #heroContent.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(-8px);
}
.hero #heroContent .heroContentDismiss {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 14px;
  right: 14px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: opacity 180ms ease, transform 180ms ease;
}
.hero #heroContent .heroContentDismiss:hover, .hero #heroContent .heroContentDismiss:focus-visible {
  opacity: 0.72;
  transform: scale(0.96);
}
.hero #heroContent .heroContentDismiss:focus-visible {
  outline: 2px solid rgba(255, 168, 205, 0.7);
  outline-offset: 2px;
}
.hero #heroContent .heroContentDismiss img {
  width: 18px;
  height: 18px;
  filter: invert(1);
  pointer-events: none;
}
.hero #heroContent .heroContentEyebrow {
  margin-bottom: 14px;
  color: #9C6FF7;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: uppercase;
  display: none;
}
.hero #heroContent .heroContentHeading {
  margin: 0;
  font-weight: normal;
  line-height: 1.05;
  letter-spacing: 0;
  color: #9C6FF7;
  font-size: 12px;
  text-transform: uppercase;
}
.hero #heroContent .heroContentBrand {
  font-family: "Vardon";
  font-size: 70px;
  letter-spacing: 15px;
}
.hero #heroContent p {
  margin: 0;
  color: #e5e5e5;
  font-size: 16px;
  line-height: 1.55;
}

@media (max-width: 820px) {
  .hero #heroContent {
    top: 16px;
    padding: 18px;
    border-width: 2px;
  }
  .hero #heroContent .heroContentEyebrow {
    margin-bottom: 10px;
    font-size: 10px;
  }
  .hero #heroContent h1 {
    font-size: 27px;
    line-height: 1.12;
  }
  .hero #heroContent p {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.45;
  }
}
@media (max-width: 520px) {
  .hero #heroContent {
    top: 12px;
    padding: 12px;
    border-width: 2px;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.24), rgba(0, 0, 0, 0.78));
  }
  .hero #heroContent .heroContentDismiss {
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
  }
  .hero #heroContent .heroContentDismiss img {
    width: 16px;
    height: 16px;
  }
  .hero #heroContent h1 {
    font-size: 23px;
  }
  .hero #heroContent p {
    display: block;
  }
  .hero .heroDashboard {
    border-radius: 8px;
  }
  .hero .heroDemoViewport {
    border-radius: 8px;
  }
}
html,
body {
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

body {
  display: grid;
  place-items: center;
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 60px 10px 70px;
  background: #000000;
  height: 100vh;
  min-height: 100vh;
  width: 100vw;
  color: #FFF;
  font-family: "primary";
}

@keyframes heroIntroFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes seoFallbackReveal {
  to {
    opacity: 1;
    visibility: visible;
  }
}
.timer_top {
  transform: translateY(-8px);
}

.timer_bottom {
  transform: translateY(8px);
}

.timer_top,
.timer_bottom,
.timer_tabs,
.timer_controls {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 800ms ease;
  will-change: opacity;
}
.timer_top.is-visible,
.timer_bottom.is-visible,
.timer_tabs.is-visible,
.timer_controls.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.timer_top,
.timer_bottom {
  transition: opacity 800ms ease, transform 800ms ease;
  will-change: opacity, transform;
}
.timer_top.is-visible,
.timer_bottom.is-visible {
  transform: translateY(0);
}

#brand {
  position: relative;
  flex: 0 0 auto;
  z-index: 5;
  align-items: center;
  display: flex;
  width: auto;
  box-sizing: border-box;
  padding: 3px 5px 2px 5px;
}

.homeLogoLink {
  position: absolute;
  left: 0;
  top: 0;
  margin-left: 0;
  width: 120px;
  height: 120px;
  z-index: 7;
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.homeLogoLink:focus-visible {
  outline: 2px solid rgba(255, 168, 205, 0.7);
  outline-offset: -8px;
  border-radius: 8px;
}

.icon {
  display: block;
  width: 100%;
  height: 100%;
}

.heroTabs {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  margin-left: 10px;
  right: auto;
  left: 100%;
  justify-content: flex-end;
  flex: 0 0 auto;
  min-width: 0;
  z-index: 6;
  transform: rotate(90deg) translateY(-100%);
  transform-origin: top left;
}
.heroTabs .tabs {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: fit-content;
  padding: 6px 12px 5px 12px;
  border-radius: 3px;
  margin-left: -3px;
  margin-right: 6px;
  font-family: inherit;
  letter-spacing: 0.08em;
  opacity: 0;
  border: 0;
  cursor: pointer;
  transition: opacity 520ms ease, transform 760ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
  color: #8f9393;
  background: transparent;
  font-size: 13px;
  border: 2px solid transparent;
}
.heroTabs .tabs i {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  transform: rotate(-90deg);
  background-color: currentColor;
}
.heroTabs .tabs span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.heroTabs .tabs.is-active {
  color: #FFF;
  border-color: rgba(61, 158, 255, 0.14);
  background: rgba(24, 41, 57, 0.5);
}
.heroTabs.is-visible .tabs {
  opacity: 1;
}
.heroTabs.is-visible .tabs:nth-child(1) {
  transition-delay: 0ms;
}
.heroTabs.is-visible .tabs:nth-child(2) {
  transition-delay: 90ms;
}
.heroTabs.is-visible .tabs:nth-child(3) {
  transition-delay: 180ms;
}
.heroTabs.is-visible .tabs:nth-child(4) {
  transition-delay: 270ms;
}
.heroTabs.is-visible .tabs:nth-child(5) {
  transition-delay: 360ms;
}
.heroTabs.is-visible .tabs:nth-child(6) {
  transition-delay: 450ms;
}

.hero {
  isolation: isolate;
  position: relative;
  align-self: center;
  justify-self: center;
  z-index: 2;
  width: calc(100vw - 20px);
  max-width: none;
  aspect-ratio: 4096/2130;
  border-radius: 12px;
  margin: 0 auto;
  opacity: 0;
  animation: heroIntroFade 800ms ease forwards;
  border: 1px solid rgba(241, 238, 243, 0.1);
}
.hero .heroStage {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
}
.hero .heroStage > [data-stage-panel] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero .seoFallback {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
  height: 100%;
  padding: clamp(28px, 5vw, 90px);
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  color: #FFF;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.58)), #000000;
  animation: seoFallbackReveal 260ms ease 2s forwards;
}
.hero .seoFallback .seoFallbackEyebrow {
  margin: 0;
  color: #9C6FF7;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0;
  text-transform: uppercase;
}
.hero .seoFallback .seoFallbackTitle {
  max-width: 760px;
  margin: 0;
  color: #FFF;
  font-size: clamp(34px, 5vw, 82px);
  font-weight: normal;
  line-height: 0.96;
  letter-spacing: 0;
}
.hero .seoFallback p {
  max-width: 740px;
  margin: 0;
  color: rgba(229, 229, 229, 0.84);
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 1.5;
}
.hero .seoFallback ul {
  display: grid;
  gap: 8px;
  max-width: 820px;
  margin: 0;
  padding-left: 18px;
  color: rgba(229, 229, 229, 0.76);
  font-size: clamp(12px, 1vw, 15px);
  line-height: 1.42;
}
.hero .seoFallback .seoFallbackActions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}
.hero .seoFallback a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 10px 14px;
  border-radius: 8px;
  color: #FFF;
  background: rgba(156, 111, 247, 0.24);
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
}
.hero .stagePanelEnter {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 520ms ease, transform 640ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.hero .stagePanelEnter.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.mobileSite {
  display: none;
}

.legalLinks {
  position: absolute;
  left: -4px;
  bottom: -42px;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.legalLinks a {
  padding: 8px 10px;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.38);
  font-size: 11px;
  text-decoration: none;
  transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
}
.legalLinks a:hover {
  color: #FFF;
  border-color: rgba(255, 255, 255, 0.28);
}

.companyNote {
  position: absolute;
  right: -4px;
  bottom: -46px;
  z-index: 5;
  max-width: 420px;
  color: rgba(255, 255, 255, 0.36);
  text-align: right;
  font-size: 11px;
  line-height: 1.35;
}
.companyNote p {
  margin: 0;
}
.companyNote p:first-child {
  color: rgba(255, 255, 255, 0.52);
}
.companyNote p + p {
  margin-top: 3px;
}

@media (max-width: 1200px) {
  .heroTabs {
    top: -10px;
    left: auto;
    right: 0;
    width: auto;
    max-width: calc(100% - 48px);
    margin-left: 0;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 8px;
    transform: translateY(-100%);
    transform-origin: top right;
  }
  .heroTabs .tabs {
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 6px 9px 5px 9px;
    justify-content: center;
    font-size: 11px;
    letter-spacing: 0;
  }
  .heroTabs .tabs i {
    transform: none;
  }
}
html.is-mobile-device,
html.is-mobile-device body {
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: auto;
}

html.is-mobile-device body {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  box-sizing: border-box;
  width: 100vw;
  height: auto;
  min-height: 100svh;
  padding: 24px;
}

html.is-mobile-device .homeLogoLink,
html.is-mobile-device .hero {
  display: none;
}

html.is-mobile-device .mobileSite {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  max-width: 680px;
  padding: 24px 0 42px;
  color: #FFF;
  text-align: center;
}
html.is-mobile-device .mobileSite .mobileLogo {
  width: 96px;
  height: 96px;
  margin-bottom: 18px;
}
html.is-mobile-device .mobileSite .mobileBrand {
  margin: 0;
  margin-right: -15px;
  color: #FFF;
  font-family: "Vardon";
  font-size: 50px;
  line-height: 1;
  letter-spacing: 15px;
  text-transform: uppercase;
}
html.is-mobile-device .mobileSite .mobileTagline {
  max-width: 560px;
  margin: 16px 0 0;
  color: rgba(229, 229, 229, 0.84);
  font-size: 16px;
  line-height: 1.45;
}
html.is-mobile-device .mobileSite h1 {
  max-width: 560px;
  margin: 20px 0 0;
  color: #FFF;
  font-size: 32px;
  font-weight: normal;
  line-height: 1.08;
  letter-spacing: 0;
}
html.is-mobile-device .mobileSite .mobileDesktopOnly {
  max-width: 560px;
  margin: 14px 0 0;
  color: rgba(229, 229, 229, 0.64);
  font-size: 13px;
  line-height: 1.45;
}
html.is-mobile-device .mobileSite .mobileNav,
html.is-mobile-device .mobileSite .mobileActions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 22px;
}
html.is-mobile-device .mobileSite .mobileNav a,
html.is-mobile-device .mobileSite .mobileActions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 9px 12px 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 7px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(31, 31, 31, 0.52);
  font-size: 12px;
  line-height: 1.1;
  text-decoration: none;
}
html.is-mobile-device .mobileSite .mobileActions a {
  border-color: rgba(156, 111, 247, 0.36);
  background: rgba(156, 111, 247, 0.2);
  color: #FFF;
}
html.is-mobile-device .mobileSite .mobileContent {
  display: grid;
  gap: 14px;
  width: 100%;
  margin-top: 26px;
  text-align: left;
}
html.is-mobile-device .mobileSite .mobileContent section {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(31, 31, 31, 0.44);
}
html.is-mobile-device .mobileSite .mobileContent h2 {
  margin: 0;
  color: #FFF;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.16;
  letter-spacing: 0;
}
html.is-mobile-device .mobileSite .mobileContent p {
  margin: 10px 0 0;
  color: rgba(229, 229, 229, 0.72);
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 820px) {
  html,
  body {
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: auto;
  }
  body {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    box-sizing: border-box;
    width: 100vw;
    height: auto;
    min-height: 100svh;
    padding: 24px;
  }
  .homeLogoLink,
  .hero {
    display: none;
  }
  .mobileSite {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    width: 100%;
    min-height: 100%;
    max-width: 680px;
    padding: 24px 0 42px;
    color: #FFF;
    text-align: center;
  }
  .mobileSite .mobileLogo {
    width: 96px;
    height: 96px;
    margin-bottom: 18px;
  }
  .mobileSite .mobileBrand {
    margin: 0;
    margin-right: -15px;
    color: #FFF;
    font-family: "Vardon";
    font-size: 50px;
    line-height: 1;
    letter-spacing: 15px;
    text-transform: uppercase;
  }
  .mobileSite .mobileTagline {
    max-width: 560px;
    margin: 16px 0 0;
    color: rgba(229, 229, 229, 0.84);
    font-size: 16px;
    line-height: 1.45;
  }
  .mobileSite h1 {
    max-width: 560px;
    margin: 20px 0 0;
    color: #FFF;
    font-size: 32px;
    font-weight: normal;
    line-height: 1.08;
    letter-spacing: 0;
  }
  .mobileSite .mobileDesktopOnly {
    max-width: 560px;
    margin: 14px 0 0;
    color: rgba(229, 229, 229, 0.64);
    font-size: 13px;
    line-height: 1.45;
  }
  .mobileSite .mobileNav,
  .mobileSite .mobileActions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 22px;
  }
  .mobileSite .mobileNav a,
  .mobileSite .mobileActions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 9px 12px 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 7px;
    color: rgba(255, 255, 255, 0.78);
    background: rgba(31, 31, 31, 0.52);
    font-size: 12px;
    line-height: 1.1;
    text-decoration: none;
  }
  .mobileSite .mobileActions a {
    border-color: rgba(156, 111, 247, 0.36);
    background: rgba(156, 111, 247, 0.2);
    color: #FFF;
  }
  .mobileSite .mobileContent {
    display: grid;
    gap: 14px;
    width: 100%;
    margin-top: 26px;
    text-align: left;
  }
  .mobileSite .mobileContent section {
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    background: rgba(31, 31, 31, 0.44);
  }
  .mobileSite .mobileContent h2 {
    margin: 0;
    color: #FFF;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.16;
    letter-spacing: 0;
  }
  .mobileSite .mobileContent p {
    margin: 10px 0 0;
    color: rgba(229, 229, 229, 0.72);
    font-size: 14px;
    line-height: 1.55;
  }
}
@media (max-width: 520px) {
  body {
    padding: 20px;
  }
  .mobileSite .mobileLogo {
    width: 84px;
    height: 84px;
    margin-bottom: 16px;
  }
  .mobileSite .mobileBrand {
    font-size: 34px;
  }
}
