*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:30px 15px;

    font-family:Arial, Helvetica, sans-serif;

    background:
        radial-gradient(
            circle at 85% 80%,
            rgba(255,0,153,.25),
            transparent 35%
        ),

        radial-gradient(
            circle at 15% 20%,
            rgba(0,238,255,.25),
            transparent 30%
        ),

        linear-gradient(
            135deg,
            #080b29,
            #16113b 45%,
            #071b35
        );

    overflow-x:hidden;
    position:relative;
}

/* Background Glow */

body::before,
body::after{
    content:"";
    position:fixed;
    border-radius:50%;
    filter:blur(15px);
    z-index:-1;
}

body::before{
    width:280px;
    height:280px;

    background:rgba(0,238,255,.18);

    top:-80px;
    left:-80px;
}

body::after{
    width:320px;
    height:320px;

    background:rgba(255,0,128,.18);

    bottom:-100px;
    right:-80px;
}

/* Glass Card */

.main{
    width:100%;
    max-width:700px;

    padding:40px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.20);

    border-radius:30px;

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    box-shadow:
        0 25px 60px rgba(0,0,0,.40),
        inset 0 1px 1px rgba(255,255,255,.15);

    position:relative;
    overflow:hidden;
}

/* Top Glow */

.main::before{
    content:"";

    position:absolute;

    width:180px;
    height:180px;

    border-radius:50%;

    background:rgba(0,238,255,.10);

    top:-90px;
    right:-70px;

    filter:blur(20px);
}

/* Form */

.single-form{
    margin-bottom:20px;
}

.single-form label{
    display:block;

    margin-bottom:8px;

    color:#fff;

    font-size:18px;
    font-weight:600;
}

.single-form input,
.single-form textarea{
    width:100%;

    padding:14px;

    border:1px solid rgba(255,255,255,.25);

    border-radius:10px;

    background:rgba(255,255,255,.10);

    color:#fff;

    font-size:16px;

    outline:none;

    transition:.3s;
}

.single-form input:focus,
.single-form textarea:focus{
    border-color:#00eeff;

    box-shadow:
        0 0 15px rgba(0,238,255,.30);
}

.single-form textarea{
    min-height:140px;
    resize:none;
}

.single-form input::placeholder,
.single-form textarea::placeholder{
    color:rgba(255,255,255,.70);
}

/* Validation Error */

.field-error{
    display:block;

    margin-top:6px;

    color:#ff9f9f;

    font-size:14px;
}

/* Button */

.button-name{
    margin-top:10px;
}

.button{
    width:150px;

    padding:12px;

    border:none;

    border-radius:10px;

    background:#ffb100;

    color:#000;

    font-size:17px;
    font-weight:600;

    cursor:pointer;

    transition:.3s;
}

.button:hover{
    transform:translateY(-3px);

    background:#00eeff;
}

/* Success Notification */

.success-message{
    width:100%;

    margin-top:20px;

    padding:14px;

    border-radius:10px;

    text-align:center;

    background:#1fa84b;

    color:#fff;

    font-size:15px;
    font-weight:600;
}

/* Error Notification */

.error-message{
    width:100%;

    margin-top:20px;

    padding:14px;

    border-radius:10px;

    text-align:center;

    background:#dc3545;

    color:#fff;

    font-size:15px;
    font-weight:600;
}

/* Mobile */

@media(max-width:768px){

    .main{
        padding:25px;
    }

    .button{
        width:100%;
    }

    .single-form label{
        font-size:16px;
    }
}