@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Marcellus:wght@300;400;600;700&display=swap");

:root {
    --font-family: "Inter", sans-serif;
    --font-family-heading: "Marcellus", sans-serif;

    --green1: #e8f5f2;
    --green2: #c5e6df;
    --green3: #a1d6ca;
    --green4: #87c4b5;
    --green5: #7ba098;
    --green6: #5e867d;
    --green7: #476a62;
    --green8: #2f4d47;
    --green9: #1a302c;

    --grey1: #f3f3f3;
    --grey2: #d6d6d6;
    --grey3: #bfbfbf;
    --grey4: #a6a6a6;
    --grey5: #8c8c8c;
    --grey6: #717171;
    --grey7: #535959;
    --grey8: #2e3838;
    --grey9: #080f0f;

    --purple1: #f5e9f4;
    --purple2: #e2c6e0;
    --purple3: #cfa3cc;
    --purple4: #b980b6;
    --purple5: #98629a;
    --purple6: #7f557d;
    --purple7: #613e60;
    --purple8: #442844;
    --purple9: #2a182a;

    --shadow-card: 0 2px 5px rgba(0, 0, 0, 0.1);

    --max-width: 1200px;
    --header-height: 100px;
    --footer-height: 60px;
}

/* #region Fonts */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-family: var(--font-family-heading);
    line-height: 100%;
}

h1 {
    font-size: 54px;
}
h2 {
    font-size: 44px;
}
h3 {
    font-size: 32px;
}
h4 {
    font-size: 24px;
}
h5 {
    font-size: 18px;
}
h6 {
    font-size: 16px;
}

ul.li,
p {
    font-family: var(--font-family);
    color: var(--grey8);
    margin: 0;
    margin-bottom: 12px;
}
/* #endregion */

body {
    margin: 0;
    font-family: var(--font-family);
    color: var(--grey9);
}
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: calc(var(--header-height) - 40px);
    padding: 20px 40px;
    background: var(--grey8);
    color: white;
}
header .tags {
    color: white;
    font-size: 16px;
    margin: 0;
}
.page-layout {
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
    margin: auto;
}
footer {
    display: flex;
    align-items: center;
    height: var(--footer-height);
    padding: 0 40px;
    background-color: var(--grey9);
    color: white;
}

section {
    display: flex;
    width: 100%;
    margin: auto;
}
section.full {
    display: block;
    width: 100%;
}
.section-full {
    max-width: var(--max-width);
    padding: 40px;
    margin: auto;
}
.section-half {
    display: flex;
    align-items: center;
    width: 100%;
}
.section-half.left {
    justify-content: flex-end;
}
.section-half.right {
    justify-content: flex-start;
}
.section-half.left.color {
    background: linear-gradient(to right, var(--green1), var(--green3));
}
.section-half.right.color {
    background: linear-gradient(to left, var(--green1), var(--green3));
}
.section-half-content {
    width: calc(var(--max-width) / 2 - 20px);
}
.section-half.left .section-half-content {
    padding: 20px 20px 20px 0;
}
.section-half.right .section-half-content {
    padding: 20px 0 20px 20px;
}

.section-half-img {
    width: calc(var(--max-width) / 2);
    height: 360px;
    overflow: hidden;
}
.section-half-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.services-section {
    padding: 120px 0;
    background-color: var(--grey1);
}
.services {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}
.service-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    background-color: var(--grey8);
    box-shadow: var(--shadow-card);
    border-radius: 10px;
}
.service-card .title {
    margin-top: 0;
    color: var(--green2);
}
.service-card p {
    color: white;
}

.quote {
    background: var(--green9);
    color: var(--green1);
    padding: 40px 20px;
    text-align: center;
    margin-top: 60px;
}

.mb {
    margin-bottom: 12px;
}

@media only screen and (max-width: 1200px) {
    header {
        flex-direction: column;
        height: auto;
        text-align: center;
        gap: 24px;
        padding: 20px;
    }
    .page-layout {
        width: 100%;
    }
    footer {
        justify-content: center;
        width: calc(100% - 40px);
        padding: 0 20px;
        text-align: center;
        font-size: 14px;
    }

    section {
        flex-direction: column;
    }
    section.switch-mobile .section-half.left {
        order: 2;
    }
    section.switch-mobile .section-half.right {
        order: 1;
    }
    .section-full {
        padding: 20px;
    }
    .section-half {
        justify-content: center !important;
        width: 100%;
        padding: 60px 0;
    }
    .section-half-content {
        width: 100%;
        padding: 20px !important;
        text-align: center;
    }
    .section-half-img {
        width: 100%;
        height: 240px;
    }

    .services-title {
        text-align: center;
    }
    .services {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .services-section {
        padding: 60px 0;
    }
}
