body {
    background: linear-gradient(-45deg, #2a9420, #e7a62e, #feda7a);
    background-size: 400% 400%;
    animation: gradient 10s ease infinite;
    height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Arial, sans-serif;
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.d-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.responsive-logo, .site-icon {
    width: 80%;
    max-width: 1100px;
    height: auto;
    margin-bottom: 0px; /* Space between logo and description */
}

.company-description {
    font-size: 24px; /* Increased font size for better visibility */
    color: black; /* Black text color for readability */
    text-align: center; /* Center-align the text */
    margin-top: 0px; /* Space between logo and description */
    margin-bottom: 20px; /* Space between description and form */
    font-weight: bold; /* Makes the text bold */
}

.email-form {
    display: flex;
    width: 100%;
    max-width: 500px; /* Increased form width for better fit */
}

.email-form input[type="email"], .email-form button {
    height: 40px;
    padding: 0 15px;
    font-size: 16px; /* Size of the text within the input and button */
    vertical-align: middle; /* Aligns the button text vertically */
}

.email-form input[type="email"] {
    flex-grow: 1;
    background: transparent; /* Transparent input background */
    border: none; /* No borders */
    border-bottom: 1px solid black; /* Black line under the text box */
    color: black; /* Black text color for visibility */
    font-size: 16px; /* Explicitly set the same as the button for consistency */
    outline: none; /* No focus outline */
    width: 85%; /* Increased width to fit placeholder */
    
    /* Placeholder styles */
    ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
        color: black !important;
        opacity: 1 !important; /* Ensure it is not semi-transparent */
    }
    :-ms-input-placeholder { /* Internet Explorer 10-11 */
        color: black !important;
    }
    ::-ms-input-placeholder { /* Microsoft Edge */
        color: black !important;
    }
}

.email-form button {
    border: none; /* No border by default */
    background-color: transparent; /* Transparent background */
    color: black; /* Black text color */
    border-radius: 20px;
    cursor: pointer;
    outline: none; /* Ensures no outline on focus */
    font-size: 16px; /* Same size as input text for aesthetic uniformity */
    padding: 0 12px; /* Adequately sized padding for the arrow icon */
    transition: background-color 0.3s, border-color 0.3s; /* Smooth transitions for hover effects */
}

.email-form button:hover {
    background-color: black; /* Black background on hover */
    color: white; /* White text on hover */
}

.copyright {
    color: black; /* Text color for visibility against background */
    font-size: 10px; /* Same as input text size for uniform appearance */
    margin-top: 10px; /* Margin top for spacing */
    text-align: center; /* Centers the text horizontally */
}

.thank-you {
    color: black; /* Text color for visibility against background */
    font-size: 16px; /* Same as input text size for uniform appearance */
    font-weight: bold; /* Makes the text bold */
    margin-top: 10px; /* Margin top for spacing */
    text-align: center; /* Centers the text horizontally */
}

.coming-soon {
    background-color: black; /* Solid black background for the rectangle */
    color: white; /* Makes the text color white */
    border-radius: 20px; /* Rounded corners for the rectangle */
    padding: 5px 10px; /* Padding around the text within the rectangle */
    font-weight: bold; /* Bold font weight for emphasis */
    display: inline-block; /* Ensures the rectangle is properly formed around the text */
    position: relative; /* Establishes a positioning context for pseudo-elements */
    font-size: 14px; /* Smaller font size for the text */
}