/* =========================================================
   FONTS
========================================================= */

@font-face {
    font-family: "Product Sans";
    src: url("../fonts/product-sans/ProductSans-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("../fonts/product-sans/ProductSans-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("../fonts/product-sans/ProductSans-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Product Sans";
    src: url("../fonts/product-sans/ProductSans-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* =========================================================
   VARIABLES
========================================================= */

:root {
    --font-primary: "Product Sans", Arial, sans-serif;

    --color-primary: #AB0033;
    --color-secondary: #D64123;
    --color-dark: #181818;
    --color-white: #FFFFFF;
    --color-light: #F5F5F5;
    --color-border: #E5E5E5;
    --color-text: #181818;

    --container-width: 1120px;
    --container-padding: 20px;

    --border-radius: 16px;
}

/* =========================================================
   RESET
========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--color-text);
    font-family: var(--font-primary);
    font-size: 16px;
    line-height: 1.5;
    background: var(--color-white);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.menu-open {
    overflow: hidden;
}

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

img {
    height: auto;
}

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

button {
    cursor: pointer;
}

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

ul,
ol {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}

/* =========================================================
   TYPOGRAPHY
========================================================= */

h1,
h2 {
    margin-bottom: 20px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
}

h3 {
    margin-bottom: 16px;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;
}

p {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.6;
}

/* =========================================================
   LAYOUT
========================================================= */

.container {
    width: 100%;
    max-width: calc(
        var(--container-width) + var(--container-padding) * 2
    );
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--container-padding);
    padding-left: var(--container-padding);
}

.site-main {
    min-height: 60vh;
}

/* =========================================================
   BUTTONS
========================================================= */

.button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 28px;
    border: 0;
    border-radius: 999px;
    color: var(--color-white);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    background: var(--color-primary);
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        transform 0.25s ease;
}

.button:hover {
    color: var(--color-white);
    background: var(--color-secondary);
    transform: translateY(-2px);
}

.button--secondary {
    background: var(--color-secondary);
}

.button--secondary:hover {
    background: var(--color-primary);
}

.button--dark {
    background: var(--color-dark);
}

.button--dark:hover {
    background: var(--color-primary);
}


@media (max-width: 767px) {
    :root {
        --container-padding: 16px;
    }
}


.page-content {
    padding-top: 80px;
    padding-bottom: 80px;
}

.page-title {
    margin-bottom: 30px;
}

