/* Редизайн — база: сброс, типографика, служебные утилиты. */

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

html { background: var(--bg); }

body.redesign {
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-serif);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

body.redesign h1,
body.redesign h2,
body.redesign h3,
body.redesign h4 {
    font-family: var(--font-display);
    color: var(--text);
    text-wrap: balance;
    margin: 0 0 .5em;
    font-weight: 600;
}

body.redesign .sans,
body.redesign .navbar,
body.redesign .btn,
body.redesign .dropdown-menu,
body.redesign .breadcrumb,
body.redesign small {
    font-family: var(--font-sans);
}

body.redesign .kicker {
    font-family: var(--font-sans);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .72rem;
    font-weight: 600;
    color: var(--accent);
    display: block;
}

body.redesign .rule {
    width: 34px;
    height: 2px;
    background: var(--accent-bright);
    border: 0;
    margin: 14px 0;
}

body.redesign a { color: var(--accent); text-decoration: none; }
body.redesign a:hover { color: var(--accent-bright); text-decoration: underline; }

body.redesign .wrap,
body.redesign .container {
    max-width: var(--container-w);
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

body.redesign .prose { max-width: 68ch; }
body.redesign img { max-width: 100%; }

body.redesign button:focus-visible,
body.redesign a:focus-visible {
    outline: 2px solid var(--accent-bright);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    body.redesign * {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important;
    }
}

body.redesign main#main { flex: 1 0 auto; padding-bottom: 64px; }
