/* FastBahi, built on the same grammar as bharatadvancedenergy.com.
   Same dark ground, same Sora display face, same rhythm of kicker, rule and
   section. The accent is gold rather than green so it reads as a sibling of
   the parent site and not a copy of it.

   One rule overrides everything here: Devanagari never carries letter-spacing
   or uppercasing. The gap lands inside a conjunct and between a consonant and
   its matra, and the word visibly comes apart. */
:root{
  --bg:#04060a; --bg2:#080c12; --panel:#0b1018; --line:#1a2230;
  --txt:#e8ecf1; --dim:#8b96a5; --faint:#5a6474;
  --acc:#c9a227; --acc2:#00e5a0; --wa:#25d366; --danger:#ff5d5d;
  --maxw:1120px;
  --disp:'Sora','Helvetica Neue',sans-serif;
  --sans:'Inter','Helvetica Neue',sans-serif;
  --dev:'Noto Sans Devanagari','Noto Serif Devanagari',var(--sans);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--txt);font-family:var(--sans);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--acc);color:#120d02}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.1;letter-spacing:-.015em}

/* Devanagari protection. Applies to the whole Hindi page, and to any Hindi
   fragment sitting inside an English one (the language switcher). */
html[lang="hi"] body{font-family:var(--dev)}
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3,html[lang="hi"] h4{font-family:var(--dev)}
html[lang="hi"] *{letter-spacing:normal!important;text-transform:none!important}
[lang="hi"]{font-family:var(--dev);letter-spacing:normal!important;text-transform:none!important}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.kicker{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:18px}
.sec{font-size:clamp(28px,4.4vw,48px);font-weight:800;text-transform:uppercase}
html[lang="hi"] .sec{font-size:clamp(26px,4vw,42px)}
.rule{height:1px;background:linear-gradient(90deg,var(--acc),transparent);width:72px;margin:26px 0}
.lead{color:var(--dim);font-size:clamp(15px,1.7vw,18px);max-width:680px;margin-top:18px}
section{position:relative;padding:100px 0}

.rv{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.on{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

/* ---------- nav ---------- */
#prog{position:fixed;top:0;left:0;height:2px;background:var(--acc);width:0;z-index:1001;transition:width .1s linear}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:.4s;background:transparent}
nav.solid{background:rgba(4,6,10,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:11px 0}
.navin{max-width:var(--maxw);margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.navbrand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px;font-family:var(--disp);letter-spacing:.16em;text-transform:uppercase}
.navbrand img{height:34px;width:34px;flex:none;border-radius:9px;background:#fff}
.navright{display:flex;align-items:center;gap:22px}
.navlink{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);transition:color .25s}
.navlink:hover{color:var(--acc)}
.navcta{border:1px solid var(--acc);color:var(--acc);padding:8px 18px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;transition:.3s;white-space:nowrap}
.navcta:hover{background:var(--acc);color:#120d02}
html[lang="hi"] .navcta,html[lang="hi"] .navlink{font-size:13px;font-weight:700}

/* ---------- hero ---------- */
#hero{min-height:88vh;display:flex;align-items:center;padding:150px 0 90px;position:relative;overflow:hidden}
#hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 500px at 78% 30%,rgba(201,162,39,.11),transparent 62%),
  radial-gradient(700px 500px at 10% 80%,rgba(0,229,160,.06),transparent 60%)}
.herogrid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.tag{display:inline-block;border:1px solid rgba(201,162,39,.45);color:var(--acc);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;padding:6px 14px;margin-bottom:22px}
html[lang="hi"] .tag{font-size:12.5px;font-weight:700}
#hero h1{font-size:clamp(34px,6vw,68px);font-weight:800;text-transform:uppercase}
html[lang="hi"] #hero h1{font-size:clamp(30px,5vw,54px);line-height:1.18}
#hero h1 span{display:block;background:linear-gradient(120deg,var(--acc) 15%,#f0d98a 55%,var(--acc2) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.herofoot{margin-top:20px;color:var(--faint);font-size:13px}

.btnrow{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 32px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;border:1px solid var(--acc);transition:.3s;cursor:pointer;font-family:var(--sans)}
html[lang="hi"] .btn{font-size:14.5px;font-weight:700;font-family:var(--dev);padding:14px 28px}
.btn.fill{background:var(--acc);color:#120d02}
.btn.fill:hover{background:transparent;color:var(--acc)}
.btn.ghost{color:var(--txt);border-color:rgba(255,255,255,.3)}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}
.btn.wa{background:transparent;border-color:var(--wa);color:var(--wa)}
.btn.wa:hover{background:var(--wa);color:#04301a}

/* phone: a drawn bill, not a screenshot */
.phone{background:#060a12;border:1px solid var(--line);padding:0;overflow:hidden;max-width:300px;width:100%;margin:0 auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.phone .bar{background:var(--panel);border-bottom:1px solid var(--line);padding:13px 16px;display:flex;justify-content:space-between;align-items:center;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-weight:700}
html[lang="hi"] .phone .bar{font-size:12px;font-weight:700}
.phone .bar b{color:var(--acc);font-weight:800}
.phone .body{padding:18px 16px 20px}
.bill .bno{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:700}
html[lang="hi"] .bill .bno{font-size:11.5px}
.bill .who{font-size:15px;font-weight:800;margin-top:5px;font-family:var(--disp)}
html[lang="hi"] .bill .who{font-family:var(--dev)}
.bill table{width:100%;border-collapse:collapse;margin-top:14px;font-size:12px}
.bill td{padding:7px 0;border-bottom:1px solid var(--line);color:var(--dim)}
.bill td:last-child{text-align:right;color:var(--txt);font-weight:700;font-variant-numeric:tabular-nums}
.bill .tot{display:flex;justify-content:space-between;margin-top:14px;font-size:17px;font-weight:800;font-family:var(--disp)}
html[lang="hi"] .bill .tot{font-family:var(--dev)}
.bill .tot span:last-child{color:var(--acc);font-variant-numeric:tabular-nums}
.chips{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.chip{border:1px solid var(--line);color:var(--acc2);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:5px 9px}
html[lang="hi"] .chip{font-size:11.5px;font-weight:700}

/* ---------- cards ---------- */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:56px;background:var(--line)}
.cell{background:var(--panel);padding:38px 32px;transition:.35s;position:relative}
.cell:hover{background:#0e1520}
.cell .no{font-family:var(--disp);font-size:12px;letter-spacing:.3em;color:var(--acc);font-weight:800}
.cell h3{margin-top:14px;font-size:19px;text-transform:uppercase;letter-spacing:.04em}
html[lang="hi"] .cell h3{font-size:21px;text-transform:none}
.cell p{margin-top:12px;color:var(--dim);font-size:14.5px}

/* ---------- loss band ---------- */
#loss{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lossrow{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px;background:var(--line)}
.losscell{background:var(--bg);padding:34px 30px}
.losscell .n{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--acc);font-weight:800}
html[lang="hi"] .losscell .n{font-size:12.5px}
.losscell h3{margin-top:12px;font-size:18px;letter-spacing:.02em}
.losscell p{margin-top:10px;color:var(--dim);font-size:14px}

/* ---------- steps ---------- */
.steps{margin-top:52px;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:72px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.step .sn{font-family:var(--disp);font-size:42px;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--line);line-height:.9;transition:.4s}
.step:hover .sn{-webkit-text-stroke-color:var(--acc)}
.step h3{font-size:17px;letter-spacing:.02em}
.step p{margin-top:8px;color:var(--dim);font-size:14.5px;max-width:720px}
.warn{margin-top:40px;border-left:2px solid var(--acc);padding:8px 0 8px 24px;color:var(--dim);font-size:15px;max-width:800px}
.warn b{color:var(--txt)}

/* ---------- get ---------- */
#get{background:var(--bg2)}
.getbox{border:1px solid var(--line);background:var(--panel);padding:52px 40px;margin-top:48px;text-align:center}
.getbox h3{font-size:22px;text-transform:uppercase;letter-spacing:.05em}
html[lang="hi"] .getbox h3{text-transform:none;font-size:24px}
.getbox p{color:var(--dim);margin-top:14px;font-size:15.5px;max-width:560px;margin-left:auto;margin-right:auto}
.getbox .btnrow{justify-content:center}
.meta{margin-top:22px;color:var(--faint);font-size:12.5px}

/* ---------- faq ---------- */
details{border-bottom:1px solid var(--line);padding:22px 0}
.faqwrap{margin-top:44px;border-top:1px solid var(--line)}
summary{font-weight:700;cursor:pointer;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px;font-family:var(--disp)}
html[lang="hi"] summary{font-family:var(--dev)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--acc);font-weight:800}
details[open] summary::after{content:"\2212"}
details p{margin-top:14px;color:var(--dim);font-size:14.5px;max-width:760px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:56px 0 44px;background:var(--bg)}
.fgrid{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;flex-wrap:wrap}
.fbrand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.fbrand img{height:28px;width:28px;flex:none;border-radius:7px;background:#fff}
.flinks{display:flex;gap:24px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);flex-wrap:wrap}
html[lang="hi"] .flinks{font-size:13.5px;letter-spacing:normal}
.flinks a:hover{color:var(--acc)}
.byline{margin-top:36px;color:var(--faint);font-size:12.5px;line-height:1.8;max-width:880px}
.byline a{color:var(--acc)}

/* ---------- legal pages ---------- */
.pagehero{padding:150px 0 60px;border-bottom:1px solid var(--line);background:var(--bg2)}
.crumb{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}
.crumb a{color:var(--acc)}
.pagehero h1{font-size:clamp(30px,5vw,54px);text-transform:uppercase;font-weight:800}
.doc{max-width:820px;margin:0 auto;padding:60px 28px 90px}
.doc h2{font-size:17px;margin-top:40px;text-transform:uppercase;letter-spacing:.06em;color:var(--acc)}
.doc p,.doc li{color:var(--dim);font-size:15px;margin-top:12px}
.doc ul{padding-left:20px}
.doc li::marker{color:var(--acc)}
.doc b{color:var(--txt)}
.doc a{color:var(--acc)}
.upd{color:var(--faint);font-size:13px;margin-top:10px}

@media(max-width:900px){
  .herogrid{grid-template-columns:1fr;gap:46px}
  .phone{max-width:290px}
  .grid,.lossrow{grid-template-columns:1fr}
  section{padding:70px 0}
  #hero{padding:120px 0 70px;min-height:0}
  .step{grid-template-columns:54px 1fr;gap:18px}
  .step .sn{font-size:32px}
  .navlink{display:none}
  .getbox{padding:36px 24px}
  .btn{flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce){ .rv{opacity:1;transform:none;transition:none} }

/* Shown only on Android outside Chrome, where an APK download tends to stall. */
.chromehint{margin:18px 0 6px;padding:16px 18px;border:1px solid var(--acc);background:rgba(201,162,39,.08)}
.chromehint p{font-size:14px;line-height:1.6;color:var(--txt);margin-bottom:12px}
.chromehint .hintsmall{font-size:12.5px;color:var(--dim);margin:12px 0 0}
html[lang="hi"] .chromehint p{font-family:var(--dev);font-size:15px}
.chromehint .btn{padding:12px 22px}
