/* =========================
   Дизайн-система
========================= */

:root {
    /* Шкала размеров */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 1rem;
    --space-4: 1.5rem;
    --space-5: 2.5rem;
    --space-6: 4rem;

    /* Типографика */
    --font-base: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --font-size-base: 1rem;
    --line-height-base: 1.6;

    --font-size-h1: clamp(2rem, 4vw, 3rem);
    --font-size-h2: clamp(1.5rem, 3vw, 2rem);

    /* Цвета */
    --color-text: #111;
    --color-muted: #666;
    --color-bg: #fff;
    --color-bg-muted: #f6f6f6;
    --color-accent: #000;

    /* Контейнеры */
    --container-narrow: 720px;
    --container-wide: 1200px;

    /* Сетка */
    --grid-gap: var(--space-4);
}

/* =========================
   Базовые стили
========================= */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: var(--font-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--color-text);
    background: var(--color-bg);
}

h1, h2 {
    margin: 0 0 var(--space-3);
    line-height: 1.2;
}

h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }

p {
    margin: 0 0 var(--space-3);
}

.lead {
    font-size: 1.125rem;
    color: var(--color-muted);
}

/* =========================
   Секции и контейнеры
========================= */

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

.section--muted {
    background: var(--color-bg-muted);
}

.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--space-3);
}

.container--narrow {
    max-width: var(--container-narrow);
}

.container--wide {
    max-width: var(--container-wide);
}

/* =========================
   12-колоночная сетка
========================= */

.grid {
    display: grid;
    gap: var(--grid-gap);
}

.grid-12 {
    grid-template-columns: repeat(12, 1fr);
}

.col-1  { grid-column: span 1; }
.col-2  { grid-column: span 2; }
.col-3  { grid-column: span 3; }
.col-4  { grid-column: span 4; }
.col-5  { grid-column: span 5; }
.col-6  { grid-column: span 6; }
.col-7  { grid-column: span 7; }
.col-8  { grid-column: span 8; }
.col-9  { grid-column: span 9; }
.col-10 { grid-column: span 10; }
.col-11 { grid-column: span 11; }
.col-12 { grid-column: span 12; }

/* Адаптация */
@media (max-width: 768px) {
    .col-md-12 {
        grid-column: span 12;
    }
}

/* =========================
   UI-элементы
========================= */

.button {
    display: inline-block;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--color-accent);
    color: var(--color-accent);
    text-decoration: none;
    font-weight: 500;
}

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