:root {
    /*------------------ FONT FAMILY ------------------*/
    --font-family: "Karla", sans-serif;

    /*------------------ FONT SIZE ------------------*/
    --font-size-sm:1.4rem;
    --font-size-md:1.6rem;
    --font-size-lg:2.4rem;
    --font-size-xl:3.2rem;

    /*------------------ FONT WEIGHT ------------------*/
    --font-weight-regular:400;
    --font-weight-bold:700;

    /*------------------ LETTER SPACING ------------------*/
     --letter-spacing-tight:-1px;

    /*------------------ LINE HEIGHT ------------------*/
     --line-height:1.6;
     

    /*------------------    COLORS ------------------*/
    /*-------- PRIMARY --------*/
    --color-primary:hsl(179, 62%, 43%);
    --color-primary-tint:hsl(179, 60%, 52%);
    --color-accent:hsl(71, 73%, 54%);

    /*-------- NEUTRAL --------*/
    --color-text:hsl(204, 43%, 93%);
    --white:hsl(0, 0%, 100%);
    --grey:hsl(218, 22%, 67%);
}

html {
    font-size: 62.5%;
}

*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--color-text);
    font-family: var(--font-family);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.main-container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 650px;
    width: 90%;
    border-radius: 1rem;
    overflow: hidden;
}

.cards {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
}

.card-1{
    background-color: var(--white);
    grid-column: 1/3;
    padding: 4rem 3rem;
}

.card-1-heading {
    color: var(--color-primary);
    font-size: var(--font-size-lg) ;
    letter-spacing: var(--letter-spacing-tight);
    font-weight: var(--font-weight-bold);
    margin-bottom: 1rem;
}

.card-1-subheading {
    color: var(--color-accent);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
}

.card-1-paragraph {
    color: var(--grey);
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height);
}

.card-2, .card-3 {
    color: var(--color-text);
    padding: 4rem;
}

.card-2{
    background-color: var(--color-primary);
}

.card-2-3-heading{
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
}

.card-2 p{
    font-size: var(--font-size-md);
}

.card-2 span {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
}

.card-2-price-container {
    display: flex;
    gap: 1.5rem;
    justify-content: baseline;
    align-items: center;
}

.card-2-price-container p{
    color: var(--color-text);
}

.sign-up-button{
    text-decoration: none;
    background-color: var(--color-accent);
    width: 100%;
    text-align: center;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
    color: var(--white);
    padding: 1.5rem;
    border-radius: 8px;
    margin-top: 2rem;
}

.sign-up-button:hover, .sign-up-button:active {
    background-color: var(--color-primary);
    border: 1px solid var(--white);
}

.card-3{
    background-color: var(--color-primary-tint);
    gap: 2rem;
}

.card-3-list{
    list-style: none;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height);
    max-width: 22rem;
}

.attribution {
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-regular);
}

.attribution a{
    text-decoration: none;
}

.attribution a:link, .attribution a:visited{
    color: var(--color-primary);
}

.attribution a:hover, .attribution a:active{
    text-decoration: underline;
}

@media (max-width: 48rem) {
   
  .main-container {
    display: grid;
    grid-template-columns: 1fr;
   
  }
  .card-1 {
    grid-column: 1;
    padding: 2rem 1.5rem;
  }
  .card-2, .card-3 {
    padding: 2rem;
  }

  .attribution {
        font-size: var(--font-size-sm);
        font-weight: var(--font-weight-regular);
        margin-bottom: 1rem;
    }
}
