:root {
    --color-accent: rgba(146, 70, 45, 1);
    --color-text: rgba(44, 44, 44, 1);
    --color-white: #ffffff;
    --color-background: rgba(246, 245, 241, 1);
    --color-border: rgba(44, 44, 44, 0.16);

    --font-main: "Manrope", sans-serif;

    --border-radius: 13px;

	--layout-width: 1440px;
	--header-frame-width: 1408px;
	--container-width: 1200px;
	--container-padding: 20px;
	--page-edge: 16px;

    --section-space: 120px;
}

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

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 320px;
    overflow-x: clip;
    color: var(--color-text);
    background: var(--color-background);
    font-family: var(--font-main);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.menu-open {
    overflow: hidden;
}

img,
picture,
video,
svg {
    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;
}

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

p:last-child {
    margin-bottom: 0;
}

h1,
.h1 {
    margin-bottom: 32px;
    font-size: clamp(42px, 5.2vw, 75px);
    line-height: 0.96;
    font-weight: 300;
    letter-spacing: -0.055em;
}

h2,
.h2 {
    margin-bottom: 32px;
    font-size: clamp(40px, 5.2vw, 75px);
    line-height: 0.98;
    font-weight: 300;
    letter-spacing: -0.055em;
}

h3,
.h3 {
    margin-bottom: 18px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 500;
}

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

.site-wrapper {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.site-main {
    flex: 1 0 auto;
}

.container {
    width: min(
        calc(100% - var(--container-padding) * 2),
        var(--container-width)
    );
    margin-inline: auto;
}

.header-frame {
    width: min(
        calc(100% - var(--page-edge) * 2),
        var(--header-frame-width)
    );
    margin-inline: auto;
}

.section-space {
    padding-block: var(--section-space);
}

.button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 1px solid var(--color-accent);
    border-radius: var(--border-radius);
    color: var(--color-white);
    background: var(--color-accent);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease;
}

.button:hover {
    color: var(--color-accent);
    background: transparent;
}

.button--outline {
    color: var(--color-accent);
    background: transparent;
}

.button--outline:hover {
    color: var(--color-white);
    background: var(--color-accent);
}