:root {
    --mc-primary: #0e18a2;
    --mc-primary-dark: #0a1275;
    --mc-black: #0a0b14;
    --mc-white: #ffffff;
    --mc-ink: #14151f;
    --mc-muted: #5c6070;
    --mc-line: #e3e5ee;
    --mc-radius: 3px;
    --mc-font-body: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --mc-font-head: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --mc-header-h: 76px;
    --mc-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
    --bs-body-font-family: var(--mc-font-body);
    --bs-border-radius: 3px;
    --bs-border-radius-sm: 2px;
    --bs-border-radius-lg: 3px;
}

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

html {
    scroll-behavior: smooth;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
    font-family: var(--mc-font-body);
    font-size: 16px;
    line-height: 1.65;
    color: var(--mc-ink);
    background: var(--mc-white);
    -webkit-font-smoothing: antialiased;
}

body.admin-bar {
    min-height: calc(100vh - 32px);
}

@media (max-width: 782px) {
    body.admin-bar {
        min-height: calc(100vh - 46px);
    }
}

.mc-footer {
    margin-top: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--mc-font-head);
    font-weight: 600;
    line-height: 1.2;
}

a {
    color: inherit;
}

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

.mc-container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 24px;
}

.mc-no-scroll {
    overflow: hidden;
}

.mc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    border: 1px solid transparent;
    border-radius: var(--mc-radius);
    font: 600 12.5px/1 var(--mc-font-body);
    letter-spacing: 0.04em;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.3s var(--mc-ease), color 0.3s var(--mc-ease), transform 0.3s var(--mc-ease), box-shadow 0.3s var(--mc-ease);
}

.mc-btn i {
    transition: transform 0.3s var(--mc-ease);
}

.mc-btn:hover i {
    transform: translateX(3px);
}

.mc-btn--primary {
    background: var(--mc-primary);
    color: var(--mc-white);
}

.mc-btn--primary:hover {
    background: var(--mc-primary-dark);
    color: var(--mc-white);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(14, 24, 162, 0.28);
}

.mc-bg-white {
    background: var(--mc-white);
    color: var(--mc-ink);
}

.mc-bg-black {
    background: var(--mc-black);
    color: var(--mc-white);
}

.mc-bg-grad-dark {
    background: linear-gradient(135deg, var(--mc-black) 0%, #0b1060 100%);
    color: var(--mc-white);
}

.mc-bg-grad-light {
    background: linear-gradient(135deg, var(--mc-white) 0%, var(--mc-white) 45%, rgba(14, 24, 162, 0.12) 100%);
    color: var(--mc-ink);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}