@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");

:root {
    --v-color-brand: #8695a7;
    --v-color-brand-deep: #748396;
    --v-color-brand-bright: #9facc0;
    --v-color-gold: #d4aa52;
    --v-color-gold-soft: #f4e7c8;
    --v-color-sky: #4f89b8;
    --v-color-sky-soft: #dcecf8;
    --v-color-hot: #cc5d45;
    --v-color-hot-soft: #ffe5df;
    --v-color-white: #ffffff;
    --v-color-text: #1f2731;
    --v-color-muted: #5f6b79;
    --v-color-line: rgba(31, 39, 49, 0.12);
    --v-color-line-soft: rgba(255, 255, 255, 0.35);
    --v-color-bg: #f6f7f9;
    --v-color-surface: #ffffff;
    --v-color-surface-soft: #eef1f5;
    --v-color-dark: #273240;
    --v-shadow-soft: 0 12px 32px rgba(31, 39, 49, 0.08);
    --v-shadow-card: 0 16px 40px rgba(31, 39, 49, 0.1);
    --v-radius-sm: 6px;
    --v-radius-md: 8px;
    --v-radius-lg: 12px;
    --v-space-1: 8px;
    --v-space-2: 12px;
    --v-space-3: 16px;
    --v-space-4: 24px;
    --v-space-5: 32px;
    --v-space-6: 48px;
    --v-space-7: 64px;
    --v-space-8: 96px;
    --v-container: 1240px;
    --v-transition: 180ms ease;
}

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

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

body.v-page {
    font-family: "Montserrat", "Inter", "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--v-color-text);
    background:
        radial-gradient(1100px 540px at 12% -8%, rgba(212, 170, 82, 0.08), transparent),
        radial-gradient(900px 480px at 86% -12%, rgba(79, 137, 184, 0.1), transparent),
        var(--v-color-bg);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

p {
    margin: 0;
}

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

.v-container {
    width: min(var(--v-container), calc(100% - 48px));
    margin-inline: auto;
}

.v-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    border: 0 !important;
    padding: 0 !important;
    clip: rect(0 0 0 0) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

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

@media (max-width: 1024px) {
    :root {
        --v-space-7: 56px;
        --v-space-8: 72px;
    }

    .v-container {
        width: min(var(--v-container), calc(100% - 36px));
    }
}

@media (max-width: 767px) {
    body.v-page {
        font-size: 15px;
    }

    .v-container {
        width: min(var(--v-container), calc(100% - 24px));
    }

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