/* Tech in Japan — Custom Styles */
html { scroll-behavior: smooth; }
body { font-family: 'Inter', 'Noto Sans JP', sans-serif; }

/* Article body typography */
.article-body h2 {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0F172A;
    margin: 2rem 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #DBEAFE;
}
.article-body h3 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1E293B;
    margin: 1.5rem 0 0.5rem;
}
.article-body p {
    color: #475569;
    line-height: 2;
    margin-bottom: 1rem;
}
.article-body a {
    color: #2563EB;
    font-weight: 600;
}
.article-body a:hover {
    text-decoration: underline;
}
.article-body strong {
    color: #0F172A;
}
.article-body ul, .article-body ol {
    color: #475569;
    line-height: 2;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
}
.article-body ul { list-style-type: disc; }
.article-body ol { list-style-type: decimal; }
.article-body li { margin-bottom: 0.25rem; }
.article-body blockquote {
    margin: 1.5rem 0;
    padding: 1.25rem 1.5rem;
    background: #F8FAFC;
    border-left: 4px solid #3B82F6;
    border-radius: 0 12px 12px 0;
}
.article-body blockquote p {
    margin: 0;
    font-style: italic;
    color: #64748B;
}
.article-body img {
    border-radius: 12px;
    margin: 1.5rem 0;
}

/* Line clamp */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
