:root {
    color-scheme: light;
}

body {
    font-family: 'Inter', sans-serif;
    color: #2A2420;
    background-color: #FAF7F2;
}

h1,
h2,
h3 {
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: -0.01em;
    color: #2A2420;
}

.nav-item,
.btn {
    font-family: 'Poppins', sans-serif;
}

.hover-effect:hover {
    background-color: rgba(42, 36, 32, 0.9);
}

.article-content {
    line-height: 1.85;
    color: #3A3228;
}

.article-content p {
    margin-bottom: 1.25rem;
}

.article-content h2 {
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.article-content blockquote {
    border-left: 4px solid #7A6651;
    padding-left: 1.25rem;
    margin: 1.75rem 0;
    font-style: italic;
    color: #6B5D52;
}

.article-content a {
    color: #7A6651;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.article-content a:hover {
    color: #2A2420;
}

/* Mobile-first adjustments */
@media (max-width: 640px) {
    .article-content {
        font-size: 1rem;
        line-height: 1.85;
    }

    .container-pad {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .section-tight {
        padding-top: 2rem;
        padding-bottom: 1.5rem;
    }

    .sources-wrap {
        max-height: none !important;
    }
}

@media (min-width: 641px) {
    .article-content {
        font-size: 1.0625rem;
    }
}

/* Fallback for line clamp if plugin not present */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.break-anywhere {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Smooth overflow on iOS */
.scroll-touch {
    -webkit-overflow-scrolling: touch;
}

#sources {
    padding: 8px;
}