/* TaskPay BD - global styles */
:root{
  --teal:#12b5a5; --cyan:#0ea5d8; --grad:linear-gradient(135deg,#12b5a5,#0ea5d8);
  --bg:#ffffff; --bg-soft:#f6fbfb; --bg-hero:linear-gradient(180deg,#e9fbf8 0%,#f1f9fd 55%,#ffffff 100%);
  --card:#ffffff; --text:#0f2b33; --muted:#6b8792; --line:#e3edf0;
  --shadow:0 10px 30px rgba(15,60,70,.07); --radius:16px;
}
html.dark{
  --bg:#0b1519; --bg-soft:#0e1b20; --bg-hero:linear-gradient(180deg,#0d2028 0%,#0b1519 70%);
  --card:#112127; --text:#e6f2f4; --muted:#93a9b0; --line:#1d3138;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Hind Siliguri','Inter',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0 0 .4em;line-height:1.3;font-weight:700}
p{margin:0 0 .6em}
.container{width:min(1160px,92%);margin-inline:auto}
.container-narrow{width:min(780px,92%)}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.center{text-align:center}
.mt-16{margin-top:16px}
.accent{color:var(--teal);font-weight:600}
.accent-link{color:var(--teal);font-weight:600}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:16px;height:66px}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--grad);color:#fff}
.brand-mark svg{width:20px;height:20px}
.brand-name{font-size:1.22rem;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.main-nav{display:flex;gap:26px;margin-inline:auto;font-weight:500;color:var(--muted)}
.main-nav a:hover{color:var(--teal)}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.icon-btn{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}
.icon-btn:hover{background:var(--bg-soft);color:var(--teal)}
.icon-btn svg{width:19px;height:19px}
.ic-moon{display:none}
html.dark .ic-sun{display:none}
html.dark .ic-moon{display:block}
.nav-toggle{display:none}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:10px 18px;border-radius:11px;border:1px solid transparent;font-weight:600;cursor:pointer;font-family:inherit;font-size:.97rem;transition:.18s}
.btn-outline{border-color:var(--line);color:var(--text);background:var(--card)}
.btn-outline:hover{border-color:var(--teal);color:var(--teal)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 22px rgba(14,165,216,.28)}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-lg{padding:14px 28px;font-size:1.05rem;border-radius:13px}
.btn-block{width:100%;margin-top:16px;padding:13px}
.btn-ghost{background:var(--bg-soft);color:var(--muted);border-color:var(--line);padding:8px 14px;font-size:.86rem}
.btn-ghost:hover{color:var(--teal)}

/* hero */
.hero{background:var(--bg-hero);padding:86px 0 92px;text-align:center}
.pill{display:inline-block;padding:7px 18px;border-radius:999px;background:color-mix(in srgb,var(--teal) 12%,transparent);color:var(--teal);font-weight:600;font-size:.9rem}
.hero-title{font-size:clamp(2.1rem,5.4vw,3.6rem);margin:22px 0 6px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--muted);font-weight:500}
.hero-desc{max-width:620px;margin:14px auto 28px;color:var(--muted)}
.hero-stats{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:26px;padding:0;margin:34px 0 0;color:var(--muted);font-size:.95rem}
.hero-stats li{display:flex;align-items:center;gap:8px}
.hero-stats .ico{color:var(--teal)}

/* sections */
.section{padding:78px 0}
.section-alt{background:var(--bg-soft)}
.section-title{text-align:center;font-size:clamp(1.6rem,3.6vw,2.3rem);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-sub{text-align:center;color:var(--muted);margin-bottom:44px}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}

.step-card{position:relative;text-align:center;transition:.2s}
.step-card:hover{transform:translateY(-4px)}
.step-no{position:absolute;top:16px;right:18px;color:var(--muted);font-weight:700;opacity:.5}
.step-icon{display:grid;place-items:center;width:58px;height:58px;margin:6px auto 16px;border-radius:15px;background:var(--grad);color:#fff}
.step-icon svg{width:26px;height:26px}

.quote-card{position:relative}
.quote-mark{position:absolute;top:6px;left:20px;font-size:3rem;color:color-mix(in srgb,var(--teal) 22%,transparent);line-height:1}
.stars{color:#f5b301;letter-spacing:2px;margin:22px 0 10px}
.quote-bn{font-size:.95rem}
.person{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--grad);color:#fff;font-size:.85rem;font-weight:600;flex:0 0 auto}

/* faq */
.faq-item{border:1px solid var(--line);background:var(--card);border-radius:13px;margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:transparent;border:0;color:inherit;font-family:inherit;font-size:1rem;text-align:left;cursor:pointer}
.faq-q:hover{color:var(--teal)}
.chev{transition:.2s;color:var(--muted)}
.faq-q[aria-expanded="true"] .chev{transform:rotate(180deg)}
.faq-a{padding:0 20px 18px}

/* footer */
.site-footer{background:var(--bg-soft);border-top:1px solid var(--line);padding:54px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}
.site-footer h4{margin-bottom:14px}
.link-list{list-style:none;padding:0;margin:0;display:grid;gap:9px;color:var(--muted)}
.link-list a:hover{color:var(--teal)}
.footer-bottom{margin-top:38px;padding-top:18px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.9rem}
.footer-bottom p{margin:0}

/* auth */
.auth-body{background:var(--bg-hero);min-height:100vh}
.auth-main{display:grid;place-items:center;padding:70px 20px}
.auth-card{width:min(440px,100%);background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:34px 30px;text-align:left}
.auth-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:17px;background:var(--grad);color:#fff}
.auth-icon svg{width:28px;height:28px}
.auth-card h1{text-align:center;font-size:1.5rem}
.field-label{display:block;font-weight:600;margin:22px 0 8px;font-size:.95rem}
.input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--text);font-family:inherit;font-size:1rem;letter-spacing:.5px}
.input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 18%,transparent)}
.alert{margin-top:18px;padding:11px 14px;border-radius:11px;background:color-mix(in srgb,#e5484d 12%,transparent);color:#c73b40;font-size:.9rem}
.divider{border:0;border-top:1px solid var(--line);margin:26px 0 18px}
.contact-row{display:flex;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}

@media(max-width:900px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .main-nav{position:absolute;top:66px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:0 5%;display:none}
  .main-nav.open{display:flex}
  .main-nav a{padding:13px 0;border-bottom:1px solid var(--line)}
  .nav-toggle{display:grid}
  .grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}
  .hero{padding:58px 0 64px}
  .section{padding:56px 0}
}
