    body {
      overflow-x: clip;
      margin: 0;
      background: #fff;
      color: #211a2d;
      font: 16px/1.6 system-ui, sans-serif;
    }

    .site-nav {
      position: absolute;
      inset: 0 0 auto;
      display: grid;
      z-index: 1;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 16px;
      max-width: 1120px;
      margin-inline: auto;
      padding: 23px 24px;
      font-size: 14px;
    }

    .site-nav::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      width: 100vw;
      height: 1px;
      transform: translateX(-50%);
      background: #211a2d1a;
      pointer-events: none;
    }

    .site-nav a, .button {
      color: inherit;
      text-decoration: none;
    }

    .site-nav a:hover {
      color: #6539a3;
    }

    .nav-links, .hero-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 12px 24px;
    }

    .nav-brand {
      justify-self: start;
    }

    .nav-brand img {
      display: block;
      width: 110px;
      height: auto;
    }

    .nav-end {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 4px 16px;
      justify-self: end;
    }

    .button {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      min-height: 58px;
      padding-inline: 27px;
      border: 0;
      border-radius: 999px;
      background: #fff;
      font-size: 18px;
      font-weight: 600;
    }

    .button:hover {
      background: #f3edf9;
    }

    .button.primary {
      background: #17131d;
      color: #fff;
    }

    .button.primary:hover {
      background: #392b4b;
    }

    .feature-card {
      position: relative;
      isolation: isolate;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      overflow: hidden;
      padding: clamp(16px, 2vw, 26px);
      border: 1px solid #e7e0ee;
      border-radius: 24px;
      background: linear-gradient(155deg, #faf8fd, #eee7f8);
    }

    .join-card {
      align-items: center;
      justify-content: center;
      gap: 32px;
      max-width: 38rem;
      margin-inline: auto;
      padding: clamp(52px, 8vw, 108px) clamp(18px, 4vw, 48px);
      background: radial-gradient(ellipse at 50% 0%, #fff 0%, #f7f0fe 52%, #e9dbfa 100%);
      text-align: center;
    }

    .join-card h2 {
      max-width: 13ch;
      margin: 0 auto;
      font-size: clamp(30px, 4.4vw, 54px);
      line-height: 1.08;
      letter-spacing: -.045em;
      text-wrap: balance;
    }

    .join-card p {
      max-width: 32ch;
      margin: 16px auto 0;
      color: #4b4159;
      text-wrap: balance;
    }

    .join-card .button {
      justify-content: center;
      min-height: 64px;
      padding-inline: 30px;
      white-space: nowrap;
    }

    .join-card .button:focus-visible {
      outline: 2px solid #6539a3;
      outline-offset: 4px;
    }

    @media (prefers-reduced-motion: no-preference) {
      .join-card .button svg { transition: transform 180ms ease; }
      .join-card .button:hover svg { transform: translateX(4px); }
    }

    .site-nav { position: relative; }

    .support-page {
      margin-inline: max(24px, 9vw);
      padding: clamp(44px, 7vw, 96px) clamp(16px, 3vw, 40px);
      border-inline: 1px solid #211a2d1a;
    }

    .policy {
      max-width: 68ch;
      margin-inline: auto;
    }

    .policy h1 {
      margin: 0;
      font-size: clamp(36px, 5vw, 60px);
      letter-spacing: -.05em;
      line-height: 1.08;
    }

    .policy h2 {
      margin: 0 0 8px;
      font-size: 22px;
      line-height: 1.25;
      letter-spacing: -.025em;
    }

    .policy section {
      padding-block: 24px;
      border-top: 1px solid #211a2d1a;
    }

    .policy p { margin: 0; color: #4b4159; }
    .policy > p { margin: 16px 0 32px; }
    .policy a { color: #6539a3; overflow-wrap: anywhere; }

    .join-card h1 {
      max-width: 14ch;
      margin: 0 auto;
      font-size: clamp(30px, 4.4vw, 54px);
      line-height: 1.08;
      letter-spacing: -.045em;
      text-wrap: balance;
    }

    .join-card .button {
      max-width: 100%;
      box-sizing: border-box;
      white-space: normal;
      overflow-wrap: anywhere;
    }

    @media (max-width: 620px) {
      .site-nav { grid-template-columns: 1fr auto; padding: 15px 20px; }
      .nav-links { grid-row: 2; grid-column: 1 / -1; justify-content: start; }
    }
