:root{
  --ink:#123D31;          /* deep ledger green */
  --ink-soft:#1E5443;
  --paper:#F7F4EA;        /* warm ivory */
  --card:#FFFFFF;
  --marigold:#E9A319;     /* auspicious accent */
  --marigold-deep:#C4860B;
  --text:#22312A;
  --muted:#5C6A61;
  --rule:#D9D2BC;
  --wa:#128C4B;
  --display:'Fraunces',Georgia,serif;
  --body:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--body);background:var(--paper);color:var(--text);line-height:1.65;font-size:16.5px}
img{max-width:100%}
a{color:var(--ink-soft)}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.15;font-weight:500}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* passbook double rule */
.ledger-rule{border:0;height:5px;border-top:1.5px solid var(--ink);border-bottom:.75px solid var(--ink);opacity:.35;margin:0}

/* eyebrow */
.eyebrow{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--marigold-deep);margin-bottom:14px}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:50;background:#F9F5F0;backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1200px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--marigold);display:grid;place-items:center;font-family:var(--display);font-size:20px;font-weight:600}
.brand-name{font-family:var(--display);font-size:20px;color:var(--ink);font-weight:600;line-height:1.1}
.brand-sub{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
nav.links{display:flex;gap:26px;align-items:center}
nav.links a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--text)}
nav.links a:hover{color:var(--marigold-deep)}
.btn{display:inline-block;padding:12px 22px;border-radius:6px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;text-align:center}
.btn:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(18,61,49,.25)}
.btn-gold{background:var(--marigold);color:var(--ink)}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(233,163,25,.35)}
.btn-wa{background:var(--wa);color:#fff}
.btn-outline{border:1.5px solid var(--ink);color:var(--ink)}
.menu-toggle{display:none;background:none;border:1.5px solid var(--ink);border-radius:6px;padding:7px 12px;font-weight:700;color:var(--ink);cursor:pointer}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:#EDEAD9;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(0deg,transparent 0 46px,rgba(237,234,217,.05) 46px 47px);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;padding:84px 24px 92px;max-width:1120px;margin:0 auto;position:relative;z-index:1}
.hero .eyebrow{color:var(--marigold)}
.hero h1{color:#FBF8EC;font-size:clamp(34px,4.6vw,56px);font-weight:500;margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--marigold)}
.hero p.lead{font-size:18.5px;max-width:56ch;color:#D7D9C8;margin-bottom:30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-note{margin-top:26px;font-size:14px;color:#B9C4B4;display:flex;align-items:center;gap:10px}
.hero-note::before{content:"";width:34px;height:1px;background:var(--marigold);display:inline-block}

/* seal stamp — signature element */
.seal{width:min(280px,70vw);aspect-ratio:1;margin:0 auto;position:relative;display:grid;place-items:center}
.seal svg{width:100%;height:100%;animation:spin 40s linear infinite}
@media (prefers-reduced-motion:reduce){.seal svg{animation:none}}
@keyframes spin{to{transform:rotate(360deg)}}
.seal-core{position:absolute;text-align:center;font-family:var(--display)}
.seal-core .yrs{font-size:64px;font-weight:600;color:var(--marigold);line-height:1}
.seal-core .lbl{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#D7D9C8;margin-top:6px}

/* ---------- trust strip ---------- */
.trust{background:var(--marigold)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:22px 24px}
.trust div{font-size:14px;font-weight:600;color:var(--ink);display:flex;gap:10px;align-items:flex-start;line-height:1.35}
.trust .wrap div::before{content:"✓";font-weight:700;flex:none}

/* ---------- sections ---------- */
section{padding:76px 0}
section.tint{background:#EFEBDC}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-head h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:14px}
.sec-head p{color:var(--muted);font-size:17px}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:28px;box-shadow:0 1px 0 rgba(18,61,49,.06)}
.card h3{font-size:21px;margin-bottom:10px}
.card p{font-size:15.5px;color:var(--muted)}
.card ul{padding-left:19px;font-size:15.5px;color:var(--text);margin-top:10px}
.card li{margin-bottom:7px}
.card .tag{display:inline-block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--marigold-deep);margin-bottom:12px}

/* age table */
.age-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--rule);border-radius:10px;overflow:hidden;font-size:15.5px}
.age-table th{background:var(--ink);color:#F3EFDF;text-align:left;padding:14px 18px;font-family:var(--display);font-weight:500;font-size:16.5px}
.age-table td{padding:14px 18px;border-top:1px solid var(--rule);vertical-align:top}
.age-table td:first-child{font-weight:700;color:var(--ink);white-space:nowrap}
.table-scroll{overflow-x:auto;border-radius:10px}

/* compare */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.compare .card h3{display:flex;align-items:center;gap:10px}
.pill{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:20px}
.pill.a{background:#FDEFD3;color:var(--marigold-deep)}
.pill.b{background:#E3EDE7;color:var(--ink)}
.verdict{background:var(--ink);color:#EDEAD9;border-radius:10px;padding:28px 32px;margin-top:22px;display:flex;gap:18px;align-items:flex-start}
.verdict strong{color:var(--marigold)}
.verdict .stamp-ico{font-family:var(--display);font-size:30px;color:var(--marigold);flex:none;line-height:1}

/* accordion */
.acc{border:1px solid var(--rule);border-radius:10px;background:var(--card);overflow:hidden}
.acc details{border-top:1px solid var(--rule)}
.acc details:first-child{border-top:0}
.acc summary{cursor:pointer;padding:18px 24px;font-weight:600;font-size:16px;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--display);font-size:24px;color:var(--marigold-deep);flex:none}
.acc details[open] summary::after{content:"–"}
.acc .acc-body{padding:0 24px 20px;color:var(--muted);font-size:15.5px}
.acc .acc-body ul{padding-left:19px;color:var(--text)}
.acc .acc-body li{margin-bottom:7px}

/* pros cons */
.pc{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pc .card h4{font-size:17px;margin-bottom:12px;display:flex;gap:8px;align-items:center}
.pc .yes h4{color:var(--ink)}
.pc .no h4{color:#8A3B22}
.pc ul{padding-left:19px;font-size:15.5px}
.pc li{margin-bottom:8px}

/* steps */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:24px}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--display);font-size:30px;color:var(--marigold);display:block;margin-bottom:8px}
.step h4{font-size:16.5px;margin-bottom:6px}
.step p{font-size:14.5px;color:var(--muted)}

/* seva band */
.seva{background:var(--marigold);padding:64px 0}
.seva .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center}
.seva h2{font-size:clamp(26px,3.2vw,38px);color:var(--ink)}
.seva p{color:#5B4508;font-size:17px;margin-top:12px;max-width:58ch}

/* contact */
.contact{background:var(--ink);color:#EDEAD9}
.contact h2{color:#FBF8EC}
.contact .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.contact-list{list-style:none;margin-top:24px}
.contact-list li{display:flex;gap:14px;margin-bottom:18px;font-size:17px;align-items:baseline}
.contact-list .k{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--marigold);min-width:88px;font-weight:700}
.contact-list a{color:#F3EFDF;text-decoration-color:var(--marigold)}
.contact-card{background:rgba(251,248,236,.06);border:1px solid rgba(233,163,25,.4);border-radius:10px;padding:30px}
.contact-card h3{color:var(--marigold);font-size:20px;margin-bottom:8px}
.contact-card p{font-size:15px;color:#C9CDBB;margin-bottom:20px}
.contact-card .btn{display:block;margin-bottom:12px}

/* footer */
footer{background:#0C2B22;color:#93A79A;font-size:13.5px;padding:34px 0}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer p{max-width:74ch}

/* mobile sticky bar */
.callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--ink);padding:10px 12px;gap:10px;border-top:2px solid var(--marigold)}
.callbar a{flex:1;padding:12px;font-size:15px}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

@media (max-width:940px){
  .hero-inner{grid-template-columns:1fr;padding:60px 24px 70px;text-align:left}
  .seal{display:none}
  .grid-3,.steps{grid-template-columns:1fr 1fr}
  .trust .wrap{grid-template-columns:1fr 1fr}
  .contact .wrap,.seva .wrap{grid-template-columns:1fr}
}
@media (max-width:680px){
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:18px 24px;gap:16px;border-bottom:1px solid var(--rule)}
  nav.links.open{display:flex}
  .menu-toggle{display:block}
  .grid-3,.grid-2,.compare,.pc,.steps{grid-template-columns:1fr}
  .trust .wrap{grid-template-columns:1fr}
  .callbar{display:flex}
  body{padding-bottom:64px}
  section{padding:56px 0}
}

/* ---------- additions: languages, schemes, FAQ ---------- */
:lang(ta) body,body:lang(ta){--display:'Noto Serif Tamil','Fraunces',Georgia,serif;--body:'Noto Sans Tamil','Geist',system-ui,sans-serif;font-size:16px;line-height:1.75}
:lang(te) body,body:lang(te){--display:'Noto Serif Telugu','Fraunces',Georgia,serif;--body:'Noto Sans Telugu','Geist',system-ui,sans-serif;font-size:16px;line-height:1.75}
html:lang(ta) .eyebrow,html:lang(te) .eyebrow{letter-spacing:.06em}
html:lang(ta) h1,html:lang(te) h1{font-size:clamp(28px,3.8vw,44px);line-height:1.3}
html:lang(ta) h2,html:lang(te) h2{line-height:1.35}
.brand img{height:84px;width:auto;max-width:300px;object-fit:contain;display:block}
.nav-right{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1.5px solid var(--ink);border-radius:6px;overflow:hidden;flex:none}
.lang a{padding:6px 10px;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--ink);line-height:1.2}
.lang a+a{border-left:1px solid var(--rule)}
.lang a[aria-current]{background:var(--ink);color:#fff}
nav.links{gap:20px}
nav.links a{font-size:14px}

.rate-note{background:#FDF6E3;border:1px dashed var(--marigold-deep);border-radius:10px;padding:16px 20px;font-size:14.5px;color:#5B4508;margin-bottom:28px}
.scheme .meta{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14.5px;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}
.scheme .meta dt{font-weight:700;color:var(--ink)}
.scheme .meta dd{color:var(--text)}
.scheme .who{margin-top:12px;font-size:14.5px;color:var(--ink-soft);font-style:italic}
.goal-table td:first-child{white-space:normal}
.faq .acc summary{font-size:16.5px}

@media (max-width:1080px){
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:18px 24px;gap:16px;border-bottom:1px solid var(--rule)}
  nav.links.open{display:flex}
  .menu-toggle{display:block}
}
@media (max-width:680px){
  .brand img{height:60px;max-width:180px}
  .nav{padding:10px 16px}
  .lang a{padding:5px 7px;font-size:12.5px}
  .wrap{padding:0 16px}
  .scheme .meta{grid-template-columns:1fr}
}
.brand{flex:none}
html:lang(ta) .seal-core .lbl,html:lang(te) .seal-core .lbl{letter-spacing:0;text-transform:none;font-size:13px}
@media (max-width:1366px){
  html:lang(ta) nav.links,html:lang(te) nav.links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:18px 24px;gap:16px;border-bottom:1px solid var(--rule)}
  html:lang(ta) nav.links.open,html:lang(te) nav.links.open{display:flex}
  html:lang(ta) .menu-toggle,html:lang(te) .menu-toggle{display:block}
}
html,body{overflow-x:clip}
.brand img{height:112px;max-width:360px}
@media (max-width:680px){.brand img{height:72px;max-width:150px}.nav-right{gap:8px}}

/* ================= v2 design system: "The Banker's Ledger, refined" ================= */
:root{--ease:cubic-bezier(.2,.7,.2,1);--focus:0 0 0 3px var(--paper),0 0 0 6px var(--marigold-deep)}
body{font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(18,61,49,.035) 31px 32px)}
main,header,footer{position:relative;z-index:1}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:4px}
a,button,summary,.btn{transition:color .2s var(--ease),background-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}
.num{font-variant-numeric:tabular-nums lining-nums}

/* header */
header{background:rgba(249,245,240,.92);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);transition:box-shadow .3s var(--ease)}
header.scrolled{box-shadow:0 6px 24px -12px rgba(18,61,49,.35)}
header .brand img{transition:height .3s var(--ease)}
header.scrolled .brand img{height:72px}
nav.links a:not(.btn){position:relative;padding:4px 0}
nav.links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--marigold-deep);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
nav.links a:not(.btn):hover::after,nav.links a.active::after{transform:scaleX(1)}
nav.links a.active{color:var(--ink);font-weight:600}
.menu-toggle{min-height:44px;min-width:44px}
.lang a{min-height:36px;display:flex;align-items:center}

/* buttons */
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-wa:hover{background:#0F7A41;transform:translateY(-1px);box-shadow:0 6px 16px rgba(18,140,75,.3)}
.btn-outline:hover{background:rgba(237,234,217,.08)}

/* hero chooser */
.chooser{margin-top:34px;padding-top:24px;border-top:1px solid rgba(237,234,217,.15)}
.chooser p{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--marigold);font-weight:600;margin-bottom:12px}
html:lang(ta) .chooser p,html:lang(te) .chooser p{letter-spacing:.04em;text-transform:none;font-size:14.5px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid rgba(237,234,217,.3);border-radius:999px;color:#EDEAD9;text-decoration:none;font-size:15px;font-weight:500}
.chips a:hover{border-color:var(--marigold);color:var(--marigold);background:rgba(233,163,25,.06)}

/* trust band: quieter */
.trust{background:#EFE6CC;border-bottom:1px solid var(--rule)}
.trust .wrap div::before{color:var(--marigold-deep)}

/* ledger margin numbers */
main{counter-reset:sec}
section .sec-head:first-child .eyebrow::before{counter-increment:sec;content:counter(sec,decimal-leading-zero) "  —  ";color:var(--ink);opacity:.45;font-variant-numeric:tabular-nums}
.contact .sec-head .eyebrow::before,.contact .eyebrow::before{content:none}

/* gold rule that draws in */
.ledger-rule{opacity:1;border:0;height:6px;background:
  linear-gradient(var(--ink),var(--ink)) top/100% 1.5px no-repeat,
  linear-gradient(var(--marigold-deep),var(--marigold-deep)) bottom/100% 1px no-repeat;
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease);max-width:1120px;margin:0 auto;opacity:.5}
.ledger-rule.in{transform:scaleX(1)}

/* cards */
.card{border-radius:12px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
@media (hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(18,61,49,.45);border-color:#CDBF96}}
.card h3{line-height:1.25}

/* scheme cards as passbook entries */
.card.scheme{position:relative;padding-top:32px;background:
  linear-gradient(90deg,transparent 22px,rgba(196,134,11,.18) 22px 23px,transparent 23px) ,var(--card)}
.card.scheme::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:12px 12px 0 0;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 14px);opacity:.18}
.scheme .meta{font-variant-numeric:tabular-nums lining-nums;background:#FBF9F2;border:1px solid var(--rule);border-radius:8px;padding:12px 14px;border-top:1px solid var(--rule)}
.scheme .meta dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:2px}
html:lang(ta) .scheme .meta dt,html:lang(te) .scheme .meta dt{letter-spacing:0;text-transform:none;font-size:13.5px}

/* accordion motion */
.acc summary{min-height:56px}
.acc summary:hover{background:#FBF9F2}
.acc summary::after{transition:transform .3s var(--ease)}
.acc details[open] summary::after{content:"+";transform:rotate(45deg)}
.acc details[open] .acc-body{animation:accIn .35s var(--ease)}
@keyframes accIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* tables */
.age-table td{font-variant-numeric:tabular-nums}
.age-table tbody tr{transition:background-color .2s}
.age-table tbody tr:hover{background:#FBF9F2}

/* enquiry form */
.enq{display:grid;gap:12px;margin:6px 0 18px}
.enq label{display:grid;gap:6px;font-size:14px;color:#D7D9C8;font-weight:500}
.enq input,.enq select{font:inherit;font-size:16px;min-height:48px;padding:10px 14px;border-radius:8px;border:1px solid rgba(237,234,217,.3);background:rgba(251,248,236,.06);color:#FBF8EC}
.enq select option{color:var(--text)}
.enq input::placeholder{color:#93A79A}
.enq input:focus,.enq select:focus{outline:none;border-color:var(--marigold);box-shadow:0 0 0 3px rgba(233,163,25,.25)}
.enq input[aria-invalid="true"]{border-color:#F08A6C}
.enq .err{font-size:13px;color:#F5A58D;min-height:1em}
.enq .fine{font-size:12.5px;color:#93A79A;line-height:1.5}
.contact-card .or{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#93A79A;margin:6px 0 14px}
.contact-card .or::before,.contact-card .or::after{content:"";flex:1;height:1px;background:rgba(237,234,217,.18)}

/* legal */
.legal{padding:56px 0;background:#EFEBDC}
.legal .grid-2{gap:28px}
.legal h2{font-size:22px;margin-bottom:10px}
.legal p,.legal li{font-size:15px;color:var(--muted)}
.legal ul{padding-left:19px}
.legal li{margin-bottom:6px}
.slot{border:1.5px dashed var(--marigold-deep);border-radius:8px;padding:2px 8px;font-size:13px;color:var(--marigold-deep)}
footer a{color:#C9CDBB}

/* reveal: staggered */
.rv{transition:opacity .7s var(--ease),transform .7s var(--ease)}
.grid-3>.rv:nth-child(3n+2),.grid-2>.rv:nth-child(2n){transition-delay:.08s}
.grid-3>.rv:nth-child(3n){transition-delay:.16s}

@media (max-width:680px){
  body{font-size:17px}
  header.scrolled .brand img{height:56px}
  .hero h1{font-size:clamp(30px,8.4vw,40px)}
  .chips a{font-size:14.5px;padding:8px 14px}
  /* goal table becomes stacked cards */
  .goal-table thead{display:none}
  .goal-table,.goal-table tbody,.goal-table tr,.goal-table td{display:block;width:100%}
  .goal-table tr{border-top:1px solid var(--rule);padding:14px 16px}
  .goal-table td{border:0;padding:3px 0}
  .goal-table td:first-child{font-family:var(--display);font-size:18px;margin-bottom:4px}
  .goal-table td:nth-child(2)::before{content:"→ ";color:var(--marigold-deep);font-weight:700}
  .goal-table td:nth-child(3){color:var(--muted);font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ledger-rule{transform:none}
  .card:hover{transform:none}
}

/* floating WhatsApp button (desktop/tablet; phones use the bottom call bar) */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;align-items:center;gap:0;height:60px;min-width:60px;padding:0 15px;border-radius:999px;background:#25D366;color:#fff;text-decoration:none;font-weight:600;font-size:15px;box-shadow:0 10px 28px -8px rgba(18,61,49,.55);overflow:hidden;transition:gap .3s var(--ease),padding .3s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);animation:waIn .6s .8s var(--ease) both}
.wa-float span{max-width:0;white-space:nowrap;overflow:hidden;transition:max-width .35s var(--ease)}
.wa-float:hover,.wa-float:focus-visible{gap:10px;padding:0 20px 0 15px;transform:translateY(-2px);box-shadow:0 14px 32px -8px rgba(18,61,49,.6)}
.wa-float:hover span,.wa-float:focus-visible span{max-width:240px}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(37,211,102,.5);animation:waPulse 2.6s 2s var(--ease) 3}
@keyframes waIn{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@media (max-width:680px){.wa-float{display:none}}

/* gold button: refined hover — deepen, lift, one light sheen sweep (no layers under/over the label) */
.btn-gold{position:relative;overflow:hidden;color:var(--ink);
  background-image:linear-gradient(180deg,#F2B232 0%,#E9A319 50%,#D9940F 75%,#C4860B 100%);
  background-size:100% 200%;background-position:0 0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(18,61,49,.18);
  transition:background-position .35s var(--ease),transform .2s var(--ease),box-shadow .25s var(--ease),color .2s}
.btn-gold::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);pointer-events:none}
.btn-gold:hover,.btn-gold:focus-visible{color:#0C2B22;background-position:0 100%;transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 22px -8px rgba(196,134,11,.65),0 2px 4px rgba(18,61,49,.15)}
.btn-gold:hover::after,.btn-gold:focus-visible::after{left:130%;transition:left .7s var(--ease)}
.btn-gold:active{transform:translateY(0) scale(.98);box-shadow:inset 0 2px 4px rgba(18,61,49,.25)}

/* vector logo lockup */
.brand{gap:12px}
.brand img.mark{height:48px;width:auto;max-width:none;transition:height .3s var(--ease),transform .4s var(--ease)}
.brand:hover img.mark{transform:rotate(-4deg)}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wm-name{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:28px;letter-spacing:-.01em;color:#14294A}
.wm-tag{font-family:var(--body);font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px;white-space:nowrap}
html:lang(ta) .wm-tag,html:lang(te) .wm-tag{letter-spacing:.02em;text-transform:none;font-size:12px}
.nav{padding-top:12px;padding-bottom:12px}
header.scrolled .brand img.mark{height:40px}
@media (max-width:680px){.brand img.mark{height:38px}.wm-name{font-size:22px}.wm-tag{font-size:9px;letter-spacing:.12em}html:lang(ta) .wm-tag,html:lang(te) .wm-tag{font-size:10.5px}header.scrolled .brand img.mark{height:34px}}
@media (max-width:380px){.wm-tag{display:none}}

/* ---------- guide pages ---------- */
.ghero .wrap{padding-top:56px;padding-bottom:64px;position:relative;z-index:1}
.ghero h1{font-size:clamp(32px,4.2vw,50px);max-width:22ch}
.crumbs{font-size:13.5px;color:#B9C4B4;margin-bottom:22px}
.crumbs a{color:#D7D9C8}
.reviewed{margin-top:22px;font-size:14px;color:#B9C4B4}
.missed{margin-top:18px;font-size:15px;color:#EDEAD9}
.missed::before{content:"☎ ";color:var(--marigold)}
.svc-extra{margin-top:10px;color:var(--ink)!important;font-weight:500}
.toc-bar{position:sticky;top:72px;z-index:40;background:rgba(247,244,234,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.toc-bar .wrap{display:flex;align-items:center;gap:14px;padding-top:10px;padding-bottom:10px}
.toc-bar span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--marigold-deep);white-space:nowrap}
html:lang(ta) .toc-bar span,html:lang(te) .toc-bar span{letter-spacing:0;text-transform:none;font-size:13px}
.toc{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent)}
.toc::-webkit-scrollbar{display:none}
.toc a{flex:none;font-size:14px;text-decoration:none;color:var(--ink);padding:7px 14px;border:1px solid var(--rule);border-radius:999px;background:var(--card);min-height:36px;display:inline-flex;align-items:center}
.toc a:hover{border-color:var(--marigold-deep);color:var(--marigold-deep)}
.gsec{padding:64px 0;scroll-margin-top:130px}
.gsec+.gsec{padding-top:8px}
.gsec.tint,.gsec.faq{padding-top:64px}
.gsec .grid-2,.gsec .grid-3{margin-bottom:22px}
.gp{max-width:75ch;color:var(--text);margin-bottom:18px}
.caption{font-size:13.5px;color:var(--muted);margin:10px 0 22px}
.rate-table td:nth-child(2){font-weight:700;color:var(--ink);white-space:nowrap}
.guide-card{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.guide-card p{flex:1}
.guide-card .go{margin-top:14px;font-weight:600;color:var(--marigold-deep);font-size:15px}
.guide-card:hover h3{color:var(--marigold-deep)}
nav.links a[aria-current="page"]{color:var(--ink);font-weight:700}
@media (max-width:680px){
  .toc-bar{top:62px}
  .toc-bar span{display:none}
  .rate-table thead{display:none}
  .rate-table,.rate-table tbody,.rate-table tr,.rate-table td{display:block;width:100%}
  .rate-table tr{border-top:1px solid var(--rule);padding:12px 16px}
  .rate-table td{border:0;padding:2px 0;display:flex;gap:10px}
  .rate-table td::before{content:attr(data-l);flex:0 0 42%;font-size:13px;color:var(--muted)}
  .rate-table td:first-child{font-family:var(--display);font-size:18px}
  .rate-table td:first-child::before{content:none}
}

/* ---------- dropdown navigation ---------- */
nav.links{gap:6px}
nav.links>a:not(.btn),.dd-btn{font:inherit;font-size:14.5px;font-weight:500;color:var(--text);background:none;border:0;cursor:pointer;padding:10px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;min-height:44px}
nav.links>a:not(.btn)::after{display:none}
nav.links>a:not(.btn):hover,.dd-btn:hover,.dd-btn[aria-expanded="true"]{background:#EFE9D6;color:var(--ink)}
.dd-btn svg{transition:transform .25s var(--ease)}
.dd-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.dd{position:relative}
.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:8px;box-shadow:0 18px 40px -18px rgba(18,61,49,.45);display:grid;gap:2px;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dd-btn[aria-expanded="true"]+.dd-menu{opacity:1;visibility:visible;transform:none}
@media (hover:hover) and (min-width:1081px){.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}.dd:hover .dd-btn svg{transform:rotate(180deg)}}
.dd-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:14.5px;color:var(--text);text-decoration:none;line-height:1.35}
.dd-menu a:hover,.dd-menu a:focus-visible{background:#F4EFDF;color:var(--ink)}
.dd-menu a[href*="/guides/"]{color:var(--marigold-deep);font-weight:600}
.dd-menu a[aria-current="page"]{background:#F4EFDF}
/* collapsed menu (tablet/phone, and Tamil/Telugu up to 1366px): groups expand inline */
@media (max-width:1080px){
  nav.links{gap:2px;max-height:calc(100vh - 80px);overflow:auto}
  nav.links>a:not(.btn),.dd,.dd-btn{width:100%}
  .dd-btn{justify-content:space-between;font-size:16px}
  nav.links>a:not(.btn){font-size:16px}
  .dd-menu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--rule);border-radius:0;margin:0 0 6px 12px;padding:0 0 0 6px;display:none;opacity:1;visibility:visible;transform:none}
  .dd-btn[aria-expanded="true"]+.dd-menu{display:grid}
  nav.links .btn{margin-top:8px}
}
@media (max-width:1366px){
  html:lang(ta) nav.links,html:lang(te) nav.links{gap:2px;max-height:calc(100vh - 80px);overflow:auto}
  html:lang(ta) nav.links>a:not(.btn),html:lang(ta) .dd,html:lang(ta) .dd-btn,html:lang(te) nav.links>a:not(.btn),html:lang(te) .dd,html:lang(te) .dd-btn{width:100%}
  html:lang(ta) .dd-btn,html:lang(te) .dd-btn{justify-content:space-between;font-size:16px}
  html:lang(ta) .dd-menu,html:lang(te) .dd-menu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--rule);border-radius:0;margin:0 0 6px 12px;padding:0 0 0 6px;display:none;opacity:1;visibility:visible;transform:none}
  html:lang(ta) .dd-btn[aria-expanded="true"]+.dd-menu,html:lang(te) .dd-btn[aria-expanded="true"]+.dd-menu{display:grid}
}

/* header must stay sticky and above page content so dropdowns overlay the hero */
header{position:sticky;top:0;z-index:100}
main{z-index:auto}

/* licence codes table */
.codes{margin-top:16px}
.codes h3{font-size:16px;margin-bottom:8px;font-family:var(--body);font-weight:700;color:var(--ink)}
.codes table{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.codes th{text-align:left;background:#F4EFDF;color:var(--ink);font-weight:600;padding:8px 10px;font-size:13px}
.codes td{padding:8px 10px;border-top:1px solid var(--rule);color:var(--text);vertical-align:top}
.codes td:last-child{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;letter-spacing:.02em}
@media (max-width:520px){.codes th:first-child,.codes td:first-child{display:none}.codes td:nth-child(2){font-size:13px}}

/* gold buttons: on hover switch to deep green with white text (beats the generic nav-link hover colour) */
.btn.btn-gold:hover,.btn.btn-gold:focus-visible,nav.links a.btn-gold:hover,nav.links a.btn-gold:focus-visible{
  background-image:none;background-color:var(--ink);color:#fff;box-shadow:0 10px 22px -8px rgba(18,61,49,.55),inset 0 0 0 1.5px var(--marigold)}
.hero .btn.btn-gold:hover,.hero .btn.btn-gold:focus-visible,.contact .btn.btn-gold:hover,.contact .btn.btn-gold:focus-visible{background-color:#FBF8EC;color:var(--ink)}
body.guide section .sec-head:first-child .eyebrow::before{content:none}

/* styled marigold scrollbar */
html{scrollbar-color:var(--marigold) #EFE9D6;scrollbar-width:thin}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#EFE9D6;border-left:1px solid var(--rule)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#F2B232,var(--marigold) 50%,var(--marigold-deep));border-radius:999px;border:3px solid #EFE9D6;transition:background .2s}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--marigold),var(--marigold-deep));border-width:2px}
::-webkit-scrollbar-thumb:active{background:var(--ink)}
::-webkit-scrollbar-corner{background:#EFE9D6}
/* keep the small inner scroll areas (contents chips, tables) discreet */
.toc::-webkit-scrollbar,.table-scroll::-webkit-scrollbar{height:6px}
.table-scroll::-webkit-scrollbar-thumb{border-width:1px}
footer .updated{color:#C9CDBB;font-size:13px}footer .updated time{font-variant-numeric:tabular-nums;color:var(--marigold)}

/* accessibility: darker gold for small text on light backgrounds (WCAG AA contrast) */
:root{--gold-text:#875B04}
section:not(.contact) .eyebrow,.card .tag,.guide-card .go,.trust .wrap div::before,.toc-bar span,.vc-back .k{color:var(--gold-text)}
.hero .eyebrow,.ghero .eyebrow,.seva .eyebrow{color:var(--marigold)}
.seva .eyebrow{color:var(--ink)}

/* a11y: WhatsApp green deep enough for white text (AA 4.5:1); pros/cons headings now h3 */
:root{--wa:#0E7A40}
.btn-wa:hover{background:#0B6A37}
.pc .card h3.pc-h{font-size:17px;margin-bottom:12px;display:flex;gap:8px;align-items:center}
.pc .yes h3.pc-h{color:var(--ink)}
.pc .no h3.pc-h{color:#8A3B22}

/* ================= mobile menu (phones) ================= */
.lang-m{display:none}
.menu-toggle{display:none;align-items:center;gap:8px;font:inherit;font-size:14.5px;font-weight:700}
.menu-toggle::before{content:"";width:18px;height:2px;background:currentColor;border-radius:2px;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.menu-toggle[aria-expanded="true"]::before{box-shadow:none;transform:rotate(45deg)}
@media (max-width:1080px){.menu-toggle{display:inline-flex}}
@media (max-width:1366px){html:lang(ta) .menu-toggle,html:lang(te) .menu-toggle{display:inline-flex}}
@media (max-width:680px){
  .nav{gap:10px;padding:10px 16px}
  .brand{min-width:0;flex:1 1 auto}
  .wordmark{min-width:0}
  .wm-tag{overflow:hidden;text-overflow:ellipsis}
  .nav-right{flex:none;gap:8px}
  .nav-right>.lang{display:none}                 /* language switch moves into the menu */
  .menu-toggle{padding:9px 14px;min-height:44px;border-radius:8px}
  .menu-toggle[aria-expanded="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
  nav.links{position:fixed;top:var(--hdr,62px);left:0;right:0;bottom:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;
    padding:14px 16px 96px;gap:4px;background:var(--paper);border-top:1px solid var(--rule);box-shadow:0 18px 30px -12px rgba(18,61,49,.35)}
  nav.links.open{display:flex;animation:navIn .25s var(--ease)}
  @keyframes navIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  .lang-m{display:flex;width:100%;margin-bottom:10px;border-radius:10px}
  .lang-m a{flex:1;justify-content:center;min-height:46px;font-size:15px}
  nav.links>a:not(.btn),.dd-btn{min-height:52px;font-size:17px;padding:12px 10px;border-bottom:1px solid #ECE6D3;border-radius:0}
  .dd-menu a{min-height:46px;display:flex;align-items:center;font-size:16px}
  nav.links .btn{width:100%;min-height:52px;font-size:16px;margin-top:14px}
  body.nav-open{overflow:hidden}
}
@media (max-width:400px){.wm-tag{display:none}.wm-name{font-size:21px}}
@media (prefers-reduced-motion:reduce){nav.links.open{animation:none}}
@media (max-width:680px){
  /* backdrop-filter would make the fixed menu panel position relative to the header — disable on phones */
  header,header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:#F9F5F0}
}
.menu-toggle[aria-expanded="true"]::before{content:"✕";width:auto;height:auto;background:none;box-shadow:none;transform:none;font-size:15px;line-height:1}
@media (max-width:680px){
  /* id selector so these beat the Tamil/Telugu collapsed-menu rules */
  #mainnav{position:fixed;top:var(--hdr,62px);left:0;right:0;bottom:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;
    padding:14px 16px 96px;gap:4px;background:var(--paper);border-top:1px solid var(--rule);flex-direction:column;align-items:stretch;display:none}
  #mainnav.open{display:flex}
  #mainnav .dd,#mainnav .dd-btn,#mainnav>a:not(.btn){width:100%}
  #mainnav .dd-menu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--rule);border-radius:0;margin:0 0 6px 12px;padding:0 0 0 6px;display:none;opacity:1;visibility:visible;transform:none}
  #mainnav .dd-btn[aria-expanded="true"]+.dd-menu{display:grid}
  #mainnav .dd-btn{justify-content:space-between}
  html.nav-open,html.nav-open body{overflow:hidden}
}
@media (max-width:680px){html.nav-open,html.nav-open body,body.nav-open{overflow:visible}}
