:root { --blue:#33a6d0; --ink:#222; --line:#e8e8e8; --page:#eee; --font:Roboto,Arial,sans-serif; --heading:'Roboto Condensed',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--page); font:14px/1.6 var(--font); color:#333; }
body:lang(bn) { font-family:'Hind Siliguri',sans-serif; }
.page-shell { max-width:1220px; width:calc(100% - 40px); margin:10px auto 0; background:#fff; min-height:100vh; padding:0 28px; }
.datebar { height:39px; border-bottom:1px solid #eee; color:#777; display:flex; align-items:center; justify-content:space-between; padding:0 28px; font-size:12px; }
.social { display:flex; align-items:center; gap:10px; }
.social a { border-radius:50%; background:#386995; color:white; font:bold 18px Arial; text-align:center; width:36px; height:36px; line-height:36px; }
.social a:first-child { background:linear-gradient(135deg,#9258c9,#f04478,#ffb54c); }
.social button { border:0; background:#f5a623; color:white; padding:5px 10px; cursor:pointer; font:600 12px var(--font); margin-left:10px; }
.masthead { height:183px; display:grid; grid-template-columns:135px 1fr 135px; align-items:center; justify-items:center; padding:0 45px; }
.seal { width:120px; height:120px; display:block; }
.seal svg { width:100%; height:100%; fill:#f5c529; stroke:#172858; stroke-width:3; }
.seal svg circle:nth-child(2) { fill:#16529a; }
.seal svg path { stroke:#f0c72c; stroke-width:5; }
.seal svg text { fill:#fff; stroke:none; font:700 8px Arial; }
.seal-right svg circle:nth-child(2) { fill:#20539a; }
.mast-title { text-align:center; }
.hangul { font:700 39px/1.3 serif; letter-spacing:.17em; color:#111; white-space:nowrap; }
.mast-title h1 { font:500 clamp(20px,3vw,30px)/1.2 var(--heading); letter-spacing:.21em; text-transform:uppercase; margin:2px 0; color:#555; }
.mast-title p { display:none; }
.mainnav { height:48px; background:#222; border-top:4px solid var(--blue); display:flex; align-items:stretch; color:white; position:relative; z-index:3; margin:0 -28px; }
.home-icon { width:74px; background:#299fc9; color:white; display:grid; place-items:center; font-size:26px; }
.navlinks { display:flex; align-items:stretch; flex:1; }
.navlinks a { padding:0 15px; display:flex; align-items:center; color:#eee; text-transform:uppercase; font:700 12px var(--heading); letter-spacing:.02em; white-space:nowrap; }
.navlinks a:hover { background:#333; color:white; }
.navlinks small { font-size:12px; margin-left:6px; }
.nav-search,.nav-random { width:42px; display:grid; place-items:center; color:white; font-size:23px; }
.nav-random { margin-right:24px; font-size:20px; }
.hamb { display:none; }
.feature-grid { display:grid; grid-template-columns:1.25fr 1.25fr 1fr 1fr; grid-template-rows:170px 170px; gap:12px; margin:28px 0 32px; }
.feature-card { display:block; position:relative; background-size:cover; background-position:center; overflow:hidden; }
.feature-card:before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.77),transparent 54%); transition:.2s; }
.feature-card:hover:before { background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.03) 75%); }
.feature-1 { grid-column:1/3; grid-row:1/3; }
.feature-2 { grid-column:3; grid-row:1; }
.feature-3 { grid-column:4; grid-row:1; }
.feature-4 { grid-column:3; grid-row:2; }
.feature-5 { grid-column:4; grid-row:2; }
.feature-info { position:absolute; left:14px; right:12px; bottom:12px; color:white; display:flex; flex-direction:column; align-items:flex-start; }
.cats { display:inline-block; background:#31a9cf; padding:3px 8px; margin-bottom:7px; font:500 11px var(--font); }
.tag-row { display:flex; gap:3px; margin-bottom:7px; } .tag-row .cats { margin:0; } .tag-purple { background:#a33ab1; }
.feature-info strong { font:500 19px/1.2 var(--font); text-shadow:0 1px 3px #333; }
.feature-info small { font:12px var(--font); margin-top:5px; }
.feature-2 .feature-info strong,.feature-3 .feature-info strong,.feature-4 .feature-info strong,.feature-5 .feature-info strong { font-size:14px; }
.feature-2 .feature-info .cats,.feature-3 .feature-info .cats,.feature-4 .feature-info .cats,.feature-5 .feature-info .cats { display:none; }
.content-columns { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:30px; padding:0 0 36px; }
.widget { margin-bottom:27px; }
.widget-title { font:700 20px/1.2 var(--heading); color:#333; border-bottom:2px solid var(--blue); padding:0 0 8px; margin:0 0 17px; }
.lead-thumb { display:block; height:310px; background-position:center; background-size:cover; margin:0 0 12px; }
.post-meta { font-size:11px; color:#999; text-transform:uppercase; }
.post-meta span { color:var(--blue); margin:0 5px; }
.lead-post h3,.post-row h3 { font:700 22px/1.25 var(--heading); color:#333; margin:4px 0 8px; }
.lead-post p,.post-row p,.widget>p,.footer-columns p { color:#777; font-size:13px; margin:6px 0 10px; }
.post-list { display:flex; flex-direction:column; }
.post-row { display:grid; grid-template-columns:180px 1fr; gap:17px; border-top:1px solid var(--line); padding:17px 0; }
.post-thumb { display:block; min-height:120px; background-position:center; background-size:cover; }
.post-row h3 { font-size:18px; }
.post-row p { margin:3px 0 7px; }
.read-more { font-size:12px; color:#2b9fc6; }
.sidebar .widget-title { font-size:19px; }
.side-post { position:relative; height:166px; margin:0 0 13px; background:#ddd; overflow:hidden; }
.side-thumb { position:absolute; inset:0; background-size:cover; background-position:center; }
.side-post:after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.85)); }
.side-caption { position:absolute; bottom:8px; left:10px; right:10px; z-index:1; color:white; }
.side-caption strong { font:500 15px/1.25 var(--font); display:block; }
.side-caption small { font-size:10px; }
.mini-post { padding:4px 0 13px; margin:0 0 10px; border-bottom:1px solid var(--line); }
.mini-post strong { display:block; font:700 16px/1.3 var(--heading); }
.mini-post small { font-size:10px; color:#999; }
.mini-post p { font-size:12px; color:#777; margin:3px 0; }
footer { background:#f7f7f7; margin:0 -28px; padding:27px 28px 0; border-top:1px solid #ddd; }
.footer-columns { display:grid; grid-template-columns:1.15fr 1fr .8fr; gap:30px; padding-bottom:26px; }
.footer-columns .widget-title { font-size:19px; }
.footer-columns strong { font-size:13px; }
.footer-columns a { display:block; color:#555; font-size:12px; margin:5px 0; }
.copyright { margin:0 -28px; background:#222; color:#aaa; min-height:45px; padding:0 28px; display:flex; justify-content:space-between; align-items:center; font-size:11px; }
.copyright a { color:#ccc; }
.empty { grid-column:1/-1; padding:60px; background:#eee; text-align:center; }
body:lang(bn) .navlinks a,body:lang(bn) .feature-info strong,body:lang(bn) .feature-info small,body:lang(bn) .widget-title,body:lang(bn) .lead-post h3,body:lang(bn) .post-row h3,body:lang(bn) .side-caption strong,body:lang(bn) .mini-post strong { font-family:'Hind Siliguri',sans-serif; letter-spacing:0; }
body:lang(bn) .mast-title h1 { font-family:'Hind Siliguri',sans-serif; letter-spacing:0; font-weight:600; }
body:lang(bn) .hangul { display:none; }
@media(max-width:850px) {
 .page-shell { width:100%; margin:0; padding:0 18px; }
 .datebar { padding:0 5px; }
 .masthead { grid-template-columns:90px 1fr 90px; padding:0 8px; height:150px; }
 .seal { width:78px; height:78px; }
 .hangul { font-size:25px; letter-spacing:.1em; }
 .mast-title h1 { letter-spacing:.12em; }
 .mainnav { margin:0 -18px; }
 .home-icon { width:54px; }
 .navlinks a { padding:0 9px; font-size:10px; }
 .nav-random { margin-right:6px; }
 .feature-grid { grid-template-rows:145px 145px; gap:8px; margin:20px 0; }
 .content-columns { gap:22px; grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr); }
 .lead-thumb { height:260px; }
 .post-row { grid-template-columns:130px 1fr; }
 .post-thumb { min-height:105px; }
 .side-post { height:140px; }
}
@media(max-width:620px) {
 .datebar { height:36px; font-size:10px; }
 .social a { width:28px; height:28px; line-height:28px; font-size:15px; }
 .masthead { height:115px; grid-template-columns:55px 1fr 55px; padding:0; }
 .seal { width:52px; height:52px; }
 .hangul { font-size:15px; letter-spacing:.02em; }
 .mast-title h1 { font-size:18px; letter-spacing:.03em; line-height:1; }
 .mainnav { height:45px; margin:0 -18px; }
 .hamb { display:block; color:white; background:none; border:0; width:42px; font-size:21px; }
 .home-icon { width:45px; }
 .navlinks { display:none; position:absolute; top:41px; left:0; right:0; background:#222; flex-direction:column; align-items:stretch; height:auto; box-shadow:0 5px 10px #0003; }
 .navlinks a { height:39px; border-top:1px solid #333; padding:0 17px; font-size:12px; }
 .nav-search { margin-left:auto; }
 .nav-random { margin-right:4px; }
 .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:220px 125px 125px; gap:7px; margin:16px 0 24px; }
 .feature-1 { grid-column:1/3; grid-row:1; }
 .feature-2 { grid-column:1; grid-row:2; }
 .feature-3 { grid-column:2; grid-row:2; }
 .feature-4 { grid-column:1; grid-row:3; }
 .feature-5 { grid-column:2; grid-row:3; }
 .feature-info { left:8px; right:7px; bottom:7px; }
 .feature-info strong { font-size:13px; }
 .feature-1 .feature-info strong { font-size:17px; }
 .feature-info small { font-size:9px; }
 .cats { font-size:9px; padding:2px 5px; margin-bottom:4px; }
 .content-columns { grid-template-columns:1fr; gap:5px; }
 .sidebar { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
 .sidebar .widget:first-child { grid-column:1/-1; }
 .lead-thumb { height:220px; }
 .post-row { grid-template-columns:100px 1fr; gap:11px; padding:12px 0; }
 .post-thumb { min-height:90px; }
 .post-row h3 { font-size:16px; }
 .post-row p { display:none; }
 .side-post { height:130px; }
 .footer-columns { grid-template-columns:1fr; gap:10px; }
 .copyright { margin:0 -18px; padding:10px 15px; gap:10px; font-size:9px; }
 footer { margin:0 -18px; padding:22px 18px 0; }
}
/* Interior pages */
.inner-page { min-height:420px; padding:24px 0 48px; }
.breadcrumbs { font-size:12px; color:#999; border-bottom:1px solid var(--line); padding:0 0 12px; margin-bottom:25px; }
.breadcrumbs a { color:#329fc5; }
.page-title { font:700 30px/1.2 var(--heading); color:#30343a; border-bottom:3px solid var(--blue); padding:0 0 12px; margin:8px 0 25px; }
.archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.archive-card { border:1px solid #e7e7e7; background:#fff; }
.archive-image { display:block; height:220px; background-size:cover; background-position:center; }
.archive-copy { padding:15px 17px 19px; }
.archive-copy h2 { font:700 21px/1.25 var(--heading); margin:5px 0 8px; }
.archive-copy p { color:#777; font-size:13px; margin:7px 0 10px; }
.article-content { min-width:0; }
.article-content h1 { font:700 32px/1.2 var(--heading); margin:6px 0 17px; color:#282c30; }
.article-image { width:100%; height:420px; background-size:cover; background-position:center; margin:15px 0; }
.article-excerpt { color:#555; font-size:17px; font-weight:500; }
.article-body { color:#444; font-size:15px; line-height:1.9; white-space:normal; margin-bottom:22px; }
.text-page,.contact-card { max-width:850px; color:#555; font-size:16px; line-height:1.9; padding:22px; border:1px solid #e8e8e8; background:#fcfcfc; }
.text-page h2,.contact-card h2 { color:#333; font-family:var(--heading); }
.page-intro { color:#777; margin:-10px 0 20px; }
.country-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.country-card { min-height:60px; border:1px solid #e5e5e5; padding:14px; color:#444; background:#fafafa; }
.country-card span { color:#2b9fc6; margin-right:9px; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gallery-image { display:block; height:220px; background-size:cover; background-position:center; }
.contact-card { max-width:620px; }
body:lang(bn) .page-title,body:lang(bn) .archive-copy h2,body:lang(bn) .article-content h1 { font-family:'Hind Siliguri',sans-serif; }
.lang-button { width:auto!important; height:auto!important; line-height:1.2!important; border-radius:2px!important; background:#efa323!important; padding:7px 10px; font:600 12px var(--font)!important; }
@media(max-width:700px) {
 .archive-grid { grid-template-columns:1fr; }
 .archive-image { height:210px; }
 .article-content h1 { font-size:25px; }
 .article-image { height:260px; }
 .country-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gallery-image { height:150px; }
 .page-title { font-size:25px; }
}
