/* Reset  */
*, *::after, *::before {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html, body {
    line-height: 1.5;
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
}

img, video, picture, canvas, svg {
    display: block;
    max-width: 100%;
}

input, button, textarea, select {
    font: inherit;
}

p, h1 ,h2 , h3, h4, h5 {
    overflow-wrap: break-word;
} 

p {
    text-wrap: pretty;
}

h1, h2, h3, h4, h5 {
    text-wrap: balance;
}

/* Default */

body {
    background: url("./images/bg-desktop.svg") center center / cover no-repeat;
    background-color: hsl(257, 40%, 49%);
    font-family: "Poppins", "Open Sans", sans-serif;
    font-size: 1rem;
    color: white;
    height: 100vh;
    height: 100dvh;
}

.container {
    max-width: 1440px;
    margin: 0 auto;
}

.header__container {
    padding: 42px 16px;
}

.hero__container {
    padding: 48px 16px 90px;
}

/* Styles */

.hero__title {
    font-weight: 600;
    font-size: 2.5rem;
    margin-bottom: 16px;
}

.hero__text {
    font-family: "Open Sans";
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.27;
    max-width: 50ch;
    margin-bottom: 24px;
}

.footer__social {
    cursor: pointer;
    transition: color 0.3s ease;
}

.footer__social:hover {
    color: hsl(300, 69%, 71%);
}

/* Utilities */
.hero__group {
    display: flex;
    justify-content: center;
    gap: 42px;
}

.hero__details {
    margin: 32px 0 0 ;
}

.button {
    all: unset;
    font-size: 1rem;
    background-color: #ffffff;
    color: hsl(257, 40%, 49%);
    padding: 12px 52px;
    border-radius: 24px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

button:hover {
    background-color: hsl(300, 69%, 71%);
    color: #ffffff;
}

.footer__wrapper {
    isolation: isolate;
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 42px 32px;
}

.footer__icons {
    display: flex;
    justify-content: flex-end;
    gap: 14px;
}

@media (max-width: 865px) {
    .hero__group {
        flex-direction: column;
        text-align: center;
    }
    .hero__text {
        text-align: center;
        margin: 0 auto 24px;
    }
    .button {
        padding: 12px 82px;
    }
    .footer__icons {
        justify-content: center;
    }
}
