body { font-family: 'Hind Siliguri', sans-serif; background-color: #FFFFFF; color: #1F2937; font-size: 17px; }
h1, h2, h3, .font-display { font-family: 'Noto Serif Bengali', 'Hind Siliguri', serif; }
.article-body h2, .article-body h3 { font-family: 'Noto Serif Bengali', serif; }
.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.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; }
.flex-modal { display: flex !important; }
:focus-visible { outline: 3px solid #FFC20E; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Hero: rice-paste (alpona) dot field */
.hero-dots { background-color: #FFFFFF; background-image: radial-gradient(rgb(var(--primary-rgb, 20 33 61) / .12) 1.4px, transparent 1.6px); background-size: 22px 22px; }

/* "Now open" notice board */
.notice-board { background: #FFFFFF; border: 2px solid var(--primary-color); border-radius: 20px; overflow: hidden; box-shadow: 8px 8px 0 #FFC20E; }
.notice-head { background: #FFC20E; color: var(--primary-color); display: flex; justify-content: space-between; align-items: center; padding: .85rem 1.25rem; border-bottom: 2px solid var(--primary-color); }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #F1F5F9; }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 4px; }

.article-body h2 { font-size: 1.6rem; font-weight: 800; margin: 1.8rem 0 .8rem; color: var(--primary-color); line-height: 1.4; }
.article-body h3 { font-size: 1.25rem; font-weight: 700; margin: 1.5rem 0 .6rem; color: var(--primary-color); line-height: 1.45; }
.article-body p { margin: .9rem 0; line-height: 1.95; max-width: 70ch; }
.article-body ul { list-style: disc; padding-left: 1.5rem; margin: .8rem 0; }
.article-body ol { list-style: decimal; padding-left: 1.5rem; margin: .8rem 0; }
.article-body li { margin: .4rem 0; line-height: 1.85; }
.article-body a { color: var(--primary-color); text-decoration: underline; text-decoration-color: #FFC20E; text-decoration-thickness: 3px; text-underline-offset: 3px; font-weight: 600; }
.article-body img { max-width: 100%; border-radius: 1rem; margin: 1rem 0; }
.article-body table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.article-body th, .article-body td { border: 1px solid #e2e8f0; padding: .5rem .75rem; text-align: left; }
