      :root {
        --bg: #0a0a0a;
        --panel-1: #141414;
        --panel-2: #1c1c1c;
        --panel-3: #242424;
        --border: #2a2a2a;
        --border-soft: #1f1f1f;
        --text: #f5f5f5;
        --text-dim: #a0a0a0;
        --text-faint: #6b6b6b;
        --green: #92fe85;
        --green-dim: #6ac85e;
        --magenta: #ff3b76;
        --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
        --sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
      }

      *,
      *::before,
      *::after {
        box-sizing: border-box;
      }

      html,
      body {
        margin: 0;
        padding: 0;
      }

      body {
        background: var(--bg);
        color: var(--text);
        font-family: var(--mono);
        font-size: 13px;
        line-height: 1.55;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }

      ::selection {
        background: var(--green);
        color: #0a0a0a;
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      /* Grain / subtle noise overlay for atmosphere */
      body::before {
        content: "";
        position: fixed;
        inset: 0;
        background-image: radial-gradient(
            1200px 600px at 20% -10%,
            rgba(146, 254, 133, 0.035),
            transparent 60%
          ),
          radial-gradient(
            900px 500px at 110% 10%,
            rgba(255, 59, 118, 0.025),
            transparent 60%
          );
        pointer-events: none;
        z-index: 0;
      }

      body::after {
        content: "";
        position: fixed;
        inset: 0;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
        opacity: 0.55;
        mix-blend-mode: overlay;
        pointer-events: none;
        z-index: 1;
      }

      .shell {
        position: relative;
        z-index: 2;
        max-width: 1264px;
        margin: 0 auto;
        padding: 28px 32px 30px;
      }

      /* ============ NAV ============ */
      .nav {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        padding: 8px 0 56px;
        max-width: 1123px;
      }

      .brand {
        font-family: var(--mono);
        font-size: 26px;
        font-weight: 400;
        letter-spacing: 0;
        white-space: nowrap;
      }

      .brand .logo {
        display: inline-block;
        vertical-align: middle;
        margin-right: -6px;
        transform: translateY(-2px);
      }

      .nav-right {
        font-family: var(--mono);
        font-size: 13px;
        color: var(--text-dim);
      }

      .nav-right .ea {
        color: var(--green);
        margin-right: 8px;
      }

      .nav-right .nav-mobile.ea {
        margin-right: 0;
      }

      /* Toggle between desktop and mobile variants */
      .nav-right .nav-mobile {
        display: none;
      }

      .eyebrow .eb-mobile {
        display: none;
      }

      /* ============ TERMINAL STRIP ============ */
      .terminal {
        display: none;
        /* Temporarily hidden — toggle to 'flex' to bring it back */
        justify-content: flex-start;
        align-items: center;
        gap: 40px;
        margin-bottom: 52px;
        opacity: 1;
      }

      .terminal .pixel-logo,
      .terminal .lines,
      .terminal .mag-square {
        display: none;
      }

      /* Platform logos group */
      .platform-logos {
        display: flex;
        align-items: center;
        gap: 28px;
      }

      .plogo {
        width: 61px;
        height: 61px;
        display: inline-block;
        cursor: pointer;
        transform: scale(1);
        transition: transform 0.12s ease-out;
      }

      .plogo.pop {
        transform: scale(1.08);
      }

      .plogo.state-done {
        cursor: default;
      }

      .plogo.state-lit {
        cursor: default;
      }

      .plogo .pixel-grid {
        display: grid;
        grid-template-columns: repeat(8, 5px);
        gap: 3px;
      }

      .plogo .pixel {
        width: 5px;
        height: 5px;
        background: transparent;
        border-radius: 1.5px;
        transition: background 0.25s linear;
      }

      /* Shell (pixels with value 1) — dim-white, but turns green when done */
      .plogo .pixel.dim {
        background: rgba(225, 228, 231, 0.2);
      }

      .plogo .pixel.dim.to-green {
        background: rgba(146, 254, 133, 0.2);
      }

      /* Figure (pixels with value 2) — cycle through states */
      .plogo.state-idle .pixel.fig {
        background: rgba(225, 228, 231, 0.5);
      }

      .plogo.state-idle:hover .pixel.fig {
        background: rgba(225, 228, 231, 0.7);
      }

      .plogo.state-lit .pixel.fig {
        background: #e1e4e7;
      }

      .plogo .pixel.fig.to-green {
        background: var(--green);
      }

      /* Long pixel rectangle — 8 rows × 32 cols (animated progress bar) */
      .long-bar {
        display: grid;
        grid-template-columns: repeat(32, 5px);
        gap: 3px;
        opacity: 1;
        transition: opacity 0.4s ease;
      }

      .long-bar.is-visible {
        opacity: 1;
      }

      .long-bar .pixel {
        width: 5px;
        height: 5px;
        border-radius: 1.5px;
        transition: background 0.18s linear;
        will-change: transform;
      }

      .long-bar .pixel.empty {
        background: transparent;
      }

      .long-bar .pixel.dim {
        background: rgba(225, 228, 231, 0.2);
      }

      .long-bar .pixel.on {
        background: #e1e4e7;
      }

      /* Small magenta square — 8x8 grid, inner 4x4 lit */
      .mag-square {
        width: 61px;
        height: 61px;
      }

      .mag-square .pixel-grid {
        display: grid;
        grid-template-columns: repeat(8, 5px);
        gap: 3px;
      }

      .mag-square .pixel {
        width: 5px;
        height: 5px;
        background: transparent;
        border-radius: 1.5px;
      }

      .mag-square .pixel.dim {
        background: rgba(255, 59, 118, 0.2);
      }

      .mag-square .pixel.on {
        background: #ff3b76;
      }

      /* ============ HERO ============ */
      .hero {
        display: grid;
        grid-template-columns: 1fr 500px;
        gap: 48px;
        align-items: center;
        margin-bottom: 104px;
        max-width: 1123px;
      }

      .eyebrow {
        font-family: var(--mono);
        font-weight: 500;
        font-size: 21px;
        letter-spacing: 0;
        color: rgba(146, 254, 133, 0.7);
        margin-bottom: 17px;
        display: inline-block;
      }

      h1 {
        font-family: var(--sans);
        font-weight: 500;
        font-size: 69px;
        line-height: 1.02;
        letter-spacing: -0.025em;
        margin: 0 0 24px;
        padding-bottom: 0.08em;
        background: linear-gradient(90deg, #e1e4e7 0%, #92fe85 25%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent;
      }

      h1 .accent {
        color: inherit;
      }

      .hero-copy {
        font-family: var(--sans);
        font-weight: 400;
        font-size: 21px;
        line-height: 31px;
        color: rgba(243, 247, 250, 0.75);
        max-width: 540px;
        margin: 0 0 36px;
        letter-spacing: -0.005em;
      }

      .available {
        font-family: var(--sans);
        font-weight: 400;
        font-size: 16px;
        color: rgba(243, 247, 250, 0.5);
        line-height: 1.6;
        margin-bottom: 14px;
      }

      .available a, .available strong {
        color: var(--text);
        border-bottom: none;
      }

      .available .mobile-only-br {
        display: none;
      }

      .store-icons {
        display: flex;
        gap: 24px;
        margin-top: 4px;
      }

      .store-icon {
        display: inline-flex;
        color: var(--text);
        transition: color 0.2s, transform 0.2s;
      }

      .store-icon:hover {
        transform: translateY(-1px);
      }

      .store-icon.dim {
        opacity: 0.25;
      }

      .store-icon svg {
        width: 38px;
        height: 38px;
        display: block;
      }

      /* ============ FORM ============ */
      .form-card {
        background: linear-gradient(
            135deg,
            rgba(225, 228, 231, 0.05) 0%,
            rgba(225, 228, 231, 0) 100%
          ),
          var(--panel-1);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 25px;
        width: 500px;
        display: grid;
        grid-template-columns: 170px 1fr;
        column-gap: 25px;
        row-gap: 19px;
      }

      .field {
        display: flex;
        flex-direction: column;
        gap: 10px;
        grid-column: 1 / -1;
      }

      .field.half {
        grid-column: auto;
      }

      .field.full {
        grid-column: 1 / -1;
      }

      .field label {
        font-family: var(--mono);
        font-weight: 400;
        font-size: 15px;
        letter-spacing: 0;
        color: var(--text);
      }

      .field .with-info {
        display: inline-flex;
        align-items: center;
        gap: 10px;
      }

      .info-icon {
        width: 22px;
        height: 22px;
        display: inline-grid;
        place-items: center;
        color: var(--green);
        cursor: help;
      }

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

      .input,
      .select {
        width: 100%;
        background: #1f2526;
        border: none;
        box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.25);
        border-radius: 8px;
        color: var(--text);
        font-family: var(--mono);
        font-weight: 400;
        font-size: 15px;
        padding: 0 16px;
        height: 45px;
        transition: box-shadow 0.15s, background 0.15s;
      }

      .input::placeholder {
        color: rgba(243, 247, 250, 0.35);
      }

      .input:focus,
      .select:focus {
        outline: none;
        box-shadow: inset 0 0 0 1px var(--green);
        background: #252c2d;
      }

      .select {
        appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'><path d='M1 1l6 6 6-6' stroke='%23a0a0a0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
        background-repeat: no-repeat;
        background-position: right 16px center;
        padding-right: 40px;
        color: var(--text);
      }

      .select:has(option[value=""]:checked) {
        color: rgba(243, 247, 250, 0.35);
      }

      .input-wrap {
        position: relative;
      }

      .input-wrap .copy-btn {
        position: absolute;
        right: 8px;
        top: 50%;
        transform: translateY(-50%);
        width: 32px;
        height: 32px;
        display: grid;
        place-items: center;
        background: transparent;
        border: none;
        color: var(--text-dim);
        cursor: pointer;
        border-radius: 6px;
      }

      .input-wrap .copy-btn:hover {
        background: var(--panel-3);
        color: var(--text);
      }

      .input-wrap .copy-btn svg {
        width: 18px;
        height: 18px;
      }

      .consent {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 21px 1fr;
        gap: 18px;
        align-items: start;
        font-family: var(--mono);
        font-weight: 400;
        font-size: 15px;
        color: var(--text);
        line-height: 1.55;
      }

      .consent input[type="checkbox"] {
        appearance: none;
        width: 21px;
        height: 21px;
        border: 1.5px solid #3a3a3a;
        border-radius: 4px;
        background: transparent;
        margin: 0;
        cursor: pointer;
        position: relative;
        flex-shrink: 0;
      }

      .consent input[type="checkbox"]:checked {
        background: var(--green);
        border-color: var(--green);
      }

      .consent input[type="checkbox"]:checked::after {
        content: "";
        position: absolute;
        left: 7px;
        top: 2px;
        width: 5px;
        height: 11px;
        border: solid #0a0a0a;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
      }

      .consent a {
        color: var(--text);
        border-bottom: none;
        font-weight: 500;
      }

      .btn-primary {
        grid-column: 1 / -1;
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        background: var(--green);
        color: #0a0a0a;
        font-family: var(--mono);
        font-weight: 600;
        font-size: 18px;
        letter-spacing: 0;
        white-space: nowrap;
        padding: 0 18px 0 16px;
        height: 45px;
        border: none;
        border-radius: 10px;
        cursor: pointer;
        transition: background 0.15s, transform 0.1s;
      }

      .btn-primary:hover {
        background: #a8ff9b;
      }

      .btn-primary:active {
        transform: translateY(1px);
      }

      .btn-primary svg {
        width: 24px;
        height: 24px;
      }

      .btn-primary:disabled {
        opacity: 0.5;
        cursor: not-allowed;
      }

      .btn-primary:disabled:hover {
        background: var(--green);
      }

      /* Invalid field (failed client-side validation) — shares the error red */
      .input.is-invalid,
      .select.is-invalid {
        box-shadow: inset 0 0 0 1px #ff3d61;
      }

      .consent.is-invalid input[type="checkbox"] {
        border-color: #ff3d61;
      }

      /* Disabled form state */
      .form-card.is-submitting .input,
      .form-card.is-submitting .select,
      .form-card.is-submitting .consent input,
      .form-card.is-submitting .copy-btn {
        pointer-events: none;
        opacity: 0.6;
      }

      /* Error message below the form container */
      .form-error {
        font-family: var(--mono);
        font-size: 13px;
        line-height: 1.4;
        color: #ff3d61;
        text-align: center;
        margin-top: 16px;
        display: none;
      }

      .form-error.is-visible {
        display: block;
      }

      /* ============ DISCORD COMMUNITY BLOCK ============ */
      .community-block {
        margin-top: 18px;
        padding: 18px 4px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 32px;
      }

      .community-text {
        font-family: var(--sans);
        font-weight: 400;
        font-size: 19px;
        line-height: 28px;
        color: rgba(243, 247, 250, 0.75);
        max-width: 560px;
        margin: 0;
        letter-spacing: -0.005em;
      }

      .btn-discord {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        background: #5865f2;
        color: #fff;
        font-family: var(--mono);
        font-weight: 600;
        font-size: 18px;
        letter-spacing: 0;
        white-space: nowrap;
        padding: 0 28px;
        min-width: 180px;
        height: 45px;
        border: none;
        border-radius: 10px;
        text-decoration: none;
        cursor: pointer;
        transition: background 0.15s, transform 0.1s;
        flex-shrink: 0;
      }

      .btn-discord:hover {
        background: #6d76f4;
      }

      .btn-discord:active {
        transform: translateY(1px);
      }

      .btn-discord svg {
        width: 28px;
        height: 21px;
        display: block;
      }

      /* Success state */
      .form-success {
        display: none;
      }

      .form-wrap.is-submitted #signup-form {
        display: none;
      }

      .form-wrap.is-submitted .form-success {
        background: linear-gradient(
            135deg,
            rgba(225, 228, 231, 0.05) 0%,
            rgba(225, 228, 231, 0) 100%
          ),
          var(--panel-1);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 25px;
        width: 500px;
        height: 575px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        animation: successIn 0.4s ease forwards;
      }

      .form-success-eyebrow {
        font-family: var(--mono);
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0;
        color: var(--text);
        text-transform: uppercase;
      }

      .form-success-icon {
        align-self: center;
        width: 183px;
        height: 183px;
        display: block;
      }

      .form-success-icon .pixel-grid {
        display: grid;
        grid-template-columns: repeat(8, 15px);
        gap: 9px;
      }

      .form-success-icon .pixel {
        width: 15px;
        height: 15px;
        background: transparent;
        border-radius: 3px;
      }

      .form-success-icon .pixel.dim {
        background: rgba(146, 254, 133, 0.2);
      }

      .form-success-icon .pixel.on {
        background: var(--green);
      }

      .form-success-text {
        font-family: var(--mono);
        font-weight: 400;
        font-size: 18px;
        line-height: 28px;
        color: rgba(243, 247, 250, 0.5);
        letter-spacing: 0;
        text-transform: uppercase;
      }

      @keyframes successIn {
        from {
          opacity: 0;
          transform: translateY(6px);
        }

        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      /* ============ SECTIONS ============ */
      .section {
        margin-bottom: 96px;
        max-width: 1123px;
      }

      .section-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-family: var(--mono);
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0;
        color: var(--green);
        margin-bottom: 13px;
      }

      .section-eyebrow .dot {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--green);
        box-shadow: 0 0 10px rgba(146, 254, 133, 0.5);
      }

      .section-eyebrow.muted {
        color: #bbb59a;
      }

      .section-eyebrow.muted .dot {
        background: #bbb59a;
        box-shadow: 0 0 10px rgba(187, 181, 154, 0.4);
      }

      .section-eyebrow.plain {
        color: var(--text-dim);
      }

      .section-eyebrow.plain .dot {
        background: var(--text-dim);
        box-shadow: none;
      }

      h2 {
        font-family: var(--sans);
        font-weight: 600;
        font-size: 32px;
        line-height: 1.1;
        letter-spacing: -0.02em;
        margin: 0 0 14px;
        color: var(--text);
      }

      .section-sub {
        font-family: var(--sans);
        font-weight: 400;
        font-size: 21px;
        line-height: 31px;
        color: rgba(243, 247, 250, 0.75);
        max-width: 720px;
        margin: 0 0 36px;
        letter-spacing: -0.005em;
      }

      /* ============ FEATURE GRID ============ */
      .features {
        display: grid;
        grid-template-columns: repeat(3, 357px);
        gap: 25px;
      }

      .feature {
        background: linear-gradient(
            135deg,
            rgba(225, 228, 231, 0.05) 0%,
            rgba(225, 228, 231, 0) 100%
          ),
          var(--panel-1);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 28px 15px 28px 15px;
        width: 357px;
        height: 295px;
        transition: border-color 0.2s, background 0.2s, transform 0.25s;
        position: relative;
      }

      .feature:hover {
        border-color: #3a3a3a;
        background: #161616;
        transform: translateY(-2px);
      }

      .feature .card-icon {
        width: 69px;
        height: 69px;
        margin-bottom: 25px;
        display: block;
      }

      .feature .card-icon .pixel-grid {
        display: grid;
        grid-template-columns: repeat(8, 6px);
        gap: 3px;
      }

      .feature .card-icon .pixel {
        width: 6px;
        height: 6px;
        background: transparent;
        border-radius: 2px;
      }

      .feature .card-icon .pixel.dim {
        background: rgba(225, 228, 231, 0.2);
      }

      .feature .card-icon .pixel.on {
        background: #e1e4e7;
      }

      .feature.magnet-target .card-icon .pixel {
        will-change: transform;
      }

      /* ============ MAGNETIC HERO ICON ============ */
      .magnet-hero {
        display: none;
        /* Temporarily hidden — toggle to 'flex' to bring it back */
        justify-content: center;
        align-items: center;
        margin-bottom: 48px;
        max-width: 1123px;
      }

      .magnet-target-hero {
        width: 69px;
        height: 69px;
        display: block;
        cursor: pointer;
      }

      .magnet-target-hero .pixel-grid {
        display: grid;
        grid-template-columns: repeat(8, 6px);
        gap: 3px;
      }

      .magnet-target-hero .pixel {
        width: 6px;
        height: 6px;
        background: transparent;
        border-radius: 2px;
        will-change: transform;
      }

      .magnet-target-hero .pixel.dim {
        background: rgba(225, 228, 231, 0.2);
      }

      .magnet-target-hero .pixel.on {
        background: #e1e4e7;
      }

      .feature h3 {
        font-family: var(--sans);
        font-weight: 500;
        font-size: 23px;
        letter-spacing: -0.005em;
        margin: 0 0 8px;
        color: #f3f7fa;
      }

      .feature p {
        font-family: var(--sans);
        font-weight: 400;
        font-size: 16px;
        line-height: 25px;
        color: rgba(243, 247, 250, 0.5);
        margin: 0;
        letter-spacing: -0.005em;
      }

      .available-footnote {
        font-family: var(--sans);
        font-weight: 400;
        font-size: 16px;
        color: rgba(243, 247, 250, 0.5);
        text-align: left;
        margin-top: 28px;
      }

      .available-footnote a, .available-footnote strong {
        color: var(--text);
        border-bottom: none;
      }

      /* ============ VISION (compact feature grid) ============ */
      .vision-grid {
        display: grid;
        grid-template-columns: repeat(3, 357px);
        gap: 25px;
      }

      .vision-card {
        background: linear-gradient(
            135deg,
            rgba(225, 228, 231, 0.05) 0%,
            rgba(225, 228, 231, 0) 100%
          ),
          var(--panel-1);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: 28px 15px 28px 15px;
        width: 357px;
        height: 201px;
        transition: border-color 0.2s, background 0.2s, transform 0.25s;
      }

      .vision-card:hover {
        border-color: #3a3a3a;
        background: #161616;
        transform: translateY(-2px);
      }

      .vision-card h3 {
        font-family: var(--sans);
        font-weight: 500;
        font-size: 23px;
        letter-spacing: -0.005em;
        margin: 0 0 8px;
        color: #f3f7fa;
      }

      .vision-card p {
        font-family: var(--sans);
        font-weight: 400;
        font-size: 16px;
        line-height: 25px;
        color: rgba(243, 247, 250, 0.5);
        margin: 0;
        letter-spacing: -0.005em;
      }

      /* ============ FAQ ============ */
      .faq-eyebrow {
        margin-bottom: 13px;
      }

      .faq h2 {
        margin-bottom: 30px;
      }

      .faq-list {
        border-top: 1px solid var(--border-soft);
      }

      .faq-item {
        border-bottom: 1px solid var(--border-soft);
      }

      .faq-q {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: transparent;
        border: none;
        padding: 18px 4px;
        font-family: var(--mono);
        font-weight: 400;
        font-size: 24px;
        color: var(--text);
        cursor: pointer;
        text-align: left;
      }

      .faq-q .sign {
        font-family: var(--mono);
        color: var(--text-dim);
        font-size: 28px;
        font-weight: 300;
        transition: transform 0.2s, color 0.2s;
      }

      .faq-item.open .faq-q .sign {
        color: var(--green);
      }

      .faq-a {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
      }

      .faq-a-inner {
        padding: 0 4px 20px;
        font-family: var(--sans);
        font-weight: 400;
        font-size: 17px;
        line-height: 26px;
        color: rgba(243, 247, 250, 0.5);
        letter-spacing: -0.005em;
        max-width: 720px;
      }

      .faq-a-inner a {
        color: var(--text);
        transition: color 0.15s;
      }

      .faq-a-inner a:hover {
        color: var(--green);
      }

      .faq-item.open .faq-a {
        max-height: 500px;
      }

      .community-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 22px 4px 0;
        font-family: var(--mono);
        font-weight: 400;
        font-size: 26px;
        color: var(--text);
      }

      /* ============ CTA ============ */
      .cta h2 {
        font-size: 32px;
        max-width: 560px;
      }

      .cta h2 .accent {
        color: var(--text);
      }

      .section.cta {
        margin-bottom: 68px;
      }

      .cta .btn-primary {
        display: inline-flex;
        width: auto;
        min-width: 326px;
        margin-top: 8px;
      }

      /* ============ FOOTER DIVIDER (pixel dotted line) ============ */
      .pixel-divider {
        max-width: 1123px;
        height: 2px;
        margin-top: 16px;
        /* 2px pixel + 2px gap, repeating horizontally — matches nav/footer logo scale */
        background-image: linear-gradient(
          to right,
          rgba(225, 228, 231, 0.2) 0,
          rgba(225, 228, 231, 0.2) 2px,
          transparent 2px,
          transparent 4px
        );
        background-size: 4px 2px;
        background-repeat: repeat-x;
        background-position: 0 center;
      }

      /* ============ FOOTER ============ */
      .footer {
        max-width: 1123px;
        margin-top: 12px;
        padding: 16px 0 0;
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 24px;
      }

      .footer-copy {
        font-family: var(--mono);
        font-size: 13px;
        letter-spacing: 0.08em;
        color: var(--text);
        text-transform: uppercase;
      }

      .footer-copy .fc-medium {
        font-weight: 500;
      }

      .footer-copy .fc-regular {
        font-weight: 400;
      }
      .footer-copy ul {
        margin-left: 20px;
        padding: 0;
        display: inline;
      }
      .footer-copy li {
        display: inline-block;
      }
      .footer-copy li:not(:first-child) {
        margin-left: 16px;
      }
      .footer-copy a {
        &:hover {
          opacity: 100%;
        }
        opacity: 50%;
      }

      .footer-marks {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        justify-self: end;
      }

      .footer-marks .diver-logo {
        width: 23px;
        height: 30px;
        display: block;
        color: var(--text);
      }

      .footer-marks .diver-logo svg {
        width: 100%;
        height: 100%;
        display: block;
      }

      .footer-marks .logo.small {
        display: inline-block;
      }

      /* ============ PIXEL LOGOS ============ */
      .pixel-grid {
        display: grid;
        gap: 2px;
      }

      .pixel {
        background: #3a3a3a;
        border-radius: 1px;
      }

      .pixel.on {
        background: #e5e5e5;
      }

      .pixel.on-green {
        background: var(--green);
      }

      .pixel.on-yellow {
        background: #fde047;
      }

      /* Brand logo (nav) — 8x8 pixel grid */
      .brand .logo {
        display: inline-block;
      }

      .logo.small .pixel-grid {
        grid-template-columns: repeat(8, 2px);
        gap: 2px;
      }

      .logo.small .pixel {
        width: 2px;
        height: 2px;
        background: transparent;
        border-radius: 0.5px;
      }

      .logo.small .pixel.dim {
        background: rgba(225, 228, 231, 0.2);
      }

      .logo.small .pixel.on {
        background: #e1e4e7;
      }

      /* Terminal-strip logo — same 8x8 donut as brand, scaled up */
      .pixel-logo .pixel-grid {
        grid-template-columns: repeat(8, 5px);
        gap: 3px;
      }

      .pixel-logo .pixel {
        width: 5px;
        height: 5px;
        background: transparent;
        border-radius: 1.5px;
      }

      .pixel-logo .pixel.dim {
        background: rgba(225, 228, 231, 0.2);
      }

      .pixel-logo .pixel.on {
        background: #e1e4e7;
      }

      /* Feature card logo styles removed — cards now use a simple square placeholder (see .card-icon above) */

      /* ============ RESPONSIVE ============ */
      @media (max-width: 768px) {
        /* Shell: tighter padding */
        .shell {
          padding: 20px 18px 30px;
        }

        /* Nav: reduce bottom padding */
        .nav {
          padding: 8px 0 32px;
        }

        /* Nav brand: smaller */
        .brand {
          font-size: 22px;
        }

        /* H1: fits in 2 lines at mobile width */
        h1 {
          font-size: 44px;
        }

        /* Eyebrow: fits in one line */
        .eyebrow {
          font-size: 17px;
        }

        /* Nav right: hide on mobile */
        .nav-right {
          display: none;
        }

        /* Eyebrow: use desktop variant on mobile too */
        .eyebrow .eb-mobile {
          display: none;
        }

        /* Available: show extra br for 3-line layout */
        .available .mobile-only-br {
          display: inline;
        }

        /* Hero: single column, form below */
        .hero {
          grid-template-columns: 1fr;
          gap: 40px;
          align-items: start;
          margin-bottom: 64px;
        }

        /* Form: full width, single column */
        .form-wrap {
          width: 100%;
        }

        .form-card {
          width: 100%;
          grid-template-columns: 1fr;
          column-gap: 0;
        }

        /* Half fields become full width in mobile */
        .field.half {
          grid-column: 1 / -1;
        }

        /* Success state matches form width */
        .form-wrap.is-submitted .form-success {
          width: 100%;
          height: auto;
          min-height: 420px;
        }

        /* Features and vision: single column */
        .features,
        .vision-grid {
          grid-template-columns: 1fr;
        }

        .feature,
        .vision-card {
          width: 100%;
          height: auto;
          min-height: 0;
        }

        /* FAQ: smaller question size, gap to the +/- sign, align sign to top */
        .faq-q {
          font-size: 19px;
          gap: 16px;
          align-items: flex-start;
        }

        .faq-q .sign {
          flex-shrink: 0;
          line-height: 1;
          margin-top: 2px;
        }

        /* Section spacing tighter */
        .section {
          margin-bottom: 64px;
        }

        /* Community block: stack text + button */
        .community-block {
          flex-direction: column;
          align-items: flex-start;
          gap: 20px;
        }

        .btn-discord {
          width: 100%;
          justify-content: center;
        }

        /* CTA button: full width in mobile to match Discord button */
        .cta .btn-primary {
          width: 100%;
          min-width: 0;
        }

        /* Footer: tighter gap from divider */
        .footer {
          margin-top: 14px;
        }
      }

      /* Narrow phones (iPhone SE, 12/13/14 series, XR, Plus, Pro Max) */
      @media (max-width: 430px) {
        h1 {
          font-size: 40px;
        }

        .eyebrow {
          font-size: 15px;
        }

        .hero-copy {
          font-size: 18px;
          line-height: 27px;
        }

        .footer-copy ul {
          margin-left: 0;
        }
        .footer-copy ul li:not(:first-child) {
          margin-left: 0px;
        }
      }

      /* Entrance animations */
      .fade-in {
        opacity: 0;
        transform: translateY(8px);
        animation: fadeUp 0.6s ease forwards;
      }

      .fade-in.d1 {
        animation-delay: 0.05s;
      }

      .fade-in.d2 {
        animation-delay: 0.15s;
      }

      .fade-in.d3 {
        animation-delay: 0.25s;
      }

      .fade-in.d4 {
        animation-delay: 0.35s;
      }

      @keyframes fadeUp {
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
