*,
*::before,
*::after {
    box-sizing: border-box;
}
* {
    margin: 0;
    padding: 0;
}
@font-face {
    font-family: 'LinbreFranklinLight';
    src: url('./fonts/Libre_Franklin/static/LibreFranklin-Light.ttf') format(truetype);
    font-display: swap;
}
@font-face {
    font-family: 'LinbreFranklinSemiBold';
    src: url('./fonts/Libre_Franklin/static/LibreFranklin-SemiBold.ttf') format(truetype);
    font-display: swap;
}
@font-face {
    font-family: 'LinbreFranklinBold';
    src: url('./fonts/Libre_Franklin/static/LibreFranklin-Bold.ttf') format(truetype);
    font-display: swap;
}
:root {
    --Blue: hsl(223, 87%, 63%);

    --Pale-Blue: hsl(223, 100%, 88%);
    --Light-Red: hsl(354, 100%, 66%);

    --Gray: hsl(0, 0%, 59%);
    --Very-Dark-Blue: hsl(209, 33%, 12%);
}
body {
    -webkit-font-smoothing: antialiased;
    inline-size: 1.5;
    min-height: 100vh;
    font-family: LinbreFranklinLight;
    font-size: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    .title {
        text-align: center;
        .title-text {
            display: flex;
            font-size: 44px;
            color: var(--Gray);

            .title-soon {
                margin: 0 10px;
                font-family: LinbreFranklinBold;
                color: black;
            }
        }
        .subtitle {
            margin: 15px 0;
        }
    }

    .area-email {
        display: flex;
        height: 80px;
        gap: 20px;

        .aaa {
            display: flex;
            flex-direction: column;
        }
        .input-email {
            height: 55px;
            width: 380px;
            border-radius: 50px;
            border: 1px solid var(--Pale-Blue);
            padding-left: 30px;
        }
        .input-email::placeholder {
            font-size: 16px;
            color: var(--Pale-Blue);
        }
        .error-message {
            display: none;
            font-size: 12px;
            font-style: italic;
            color: var(--Light-Red);
        }
        .input-email.error {
            border: 1px solid var(--Light-Red);
        }
        .error-message.active {
            display: block;
            padding-top: 10px;
            padding-left: 30px;
        }

        .btn-email {
            height: 55px;
            width: 200px;
            border-radius: 50px;
            border: 0;
            background-color: var(--Blue);
            color: white;
            font-size: 16px;
            box-shadow: 0 4px 20px hsl(223, 100%, 88%);
            cursor: pointer;
        }
        .btn-email:hover {
            background-color: hsl(224, 87%, 70%);
        }
    }

    .pic {
        width: 600px;
        margin: 90px 0 70px;
        img {
            width: 100%;
            height: auto;
        }
    }

    .icon {
        display: flex;
        gap: 20px;

        .iicon {
            width: 35px;
            height: 35px;
            color: var(--Blue);
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
        }
        .iicon:hover {
            background-color: var(--Blue);
            border-radius: 50%;
            color: white;
        }
    }

    .copy {
        font-size: 16px;
        color: var(--Gray);
    }
}
.attribution {
    position: absolute;
    font-size: 11px;
    text-align: center;
    bottom: 0;
}

.attribution a {
    color: hsl(228, 45%, 44%);
}