@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {
    --black-color: #1D283C;
    --white-color: #FFFFFF;
    --beige-color: #F4F1EE;
    --creme-color: #ECE2D5;

    --primary-color: #47A661;
    --default-color: var(--black-color);


    --serif-font: 'PT Serif';
    --sans-font: 'DM Sans';

    --content-max-width: 1000px;
    --breathing-room: max(15%, calc((100% - var(--content-max-width)) / 2));
    --content-width: calc(100% - 2 * var(--breathing-room));
}

*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--sans-font), sans-serif;
    color: var(--default-color);
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--beige-color);
}

a {
    text-decoration: none;
    color: inherit;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--serif-font), serif;
}

h1 {
    font-size: 4.7rem;
    line-height: 120%;
    letter-spacing: -2%;
}

h2 {
    font-size: 3.3rem;
    line-height: 100%;
}

h2 * {
    font-family: var(--serif-font), serif;
}

h3 {
    font-family: var(--sans-font), sans-serif;
    font-size: 28px;
    line-height: 100%;
}

p {
    font-family: var(--sans-font), sans-serif;
    font-size: 16px;
    line-height: 120%;
    font-weight: 400;
}

@media (max-width: 767px) {
    :root {
        --breathing-room: 1rem;
    }

    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.5rem;
    }
}
