:root {

    /* Colors */
    --color-primary: #00c9cf;
    --color-dark: #121c2e;
    --color-white: #ffffff;

    /* Typography */
    --font-size-h1: clamp(1.9rem, -0.4824rem + 6.3529vw, 4.6rem);
    --font-size-h3: clamp(1.5rem, 0.7941rem + 1.8824vw, 2.3rem);
    --font-size-lg: clamp(0.81rem, 0.7rem + 0.3vw, 1.13rem);

}

/* ==========================================================================
   Reset
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;

    color: var(--color-dark);
    background: var(--color-white);
}

/* ==========================================================================
   Layout
   ========================================================================== */

.page-wrapper {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;
    padding: 3rem 1.5rem;
}

.content-wrapper {
    width: 100%;
}

.text-wrapper {
    width: 100%;
}

/* ==========================================================================
   Logo
   ========================================================================== */

.logo {
    display: block;

    width: 100%;
    max-width: 350px;
    height: auto;
    margin-bottom: 3rem;
}

/* ==========================================================================
   Text Classes
   ========================================================================== */

.intro-text {
    margin: 0 0 0.5rem;
    font-size: var(--font-size-h3);
    line-height: 1.15;
    font-weight: 800;
    color: var(--color-primary);
}

.headline {
    margin: 0 0 0.5rem;
    font-size: var(--font-size-h1);
    line-height: 1.07;
    font-weight: 800;
    color: var(--color-dark);
}

.body-text {
    margin: 0 0 2.1875rem;
    font-size: var(--font-size-lg);
    line-height: 1.43;
    font-weight: 400;
    color: var(--color-dark);
}

/* ==========================================================================
   Button
   ========================================================================== */

.button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 56px;
    padding: 0.9rem 2rem;

    position: relative;

    background: transparent;
    color: var(--color-dark);

    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;

    border: 1px solid var(--color-primary);

    clip-path: polygon(
        0 0,
        calc(100% - 18px) 0,
        100% 0,
        calc(100% - 18px) 100%,
        0 100%
    );

    transition: all 0.3s ease;
}

.button-primary:hover {
    background: var(--color-primary);
    color: var(--color-white);
}

.si-skew2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 0rem 1.2rem;

    font-family: "Montserrat", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;

    color: var(--sk2-text, #121c2e);
    background: var(--sk2-bg, transparent);

    border: 2px solid var(--sk2-border, #00c9cf);

    transform: skewX(-16deg);

    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease;
}

.si-skew2-btn > span {
    display: inline-block;
    transform: skewX(16deg);
    color: inherit;
}

/* Hover */
.si-skew2-btn:hover,
.si-skew2-btn:focus {
    color: var(--sk2-text-hover, #ffffff);
    background: var(--sk2-bg-hover, #00c9cf);
    border-color: var(--sk2-border-hover, #00c9cf);
}

.si-skew2-btn:hover > span,
.si-skew2-btn:focus > span {
    color: inherit;
}

/* ==========================================================================
   Desktop
   ========================================================================== */

@media (min-width: 1025px) {

    .page-wrapper {
        padding: 5rem 2rem;
    }

    .content-wrapper {
        width: 100%;
    }

    .text-wrapper {
        width: 70%;
    }

    .logo {
        max-width: 580px;
        margin-bottom: 4rem;
    }

    .intro-text {
        font-size: var(--font-size-h3);
    }

    .headline {
        font-size: var(--font-size-h1);
    }

}

