@font-face{font-family:"NSB";src:url(fonts/NotoSerifBengali-Regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:"NSB";src:url(fonts/NotoSerifBengali-Bold.ttf);font-weight:700;font-display:swap}
@font-face{font-family:"NSaB";src:url(fonts/NotoSansBengali-Regular.ttf);font-weight:400;font-display:swap}
@font-face{font-family:"NSaB";src:url(fonts/NotoSansBengali-Bold.ttf);font-weight:700;font-display:swap}
:root{--navy:#0b1f3a;--navy2:#13305a;--ivory:#faf7f0;--paper:#fffdf8;--gold:#b08d3c;--gold2:#d6b866;--ink:#1c2430;--mute:#5b6676;--line:#e3dcc9;--ok:#1f6b45;--warn:#8a5a00;--bad:#8b2b2b}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"NSaB","Noto Sans Bengali",system-ui,sans-serif;line-height:1.85;font-size:18px}
h1,h2,h3{font-family:"NSB","Noto Serif Bengali",Georgia,serif;color:var(--navy);line-height:1.35}
a{color:var(--navy2)}a:hover{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
header.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;border-bottom:3px solid var(--gold)}
.bar{max-width:1140px;margin:auto;padding:10px 20px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.brand{font-family:"NSB",serif;font-weight:700;color:#fff;text-decoration:none;font-size:1.05rem}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
nav a{color:#e9eef7;text-decoration:none;padding:6px 10px;border-radius:6px;font-size:.92rem}
nav a:hover,nav a[aria-current=page]{background:var(--navy2);color:var(--gold2)}
.lang{margin-left:auto;border:1px solid var(--gold);border-radius:20px;padding:4px 14px;color:var(--gold2);text-decoration:none;font-size:.9rem}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:64px 20px}
.hero .in{max-width:1140px;margin:auto;display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:center}
.hero h1{color:#fff;font-size:2.4rem;margin:.2em 0}
.hero .sub{color:var(--gold2);letter-spacing:.04em}
.hero p{color:#dfe7f3;max-width:62ch}
.portrait{background:var(--paper);padding:10px;border:2px solid var(--gold);border-radius:6px;text-align:center}
.portrait img{width:100%;height:auto;display:block}
.portrait figcaption{color:var(--mute);font-size:.8rem;line-height:1.5;padding-top:8px}
main{max-width:1000px;margin:auto;padding:36px 20px 60px}
section{margin:44px 0}h2{border-bottom:2px solid var(--gold);padding-bottom:6px;font-size:1.6rem}
.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 22px;margin:14px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.badge{display:inline-block;font-size:.75rem;padding:1px 10px;border-radius:12px;border:1px solid;font-family:"NSaB",sans-serif;line-height:1.7}
.b-doc{color:var(--ok);border-color:var(--ok);background:#eaf5ee}
.b-family{color:var(--warn);border-color:var(--warn);background:#fbf3e0}
.b-unclear{color:var(--bad);border-color:var(--bad);background:#f8eaea}
.notice{border-left:5px solid var(--gold);background:#fbf6e6;padding:12px 18px;border-radius:4px;font-size:.95rem}
.tl{list-style:none;padding:0;margin:0;border-left:3px solid var(--gold);margin-left:8px}
.tl li{padding:0 0 22px 22px;position:relative}
.tl li:before{content:"";position:absolute;left:-10px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--navy);border:3px solid var(--gold)}
.tl .y{font-weight:700;color:var(--navy)}
.docthumb{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit}
.docthumb img{width:100%;height:190px;object-fit:cover;object-position:top;background:#eee}
.docthumb div{padding:10px 12px;font-size:.88rem;line-height:1.5}
.docthumb:hover{border-color:var(--gold)}
table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}th{background:var(--navy);color:#fff}
.fx{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.fx input,.fx select{padding:8px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
dialog{max-width:96vw;width:960px;border:2px solid var(--gold);border-radius:10px;padding:0}
dialog::backdrop{background:rgba(5,15,30,.7)}
.dh{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--navy);color:#fff}
.dh button{background:var(--gold);border:0;border-radius:6px;padding:4px 14px;font:inherit;cursor:pointer}
.dbody{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;max-height:80vh;overflow:auto}
.dbody img{width:100%;height:auto}
footer{background:var(--navy);color:#cdd6e4;padding:32px 20px;font-size:.88rem;border-top:3px solid var(--gold)}
footer .in{max-width:1000px;margin:auto}footer a{color:var(--gold2)}
@media(max-width:760px){.hero .in{grid-template-columns:1fr}.hero h1{font-size:1.8rem}.dbody{grid-template-columns:1fr}body{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{header.top,footer,.fx{display:none}}
