:root {
    --ink: #172033;
    --paper: #f7f8fa;
    --accent: #087e8b;
}

body {
    background: var(--paper);
    color: var(--ink);
}

.navbar-brand {
    letter-spacing: 0;
}

.hero {
    background: linear-gradient(180deg, #ffffff 0%, var(--paper) 100%);
}

.feature-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.article-thumb {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.gallery-image {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.article {
    font-family: Georgia, 'Times New Roman', serif;
}

.article h1,
.article .lead,
.article .text-primary {
    font-family: system-ui, sans-serif;
}

.article-content {
    font-size: 1.12rem;
    line-height: 1.8;
}

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

#editor {
    height: 300px;
}

.card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08) !important;
}

.card-img-top {
    border-radius: 0.375rem 0.375rem 0 0;
}