@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Bengali:wght@400;500;600;700;800&display=swap');
:root{--green:#08783d;--dark:#102018;--gold:#f4b400;--soft:#f5faf7;--text:#14213d;--muted:#64726b;--border:#e7eee9;--shadow:0 14px 40px #00000012}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans Bengali',system-ui,sans-serif;color:var(--text);background:#fff;line-height:1.65}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.topbar{position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(14px);box-shadow:0 3px 18px #0001;z-index:50}.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:14px}.brand{font-weight:800;color:var(--green);font-size:clamp(18px,4vw,22px);white-space:nowrap}.nav-links{display:flex;gap:18px;font-weight:600;align-items:center}.nav-links a{font-size:15px}.menu-toggle{display:none;border:0;background:#eef8f2;color:var(--green);width:42px;height:42px;border-radius:12px;font-size:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;background:var(--green);color:#fff;font-weight:700;border:0;cursor:pointer;min-height:44px}.btn.full{width:100%}.outline{background:transparent;color:#fff;border:1px solid #fff}.primary{background:var(--gold);color:#16213e}.hero{background:radial-gradient(circle at 80% 15%,#28b36f55,transparent 30%),linear-gradient(135deg,#064e2d,#0b7a3b);color:#fff;padding:clamp(56px,10vw,94px) 0}.hero-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:40px;align-items:center}.badge{display:inline-flex;background:#ffffff22;padding:8px 14px;border-radius:30px}.hero h1{font-size:clamp(34px,6vw,58px);line-height:1.12;margin:18px 0}.hero p{font-size:clamp(17px,2.5vw,20px);opacity:.95}.actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.candidate-card{background:#fff;color:var(--text);padding:22px;border-radius:24px;text-align:center;box-shadow:0 20px 60px #0003}.photo-placeholder{aspect-ratio:4/5;border-radius:20px;background:linear-gradient(160deg,#e9f7ef,#c7ead7);display:grid;place-items:center;color:var(--green);font-weight:800;font-size:24px;overflow:hidden}.photo-placeholder img{width:100%;height:100%;object-fit:cover}.candidate-card h2{font-size:clamp(24px,5vw,34px);margin:16px 0 0}.section{padding:clamp(54px,8vw,78px) 0}.soft{background:var(--soft)}h2{font-size:clamp(28px,5vw,38px);line-height:1.25;margin:0 0 24px}.two{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.info-box,.card,.timeline-item{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 10px 30px #00000008}.check{padding-left:22px}.check li{margin:10px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card i{font-size:34px;color:var(--green)}.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.timeline-item span{display:inline-flex;background:var(--green);color:#fff;padding:6px 12px;border-radius:30px;font-size:14px}.form-wrap{max-width:760px}form{display:grid;gap:14px}input,select,textarea{width:100%;padding:14px 16px;border:1px solid #d7e2dc;border-radius:12px;font-family:inherit;font-size:16px;background:#fff;min-height:48px}textarea{min-height:130px}.alert{background:#e9f9ef;border:1px solid #bce8c8;color:var(--green);padding:14px;border-radius:12px;margin-bottom:16px}.floating-whatsapp{position:fixed;right:18px;bottom:18px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:var(--shadow)}.install-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:min(520px,92%);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);padding:12px;border-radius:18px;display:none;align-items:center;justify-content:space-between;gap:12px;z-index:60}.install-banner.show{display:flex}.install-banner p{margin:0;font-weight:700;font-size:14px}.install-banner .close{background:#eef2ef;color:var(--text);border:0;border-radius:999px;width:36px;height:36px}footer{background:var(--dark);color:#fff;padding:26px 0;text-align:center;padding-bottom:calc(26px + env(safe-area-inset-bottom))}
@media(max-width:920px){.nav-links{position:fixed;top:66px;left:4%;right:4%;display:none;flex-direction:column;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:18px;color:var(--text)}.nav-links.open{display:flex}.menu-toggle{display:inline-grid;place-items:center}.desktop-contact{display:none}.hero-grid,.two,.cards,.timeline{grid-template-columns:1fr}.hero{text-align:left}.candidate-card{max-width:420px;margin:auto}.actions .btn{flex:1 1 220px}.outline{border-color:#fff}.floating-whatsapp{bottom:82px}}
@media(max-width:560px){.container{width:min(100% - 28px,1120px)}.nav{padding:10px 0}.hero{padding-top:46px}.hero h1{font-size:34px}.actions{flex-direction:column}.actions .btn{width:100%}.candidate-card{padding:16px;border-radius:20px}.section{padding:46px 0}.info-box,.card,.timeline-item{padding:18px}.cards,.timeline{gap:14px}.install-banner{bottom:10px}.brand{max-width:72vw;overflow:hidden;text-overflow:ellipsis}.floating-whatsapp{right:14px;width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.section-head.center{text-align:center;max-width:820px;margin:0 auto 24px}.section-head.center p{color:var(--muted);margin-top:-8px}.voter-slip-section{background:#fff}.voter-search-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow);margin-bottom:22px}.voter-search-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:center}.privacy-note{display:block;color:var(--muted);margin-top:10px}.voter-result{display:grid;gap:16px}.voter-result-empty,.voter-result-error{background:#fff7e6;border:1px solid #ffe0a6;color:#774900;padding:16px;border-radius:16px}.voter-result-card{display:grid;grid-template-columns:1fr 360px;gap:18px;background:#fff;border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:0 10px 30px #00000008}.voter-result-card h3{margin:0 0 10px;color:var(--green);font-size:24px}.voter-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.voter-info-grid div{background:var(--soft);border-radius:14px;padding:10px 12px}.voter-info-grid span{display:block;color:var(--muted);font-size:13px}.venue-box{margin-top:14px;padding:14px;border-radius:16px;background:#eef8f2;border:1px solid #cbeed8}.venue-box strong{display:block;font-size:18px;color:var(--green)}.map-box iframe{width:100%;height:260px;border:0;border-radius:18px;background:#eef2ef}.map-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.map-actions .btn{border-radius:14px;padding:9px 14px;min-height:40px}.btn.secondary{background:#eef8f2;color:var(--green)}
@media(max-width:920px){.voter-search-grid{grid-template-columns:1fr 1fr}.voter-search-grid .btn{width:100%}.voter-result-card{grid-template-columns:1fr}.map-box iframe{height:240px}}
@media(max-width:560px){.voter-search-card{padding:14px;border-radius:18px}.voter-search-grid,.voter-info-grid{grid-template-columns:1fr}.voter-result-card{padding:16px;border-radius:18px}.voter-result-card h3{font-size:21px}.map-box iframe{height:220px}}
