:root {
    --article-text: #0f172a;
    --article-muted: #475569;
    --article-border: rgba(15, 23, 42, 0.12);
    --article-card: #f8fafc;
}

.contentBlock {
    color: var(--article-text);
    font-size: 1.05rem;
    line-height: 1.75;
}

h1 {
    font-size: 2.1rem;
    line-height: 1.2;
    margin: 0 0 1.6rem;
}

h2 {
    font-size: 1.6rem;
    margin: 2.2rem 0 1rem;
    position: relative;
}

h3 {
    font-size: 1.2rem;
    margin: 1.6rem 0 0.8rem;
}

h2::after {
    content: "";
    display: block;
    width: 64px;
    height: 2px;
    background: rgba(15, 23, 42, 0.15);
    margin-top: 0.6rem;
}

.contentBlock p {
    margin: 0 0 1.4rem;
    color: var(--article-muted);
}

.infoBlock {
    margin: 2rem 0;
    padding: 1.6rem 1.8rem;
    background: var(--article-card);
    border-left: 4px solid var(--primary-color);
    border-radius: 18px;
}

.infoBlock p {
    margin: 0;
    color: var(--article-text);
}

.ul,
.ol {
    list-style: none;
    padding-left: 0;
    margin: 0 0 1.6rem;
}

.ul li,
.ol li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.8rem;
    line-height: 1.65;
    color: var(--article-muted);
}

.ul li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0.15rem;
    color: var(--primary-color);
    font-size: 1.2rem;
}

.ol {
    counter-reset: li-counter;
}

.ol li::before {
    content: counter(li-counter) ".";
    counter-increment: li-counter;
    position: absolute;
    left: 0;
    top: 0.05rem;
    font-weight: 600;
    color: var(--primary-color);
}

.contentBlock a {
    color: #2563eb;
    text-decoration: none;
    border-bottom: 1px solid rgba(37, 99, 235, 0.25);
    transition: color 0.2s ease, border-color 0.2s ease;
}

.contentBlock a:hover {
    color: #1d4ed8;
    border-bottom-color: rgba(29, 78, 216, 0.5);
}

@media (max-width: 768px) {
    .contentBlock {
        font-size: 1rem;
        line-height: 1.7;
    }

    h1 {
        font-size: 1.75rem;
    }
}
