:root {
    --qr-bg-main: #0b1f17;
    --qr-bg-soft: #0b1f17;

    --qr-primary: #1f7a4d;
    --qr-primary-light: #35a86b;
    --qr-primary-soft: #dff5e8;

    --qr-text-main: #0b1f17;
    --qr-text-muted: #15663a;

    --qr-text-on-dark: #e8eef5;
    --qr-text-muted-on-dark: #b8c4d3;

    --qr-border-soft: rgba(31, 122, 77, 0.14);
    --qr-border-strong: rgba(31, 122, 77, 0.28);

    --qr-card-bg: rgba(255, 255, 255, 0.88);
    --qr-card-bg-hover: rgba(223, 245, 232, 0.72);

    --qr-shadow-soft: 0 6px 18px rgba(15, 23, 42, 0.06);
}

/* фон страницы */
.qr-page {
    background: linear-gradient(
            to bottom,
            #f5f8fb 0%,
            #eaf1f5 100%
    );
    min-height: 100vh;
    padding: 40px 0;
}

/* контейнер */
.qr-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
}

/* H1 */
.qr-h1 {
    font-size: 2.1rem;
    font-weight: 700;
    color: var(--qr-text-main);
    letter-spacing: 0.2px;
    line-height: 1.2;
}

/* subtitle */
.qr-subtitle {
    font-size: 1.05rem;
    color: var(--qr-text-muted);
    line-height: 1.65;
}

/* section title */
.qr-h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--qr-text-main);
    line-height: 1.3;
}

/* section title */
.qr-h3 {
    font-size: 1.0rem;
    font-weight: 500;
    color: var(--qr-text-main);
    line-height: 1.1;
}

/* текст */
.qr-text {
    color: var(--qr-text-muted);
    font-size: 0.95rem;
    line-height: 1.65;
}

/* карточки */
.qr-card {
    background: var(--qr-card-bg);
    border: 1px solid var(--qr-border-soft);
    border-radius: 10px;
    padding: 18px;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: var(--qr-shadow-soft);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.qr-card:hover {
    border-color: var(--qr-border-strong);
    background: var(--qr-card-bg-hover);
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
}