/* Core service pages (Water, Environmental), charts, home spotlight, reveal animation */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--d,0s),transform .7s var(--d,0s)}.rv.in{opacity:1;transform:none}
.eyebrow{display:inline-block;font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem}
.sh2{text-align:center;max-width:46rem;margin:0 auto 2.4rem}.sh2 h2{margin:0;font-size:clamp(1.9rem,4vw,2.9rem);color:#001868}.sh2 p{color:var(--mute);margin:.7rem 0 0;font-size:1.05rem}
.dd.plain>a::after{display:none}
/* banner */
.sbn{position:relative;overflow:hidden;color:#fff;background:var(--navy);display:grid;align-items:center;min-height:clamp(380px,52vh,520px)}
.sbn-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sbn-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,24,104,.9) 0%,rgba(0,24,104,.62) 48%,rgba(0,24,104,.1) 100%)}
.sbn-in{position:relative;padding:3.2rem 0}.sbn h1{color:#fff;font-size:clamp(2.1rem,5vw,3.7rem);margin:.4rem 0 .8rem;max-width:44rem;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.sbn .bc,.sbn .bc a{color:#cfe8ff}.sbn .bc a{font-weight:700}.sbn .lead{color:#e6f1ff;font-size:1.15rem;max-width:38rem;margin:0 0 1.5rem}
.jump{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.6rem}.jump a{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(6px);color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;padding:.4rem 1rem;border-radius:999px;transition:background .2s,color .2s}.jump a:hover{background:#fff;color:var(--navy)}
/* stat band */
.statband{background:linear-gradient(120deg,#001868,#0a6aa8 55%,var(--teal));color:#fff;padding:2.6rem 0}.statband.env{background:linear-gradient(120deg,#001868,#2b7fd0 55%,var(--aqua))}
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}.sg b{display:block;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--sun2);line-height:1}.sg span{opacity:.95;font-size:.95rem}@media(max-width:700px){.sg{grid-template-columns:repeat(2,1fr)}}
/* images */
.si{margin:0;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#e8f7f4,#eaf5fd);box-shadow:var(--sh);position:relative}.si img{display:block;width:100%;height:100%;object-fit:cover}.si.r43{aspect-ratio:4/3}.si.big{border-radius:30px}
/* tiles */
.tg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem}
.tcd{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 6px 24px -14px rgba(11,47,107,.4);transition:transform .3s,box-shadow .3s}
.tcd:hover{transform:translateY(-8px);box-shadow:0 26px 44px -22px rgba(11,47,107,.55)}.tcd .si{border-radius:0;box-shadow:none}.tcd:hover .si img{transform:scale(1.06)}.tcd .si img{transition:transform .5s}
.tb{padding:1.2rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.tic{font-size:1.6rem}.tb h3{margin:0;color:#001868;font-size:1.2rem}.tb p{margin:0;color:var(--mute);font-size:.95rem}.tb .lk{padding:0;margin-top:auto;padding-top:.6rem}
.tcd.cur{outline:3px solid var(--sun)}
.two.intro{align-items:center}.chiprow{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0}.chiprow span{background:var(--mint);color:var(--teal);font-weight:800;font-size:.82rem;padding:.35rem .9rem;border-radius:999px}.chiprow.big span{font-size:1rem;padding:.6rem 1.2rem;background:#fff;border:1px solid var(--line);color:var(--navy);box-shadow:var(--sh)}
/* regulators */
.regs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}.rg{background:#fff;border:1px solid var(--line);border-left:6px solid var(--teal);border-radius:22px;padding:1.6rem;box-shadow:var(--sh)}.rg:nth-child(2){border-left-color:var(--sun)}.rgi{font-size:2.2rem}.rg h3{margin:.4rem 0}.rg p{color:var(--mute);margin:.2rem 0 .8rem}
/* timeline */
.tlp{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;position:relative}.tls{background:#fff;border-radius:24px;padding:1.6rem 1.3rem;box-shadow:var(--sh);position:relative;border-top:5px solid var(--teal)}.tls:nth-child(even){border-top-color:var(--sun)}
.tn{position:absolute;top:-22px;left:1.2rem;width:42px;height:42px;border-radius:50%;background:#001868;color:#fff;display:grid;place-items:center;font-weight:800}.ti{font-size:2.2rem;display:block;margin-top:.5rem}.tls h3{margin:.4rem 0;color:#001868;font-size:1.1rem}.tls p{margin:0;color:var(--mute);font-size:.92rem}
@media(max-width:900px){.tlp{grid-template-columns:1fr 1fr;gap:2rem 1rem}}@media(max-width:560px){.tlp{grid-template-columns:1fr}}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gi{position:relative}.gi span{position:absolute;left:0;right:0;bottom:0;padding:2rem .9rem .7rem;background:linear-gradient(transparent,rgba(0,24,104,.85));color:#fff;font-weight:700;font-size:.9rem;border-radius:0 0 22px 22px}.gi .si{transition:transform .4s}.gi:hover .si{transform:scale(1.03)}
@media(max-width:900px){.gal{grid-template-columns:1fr 1fr}}
/* donut */
.dn{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.5rem;box-shadow:var(--sh)}.dn svg{width:230px;height:230px;flex:none}.dn1{font:800 46px "Plus Jakarta Sans",sans-serif;fill:#001868}.dn2{font:600 13px "Plus Jakarta Sans",sans-serif;fill:#54687c}
.dn ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;flex:1;min-width:220px}.dn li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}.dn li i{width:14px;height:14px;border-radius:4px;flex:none;margin-top:.3rem}.dn li b{color:#001868;min-width:1.4rem}
/* limit bars */
.lim{display:grid;gap:.9rem;background:#fff;border:1px solid var(--line);border-radius:26px;padding:1.5rem;box-shadow:var(--sh)}.lr{display:grid;grid-template-columns:minmax(120px,190px) 1fr minmax(110px,170px);gap:1rem;align-items:center}.ln{font-weight:700;font-size:.92rem;color:var(--ink)}
.lb{height:16px;border-radius:99px;background:#ffd98a;overflow:hidden}.lb i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--aqua));transition:width 1.3s cubic-bezier(.2,.8,.2,1)}.rv.in .lb i{width:var(--w)}.lb.nr{background:#d6e2f2}.lb.nr i{background:linear-gradient(90deg,#001868,#2b5fb0)}
.lv{font-size:.9rem;text-align:right}.lv b{color:#001868}.lv small{color:var(--mute)}
.lg{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;font-size:.82rem;color:var(--mute);margin:.7rem 0 0}.lg i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:.35rem;vertical-align:-2px}.lg .a,.lg .d{background:var(--teal)}.lg .p{background:#ffd98a}.lg .n{background:#001868}.lg .n2{background:#001868}
@media(max-width:600px){.lr{grid-template-columns:1fr;gap:.3rem}.lv{text-align:left}}
/* vertical bars */
.vb{display:flex;gap:1.2rem;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:26px;padding:2rem 1.5rem 1.2rem;box-shadow:var(--sh)}.vg{flex:1;text-align:center;font-weight:700;font-size:.9rem;color:var(--navy)}
.vcol{height:230px;display:flex;align-items:flex-end;justify-content:center;gap:8px;border-bottom:3px solid var(--line);margin-bottom:.5rem}.vcol i{position:relative;display:block;width:min(44px,38%);height:0;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--aqua),var(--teal));transition:height 1.2s cubic-bezier(.2,.8,.2,1)}.vcol i.c2{background:linear-gradient(180deg,#2b5fb0,#001868)}.rv.in .vcol i{height:var(--h)}
.vcol b{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-size:.85rem;color:#001868}
/* flow */
.fl2{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch;justify-content:center}.fs{flex:1;min-width:150px;max-width:210px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem;text-align:center;box-shadow:var(--sh);display:flex;flex-direction:column;gap:.2rem;position:relative}.fs.pt{border:2px solid var(--sun);background:#fffaf0}.fi{font-size:2rem}.fs b{color:#001868;font-size:.98rem}.fs small{color:var(--mute);font-size:.8rem}.fs em{font-style:normal;font-weight:800;font-size:.72rem;color:#b36a00;text-transform:uppercase;letter-spacing:.06em;margin-top:.3rem}.fa{align-self:center;font-size:1.5rem;color:var(--teal)}@media(max-width:700px){.fa{transform:rotate(90deg);width:100%;text-align:center}.fs{max-width:none}}
/* cards */
.sg2{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.sg2.c3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.sg2.c2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.sc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.2rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:0 6px 20px -14px rgba(11,47,107,.4);transition:transform .25s,box-shadow .25s}.sc:hover{transform:translateY(-5px);box-shadow:var(--sh)}.sc b{color:#001868;font-size:1.1rem}.sc span:last-child{color:var(--mute);font-size:.9rem}.sci{font-size:1.8rem}
.sc.big{padding:0;overflow:hidden}.sc.big .si{border-radius:0;box-shadow:none}.sc.big .sci,.sc.big b,.sc.big span:last-child{padding:0 1.2rem}.sc.big .sci{padding-top:.8rem}.sc.big span:last-child{padding-bottom:1.2rem}
.metals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.mt{background:linear-gradient(145deg,#001868,#0a6aa8);color:#fff;border-radius:20px;padding:1.2rem;text-align:center;display:grid;gap:.1rem;box-shadow:var(--sh)}.mt:nth-child(even){background:linear-gradient(145deg,#0a7f74,#19b5a5)}.msym{font-size:1.9rem;font-weight:800;color:var(--sun2)}.mt b{font-size:1.4rem}.mt small{opacity:.85}.mt span:last-child{font-size:.85rem;opacity:.95}
.pf{display:grid;grid-template-columns:1fr 1.2fr;gap:1.6rem;align-items:center;margin:1.4rem 0}.pf:nth-child(even) .si{order:2}.pf h3{margin:0 0 .3rem;color:#001868}.pf p{margin:0;color:var(--mute)}@media(max-width:700px){.pf{grid-template-columns:1fr}.pf:nth-child(even) .si{order:0}}
.airg{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}.ac{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 6px 22px -14px rgba(11,47,107,.4);transition:transform .3s}.ac:hover{transform:translateY(-6px)}.ac .si{border-radius:0;box-shadow:none}.ac div{padding:.9rem 1.1rem 1.2rem;display:grid;gap:.2rem}.aci{font-size:1.5rem}.ac b{color:#001868;font-size:.98rem;line-height:1.3}@media(max-width:1000px){.airg{grid-template-columns:1fr 1fr}}@media(max-width:560px){.airg{grid-template-columns:1fr}}
.airl{display:grid;gap:1.4rem}.al{display:grid;grid-template-columns:.9fr 1.2fr;gap:1.6rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:1rem;box-shadow:var(--sh)}.al:nth-child(even) .si{order:2}.al h3{margin:.2rem 0;color:#001868}.al p{margin:0;color:var(--mute)}@media(max-width:700px){.al{grid-template-columns:1fr}.al:nth-child(even) .si{order:0}}
.tbl{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh)}.tbl table{width:100%;border-collapse:collapse;font-size:.95rem}.tbl th{background:#001868;color:#fff;text-align:left;padding:.8rem 1rem}.tbl td{padding:.7rem 1rem;border-top:1px solid var(--line)}.tbl tr:nth-child(even) td{background:#f4fbfa}
.two2{display:grid;grid-template-columns:1fr 1.1fr;gap:1.6rem;align-items:center;margin-bottom:.5rem}.two2 p{font-size:1.08rem;margin:0}@media(max-width:700px){.two2{grid-template-columns:1fr}}
.h2s{font-size:1.6rem;margin:2.6rem 0 1rem;color:#001868;position:relative;padding-left:1rem}.h2s::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:6px;border-radius:4px;background:linear-gradient(var(--teal),var(--sun))}
.mu{color:var(--mute)}.cn{font-size:.82rem;color:var(--mute);margin:.7rem 0 0;font-style:italic}.pn2{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--line);flex-wrap:wrap}.pn2 a{font-weight:700;color:var(--teal);text-decoration:none}.svp .body .btn{margin-top:1.6rem}
.box a.r.on{color:var(--teal);font-weight:800}
/* home: spotlight + pillars */
.spl{background:linear-gradient(180deg,#f2fbf9,#fff)}.spg{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}@media(max-width:900px){.spg{grid-template-columns:1fr}}
.spt{background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 30px 50px -30px rgba(0,24,104,.55);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .35s}.spt:hover{transform:translateY(-8px)}
.spimg{position:relative;display:block;overflow:hidden}.spimg .si{border-radius:0;box-shadow:none;aspect-ratio:16/10}.spimg img{transition:transform .8s}.spt:hover .spimg img{transform:scale(1.06)}.spb{position:absolute;left:1rem;top:1rem;background:var(--sun);color:#001868;font-weight:800;font-size:.8rem;padding:.4rem .9rem;border-radius:999px;z-index:2}
.spc{padding:1.6rem 1.8rem 1.9rem;display:flex;flex-direction:column;gap:.8rem;flex:1}.spc h3{margin:0;font-size:1.7rem;color:#001868}.spc p{margin:0;color:var(--mute)}.spl2{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.spl2 li{background:var(--mint);color:var(--teal);font-weight:800;font-size:.82rem;padding:.35rem .9rem;border-radius:999px}.spl3{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.spl3 a{color:var(--navy);font-weight:700;font-size:.9rem;text-decoration:none;border-bottom:2px solid var(--sun)}.spl3 a:hover{color:var(--teal)}.spc .btn{align-self:flex-start;margin-top:auto}
.pil{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}@media(max-width:800px){.pil{grid-template-columns:1fr}}.pl{background:#fff;border-radius:26px;padding:2rem;text-align:center;box-shadow:var(--sh);border:1px solid var(--line)}.pl span{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 1rem;font-size:2.2rem;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(135deg,var(--teal),var(--aqua))}.pl h3{margin:.2rem 0;color:#001868}.pl p{margin:0;color:var(--mute)}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.lb i{width:var(--w)}.vcol i{height:var(--h)}}

/* Contact page */
.cxg{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2.2rem}
.cxc{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.4rem;text-decoration:none;color:inherit;box-shadow:var(--sh);transition:transform .25s,border-color .25s}
.cxc:hover{transform:translateY(-4px);border-color:var(--teal)}.cxc b{color:#001868;font-size:1.05rem}.cxc span:last-child{color:var(--mute);font-size:.92rem}
.cxi{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--mint);font-size:1.4rem;margin-bottom:.3rem}
.cxm{display:grid;grid-template-columns:1.5fr 1fr;gap:1.6rem;align-items:start}@media(max-width:900px){.cxm{grid-template-columns:1fr}}
.cxf{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.8rem;box-shadow:var(--sh)}.cxf h2{margin:.2rem 0 .6rem;color:#001868;font-size:1.6rem}
.cxf input,.cxf select,.cxf textarea{font:inherit;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:#f8fbfb;width:100%}.cxf input:focus,.cxf select:focus,.cxf textarea:focus{outline:0;border-color:var(--teal);background:#fff}
.cxr{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:560px){.cxr{grid-template-columns:1fr}}
.cxf .btn{justify-self:start;margin-top:.4rem}
.cxside{display:grid;gap:1rem}.cxbox{background:linear-gradient(160deg,#001868,#0b2f6b);color:#d7e6f5;border-radius:20px;padding:1.3rem 1.5rem}.cxbox h3{margin:0 0 .4rem;color:#fff;font-size:1.02rem}.cxbox p{margin:0;font-size:.92rem;line-height:1.7}.cxbox a{color:#2fd0ba;text-decoration:none}
.cmap{margin-top:2.6rem}.cmh{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.cmh h2{margin:.2rem 0 0;color:#001868}.cmb{display:flex;gap:.7rem;flex-wrap:wrap}
.cmf{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh);background:linear-gradient(135deg,#e3f5f2,#cfe9f5);min-height:420px}.cmf iframe{display:block;width:100%;height:440px;border:0;position:relative;z-index:1}
.cmpin{position:absolute;left:1rem;bottom:1rem;z-index:2;background:#fff;border-radius:14px;padding:.7rem 1rem;box-shadow:var(--sh);display:none}
.cxlead{font-size:1.15rem;color:var(--mute);max-width:46rem;margin:0 0 1.6rem}
.cmf::before{content:'📍 Rayakotta Road, Hosur 635109';position:absolute;inset:0;display:grid;place-items:center;font-weight:800;color:#0b2f6b;font-size:1.1rem}

/* mobile safety for Home */
.spg,.pil,.cxm,.cxg,.sg2{min-width:0}.spg>*,.pil>*,.spt,.spc,.spimg{min-width:0;max-width:100%}
@media(max-width:900px){.spg{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.pil{grid-template-columns:minmax(0,1fr)}}
html,body{overflow-x:clip}
.spc .btn.sun{white-space:normal;text-align:left;justify-content:space-between;max-width:100%}
@media(max-width:600px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.grid>*{min-width:0}.grid h3{font-size:.95rem}}
@media(max-width:600px){.tile .cap{font-size:.88rem;padding:.7rem}.tile .cap small{display:none}}
.h2s{scroll-margin-top:150px}@media(max-width:1060px){.h2s{scroll-margin-top:110px}}
