:root{--navy:#08224a;--navy2:#051a3a;--green:#12822f;--green2:#16a034;--gold:#f2b40e;--gold2:#c99200;--bg:#eaf1fa;--card:#fff;--ink:#14203d;--mute:#52607a;--line:#c9d9f0;--sh:0 8px 28px rgba(8,34,74,.10);--r:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.75 "Hind Siliguri","Noto Sans Bengali",system-ui,sans-serif}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3,h4{line-height:1.3;margin:0 0 .5em}
/* nav */
.nav{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.nav .wrap{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;color:var(--gold)}
.brand img{width:46px;height:46px;border-radius:12px;border:1px solid rgba(242,180,14,.6)}
.links{display:flex;gap:18px;align-items:center;margin-left:auto}
.links a{text-decoration:none;font-weight:500;color:#fff;opacity:.92}
.links a:hover{opacity:1;color:var(--gold)}
.pill-btn,.btn{display:inline-block;border:0;border-radius:999px;padding:10px 22px;font:600 1rem inherit;font-family:inherit;text-decoration:none;cursor:pointer;line-height:1.4}
.btn.g,.links .cta{background:var(--green);color:#fff}
.btn.y{background:var(--gold);color:var(--navy)}
.btn.o{background:transparent;color:#fff;border:2px solid var(--gold)}
.btn.line{background:#fff;color:var(--navy);border:2px solid var(--line)}
.btn.red{background:#b3261e;color:#fff}
.btn.sm{padding:5px 14px;font-size:.9rem}
.links .cta{padding:8px 18px}
.lang{background:transparent;border:1px solid var(--gold);color:var(--gold);border-radius:8px;padding:4px 10px;font-weight:700;text-decoration:none}
.burger{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}
form.inline{display:inline;margin:0}
.linkbtn{background:none;border:0;color:#fff;font:inherit;cursor:pointer;opacity:.92;padding:0}
/* hero */
.hero{background:linear-gradient(135deg,var(--navy2),var(--navy) 60%,#0d3a2c);color:#fff;padding:48px 0 56px;text-align:center}
.hero .lk{width:min(760px,100%);border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.4);margin:0 auto 22px;display:block}
.hero .pill{display:inline-block;background:rgba(242,180,14,.15);color:var(--gold);border:1px solid var(--gold);padding:4px 16px;border-radius:999px;font-weight:600}
.hero h1{font-size:clamp(1.7rem,4vw,2.6rem);margin:14px 0 8px;color:#fff}
.hero p{max-width:760px;margin:0 auto 22px;color:#dbe6f7}
.btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.stats{background:var(--navy2);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:18px;padding-bottom:18px;text-align:center}
.stats b{display:block;color:var(--gold);font-size:1.15rem}
.stats span{font-size:.92rem;color:#c3d1ea}
/* sections */
section{padding:56px 0}
section.alt{background:#dfe9f7}
.head{text-align:center;margin-bottom:28px}
.head h2{color:var(--navy);font-size:clamp(1.5rem,3vw,2rem)}
.head p{color:var(--mute);margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);border-top:5px solid var(--c,var(--green));padding:20px;display:flex;flex-direction:column}
.card h3{color:var(--navy);margin-bottom:8px}
.card .num{display:inline-block;width:34px;height:34px;border-radius:50%;background:var(--c,var(--green));color:#fff;text-align:center;line-height:34px;font-weight:700;margin-bottom:10px}
.card ul{padding-left:1.2em;margin:0 0 14px;color:var(--mute);flex:1}
.card p{color:var(--mute);margin:0 0 10px}
.card .ask{align-self:flex-start;text-decoration:none;background:var(--green);color:#fff;padding:7px 18px;border-radius:999px;font-weight:600}
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:24px}
.why>div{background:#fff;border-radius:var(--r);padding:18px;text-align:center;box-shadow:var(--sh)}
.why strong{display:block;color:var(--navy)}
.why span{color:var(--mute);font-size:.93rem}
.why .ic{display:block;font-size:1.8rem;color:var(--gold2)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.box{background:#fff;border-radius:var(--r);padding:22px;box-shadow:var(--sh)}
.box.gold{border-left:6px solid var(--gold)}
.box.green{border-left:6px solid var(--green)}
.box h3{color:var(--navy)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.step{background:#fff;border-radius:var(--r);padding:20px;box-shadow:var(--sh);text-align:center}
.step i{display:inline-block;width:42px;height:42px;line-height:42px;border-radius:50%;background:var(--navy);color:var(--gold);font-style:normal;font-weight:700;margin-bottom:8px}
details{background:#fff;border-radius:12px;padding:14px 18px;margin-bottom:10px;box-shadow:var(--sh)}
summary{cursor:pointer;font-weight:600;color:var(--navy)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.about .sq{width:100%;max-width:340px;border-radius:20px;box-shadow:var(--sh);display:block;margin:0 auto 18px}
.vals>div{background:#fff;border-radius:12px;padding:12px 16px;margin-bottom:10px;box-shadow:var(--sh)}
.vals strong{display:block;color:var(--green)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
.contact small{display:block;color:var(--mute)}
.contact .it{margin-bottom:12px}
/* service page */
.svc-hero{background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;padding:36px 0}
.svc-hero h1{color:var(--gold);margin-bottom:6px}
.svc-hero p{color:#dbe6f7;margin:0;max-width:760px}
.svc-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;padding:34px 0 56px;align-items:start}
.prose{background:#fff;border-radius:var(--r);padding:28px;box-shadow:var(--sh)}
.prose h3{color:var(--navy);margin-top:1.4em;padding-bottom:4px;border-bottom:2px solid var(--gold)}
.prose h3:first-child{margin-top:0}
.prose li{margin:.25em 0}
.side .box{margin-bottom:16px}
.side ul{padding-left:1.2em;margin:0 0 12px}
.side a.o{display:block;padding:6px 0;color:var(--green);text-decoration:none;font-weight:600}
.note{font-size:.9rem;color:var(--mute)}
/* forms */
.fcard{max-width:640px;margin:34px auto;background:#fff;border-radius:var(--r);padding:26px;box-shadow:var(--sh)}
.fcard h1,.fcard h2{color:var(--navy)}
label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
input[type=checkbox]{width:auto}
.hp{position:absolute;left:-9999px}
.err{color:#b3261e;font-size:.92rem;margin:4px 0 0}
.ok{background:#e3f5e8;border:1px solid #9fd5ae;color:#0c5a22;border-radius:10px;padding:12px 16px;margin-bottom:14px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.slots label{margin:0;font-weight:500}
.slots input{position:absolute;opacity:0;width:0}
.slots span{display:block;text-align:center;border:1.5px solid var(--green);color:var(--green);border-radius:10px;padding:8px;cursor:pointer}
.slots input:checked+span{background:var(--green);color:#fff}
.slots input:disabled+span{border-color:var(--line);color:#8b97ad;background:#eef2f8;cursor:not-allowed;text-decoration:line-through}
.slots input:focus-visible+span{outline:2px solid var(--gold)}
.hint{color:var(--mute);font-size:.93rem}
/* tables */
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--sh)}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{background:var(--navy);color:var(--gold);font-weight:600}
.badge{display:inline-block;padding:2px 12px;border-radius:999px;font-size:.85rem;font-weight:600}
.b-new{background:#fff3cd;color:#7a5a00}.b-confirmed{background:#dbeafe;color:#1e4aa8}.b-completed{background:#dcf5e3;color:#0c5a22}.b-cancelled{background:#eee;color:#666}
/* footer */
footer{background:var(--navy2);color:#c3d1ea;padding:40px 0 18px}
.fg{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:26px}
footer h4{color:var(--gold)}
footer a{display:block;color:#c3d1ea;text-decoration:none;margin:3px 0}
footer a:hover{color:var(--gold)}
footer .flk{width:180px;border-radius:16px;margin-bottom:10px}
.dis{font-size:.85rem;border-top:1px solid #1a3566;margin-top:22px;padding-top:14px}
.copy{text-align:center;font-size:.85rem;margin-top:10px}
.wa{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.3);z-index:40}
.wa svg{width:30px;height:30px}
/* admin */
.adm{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.side-nav{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh}
.side-nav .logo{display:block;width:120px;margin:0 auto 6px;border-radius:18px;border:1px solid rgba(242,180,14,.5)}
.side-nav .ttl{text-align:center;color:var(--gold);font-weight:700;margin-bottom:18px}
.side-nav a{display:block;color:#dbe6f7;text-decoration:none;padding:9px 12px;border-radius:10px;margin-bottom:4px}
.side-nav a:hover{background:rgba(255,255,255,.08)}
.side-nav a.on{background:var(--gold);color:var(--navy);font-weight:700}
.adm-main{display:flex;flex-direction:column;min-width:0}
.topbar{background:#fff;border-bottom:3px solid var(--gold);padding:10px 22px;display:flex;align-items:center;gap:14px;justify-content:flex-end}
.topbar .who{color:var(--mute)}
.bell{position:relative}
.bell summary{list-style:none;cursor:pointer;background:var(--navy);color:var(--gold);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:1.2rem;padding:0}
.bell summary::-webkit-details-marker{display:none}
.bell .cnt{position:absolute;top:-4px;right:-4px;background:#d93025;color:#fff;border-radius:999px;font-size:.72rem;min-width:19px;height:19px;line-height:19px;text-align:center;font-weight:700}
.bell .dd{position:absolute;right:0;top:48px;width:340px;max-width:90vw;background:#fff;border-radius:12px;box-shadow:0 12px 36px rgba(8,34,74,.25);z-index:50;overflow:hidden}
.bell .dd header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--navy);color:var(--gold);font-weight:700}
.bell .dd header button{background:none;border:0;color:#fff;cursor:pointer;font:inherit;font-size:.85rem}
.bell .dd a{display:block;padding:10px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:.93rem;line-height:1.5}
.bell .dd a:hover{background:#f3f7fd}
.bell .dd .empty{padding:16px;color:var(--mute)}
.adm-body{padding:24px}
.adm-body h1{color:var(--navy);font-size:1.6rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:18px 0 26px}
.kpi{background:#fff;border-radius:var(--r);padding:18px;box-shadow:var(--sh);border-left:6px solid var(--green)}
.kpi:nth-child(2){border-color:var(--gold)}.kpi:nth-child(3){border-color:var(--navy)}.kpi:nth-child(4){border-color:var(--gold2)}
.kpi b{display:block;font-size:1.9rem;color:var(--navy)}
.kpi span{color:var(--mute)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.filters a{padding:5px 16px;border-radius:999px;border:1.5px solid var(--line);text-decoration:none;background:#fff;font-weight:600;color:var(--navy)}
.filters a.on{background:var(--green);border-color:var(--green);color:#fff}
.stsel{padding:4px 8px;width:auto}
textarea.long{min-height:340px;font-family:ui-monospace,Consolas,monospace;font-size:.9rem;line-height:1.5}
@media(max-width:900px){.svc-layout,.about,.contact,.two,.fg{grid-template-columns:1fr}.stats .wrap{grid-template-columns:1fr 1fr}.adm{grid-template-columns:1fr}.side-nav{position:static;height:auto;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.side-nav .logo{width:56px;margin:0}.side-nav .ttl{display:none}}
@media(max-width:820px){.burger{display:block}.links{display:none;position:absolute;left:0;right:0;top:64px;background:var(--navy);flex-direction:column;align-items:flex-start;padding:14px 20px;gap:12px}.links.open{display:flex}.brand span{font-size:.9rem}}
/* pages, blog, cta */
.crumbs{font-size:.9rem;color:#c3d1ea;margin-bottom:6px}
.crumbs a{text-decoration:none;color:var(--gold)}
.links a.cur{color:var(--gold);border-bottom:2px solid var(--gold)}
.post-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);border-top:5px solid var(--c,var(--navy));padding:20px;display:flex;flex-direction:column}
.post-card .meta{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;color:var(--mute);margin-bottom:6px}
.post-card .tag{background:var(--c,var(--navy));color:#fff;border-radius:999px;padding:1px 12px;font-weight:600}
.post-card h3{margin:4px 0 8px;font-size:1.1rem}
.post-card h3 a{color:var(--navy);text-decoration:none}
.post-card h3 a:hover{color:var(--green)}
.post-card p{color:var(--mute);margin:0 0 12px;flex:1}
.post-card .ask{align-self:flex-start;text-decoration:none;background:var(--green);color:#fff;padding:7px 18px;border-radius:999px;font-weight:600}
.ctaband{background:linear-gradient(135deg,var(--navy2),var(--navy) 60%,#0d3a2c);color:#fff;text-align:center;padding:44px 0}
.ctaband h2{color:var(--gold)}
.ctaband p{color:#dbe6f7;margin:0 0 16px}
.prose h4{color:var(--green);margin:1.2em 0 .3em}
.sidebadge{background:#d93025;color:#fff;border-radius:999px;font-size:.75rem;padding:0 8px;margin-left:6px}
section .btns{margin-top:6px}
/* super admin */
.sidehd{color:var(--gold);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin:14px 12px 6px;opacity:.9}
.adm-card{background:#fff;border-radius:12px;box-shadow:var(--sh);padding:12px 18px;margin-bottom:12px;border-left:5px solid var(--gold)}
.adm-card>summary{font-weight:700;color:var(--navy);cursor:pointer;padding:4px 0}
.quick{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.quick a{background:var(--navy);color:var(--gold);text-decoration:none;padding:9px 18px;border-radius:999px;font-weight:600}
.quick a:hover{background:var(--green);color:#fff}
.trow{display:grid;grid-template-columns:170px 1fr 1fr;gap:8px;align-items:start;border-top:1px solid var(--line);padding:8px 0}
.trow .tkey{font:600 .8rem ui-monospace,Consolas,monospace;color:var(--mute);word-break:break-all}
.trow input,.trow textarea{margin:0}
.logos{display:flex;gap:30px;flex-wrap:wrap}
.colors{display:flex;gap:26px;flex-wrap:wrap}
.colors input[type=color]{width:90px;height:42px;padding:2px}
/* social links */
.socials{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.soc{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(242,180,14,.5);color:#fff;border-radius:999px;padding:3px 12px 3px 4px;text-decoration:none;font-size:.9rem}
.soc b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--navy)}
.box .soc{color:var(--navy);background:#f3f7fd}
.box .soc:hover,.soc:hover{background:var(--gold);color:var(--navy)}
@media(max-width:900px){.trow{grid-template-columns:1fr}}
/* hero banner (long horizontal) */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero{padding:0 0 46px}
.hero-banner{display:block;width:100%;height:auto;aspect-ratio:1640/624;object-fit:cover;object-position:center;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hero .wrap{padding-top:30px}
@media(max-width:700px){.hero-banner{aspect-ratio:16/9}.hero .wrap{padding-top:22px}}
