/* Page shell only. Content modules and HubSpot form styling are added separately. */
body.page-signup-shell {
  margin: 0;
  background: #121212;
  color: #fff;
  --announcement-offset: 0px;
  --signup-content-gutters: 48px;
}
.page-signup-shell .signup-shell {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  background: #121212;
}
.page-signup-shell .signup-shell__surface {
  position: relative;
  isolation: isolate;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
/* Procedural artwork, isolated from page content and the footer. */
.page-signup-shell .signup-shell__decoration {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}
.page-signup-shell .signup-shell__artwork {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1366 / 907.788;
  overflow: hidden;
  isolation: isolate;
  opacity: 0.7;
  background: #0e0e0e;
  -webkit-mask-image: linear-gradient(to bottom, #000 55.28%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 55.28%, transparent 100%);
}
.page-signup-shell .signup-shell__blobs {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 33.1% 37.1% at 59.5% 15.7%, rgba(17,220,72,0.447) 0%, rgba(17,220,72,0.427) 10%, rgba(17,220,72,0.373) 20%, rgba(17,220,72,0.298) 30%, rgba(17,220,72,0.217) 40%, rgba(17,220,72,0.145) 50%, rgba(17,220,72,0.088) 60%, rgba(17,220,72,0.049) 70%, rgba(17,220,72,0.025) 80%, rgba(17,220,72,0.012) 90%, rgba(17,220,72,0) 100%),
      radial-gradient(ellipse 19.4% 50.8% at 84.6% 46.5%, rgba(201,251,102,0.823) 0%, rgba(201,251,102,0.787) 10%, rgba(201,251,102,0.688) 20%, rgba(201,251,102,0.549) 30%, rgba(201,251,102,0.401) 40%, rgba(201,251,102,0.267) 50%, rgba(201,251,102,0.163) 60%, rgba(201,251,102,0.091) 70%, rgba(201,251,102,0.046) 80%, rgba(201,251,102,0.022) 90%, rgba(201,251,102,0) 100%),
      radial-gradient(ellipse 21.5% 61.4% at 74.7% 36.3%, rgba(43,245,64,0.617) 0%, rgba(43,245,64,0.590) 10%, rgba(43,245,64,0.516) 20%, rgba(43,245,64,0.412) 30%, rgba(43,245,64,0.301) 40%, rgba(43,245,64,0.200) 50%, rgba(43,245,64,0.122) 60%, rgba(43,245,64,0.068) 70%, rgba(43,245,64,0.035) 80%, rgba(43,245,64,0.016) 90%, rgba(43,245,64,0) 100%),
      radial-gradient(ellipse 24.6% 51.5% at 81.2% 9.2%, rgba(168,59,254,0.900) 0%, rgba(168,59,254,0.861) 10%, rgba(168,59,254,0.752) 20%, rgba(168,59,254,0.600) 30%, rgba(168,59,254,0.438) 40%, rgba(168,59,254,0.292) 50%, rgba(168,59,254,0.178) 60%, rgba(168,59,254,0.099) 70%, rgba(168,59,254,0.051) 80%, rgba(168,59,254,0.024) 90%, rgba(168,59,254,0) 100%),
      radial-gradient(ellipse 42.4% 86.2% at 95.4% 53.5%, rgba(163,74,254,0.996) 0%, rgba(163,74,254,0.952) 10%, rgba(163,74,254,0.832) 20%, rgba(163,74,254,0.664) 30%, rgba(163,74,254,0.485) 40%, rgba(163,74,254,0.323) 50%, rgba(163,74,254,0.197) 60%, rgba(163,74,254,0.110) 70%, rgba(163,74,254,0.056) 80%, rgba(163,74,254,0.026) 90%, rgba(163,74,254,0) 100%),
      radial-gradient(ellipse 27.7% 46.8% at 77.1% 68.2%, rgba(225,249,32,0.874) 0%, rgba(225,249,32,0.836) 10%, rgba(225,249,32,0.730) 20%, rgba(225,249,32,0.583) 30%, rgba(225,249,32,0.426) 40%, rgba(225,249,32,0.284) 50%, rgba(225,249,32,0.173) 60%, rgba(225,249,32,0.096) 70%, rgba(225,249,32,0.049) 80%, rgba(225,249,32,0.023) 90%, rgba(225,249,32,0) 100%),
      radial-gradient(ellipse 44.2% 69.7% at 72.4% 28.0%, rgba(99,205,246,0.970) 0%, rgba(99,205,246,0.927) 10%, rgba(99,205,246,0.810) 20%, rgba(99,205,246,0.647) 30%, rgba(99,205,246,0.472) 40%, rgba(99,205,246,0.315) 50%, rgba(99,205,246,0.192) 60%, rgba(99,205,246,0.107) 70%, rgba(99,205,246,0.054) 80%, rgba(99,205,246,0.025) 90%, rgba(99,205,246,0) 100%),
      radial-gradient(ellipse 38.1% 59.0% at 53.0% 34.4%, rgba(34,204,109,0.826) 0%, rgba(34,204,109,0.790) 10%, rgba(34,204,109,0.690) 20%, rgba(34,204,109,0.551) 30%, rgba(34,204,109,0.402) 40%, rgba(34,204,109,0.268) 50%, rgba(34,204,109,0.164) 60%, rgba(34,204,109,0.091) 70%, rgba(34,204,109,0.046) 80%, rgba(34,204,109,0.022) 90%, rgba(34,204,109,0) 100%);
}
.page-signup-shell .signup-shell__artwork::before,
.page-signup-shell .signup-shell__artwork::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='2.4' intercept='-0.700'/%3E%3CfeFuncG type='linear' slope='2.4' intercept='-0.700'/%3E%3CfeFuncB type='linear' slope='2.4' intercept='-0.700'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 240px 240px;
  background-repeat: repeat;
}
.page-signup-shell .signup-shell__artwork::after {
  opacity: 0.42;
  mix-blend-mode: overlay;
}
.page-signup-shell .signup-shell__artwork::before {
  z-index: 1;
  opacity: 0.028;
  mix-blend-mode: screen;
  background-position: 120px 80px;
}
@media (max-width: 1023px) {
  .page-signup-shell .signup-shell__artwork {
    top: -110px;
    height: 628.337px;
    aspect-ratio: auto;
    -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
  }
  .page-signup-shell .signup-shell__blobs {
    inset: auto;
    top: 0;
    left: 77.23%;
    width: max(100%, 936.578px);
    aspect-ratio: 1264 / 848;
    transform: translateX(-77.23%);
  }
}

.page-signup-shell .signup-shell__container {
  width: calc(100% - 48px);
  max-width: var(--container-wide, 1200px);
  margin-inline: auto;
}
.page-signup-shell .signup-shell__header { padding-block: 18px; }
.page-signup-shell .signup-shell__brand { display: inline-flex; align-items: center; }
.page-signup-shell .signup-shell__brand img { display: block; width: 126px; height: auto; }
.page-signup-shell .signup-shell__main { flex: 1; min-width: 0; padding-block: 56px 80px; }
/* HubSpot inserts row wrappers between the DnD area and its sections.
   Cap section content, not section backgrounds or nested column rows.
   Important declarations override HubSpot-generated full-width rules. */
body.page-signup-shell .signup-shell__content .dnd-section > .row-fluid {
  box-sizing: border-box;
  width: 100% !important;
  max-width: min(1200px, calc(100% - var(--signup-content-gutters))) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-signup-shell .signup-shell__footer {
  border-top: 1px solid rgba(255, 255, 255, .06);
  background: rgba(18, 18, 18, .8);
  padding-block: 28px;
  color: #999;
  font-size: 14px;
  line-height: 1.5;
}
.page-signup-shell .signup-shell__footer-inner { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.page-signup-shell .signup-shell__footer p { margin: 0; }
.page-signup-shell .signup-shell__footer-inner > p:first-child { margin-right: auto; }
.page-signup-shell .signup-shell__legal { display: flex; flex-wrap: wrap; gap: 24px; }
.page-signup-shell .signup-shell__footer a { color: inherit; text-decoration: none; }
.page-signup-shell .signup-shell__footer .signup-shell__email { color: #1bb35b; }
.page-signup-shell .signup-shell__footer a:hover { text-decoration: underline; }
.page-signup-shell .signup-shell a:focus-visible { outline: 2px solid #1bb35b; outline-offset: 5px; }
.page-signup-shell .signup-shell__skip-link { position: absolute; top: 8px; left: 24px; transform: translateY(-200%); z-index: 10; background: #121212; color: #fff; padding: 12px; }
.page-signup-shell .signup-shell__skip-link:focus { transform: translateY(0); }
@media (max-width: 767px) {
  body.page-signup-shell { --signup-content-gutters: 32px; }
  .page-signup-shell .signup-shell__container { width: calc(100% - 32px); }
  .page-signup-shell .signup-shell__main { padding-block: 32px 48px; }
  .page-signup-shell .signup-shell__footer-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* Sign-up reusable section. Four permanent slots, arranged in two visual columns.
   Keep the four outer columns; add/replace modules inside them. */
body.page-signup-shell .signup-shell__main:has(.signup-two-column) {
  padding-block: 0;
}
body.page-signup-shell .signup-shell__content .signup-two-column.dnd-section {
  padding: 40px 0 80px !important;
}
body.page-signup-shell .signup-shell__content .signup-two-column.dnd-section > .row-fluid {
  display: grid !important;
  grid-template-columns: minmax(0, 608fr) minmax(0, 496fr);
  grid-template-rows: auto auto auto;
  column-gap: 96px;
  row-gap: 40px;
  align-items: start;
}
/* Neutralize clearfix pseudo-elements so they do not become grid items. */
body.page-signup-shell .signup-two-column > .row-fluid::before,
body.page-signup-shell .signup-two-column > .row-fluid::after { display: none !important; }
body.page-signup-shell .signup-two-column > .row-fluid > .dnd-column {
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
body.page-signup-shell .signup-two-column > .row-fluid > .dnd-column:nth-child(1) { grid-area: 1 / 1 / 2 / 2; }
body.page-signup-shell .signup-two-column > .row-fluid > .dnd-column:nth-child(2) { grid-area: 1 / 2 / 4 / 3; }
body.page-signup-shell .signup-two-column > .row-fluid > .dnd-column:nth-child(3) { grid-area: 2 / 1 / 3 / 2; }
body.page-signup-shell .signup-two-column > .row-fluid > .dnd-column:nth-child(4) {
  grid-area: 3 / 1 / 4 / 2;
  padding-top: 16px !important; /* 40px row gap + 16px = 56px before awards */
}
/* Provisional tablet breakpoint: no tablet design supplied. */
@media (max-width: 1023px) {
  body.page-signup-shell .signup-shell__content .signup-two-column.dnd-section {
    padding-block: 40px 56px !important;
  }
  body.page-signup-shell .signup-shell__content .signup-two-column.dnd-section > .row-fluid {
    max-width: min(1200px, calc(100% - var(--signup-content-gutters))) !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 40px;
  }
  body.page-signup-shell .signup-two-column > .row-fluid > .dnd-column:nth-child(n) {
    grid-area: auto;
    padding-top: 0 !important;
  }
}
