.signup-band {
    position: relative;
    z-index: 2;
    overflow: hidden;
    isolation: isolate;
    padding: 54px 0 62px;
    background:
        radial-gradient(circle at 42% 42%, rgba(18, 22, 70, 0.45) 0%, rgba(6, 8, 28, 0.75) 36%, rgba(2, 3, 12, 0.95) 70%, #010103 100%),
        linear-gradient(
            115deg,
            #2a0616 0%,
            #0c0f3f 18%,
            #05061f 36%,
            #1a1f67 58%,
            #274f95 78%,
            #5aa2d6 100%
        );
}

.signup-band::before {
    content: "";
    position: absolute;
    inset: -22%;
    z-index: 0;
    pointer-events: none;
    background:
        /* stronger bottom-left red/orange */
        radial-gradient(52% 66% at 6% 92%, rgba(255, 64, 26, 1) 0%, rgba(255, 64, 26, 0.48) 26%, rgba(255, 64, 26, 0.12) 46%, transparent 68%),

        /* subtle top-left color (removes dead black) */
        radial-gradient(34% 42% at 18% 12%, rgba(120, 90, 255, 0.35) 0%, rgba(120, 90, 255, 0.10) 30%, transparent 60%),

        /* top-right cyan */
        radial-gradient(34% 42% at 88% 8%, rgba(114, 226, 255, 0.95) 0%, rgba(114, 226, 255, 0.24) 22%, transparent 54%),

        /* bottom-right purple */
        radial-gradient(38% 46% at 84% 82%, rgba(215, 70, 255, 0.92) 0%, rgba(215, 70, 255, 0.22) 24%, transparent 58%),

        /* mid blue */
        radial-gradient(28% 36% at 58% 20%, rgba(56, 94, 255, 0.78) 0%, rgba(56, 94, 255, 0.16) 28%, transparent 62%),

        /* soft warm accent */
        radial-gradient(22% 28% at 72% 62%, rgba(255, 170, 72, 0.55) 0%, rgba(255, 170, 72, 0.10) 22%, transparent 56%);

    filter: blur(82px) saturate(170%);
    mix-blend-mode: screen;
    opacity: 0.95;
    will-change: transform;
    animation: blobMoveA 5.7s cubic-bezier(.55, .08, .32, .98) infinite;
}

.signup-band::after {
    content: "";
    position: absolute;
    inset: -26%;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(
            135deg,
            rgba(255, 66, 34, 0.18) 0%,
            rgba(255, 66, 34, 0.06) 14%,
            rgba(31, 49, 182, 0.00) 32%,
            rgba(78, 108, 255, 0.14) 50%,
            rgba(194, 76, 255, 0.16) 70%,
            rgba(111, 232, 255, 0.14) 100%
        );
    filter: blur(68px) saturate(190%);
    mix-blend-mode: screen;
    opacity: 0.9;
    will-change: transform;
    animation: blobMoveB 3.9s cubic-bezier(.68, .04, .3, 1) infinite;
    animation-delay: -1.4s;
}
@keyframes blobMoveA {
    0% {
        transform: translate3d(0%, 0%, 0) scale(1) rotate(0deg);
    }
    18% {
        transform: translate3d(5%, -4%, 0) scale(1.12) rotate(1.5deg);
    }
    37% {
        transform: translate3d(-4%, 6%, 0) scale(0.92) rotate(-1deg);
    }
    56% {
        transform: translate3d(6%, 3%, 0) scale(1.16) rotate(2deg);
    }
    74% {
        transform: translate3d(-3%, -5%, 0) scale(0.96) rotate(-1.5deg);
    }
    100% {
        transform: translate3d(0%, 0%, 0) scale(1) rotate(0deg);
    }
}

@keyframes blobMoveB {
    0% {
        transform: translate3d(0%, 0%, 0) scale(1.1) rotate(-8deg);
    }
    14% {
        transform: translate3d(-6%, 3%, 0) scale(0.96) rotate(-5deg);
    }
    33% {
        transform: translate3d(4%, -6%, 0) scale(1.18) rotate(-11deg);
    }
    52% {
        transform: translate3d(-5%, -2%, 0) scale(1.02) rotate(-6deg);
    }
    71% {
        transform: translate3d(3%, 5%, 0) scale(1.14) rotate(-10deg);
    }
    100% {
        transform: translate3d(0%, 0%, 0) scale(1.1) rotate(-8deg);
    }
}

.signup-wrap {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.92fr);
    gap: 64px;
    align-items: center;
}

.signup-copy {
    padding-top: 6px;
}

.signup-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: #f3cb82;
    font-size: 0.9rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-weight: 800;
}

.signup-copy h2 {
    max-width: 540px;
    margin: 0 0 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.9rem, 4.9vw, 4.8rem);
    line-height: 0.92;
    color: #fff7ee;
    letter-spacing: -0.04em;
}

.signup-copy p {
    max-width: 610px;
    color: rgba(255, 244, 227, 0.93);
    font-size: 1.12rem;
    line-height: 1.68;
}

.signup-form-card {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.signup-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.required-note {
    margin: 0 0 8px;
    text-align: right;
    color: rgba(255, 241, 223, 0.88);
    font-size: 0.95rem;
}

.required-note span,
.signup-form > label span {
    color: #ff8b6a;
}

.signup-form label,
.signup-fieldset legend {
    color: #fff6eb;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.signup-form input[type="email"],
.signup-form input[type="text"] {
    width: 100%;
    min-height: 60px;
    padding: 0 16px;
    border: 2px solid rgba(255, 232, 204, 0.58);
    border-radius: 4px;
    background: rgba(255,255,255,0.04);
    color: #fff9f1;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.signup-form input[type="email"]:focus,
.signup-form input[type="text"]:focus {
    border-color: #ff8f67;
    box-shadow: 0 0 0 4px rgba(255, 143, 103, 0.12);
    background: rgba(255,255,255,0.07);
}

.signup-fieldset {
    margin: 10px 0 0;
    padding: 0;
    border: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.signup-fieldset legend {
    margin-bottom: 8px;
}


.radio-option {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.95rem;
    font-weight: 500;
}

.radio-option span {
    font-size: 0.95rem;
}

/* button */

.signup-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
    align-self: flex-start;
    min-width: 184px;
    height: 64px;
    padding: 0 28px;
    border: none;
    border-radius: 0;
    background: #f3f1ee;
    color: #111111;
    font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    font-size: 1.25rem;
    font-weight: 200;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    transition: transform 0.18s ease, background 0.18s ease;
}

.signup-btn:hover {
    transform: translateY(-2px);
    background: #ffffff;
}

.signup-btn:active {
    transform: translateY(0);
}

.signup-btn:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.6);
    outline-offset: 3px;
}


@media (max-width: 1100px) {
    .signup-wrap {
        grid-template-columns: 1fr;
        gap: 42px;
        align-items: start;
    }

    .signup-copy h2,
    .signup-copy p {
        max-width: 100%;
    }
}

@media (max-width: 720px) {
    .signup-band {
        padding: 58px 0 68px;
    }

    .signup-copy h2 {
        font-size: 2.5rem;
    }

    .signup-copy p {
        font-size: 1.03rem;
    }

    .signup-form input[type="email"],
    .signup-form input[type="text"] {
        min-height: 56px;
    }
}

@media (max-width: 560px) {
    .signup-btn {
        width: 100%;
        align-self: stretch;
    }

    .signup-copy h2 {
        font-size: 2.2rem;
    }

    .signup-motion {
        filter: blur(70px);
    }
}
