body {
    --bg-color: hsl(0, 0%, 100%);
    padding: 2rem;
    font-family: system-ui, sans-serif;
    font-weight: normal;
    display: flex;
    flex-direction: column;
    padding: 2rem 3rem;
    place-content: center;
    align-items: center;
    background-color: var(--bg-color);
    gap: 2rem;
}

.logo {
    mix-blend-mode: multiply;
}

.page-content {
    width: min(100%, 27rem);
    background-color: white;
    border: 0.1rem solid color-mix(in srgb,var(--bg-color),black 5% );
    border-radius: 0.5rem;
    padding: 2rem;
    filter: drop-shadow(0 0 3rem color-mix(in srgb,var(--bg-color),black 5% )) 
    drop-shadow(0.5rem 0.5rem 1rem color-mix(in srgb,var(--bg-color),black 10% ));
}

form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: fit-content;
    align-items: flex-start;
}

input[type="text"],
input[type="email"] {
    padding-block: 0.5em;
    padding-inline: 0.5em;
}

button {
    appearance: none;
    padding: 0.5rem 1rem;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
}

h1 {
    font-size: 1.5rem;
    font-weight: 500;
}

.info {
    margin-block: 2em;
    padding-block-start: 2em;
    border-block-start: 1px dashed hsl(0, 0%, 20%);
}

.info strong {
    font-size: 0.85rem;
    display: block;
    margin-block-end: 0.5em;
}

.info span {
    display: block;
}

.prize-title {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.sponsor {
    display: block;
    font-size: 1.5rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.prize {
    display: block;
    font-size: 1.5rem;
    color: hsl(0, 0%, 30%);
    font-weight: 400;
}

.prize-code-wrap {
    font-size: 0.85rem;
}

.try-again-title {
    font-size: 0.85rem;
    margin-block: 2em;
    padding-block-start: 2em;
    border-block-start: 1px dashed hsl(0, 0%, 20%);
}