 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: Arial, Helvetica, sans-serif;
        }

        body {
            min-height: 100vh;
            padding: 40px 20px;

            /* Gym Background */
            background-image:
                linear-gradient(
                    rgba(0, 0, 0, 0.25),
                    rgba(0, 0, 0, 0.25)
                ),
                url("gym-bg2.png");

            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }

        /* Main Form */
        .membership-container {
            width: 100%;
            max-width: 650px;
            margin: auto;

            background: rgba(255, 255, 255, 0.96);

            border-radius: 20px;
            padding: 35px 40px;

            box-shadow:
                0 20px 50px rgba(0, 0, 0, 0.25);

            backdrop-filter: blur(8px);
        }

        /* Header */
        .header {
            text-align: center;
            margin-bottom: 30px;
        }

        .logo {
            font-size: 45px;
            color: #7225d6;
            margin-bottom: 5px;
        }

        .header h1 {
            color: #6720c9;
            font-size: 38px;
            margin-bottom: 8px;
        }

        .header p {
            color: #6d6d6d;
            font-size: 16px;
        }

        /* Sections */
        .section {
            margin-top: 25px;
        }

        .section-title {
            display: flex;
            align-items: center;
            gap: 10px;

            color: #2d2350;
            font-size: 18px;
            font-weight: bold;

            margin-bottom: 18px;
        }

        .section-title::after {
            content: "";
            height: 1px;
            background: #ddd;
            flex: 1;
        }

        .section-icon {
            color: #7225d6;
            font-size: 20px;
        }

        /* Rows */
        .row {
            display: flex;
            gap: 20px;
        }

        .row .form-group {
            flex: 1;
        }

        /* Form Fields */
        .form-group {
            margin-bottom: 18px;
        }

        label {
            display: block;
            margin-bottom: 7px;

            color: #292336;
            font-size: 14px;
            font-weight: 600;
        }

        input,
        select,
        textarea {
            width: 100%;

            padding: 13px 14px;

            border: 1px solid #d8d4df;
            border-radius: 8px;

            background: #fff;

            color: #333;
            font-size: 14px;

            transition: 0.3s;
        }

        input::placeholder,
        textarea::placeholder {
            color: #999;
        }

        input:focus,
        select:focus,
        textarea:focus {
            outline: none;

            border-color: #7225d6;

            box-shadow:
                0 0 0 3px rgba(114, 37, 214, 0.10);
        }

        textarea {
            min-height: 100px;
            resize: vertical;
        }

        /* Radio Buttons */
        .radio-group {
            display: flex;
            gap: 35px;
            flex-wrap: wrap;
        }

        .radio-option {
            display: flex;
            align-items: center;
            gap: 8px;

            color: #555;
            font-size: 14px;
            cursor: pointer;
        }

        .radio-option input {
            width: 18px;
            height: 18px;

            accent-color: #7225d6;
        }

        /* Terms */
        .terms {
            display: flex;
            align-items: center;
            gap: 10px;

            margin-top: 20px;
            margin-bottom: 22px;
        }

        .terms input {
            width: 18px;
            height: 18px;

            accent-color: #7225d6;
            cursor: pointer;
        }

        .terms label {
            margin: 0;
            color: #555;
            font-weight: normal;
            cursor: pointer;
        }

        /* Button */
        .join-button {
            width: 100%;

            border: none;
            border-radius: 8px;

            padding: 15px;

            background: linear-gradient(
                90deg,
                #7225d6,
                #8b3ee8
            );

            color: white;

            font-size: 18px;
            font-weight: bold;

            cursor: pointer;

            transition: 0.3s;

            box-shadow:
                0 7px 20px rgba(114, 37, 214, 0.25);
        }

        .join-button:hover {
            background: linear-gradient(
                90deg,
                #5e1ab8,
                #7225d6
            );

            transform: translateY(-2px);

            box-shadow:
                0 10px 25px rgba(114, 37, 214, 0.35);
        }

        .arrow {
            margin-left: 8px;
            font-size: 22px;
        }

        /* Responsive */
        @media (max-width: 600px) {

            body {
                padding: 20px 10px;
            }

            .membership-container {
                padding: 25px 20px;
                border-radius: 15px;
            }

            .header h1 {
                font-size: 30px;
            }

            .row {
                flex-direction: column;
                gap: 0;
            }

            .radio-group {
                gap: 18px;
            }
        }