:root{--g:#0e5a47;--g2:#0a4132;--ink:#16221e;--mut:#55655f;--bg:#fbfcf9;--alt:#eef4ef;--sf:#f2a93b;--line:#d9e3dc}
@media(prefers-color-scheme:dark){:root{--g:#4fc19f;--g2:#7ad8bb;--ink:#eaf3ee;--mut:#a5b8af;--bg:#0f1815;--alt:#15221e;--line:#26372f}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Hind Siliguri",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.75;font-size:17px}
img{max-width:100%}a{color:var(--g)}a:focus-visible,button:focus-visible{outline:3px solid var(--sf);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Noto Serif Bengali","Hind Siliguri",serif;line-height:1.35;margin:0 0 .5em}
h1{font-size:clamp(28px,5vw,46px);font-weight:800}h2{font-size:clamp(23px,3.5vw,32px)}h3{font-size:19px;font-family:"Hind Siliguri",sans-serif;font-weight:700}
.top{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.brand img{display:block;border-radius:6px}
.menu{display:flex;align-items:center;gap:6px}.menu>a:not(.btn){padding:8px 12px;text-decoration:none;color:var(--ink);border-radius:8px;font-weight:500}
.menu>a[aria-current]{background:var(--alt);color:var(--g);font-weight:700}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--ink);font-size:22px;border-radius:8px;padding:2px 12px;cursor:pointer}
.btn{display:inline-block;background:var(--g);color:#fff;text-decoration:none;padding:9px 20px;border-radius:10px;font-weight:600;border:2px solid var(--g)}
@media(prefers-color-scheme:dark){.btn{color:#0a1a15}}
.btn:hover{background:var(--g2);border-color:var(--g2)}.btn.ghost{background:transparent;color:var(--g)}.btn.ghost:hover{background:var(--alt)}
.btn.big{padding:12px 28px;font-size:18px;margin:0 6px 8px 0}
.hero{padding:64px 0 56px;background:linear-gradient(180deg,var(--alt),var(--bg))}.hero.small{padding:48px 0 36px}
.hgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.lead{font-size:19px;color:var(--mut);max-width:60ch}
.callcard{background:var(--bg);border:2px solid var(--g);border-radius:28px;padding:28px;max-width:340px;justify-self:center;position:relative;box-shadow:10px 10px 0 var(--sf)}
.callcard b{display:block;font-size:20px}.callcard span{color:var(--mut);font-size:14px}.callcard p{margin:14px 0;font-size:18px}
.pill{display:inline-block;background:var(--g);color:#fff;border-radius:99px;padding:2px 16px;font-size:15px}
@media(prefers-color-scheme:dark){.pill{color:#0a1a15}}
.ring{position:absolute;right:22px;top:22px;width:14px;height:14px;border-radius:50%;background:var(--sf);animation:p 1.6s infinite}
@keyframes p{0%{box-shadow:0 0 0 0 rgba(242,169,59,.7)}100%{box-shadow:0 0 0 16px rgba(242,169,59,0)}}
@media(prefers-reduced-motion:reduce){.ring{animation:none}html{scroll-behavior:auto}}
.sec{padding:60px 0}.alt{background:var(--alt)}
.steps{list-style:none;counter-reset:s;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{counter-increment:s;border-top:4px solid var(--g);padding-top:12px}
.steps li::before{content:counter(s,bengali);font-family:"Noto Serif Bengali",serif;font-weight:800;font-size:28px;color:var(--sf);display:block}
.steps b{display:block;font-size:18px}.steps span{color:var(--mut)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.card{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:22px}.alt .card{background:var(--bg)}
.card p{margin:0;color:var(--mut)}a.card{text-decoration:none;color:var(--ink)}a.card:hover{border-color:var(--g)}
.pay{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.qr{margin:0;text-align:center}.qr img{width:100%;max-width:320px;border:1px solid var(--line);border-radius:16px;background:#fff}.qr figcaption{color:var(--mut);margin-top:8px}
.tick{padding:0;list-style:none}.tick li{padding:4px 0 4px 30px;position:relative}.tick li::before{content:"✓";position:absolute;left:0;color:var(--g);font-weight:700}
.prose{max-width:760px}.prose h2{margin-top:1.4em;font-size:24px}.prose .grid3{max-width:1000px}
.cta{background:var(--g);color:#fff;text-align:center;padding:56px 0}.cta h2{color:#fff}.cta p{opacity:.9}
.cta .btn{background:#fff;color:var(--g2);border-color:#fff}.cta .btn.ghost{background:transparent;color:#fff}
@media(prefers-color-scheme:dark){.cta{background:#0d3a2e}.cta .btn{color:#0d3a2e}}
footer{background:var(--ink);color:#d7e3dd;padding:44px 0 20px;margin-top:0}
@media(prefers-color-scheme:dark){footer{background:#0a110f}}
footer a{color:#d7e3dd;text-decoration:none}footer a:hover{text-decoration:underline}footer h4{margin:0 0 8px;color:#fff;font-size:17px}footer p{margin:0 0 8px}
.fgrid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:30px}.fgrid>div:last-child a{display:block}
.fgrid img{border-radius:6px;background:#fff}.copy{margin-top:28px;padding-top:16px;border-top:1px solid #ffffff22;font-size:14px;opacity:.8}
@media(max-width:820px){.burger{display:block}.menu{display:none;position:absolute;left:0;right:0;top:68px;background:var(--bg);flex-direction:column;align-items:stretch;padding:12px 20px 20px;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu .btn{text-align:center;margin-top:6px}
.hgrid,.pay,.grid3,.fgrid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.hero{padding:40px 0}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}


/* Floating WhatsApp Button */
.whatsapp-float {
    position: fixed;
    width: 56px;
    height: 56px;
    bottom: 24px;
    right: 24px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    text-decoration: none;
}
.whatsapp-float:hover {
    background-color: #128c7e;
    transform: scale(1.08);
}

/* FAQ Details Accordion */
.faq-grid {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}
.faq-item {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px 20px;
    transition: background 0.2s;
}
.faq-item summary {
    font-weight: 700;
    font-size: 18px;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--ink);
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary::after {
    content: "+";
    font-size: 22px;
    font-weight: 600;
    color: var(--g);
    margin-left: 12px;
}
.faq-item[open] summary::after {
    content: "−";
}
.faq-item p {
    margin: 12px 0 0;
    color: var(--mut);
    line-height: 1.6;
}
