:root{
  --leaf:#2FA84F; --leaf-deep:#17703A; --sky:#1657C9; --sun:#F2A50C; --red:#B33A26;
  --ink:#10251A; --body:#2C3A31; --paper:#F4F7F0; --card:#FFFFFF; --line:#D8E2D4;
  --glass:rgba(255,255,255,.78); --shadow:22px 28px 60px -34px rgba(16,37,26,.5);
  --r:16px; --maxw:1120px;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --ink:#EAF3E9; --body:#C4D3C6; --paper:#0C1611; --card:#14211A; --line:#27382C; --glass:rgba(20,33,26,.78);
  --shadow:22px 28px 60px -34px rgba(0,0,0,.8);
}}
:root[data-theme="dark"]{ --ink:#EAF3E9; --body:#C4D3C6; --paper:#0C1611; --card:#14211A; --line:#27382C; --glass:rgba(20,33,26,.78); }
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
html,body{overflow-x:hidden;max-width:100%}
body{margin:0;background:var(--paper);color:var(--body);font-family:"Catamaran","Noto Sans Tamil",system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Anek Tamil","Catamaran",system-ui,sans-serif;color:var(--ink);line-height:1.16;margin:0 0 .4em;font-weight:700}
h1{font-size:clamp(1.9rem,5vw,3.1rem);letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,3.2vw,2rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em;max-width:70ch}
a{color:var(--leaf-deep)}
:root[data-theme="dark"] a,:root:not([data-theme="light"]) a{color:#8BE0A4}
img{max-width:100%}
.wrap{width:min(var(--maxw),92vw);margin-inline:auto}
section{padding:clamp(40px,6vw,84px) 0}
section.tight{padding:clamp(24px,3vw,40px) 0}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lede{max-width:60ch;font-size:clamp(1rem,1.5vw,1.12rem)}
.muted{opacity:.75;font-size:.92rem}
.center{text-align:center}

/* ---------- top bar ---------- */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;backdrop-filter:blur(14px);background:var(--glass);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;gap:10px;padding:9px 0}
.brand{display:flex;align-items:center;gap:8px;font-family:"Anek Tamil",sans-serif;font-weight:800;color:var(--ink);text-decoration:none;font-size:.98rem;min-width:0}
.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand svg{width:30px;height:30px;flex:none}
.bar nav{margin-left:auto;display:none;align-items:center;gap:2px}
.bar nav a{color:var(--body);text-decoration:none;padding:9px 10px;border-radius:10px;font-size:.93rem;white-space:nowrap}
.bar nav a:hover,.bar nav a.active{background:rgba(47,168,79,.14);color:var(--ink)}
@media(min-width:1080px){.bar nav{display:flex}}
@media(max-width:480px){.brand span{max-width:118px;font-size:.82rem}.bar .wrap{gap:6px}.bar-actions{gap:5px}.lang{padding:6px 8px;font-size:.8rem}.btn.small{padding:7px 10px;font-size:.82rem}}
.bar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
@media(min-width:1080px){.bar-actions{margin-left:0}}
.lang{border:1.5px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:6px 11px;font-weight:700;font-family:"Anek Tamil",sans-serif;cursor:pointer;font-size:.86rem}
.burger{display:inline-flex;border:1.5px solid var(--line);background:transparent;border-radius:10px;padding:8px;cursor:pointer}
@media(min-width:1080px){.burger{display:none}}
.burger span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}
.mobile-menu{display:none;flex-direction:column;padding:8px 0 16px;border-top:1px solid var(--line)}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--ink);text-decoration:none;padding:11px 4px;border-bottom:1px dashed var(--line);font-weight:600}
@media(min-width:1080px){.mobile-menu{display:none!important}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;
  font-family:"Anek Tamil",sans-serif;font-weight:700;font-size:.98rem;padding:12px 20px;border-radius:999px;
  background:linear-gradient(135deg,var(--leaf),var(--leaf-deep));color:#fff;text-decoration:none;
  box-shadow:0 14px 30px -18px rgba(23,112,58,.9);transition:transform .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn.small{padding:8px 14px;font-size:.88rem}
.btn.block{width:100%}

/* ---------- hero (small, per-page) ---------- */
.page-hero{position:relative;overflow:hidden;padding:clamp(30px,5vw,56px) 0 clamp(20px,4vw,36px)}
.page-hero .glow{position:absolute;inset:-30% -10% auto -10%;height:160%;pointer-events:none;z-index:0;
  background:radial-gradient(50% 50% at 20% 10%,rgba(47,168,79,.28),transparent 70%),radial-gradient(45% 45% at 90% 20%,rgba(22,87,201,.22),transparent 70%)}
.page-hero .wrap{position:relative;z-index:1}
.crumb{font-size:.86rem;opacity:.7;margin-bottom:10px}
.crumb a{color:inherit;text-decoration:underline}

/* ---------- cards / grid ---------- */
.grid{display:grid;gap:16px}
.grid.c2{grid-template-columns:1fr}
.grid.c3{grid-template-columns:1fr}
@media(min-width:700px){.grid.c2{grid-template-columns:1fr 1fr}.grid.c3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.card b.title{display:block;font-family:"Anek Tamil",sans-serif;font-size:1.18rem;color:var(--ink);margin-bottom:6px}
.stripe{position:relative;overflow:hidden}
.stripe::after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--leaf)}
.stripe.sky::after{background:var(--sky)} .stripe.sun::after{background:var(--sun)}

/* ---------- accordion ---------- */
.accordion{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.accordion + .accordion{margin-top:16px}
.acc-head{width:100%;text-align:left;background:transparent;border:0;padding:18px 20px;display:flex;align-items:center;
  justify-content:space-between;cursor:pointer;font:inherit;color:var(--ink);gap:12px}
.acc-head b{font-family:"Anek Tamil",sans-serif;font-size:1.15rem}
.acc-head .plus{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);position:relative}
.acc-head .plus::before,.acc-head .plus::after{content:"";position:absolute;background:var(--leaf-deep);top:50%;left:50%;transform:translate(-50%,-50%)}
.acc-head .plus::before{width:12px;height:2px}
.acc-head .plus::after{width:2px;height:12px;transition:transform .2s ease}
.acc-item.open .acc-head .plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .28s ease}
.acc-item.open .acc-body{max-height:2400px}
.acc-body-in{padding:0 20px 20px}
.topic-list{display:grid;gap:8px;grid-template-columns:1fr;margin:0 0 14px;padding:0;list-style:none}
@media(min-width:640px){.topic-list{grid-template-columns:1fr 1fr}}
.topic-list li{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.94rem}
.soon{display:inline-block;margin-top:4px;font-size:.78rem;font-weight:700;color:var(--sun);background:rgba(242,165,12,.14);padding:2px 8px;border-radius:999px}

/* ---------- timeline / steps ---------- */
.steps{counter-reset:s;display:grid;gap:14px}
.step{position:relative;padding-left:44px}
.step::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;
  background:var(--leaf);color:#fff;display:grid;place-items:center;font-family:"Anek Tamil",sans-serif;font-weight:700;font-size:.95rem}
.step b{display:block;color:var(--ink);font-family:"Anek Tamil",sans-serif;margin-bottom:2px}

/* ---------- table ---------- */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{width:100%;border-collapse:collapse;font-size:.94rem;min-width:520px}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{font-family:"Anek Tamil",sans-serif;color:var(--ink);background:rgba(47,168,79,.08)}
tr:last-child td{border-bottom:0}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}
.badge .dot{width:8px;height:8px;border-radius:50%}
.dot.y{background:var(--sun)} .dot.b{background:var(--sky)} .dot.o{background:#E06A1F} .dot.g{background:var(--leaf)} .dot.r{background:var(--red)}

/* ---------- forms ---------- */
.formcard{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:clamp(18px,3vw,30px)}
label{display:block;font-weight:700;color:var(--ink);font-size:.94rem;margin-bottom:6px}
input[type=text],input[type=tel],input[type=email],input[type=password],select,textarea{
  width:100%;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}
textarea{min-height:96px;resize:vertical}
.hint{font-size:.85rem;opacity:.75;margin:6px 0 0}
.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:.94rem}
.check input{margin-top:5px;width:20px;height:20px;flex:none;accent-color:var(--leaf)}
.note{border-left:4px solid var(--sun);background:color-mix(in srgb,var(--card) 82%, var(--sun) 18%);padding:14px 16px;border-radius:0 12px 12px 0;font-size:.93rem;margin:16px 0}
.msg{margin-top:14px;padding:12px 14px;border-radius:12px;font-weight:600;display:none}
.msg.ok{display:block;background:rgba(47,168,79,.16);color:var(--leaf-deep)}
.msg.err{display:block;background:rgba(214,64,44,.14);color:var(--red)}
.photo-row{display:flex;gap:14px;align-items:center;margin-top:8px}
.photo-prev{width:64px;height:64px;border-radius:14px;border:1.5px dashed var(--line);overflow:hidden;display:grid;place-items:center;font-size:.75rem;opacity:.7;flex:none}
.photo-prev img{width:100%;height:100%;object-fit:cover}
.progress{display:flex;gap:6px;margin-bottom:18px}
.progress span{height:5px;flex:1;border-radius:4px;background:var(--line)}
.progress span.done{background:var(--leaf)}
fieldset{border:0;padding:0;margin:0;display:none}
fieldset.active{display:block}

/* ---------- stats ---------- */
.stat-grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.stat-grid{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-align:center;box-shadow:var(--shadow)}
.stat b{display:block;font-family:"Anek Tamil",sans-serif;font-size:1.9rem;color:var(--leaf-deep)}
:root[data-theme="dark"] .stat b,:root:not([data-theme="light"]) .stat b{color:#7FD79A}
.stat span{font-size:.85rem;opacity:.75}

/* ---------- board tiles ---------- */
.board{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.tile{position:relative;border-radius:16px;padding:18px;border:1px solid var(--line);text-align:left;
  background:linear-gradient(160deg,var(--card),color-mix(in srgb,var(--card) 88%, var(--leaf) 12%));cursor:default}
.tile .ac{font-family:"Anek Tamil",sans-serif;font-weight:700;color:var(--ink);font-size:1.03rem;display:block}
.tile .dist{font-size:.83rem;opacity:.75;display:block;margin-bottom:10px}
.tile .n{font-family:"Anek Tamil",sans-serif;font-size:1.8rem;color:var(--leaf-deep)}
:root[data-theme="dark"] .tile .n,:root:not([data-theme="light"]) .tile .n{color:#7FD79A}
.faces{display:flex;margin-top:12px}
.face{width:34px;height:34px;border-radius:50%;margin-right:-9px;border:2px solid var(--card);background:linear-gradient(135deg,var(--leaf),var(--sky));
  color:#fff;display:grid;place-items:center;font-family:"Anek Tamil",sans-serif;font-weight:700;font-size:.82rem;overflow:hidden;flex:none}
.face img{width:100%;height:100%;object-fit:cover}
.empty{border:1.5px dashed var(--line);border-radius:var(--r);padding:30px;text-align:center;background:var(--card)}

/* ---------- leadership ---------- */
.leader{display:grid;gap:16px;grid-template-columns:96px 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.leader .ph{width:96px;height:96px;border-radius:20px;background:linear-gradient(135deg,var(--leaf),var(--sky));color:#fff;
  display:grid;place-items:center;font-family:"Anek Tamil",sans-serif;font-weight:800;font-size:1.6rem}
.leader h3{margin-bottom:2px}
.leader .role{color:var(--leaf-deep);font-weight:700;font-size:.94rem;margin-bottom:8px;display:block}
:root[data-theme="dark"] .leader .role,:root:not([data-theme="light"]) .leader .role{color:#7FD79A}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:36px 0 40px;font-size:.92rem;margin-top:20px}
.foot-grid{display:grid;gap:22px;grid-template-columns:1.3fr 1fr 1fr}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h4{font-size:.95rem;margin-bottom:10px}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.foot-grid a{color:var(--body);text-decoration:none}
.foot-grid a:hover{color:var(--leaf-deep)}
.disclaim{background:color-mix(in srgb,var(--card) 84%, var(--sky) 16%);border-radius:14px;padding:14px 16px;margin:26px 0 18px;font-size:.9rem}
.foot-bottom{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
