/* ============================================================
   Swadeshi Jagran Manch — Tamil Nadu
   Design system v2 · editorial, restrained, professional
   Headings: Noto Serif Tamil · Body: Noto Sans Tamil · UI: Inter
   ============================================================ */

:root {
  /* palette — warmer, deeper, used with restraint */
  --saffron:      #C44619;   /* v3.8: a shade deeper so white text on it is readable (contrast 5:1) */
  --saffron-dark: #B23E12;
  --saffron-soft: #FBEEE6;
  --navy:         #10243B;
  --navy-2:       #1C3A5A;
  --paper:        #FAF7F1;
  --paper-2:      #F3ECDF;
  --line:         #E7DECB;   /* hairline */
  --green:        #2C6E49;
  --green-dark:   #1E4E33;
  --gold:         #C99A2E;
  --ink:          #1B1B1A;
  --muted:        #6A6459;
  --white:        #ffffff;

  --r-sm: 6px;
  --r:    10px;
  --r-lg: 16px;
  --sh-1: 0 1px 2px rgba(16,36,59,.06), 0 1px 1px rgba(16,36,59,.04);
  --sh-2: 0 10px 30px rgba(16,36,59,.10);
  --maxw: 1200px;
  --ease: cubic-bezier(.2,.7,.2,1);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; font-size:15px; }

body {
  font-family:'Noto Sans Tamil','Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.62;
  font-size:1rem;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img { max-width:100%; display:block; }
a { color:var(--saffron-dark); text-decoration:none; transition:color .15s; }
a:hover { color:var(--saffron); }

.container { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* ---------- Typography ---------- */
h1,h2,h3,h4 {
  font-family:'Noto Serif Tamil','Noto Sans Tamil',Georgia,serif;
  line-height:1.28; font-weight:800; color:var(--navy);
  letter-spacing:-.01em;
}
h1 { font-size:clamp(1.55rem,2.8vw,2.2rem); font-weight:800; }
h2 { font-size:clamp(1.3rem,2.2vw,1.7rem); }
h3 { font-size:clamp(1rem,1.5vw,1.15rem); }
p  { margin-bottom:1rem; }

.section { padding:62px 0; position:relative; }
.section-cream { background:var(--paper); }
.section-white { background:var(--white); }
.section-navy  { background:var(--navy); color:#D9E3EE; }
.section-navy h1,.section-navy h2,.section-navy h3,.section-navy h4 { color:#fff; }

/* thin rule between stacked light sections */
.section-white + .section-cream, .section-cream + .section-white { border-top:1px solid var(--line); }

/* eyebrow — kicker with leading rule */
.eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Inter',sans-serif;
  text-transform:uppercase; letter-spacing:.15em; font-size:.66rem; font-weight:700;
  color:var(--saffron-dark); margin-bottom:16px; background:none; padding:0;
}
.eyebrow::before { content:""; width:34px; height:2px; background:var(--saffron); display:inline-block; }
.section-navy .eyebrow { color:var(--gold); }
.section-navy .eyebrow::before { background:var(--gold); }

.section-title { margin-bottom:12px; }
.text-center .eyebrow { justify-content:center; }
.section-sub { color:var(--muted); max-width:680px; margin:0 auto 40px; font-size:.98rem; }
.text-center .section-sub { text-align:center; }
.section-navy .section-sub { color:#A9BDD2; }

/* ---------- Buttons ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Inter','Noto Sans Tamil',sans-serif;
  padding:13px 26px; border-radius:var(--r-sm); font-weight:600; font-size:.98rem;
  cursor:pointer; border:1.5px solid transparent; transition:all .18s var(--ease);
  letter-spacing:.005em;
}
.btn:hover { text-decoration:none; }
.btn-primary { background:var(--saffron); color:#fff; box-shadow:var(--sh-1); }
.btn-primary:hover { background:var(--saffron-dark); color:#fff; transform:translateY(-1px); box-shadow:var(--sh-2); }
.btn-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.btn-outline:hover { background:#fff; color:var(--navy); border-color:#fff; }
.btn-navy { background:var(--navy); color:#fff; }
.btn-navy:hover { background:var(--navy-2); color:#fff; transform:translateY(-1px); }

/* ---------- Top utility bar ---------- */
.topbar {
  background:var(--navy); color:#B9CADD;
  font-family:'Inter',sans-serif; font-size:.82rem;
}
.topbar-inner { display:flex; align-items:center; justify-content:space-between; height:40px; }
.topbar a { color:#B9CADD; }
.topbar a:hover { color:#fff; }
.tb-tag { letter-spacing:.02em; }
.tb-right { display:flex; align-items:center; gap:20px; }
.tb-right .sep { opacity:.35; }
.lang-switch { display:inline-flex; border:1px solid rgba(255,255,255,.25); border-radius:999px; overflow:hidden; }
.lang-switch button {
  font-family:inherit; font-size:.78rem; font-weight:600; letter-spacing:.03em;
  padding:4px 12px; background:transparent; color:#B9CADD; border:0; cursor:pointer; transition:.15s;
}
.lang-switch button:hover { color:#fff; }
.lang-switch button.active { background:var(--saffron); color:#fff; }

/* ---------- Header / Nav ---------- */
.site-header {
  position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.94);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav { display:flex; align-items:center; justify-content:space-between; height:76px; }
.brand { display:flex; align-items:center; gap:13px; }
.brand:hover { text-decoration:none; }
.brand .logo {
  width:44px; height:44px; border-radius:50%; flex:none;
  background:conic-gradient(from 220deg, var(--saffron), var(--gold), var(--saffron-dark), var(--saffron));
  display:grid; place-items:center; color:#fff; font-weight:800; font-size:.82rem;
  font-family:'Inter',sans-serif; letter-spacing:.02em; box-shadow:inset 0 0 0 3px rgba(255,255,255,.75);
}
.brand .logo-img { width:auto; height:54px; flex:none; display:block; object-fit:contain; }
.site-footer .brand .logo-img { height:50px; background:#fff; padding:7px 12px; border-radius:8px; }
.brand-tag {
  padding-left:14px; margin-left:6px; border-left:1px solid var(--line);
  color:var(--navy); font-family:'Noto Serif Tamil',serif; font-weight:800;
  font-size:1.18rem; line-height:1;
}

.nav-links { display:flex; align-items:center; gap:2px; list-style:none; }
.nav-links a {
  font-family:'Inter','Noto Sans Tamil',sans-serif;
  color:var(--navy); font-weight:500; font-size:.94rem; padding:9px 15px; border-radius:var(--r-sm);
  position:relative;
}
.nav-links a::after {
  content:""; position:absolute; left:15px; right:15px; bottom:4px; height:2px; background:var(--saffron);
  transform:scaleX(0); transform-origin:left; transition:transform .2s var(--ease);
}
.nav-links a:hover { color:var(--saffron-dark); text-decoration:none; }
.nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }
.nav-links a.active { color:var(--saffron-dark); font-weight:600; }
.nav-links .cta-link {
  background:var(--navy); color:#fff; margin-left:8px; font-weight:600;
}
.nav-links .cta-link::after { display:none; }
.nav-links .cta-link:hover { background:var(--saffron); color:#fff; }

.nav-toggle { display:none; background:none; border:0; cursor:pointer; width:44px; height:44px; position:relative; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
  content:""; position:absolute; left:9px; width:26px; height:2px; border-radius:2px; background:var(--navy); transition:.25s;
}
.nav-toggle span { top:21px; }
.nav-toggle span::before { top:-7px; }
.nav-toggle span::after { top:7px; }
.nav-toggle.open span { background:transparent; }
.nav-toggle.open span::before { top:0; transform:rotate(45deg); }
.nav-toggle.open span::after { top:0; transform:rotate(-45deg); }

/* ---------- Hero (modern two-column) ---------- */
.hero { position:relative; background:var(--navy); color:#fff; overflow:hidden; }
.hero::before {
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(70% 110% at 88% -10%, rgba(217,83,30,.30), transparent 58%),
    radial-gradient(60% 90% at 0% 110%, rgba(201,154,46,.14), transparent 60%),
    linear-gradient(180deg,#0d2035,#10243B);
}
.hero::after {
  content:""; position:absolute; inset:0; opacity:.05; pointer-events:none;
  background-image:radial-gradient(#fff 1px, transparent 1px); background-size:22px 22px;
}
.hero-inner {
  position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr;
  gap:52px; align-items:center; padding:40px 0 46px;
}
.hero-text .eyebrow { color:var(--gold); }
.hero-text .eyebrow::before { background:var(--gold); }
.hero h1 { color:#fff; font-size:clamp(1.5rem,2.6vw,2.05rem); line-height:1.2; }
.hero .accent { color:var(--saffron); font-style:normal; }
.hero p.lead { color:#C7D4E2; font-size:clamp(.92rem,1.2vw,1rem); margin:14px 0 20px; max-width:520px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:28px; }
.hero-tags { display:flex; flex-wrap:wrap; gap:12px 20px; }
.hero-tags span { display:inline-flex; align-items:center; gap:8px; font-family:'Inter',sans-serif; font-weight:600; font-size:.86rem; color:#EBD9A6; letter-spacing:.02em; }
.hero-tags span::before { content:""; width:6px; height:6px; background:var(--saffron); border-radius:50%; }

.hero-media { position:relative; }
.hero-media .collage {
  position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:10px;
}
.hero-media .collage img {
  width:100%; height:140px; object-fit:cover; border-radius:12px; display:block;
  border:1px solid rgba(255,255,255,.14); box-shadow:0 16px 34px rgba(0,0,0,.32);
}
.hero-media .accent-block {
  position:absolute; left:-20px; bottom:-20px; width:130px; height:130px;
  border:3px solid var(--saffron); border-radius:16px; z-index:1;
}
.hero-badge {
  position:absolute; z-index:3; right:-16px; top:26px; background:#fff; color:var(--navy);
  border-radius:14px; padding:14px 20px; box-shadow:var(--sh-2); text-align:center;
}
.hero-badge strong { display:block; font-family:'Noto Serif Tamil',serif; font-size:1.9rem; color:var(--saffron-dark); line-height:1; }
.hero-badge span { font-size:.72rem; font-weight:700; color:var(--muted); }

/* ---------- Header tools + single-bar header ---------- */
.nav { justify-content:flex-start; gap:20px; }
.brand { margin-right:auto; }
.header-tools { display:flex; align-items:center; }
.header-tools .lang-switch { display:inline-flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:#fff; }
.header-tools .lang-switch button { font-family:'Inter',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.02em; padding:7px 14px; background:#fff; color:var(--navy); border:0; cursor:pointer; transition:.15s; }
.header-tools .lang-switch button:hover { background:var(--paper-2); color:var(--navy); }
.header-tools .lang-switch button.active { background:var(--saffron); color:#fff; }

/* ---------- Cards / grids ---------- */
.grid { display:grid; gap:26px; }
.grid-2 { grid-template-columns:repeat(2,1fr); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }

.card {
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:32px 28px; box-shadow:var(--sh-1);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;
  position:relative;
}
.card::before { content:""; position:absolute; left:0; top:0; height:3px; width:44px; background:var(--saffron); border-radius:0 0 3px 0; opacity:0; transition:opacity .2s, width .25s var(--ease); }
.card:hover { transform:translateY(-4px); box-shadow:var(--sh-2); border-color:#dccfb4; }
.card:hover::before { opacity:1; width:72px; }
.card .icon {
  width:52px; height:52px; border-radius:12px; display:grid; place-items:center;
  font-size:1.5rem; margin-bottom:18px; background:var(--saffron-soft); color:var(--saffron-dark);
  border:1px solid #F0D8C6;
}
.card h3 { margin-bottom:6px; }
.card .en { color:var(--muted); font-size:.76rem; font-weight:700; font-family:'Inter',sans-serif; letter-spacing:.06em; text-transform:uppercase; display:block; margin:-2px 0 12px; }
.card p { color:#43403A; font-size:.98rem; margin:0; }
.card-green .icon { background:#E5F0E8; color:var(--green-dark); border-color:#CFE4D5; }
.card-green::before { background:var(--green); }
.card-navy { background:#132C46; border-color:#1E3A57; }
.card-navy h3 { color:#fff; }
.card-navy p { color:#B7C6D8; }
.card-navy .en { color:#8AA0B8; }
.card-navy .icon { background:rgba(255,255,255,.06); color:var(--gold); border-color:rgba(255,255,255,.12); }
.card-navy::before { background:var(--gold); }

/* number pillar */
.pillar .num {
  position:absolute; top:22px; right:24px; font-family:'Noto Serif Tamil',serif;
  font-size:2.4rem; font-weight:900; color:var(--paper-2); line-height:1; z-index:0;
}
.card-navy.pillar .num { color:rgba(255,255,255,.08); }
.pillar h3, .pillar .icon, .pillar p, .pillar .en { position:relative; z-index:1; }

/* ---------- Split feature ---------- */
.split { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.split .media { min-height:340px; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); }
.split .media img, .split img { width:100%; height:100%; object-fit:cover; }

/* ---------- Heritage strip ---------- */
.heritage { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.heritage figure { background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:transform .2s var(--ease); }
.heritage figure:hover { transform:translateY(-4px); }
.heritage figure img { height:158px; width:100%; object-fit:cover; filter:saturate(.92); }
.heritage figcaption { padding:14px 12px; font-size:.82rem; font-weight:700; color:var(--navy); text-align:center; font-family:'Inter','Noto Sans Tamil',sans-serif; }

/* ---------- Stats ---------- */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:0; text-align:center; }
.stat { padding:8px 16px; border-right:1px solid var(--line); }
.stat:last-child { border-right:0; }
.stat .n { font-family:'Noto Serif Tamil',serif; font-size:clamp(2.2rem,4.5vw,3rem); font-weight:900; color:var(--saffron-dark); }
.stat .l { color:var(--muted); font-weight:600; font-size:.92rem; }
.section-navy .stat { border-color:rgba(255,255,255,.12); }
.section-navy .stat .n { color:var(--gold); }
.section-navy .stat .l { color:#A9BDD2; }

/* ---------- CTA band ---------- */
.cta-band {
  position:relative; overflow:hidden; color:#fff; text-align:center;
  background:var(--navy); border-radius:var(--r-lg); padding:60px 32px;
}
.cta-band::before { content:""; position:absolute; inset:0; background:radial-gradient(120% 140% at 100% 0%, rgba(217,83,30,.35), transparent 55%); }
.cta-band > * { position:relative; z-index:1; }
.cta-band h2 { color:#fff; }
.cta-band p { color:#CBD8E6; max-width:640px; margin:14px auto 28px; }
.cta-band .btn-primary { background:var(--saffron); }
.cta-band .btn-navy { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3); }
.cta-band .btn-navy:hover { background:#fff; color:var(--navy); }

/* ---------- Quote ---------- */
.quote {
  position:relative; background:#fff; border:1px solid var(--line); border-left:3px solid var(--saffron);
  padding:30px 34px 30px 60px; border-radius:0 var(--r) var(--r) 0; font-family:'Noto Serif Tamil',serif;
  font-size:1.22rem; line-height:1.6; color:var(--navy); font-style:italic; box-shadow:var(--sh-1);
}
.quote::before { content:"\201C"; position:absolute; left:20px; top:14px; font-size:3rem; color:var(--saffron); opacity:.5; font-family:Georgia,serif; }
.quote cite { display:block; margin-top:12px; font-style:normal; font-family:'Inter',sans-serif; font-weight:600; color:var(--saffron-dark); font-size:.88rem; letter-spacing:.02em; }

/* ---------- Events ---------- */
.event-list { display:grid; gap:16px; }
.event { display:grid; grid-template-columns:88px 1fr; gap:22px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 24px; transition:border-color .2s, box-shadow .2s; }
.event:hover { border-color:#dccfb4; box-shadow:var(--sh-1); }
.event .date { background:var(--navy); color:#fff; border-radius:var(--r-sm); text-align:center; padding:12px 6px; }
.event .date .d { font-family:'Noto Serif Tamil',serif; font-size:1.7rem; font-weight:900; line-height:1; }
.event .date .m { font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-family:'Inter',sans-serif; }
.event h4 { color:var(--navy); margin-bottom:4px; }
.event p { margin:0; color:var(--muted); font-size:.92rem; }

/* ---------- Directory ---------- */
.dir-cat { display:flex; gap:14px; align-items:flex-start; }
.dir-cat .ic { font-size:1.8rem; }
.tag-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.tag-list span { background:var(--paper-2); color:var(--navy); border-radius:999px; padding:5px 14px; font-size:.84rem; font-weight:600; }

/* ---------- Contact / forms ---------- */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.contact-item { display:flex; gap:14px; margin-bottom:22px; }
.contact-item .ic { font-size:1.4rem; color:var(--saffron); }
.form-row { display:grid; gap:16px; margin-bottom:16px; }
.form-row.two { grid-template-columns:1fr 1fr; }
.form-field label { display:block; font-family:'Inter','Noto Sans Tamil',sans-serif; font-weight:600; margin-bottom:6px; color:var(--navy); font-size:.85rem; }
.form-field input, .form-field select, .form-field textarea {
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--r-sm);
  font-family:inherit; font-size:1rem; background:#fff; transition:border-color .15s, box-shadow .15s;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  outline:none; border-color:var(--saffron); box-shadow:0 0 0 3px rgba(217,83,30,.12);
}

/* ---------- Founder ---------- */
.founder-hero { display:grid; grid-template-columns:340px 1fr; gap:48px; align-items:center; }
.founder-hero .portrait { border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); border:1px solid rgba(255,255,255,.15); }
.founder-hero .portrait img { height:420px; width:100%; object-fit:cover; }
.founder-dates { font-family:'Inter',sans-serif; color:var(--gold); font-weight:600; font-size:1rem; letter-spacing:.02em; }

.org-flow { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.org-node { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px; text-align:center; min-width:150px; flex:1; transition:transform .2s var(--ease); }
.org-node:hover { transform:translateY(-4px); box-shadow:var(--sh-1); }
.org-node .ic { font-size:1.9rem; }
.org-node strong { display:block; color:var(--navy); margin-top:8px; font-family:'Noto Serif Tamil',serif; }
.org-node span { font-size:.78rem; color:var(--muted); font-family:'Inter',sans-serif; }

/* ---------- Page hero ---------- */
.page-hero {
  position:relative; color:#fff; padding:82px 0; text-align:center;
  background:linear-gradient(rgba(16,36,59,.9),rgba(16,36,59,.8)),
    url('https://images.unsplash.com/photo-1668766036774-2a9f3ba68fc6?auto=format&fit=crop&w=1600&q=70') center/cover;
}
.page-hero::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--saffron),var(--gold)); }
.page-hero .container { position:relative; z-index:1; }
.page-hero .eyebrow { justify-content:center; color:var(--gold); }
.page-hero .eyebrow::before { background:var(--gold); }
.page-hero h1 { color:#fff; }
.page-hero p { color:#D5E0EC; max-width:680px; margin:16px auto 0; font-size:1.05rem; }

/* ---------- Footer ---------- */
.site-footer { background:var(--navy); color:#9FB3C8; padding:66px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:40px; }
.footer-grid h4 { color:#fff; margin-bottom:18px; font-size:.82rem; text-transform:uppercase; letter-spacing:.14em; font-family:'Inter',sans-serif; font-weight:700; }
.footer-grid a { color:#9FB3C8; display:block; padding:5px 0; font-size:.94rem; }
.footer-grid a:hover { color:#fff; }
.footer-brand p { font-size:.92rem; color:#8DA3BA; margin-top:6px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:44px; padding-top:22px; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; font-size:.84rem; color:#7C93AC; font-family:'Inter',sans-serif; }
.social { display:flex; gap:10px; margin-top:16px; }
.social a { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); display:grid; place-items:center; color:#fff; font-size:1rem; transition:.18s; }
.social a:hover { background:var(--saffron); transform:translateY(-2px); }

/* ---------- Utilities ---------- */
.text-center { text-align:center; }
.mt-32 { margin-top:36px; }
.list-check { list-style:none; }
.list-check li { position:relative; padding-left:30px; margin-bottom:12px; }
.list-check li::before {
  content:""; position:absolute; left:2px; top:.55em; width:8px; height:8px; border-radius:50%;
  background:var(--saffron); box-shadow:0 0 0 4px var(--saffron-soft);
}
.section-navy .list-check li::before { box-shadow:0 0 0 4px rgba(217,83,30,.18); }

/* ---------- Google Translate cleanup ---------- */
/* while Google Translate banner is shown, push sticky header below it; reverts on cancel */
.translated-ltr .site-header, .translated-rtl .site-header { top:40px; }
.goog-te-gadget, .goog-logo-link { display:none !important; }
.goog-te-combo { display:none !important; }
#goog-gt-tt, .goog-te-balloon-frame { display:none !important; }
.goog-text-highlight { background:none !important; box-shadow:none !important; }
/* keep the widget in the DOM & functional, but off-screen (display:none can disable it) */
#google_translate_element { position:fixed !important; left:-9999px !important; top:-9999px !important; width:1px; height:1px; overflow:hidden; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .heritage { grid-template-columns:repeat(3,1fr); }
  .stats { grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2){ border-right:0; }
  .founder-hero { grid-template-columns:1fr; text-align:center; }
  .founder-hero .portrait { max-width:320px; margin:0 auto; }
  .split { gap:36px; }
}
@media (max-width:780px){
  body { font-size:16px; }
  .section { padding:60px 0; }
  .topbar .tb-tag { display:none; }
  .topbar-inner { justify-content:flex-end; gap:16px; }
  .nav-toggle { display:block; }
  .nav-links {
    position:absolute; top:76px; left:0; right:0; flex-direction:column; align-items:stretch;
    background:#fff; gap:0; padding:8px 18px 18px; border-bottom:1px solid var(--line);
    box-shadow:var(--sh-2); transform:translateY(-140%); transition:transform .3s var(--ease); z-index:-1;
  }
  .nav-links.open { transform:translateY(0); }
  .nav-links a { padding:14px 8px; border-bottom:1px solid var(--paper-2); }
  .nav-links a::after { display:none; }
  .nav-links .cta-link { margin:10px 0 0; text-align:center; }
  .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; }
  .split { grid-template-columns:1fr; }
  .heritage { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; }
  .form-row.two { grid-template-columns:1fr; }
  .event { grid-template-columns:70px 1fr; gap:16px; }
  .footer-bottom { flex-direction:column; }
}
@media (max-width:440px){
  .heritage { grid-template-columns:1fr 1fr; }
  .stats { grid-template-columns:1fr; }
  .stat { border-right:0; border-bottom:1px solid var(--line); padding:16px; }
  .footer-grid { grid-template-columns:1fr; }
  .hero { padding:80px 0 84px; }
}

/* --- hero + single-bar header responsive --- */
@media (max-width:820px){
  .hero-inner { grid-template-columns:1fr; gap:26px; padding:32px 0 38px; }
  .hero-media { max-width:460px; }
  .hero p.lead { max-width:none; }
}
@media (max-width:780px){
  .brand { order:1; }
  .header-tools { order:2; margin-left:auto; }
  .nav-toggle { order:3; }
  .header-tools .lang-switch button { padding:6px 11px; font-size:.74rem; }
}

/* --- header one-line fit (desktop only; keeps mobile dropdown intact) --- */
@media (min-width:781px){
  .nav { gap:14px; flex-wrap:nowrap; }
  .nav-links { gap:0; flex-wrap:nowrap; }
  .nav-links a { padding:8px 11px; font-size:.9rem; white-space:nowrap; }
  .nav-links .cta-link { white-space:nowrap; padding:8px 16px; margin-left:6px; }
  .brand { gap:10px; }
  .brand .logo-img { height:46px; }
  .brand-tag { font-size:1rem; padding-left:12px; margin-left:4px; white-space:nowrap; }
  .header-tools { flex:none; }
}
@media (min-width:781px) and (max-width:1240px){ .brand-tag { display:none; } }
@media (min-width:781px) and (max-width:1080px){
  .nav-links a { padding:8px 8px; font-size:.84rem; }
  .nav { gap:10px; }
}

/* ============================================================
   News / Events / Blog feature components
   ============================================================ */

/* reading progress bar */
.read-progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:1100; background:transparent; }
.read-progress span { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--saffron),var(--gold)); transition:width .1s linear; }

/* section head (title + action) */
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:34px; flex-wrap:wrap; }
.sec-head .section-title { margin-bottom:0; }
.btn-outline.btn-dark { color:var(--navy); border-color:var(--line); }
.btn-outline.btn-dark:hover { background:var(--navy); color:#fff; border-color:var(--navy); }
.btn-sm { padding:8px 15px; font-size:.85rem; }
.btn-ghost { background:transparent; color:var(--navy); border-color:var(--line); }
.btn-ghost:hover { background:var(--paper-2); color:var(--navy); }

/* ---- ticker ---- */
.ticker { background:var(--navy); border-bottom:1px solid rgba(255,255,255,.08); }
.ticker-inner { display:flex; align-items:center; gap:16px; height:46px; }
.ticker-label { flex:none; font-family:'Inter',sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.08em; color:#fff; text-transform:uppercase; }
.ticker-viewport { flex:1; overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.ticker-track { display:inline-flex; white-space:nowrap; animation:tickerMove 42s linear infinite; }
.ticker-viewport:hover .ticker-track { animation-play-state:paused; }
@keyframes tickerMove { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.ticker-track .tk { color:#C7D4E2; font-size:.9rem; padding:0 26px; position:relative; }
.ticker-track .tk:hover { color:#fff; text-decoration:none; }
.ticker-track .tk::after { content:"•"; position:absolute; right:-4px; color:var(--saffron); }
.ticker-track .tk b { color:var(--gold); font-weight:700; margin-right:6px; font-size:.8rem; }
.ticker-all { flex:none; color:#FFA36B; font-weight:700; font-size:.85rem; font-family:'Inter',sans-serif; }
.ticker-all:hover { color:#fff; }

/* ---- countdown + new badge (global) ---- */
.cd-row { margin:2px 0 8px; }
.cd-pill { display:inline-flex; align-items:center; gap:6px; background:#FCEEE7; color:var(--saffron-dark); font-weight:700; font-size:.76rem; padding:4px 11px; border-radius:999px; border:1px solid #F3D6C6; }
.cd-pill.past { background:var(--paper-2); color:var(--muted); border-color:var(--line); }
.new-badge { position:absolute; top:12px; right:12px; background:var(--green); color:#fff; font-size:.68rem; font-weight:800; padding:3px 9px; border-radius:999px; letter-spacing:.02em; z-index:2; }
.ev-venue { font-size:.8rem; color:var(--muted); font-weight:600; }

/* ---- save/bookmark button on cards ---- */
.save-btn { position:absolute; top:10px; right:10px; z-index:3; width:34px; height:34px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--saffron); font-size:1.05rem; line-height:1; cursor:pointer; box-shadow:var(--sh-1); transition:.15s; display:grid; place-items:center; }
.save-btn:hover { background:#fff; transform:scale(1.08); }
.save-btn.on { color:#fff; background:var(--saffron); }
.new-badge + .save-btn { right:auto; left:12px; }
.save-inline { position:static; width:auto; height:auto; border-radius:999px; padding:8px 16px; font-size:.85rem; font-weight:700; background:var(--paper-2); box-shadow:none; gap:6px; }
.save-inline.on { background:var(--saffron); color:#fff; }

/* saved-only toggle in toolbar */
.saved-toggle { font-family:'Inter','Noto Sans Tamil',sans-serif; font-weight:600; font-size:.85rem; padding:10px 14px; border:1.5px solid var(--line); border-radius:10px; background:#fff; color:var(--navy); cursor:pointer; white-space:nowrap; }
.saved-toggle:hover { background:var(--paper-2); }
.saved-toggle.on { background:var(--saffron); color:#fff; border-color:var(--saffron); }

/* ---- home: upcoming events list ---- */
.events-list { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ev-item { display:grid; grid-template-columns:74px 1fr; gap:18px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px; transition:.2s; }
.ev-item:hover { border-color:#dccfb4; box-shadow:var(--sh-1); transform:translateY(-3px); }
.ev-date { background:var(--navy); color:#fff; border-radius:var(--r-sm); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px 4px; height:74px; }
.ev-date .d { font-family:'Noto Serif Tamil',serif; font-size:1.8rem; font-weight:900; line-height:1; }
.ev-date .m { font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.ev-top { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:8px; }
.ev-info h4 { margin:0 0 6px; }
.ev-info h4 a { color:var(--navy); }
.ev-info h4 a:hover { color:var(--saffron-dark); text-decoration:none; }
.ev-info p { color:var(--muted); font-size:.9rem; margin:0 0 12px; }
.ev-actions { display:flex; flex-wrap:wrap; gap:10px; }

/* ---- home: latest cards ---- */
.home-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.hcard { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:.2s; }
.hcard:hover { transform:translateY(-5px); box-shadow:var(--sh-2); border-color:#dccfb4; text-decoration:none; }
.hcard-img { position:relative; height:180px; overflow:hidden; }
.hcard-img img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.hcard:hover .hcard-img img { transform:scale(1.05); }
.hcard-img .type-badge { position:absolute; top:12px; left:12px; color:#fff; font-size:.72rem; font-weight:800; padding:4px 12px; border-radius:999px; z-index:2; }
.hcard-body { padding:18px 18px 20px; display:flex; flex-direction:column; flex:1; }
.hcard-meta { font-size:.78rem; color:var(--muted); font-weight:600; margin-bottom:8px; }
.hcard-body h3 { color:var(--navy); font-size:1.12rem; line-height:1.4; margin-bottom:8px; }
.hcard-body p { color:#555; font-size:.9rem; margin:0 0 14px; flex:1; }
.hcard-more { color:var(--saffron-dark); font-weight:800; font-size:.85rem; }
/* type badge colours (global) */
.type-badge { background:var(--saffron); }
.t-event .type-badge, .hcard.t-event .type-badge { background:var(--navy); }
.t-blog .type-badge, .hcard.t-blog .type-badge { background:var(--green); }
.t-news .type-badge, .hcard.t-news .type-badge { background:var(--saffron); }

/* ---- blog sidebar: trending + newsletter ---- */
.trend-list { display:grid; gap:12px; }
.trend { display:flex; gap:12px; align-items:flex-start; }
.trend:hover { text-decoration:none; }
.trend .rank { flex:none; width:26px; height:26px; border-radius:8px; background:var(--paper-2); color:var(--saffron-dark); font-family:'Noto Serif Tamil',serif; font-weight:900; display:grid; place-items:center; font-size:.95rem; }
.trend .tt strong { display:block; color:var(--navy); font-size:.9rem; line-height:1.35; font-family:'Noto Sans Tamil',sans-serif; font-weight:700; }
.trend:hover .tt strong { color:var(--saffron-dark); }
.trend .tt small { color:var(--muted); font-size:.78rem; }
.news-card .nl-sub { font-size:.85rem; color:var(--muted); margin-bottom:12px; }
.news-card .nl-form input { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px; margin-bottom:10px; font-family:inherit; }
.news-card .nl-form input:focus { outline:none; border-color:var(--saffron); }

/* ---- article detail pages ---- */
.article-hero { position:relative; color:#fff; padding:60px 0 46px; background-color:var(--navy); background-image:linear-gradient(rgba(16,36,59,.86),rgba(16,36,59,.72)), var(--bg, none); background-size:cover; background-position:center; }   /* navy even when the post has no photo */
.article-hero::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--saffron),var(--gold)); }
.article-hero .container { position:relative; z-index:1; }
.article-hero .crumb { font-size:.84rem; color:#D5E0EC; margin-bottom:14px; font-family:'Inter','Noto Sans Tamil',sans-serif; }
.article-hero .crumb a { color:var(--gold); }
.article-hero h1 { color:#fff; max-width:900px; }
.badge-type { display:inline-block; color:#fff; font-weight:800; font-size:.72rem; padding:4px 14px; border-radius:999px; margin-bottom:14px; letter-spacing:.03em; }
.bt-news { background:var(--saffron); } .bt-event { background:var(--gold); color:var(--navy); } .bt-blog { background:var(--green); }
.a-meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:16px; font-size:.88rem; color:#E4ECF4; font-weight:600; font-family:'Inter','Noto Sans Tamil',sans-serif; }
.article-wrap { display:grid; grid-template-columns:1fr 320px; gap:44px; align-items:start; }
.back-link { display:inline-block; margin-bottom:22px; font-weight:700; color:var(--saffron-dark); font-family:'Inter','Noto Sans Tamil',sans-serif; }
.lead-img { width:100%; height:auto; border-radius:var(--r-lg); box-shadow:var(--sh-2); margin-bottom:28px; }
.article-body { font-size:1.08rem; color:#2c2c2c; }
.article-body h2 { margin:30px 0 12px; }
.article-body p { margin-bottom:18px; }
.article-body .quote { margin:24px 0; font-size:1.15rem; }
.tagpill { background:var(--paper-2); color:var(--navy); border-radius:999px; padding:5px 14px; font-size:.85rem; font-weight:600; margin:0 6px 8px 0; display:inline-block; }
.share-row { display:flex; gap:10px; align-items:center; margin:26px 0; flex-wrap:wrap; }
.share-row a { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--paper-2); color:var(--navy); font-weight:800; cursor:pointer; }
.share-row a:hover { background:var(--saffron); color:#fff; text-decoration:none; }
.share-row a.copied { background:var(--green); color:#fff; }
.prevnext { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:30px 0; }
.pn { border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; background:#fff; transition:.2s; }
.pn:hover { border-color:#dccfb4; box-shadow:var(--sh-1); text-decoration:none; transform:translateY(-2px); }
.pn span { display:block; font-size:.78rem; color:var(--saffron-dark); font-weight:700; margin-bottom:5px; font-family:'Inter','Noto Sans Tamil',sans-serif; }
.pn strong { color:var(--navy); font-size:.95rem; line-height:1.35; font-family:'Noto Sans Tamil',sans-serif; }
.pn-next { text-align:right; }
.side-card { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px; position:sticky; top:96px; }
.side-card h4 { margin-bottom:16px; }
.mini { display:flex; gap:12px; margin-bottom:16px; }
.mini:hover { text-decoration:none; }
.mini img { width:76px; height:60px; object-fit:cover; border-radius:8px; flex:none; }
.mini strong { color:var(--navy); font-weight:700; font-size:.9rem; line-height:1.35; font-family:'Noto Sans Tamil',sans-serif; }
.mini:hover strong { color:var(--saffron-dark); }
.mini small { color:var(--muted); font-size:.78rem; }

@media (max-width:900px){
  .events-list { grid-template-columns:1fr; }
  .home-cards { grid-template-columns:1fr; }
  .article-wrap { grid-template-columns:1fr; }
  .side-card { position:static; }
  .ticker-label { display:none; }
}
@media (max-width:620px){
  .prevnext { grid-template-columns:1fr; }
  .pn-next { text-align:left; }
  .sec-head { align-items:flex-start; }
}

/* ============================================================
   THEME: alternate "Saffron" palette (client preview)
   Only variable overrides — every component re-tints automatically.
   ============================================================ */
html[data-theme="saffron"] {
  --saffron:      #C24E0C;
  --saffron-dark: #A8430A;
  --saffron-soft: #FDEEE0;
  --navy:         #6E2606;   /* deep rust replaces navy (v3.8: dark enough for light text) */
  --navy-2:       #8A3209;
  --paper:        #FFF8F0;
  --paper-2:      #FCE7D4;
  --line:         #F3D8BF;
  --gold:         #E0A82E;
  --green:        #2C6E49;
  --muted:        #765F4F;
}
html[data-theme="saffron"] .site-header { background:rgba(255,248,240,.94); }

/* ---- theme switcher button + modal ---- */
.theme-btn { width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:1rem; line-height:1; display:grid; place-items:center; margin-right:10px; transition:.15s; }
.theme-btn:hover { background:var(--paper-2); transform:translateY(-1px); }

.theme-modal { position:fixed; inset:0; z-index:2000; background:rgba(16,36,59,.55); display:flex; align-items:center; justify-content:center; padding:20px; backdrop-filter:blur(3px); }
.theme-modal[hidden] { display:none; }
.theme-box { background:#fff; border-radius:16px; width:100%; max-width:440px; padding:28px; position:relative; box-shadow:0 30px 70px rgba(0,0,0,.35); }
.theme-box h3 { margin-bottom:6px; }
.theme-box h3 span { color:var(--muted); font-weight:600; font-size:.9rem; font-family:'Inter',sans-serif; }
.theme-note { font-size:.85rem; color:var(--muted); margin-bottom:20px; }
.theme-close { position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%; border:0; background:var(--paper-2); color:var(--navy); cursor:pointer; font-size:1rem; }
.theme-close:hover { background:var(--line); }
.theme-grid { display:grid; gap:12px; }
.theme-opt { display:flex; align-items:center; gap:14px; padding:14px; border:1.5px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; text-align:left; transition:.15s; font-family:inherit; }
.theme-opt:hover { border-color:var(--saffron); background:var(--paper); }
.theme-opt.on { border-color:var(--saffron); box-shadow:0 0 0 3px rgba(217,83,30,.14); }
.theme-opt .sw { display:inline-flex; gap:4px; flex:none; }
.theme-opt .sw i { width:20px; height:34px; border-radius:5px; display:block; }
.theme-opt .tn { flex:1; }
.theme-opt .tn strong { display:block; color:var(--navy); font-family:'Noto Serif Tamil',serif; }
.theme-opt .tn small { color:var(--muted); font-size:.8rem; }
.theme-opt .tick { opacity:0; color:var(--saffron); font-weight:900; font-size:1.1rem; }
.theme-opt.on .tick { opacity:1; }
.theme-foot { margin-top:18px; text-align:center; }

/* ---------- Language dropdown (header) ---------- */
.lang-select { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:999px; background:#fff; padding:2px 10px 2px 12px; }
.lang-select .lang-ic { font-size:.9rem; line-height:1; opacity:.8; }
.lang-select select {
  border:0; background:transparent; font-family:'Inter','Noto Sans Tamil',sans-serif;
  font-size:.85rem; font-weight:600; color:var(--navy); padding:6px 4px; cursor:pointer;
  max-width:130px; -webkit-appearance:menulist; appearance:auto;
}
.lang-select select:focus { outline:none; }
@media (max-width:780px){ .lang-select select { max-width:96px; font-size:.8rem; } }

/* ============================================================
   Site-wide enhancements + new sections/pages
   ============================================================ */

/* skip link */
.skip-link { position:absolute; left:-9999px; top:0; z-index:3000; background:var(--navy); color:#fff; padding:10px 16px; border-radius:0 0 8px 0; font-weight:700; }
.skip-link:focus { left:0; }

/* scroll reveal */
.reveal { opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.is-in { opacity:1; transform:none; }

/* back to top */
.to-top { position:fixed; right:22px; bottom:22px; z-index:900; width:46px; height:46px; border-radius:50%; border:0; background:var(--navy); color:#fff; font-size:1.2rem; cursor:pointer; box-shadow:var(--sh-2); opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; }
.to-top.show { opacity:1; visibility:visible; transform:none; }
.to-top:hover { background:var(--saffron); }

/* whatsapp float */
.wa-float { position:fixed; left:22px; bottom:22px; z-index:900; width:52px; height:52px; border-radius:50%; background:#25D366; color:#fff; display:grid; place-items:center; font-size:1.5rem; box-shadow:var(--sh-2); transition:.2s; }
.wa-float:hover { transform:translateY(-3px) scale(1.05); color:#fff; }
.wa-float span { transform:rotate(6deg); }

/* lightbox */
.lightbox { position:fixed; inset:0; z-index:2500; background:rgba(10,20,33,.92); display:flex; align-items:center; justify-content:center; padding:30px; }
.lightbox[hidden] { display:none; }
.lightbox img { max-width:92vw; max-height:88vh; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.lb-close { position:absolute; top:20px; right:24px; width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.15); color:#fff; font-size:1.2rem; cursor:pointer; }
.lb-close:hover { background:var(--saffron); }

/* ---- impact stats band ---- */
.impact { background:var(--navy); color:#fff; }
.impact .stats { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.impact .stat { border-right:1px solid rgba(255,255,255,.12); padding:10px 16px; }
.impact .stat:last-child { border-right:0; }
.impact .stat .n { font-family:'Noto Serif Tamil',serif; font-size:clamp(1.9rem,4vw,2.7rem); font-weight:900; color:var(--gold); line-height:1; }
.impact .stat .l { color:#A9BDD2; font-weight:600; font-size:.9rem; margin-top:6px; }

/* ---- success stories ---- */
.stories { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.story { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; position:relative; }
.story .stars { color:#A87B12; font-size:.9rem; letter-spacing:2px; margin-bottom:10px; }
.story p { color:#3f3f3f; font-style:italic; font-size:.98rem; }
.story .who { display:flex; align-items:center; gap:12px; margin-top:16px; }
.story .who img { width:46px; height:46px; border-radius:50%; object-fit:cover; }
.story .who strong { display:block; color:var(--navy); font-family:'Noto Serif Tamil',serif; font-size:.95rem; }
.story .who small { color:var(--muted); }

/* ---- supporters strip ---- */
.supporters { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.supporters .sup { background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px 22px; font-family:'Noto Serif Tamil',serif; font-weight:800; color:var(--navy); font-size:1rem; min-width:150px; text-align:center; }
.supporters .sup small { display:block; color:var(--muted); font-family:'Inter',sans-serif; font-weight:600; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; margin-top:2px; }

/* ---- FAQ accordion ---- */
.faq { max-width:820px; margin:0 auto; display:grid; gap:12px; }
.faq details { background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.faq summary { list-style:none; cursor:pointer; padding:18px 22px; font-family:'Noto Serif Tamil',serif; font-weight:700; color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:1.02rem; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--saffron); font-size:1.4rem; font-weight:700; transition:.2s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details[open] summary { border-bottom:1px solid var(--line); }
.faq .a { padding:16px 22px 20px; color:#3f3f3f; font-size:.98rem; }

/* ---- directory ---- */
.dir-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dir-card { background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:.2s; }
.dir-card:hover { transform:translateY(-4px); box-shadow:var(--sh-2); border-color:#dccfb4; }
.dir-card .dc-img { height:160px; overflow:hidden; position:relative; }
.dir-card .dc-img img { width:100%; height:100%; object-fit:cover; }
.dir-card .dc-cat { position:absolute; top:10px; left:10px; background:var(--green); color:#fff; font-size:.7rem; font-weight:800; padding:3px 10px; border-radius:999px; }
.dir-card .dc-body { padding:18px; display:flex; flex-direction:column; flex:1; }
.dir-card h3 { color:var(--navy); font-size:1.08rem; margin-bottom:4px; }
.dir-card .dc-meta { font-size:.8rem; color:var(--muted); font-weight:600; margin-bottom:8px; }
.dir-card p { font-size:.9rem; color:#555; margin:0 0 14px; flex:1; }
.dir-card .dc-foot { display:flex; justify-content:space-between; align-items:center; }
.dir-card .verified { color:var(--green); font-size:.78rem; font-weight:700; }
.dir-empty { grid-column:1/-1; text-align:center; padding:50px; background:#fff; border-radius:var(--r); color:var(--muted); }

/* ---- gallery ---- */
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.g-item { border-radius:var(--r); overflow:hidden; position:relative; aspect-ratio:1/1; }
.g-item img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.g-item:hover img { transform:scale(1.06); }
.g-item .g-cap { position:absolute; inset:auto 0 0 0; background:linear-gradient(transparent,rgba(16,36,59,.8)); color:#fff; font-size:.8rem; font-weight:600; padding:20px 12px 10px; opacity:0; transition:.2s; }
.g-item:hover .g-cap { opacity:1; }

/* ---- 404 ---- */
.err-wrap { text-align:center; padding:90px 20px; }
.err-wrap .code { font-family:'Noto Serif Tamil',serif; font-size:clamp(4rem,14vw,8rem); font-weight:900; color:var(--saffron); line-height:1; }

@media (max-width:900px){
  .impact .stats { grid-template-columns:repeat(2,1fr); }
  .impact .stat:nth-child(2){ border-right:0; }
  .stories { grid-template-columns:1fr; }
  .dir-grid { grid-template-columns:1fr 1fr; }
  .gallery-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:600px){
  .dir-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .impact .stats { grid-template-columns:1fr; }
  .impact .stat { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); padding:16px; }
}

/* --- tighter header fit for the expanded 8-item nav --- */
@media (min-width:781px) and (max-width:1260px){
  .nav { gap:8px; }
  .nav-links a { padding:8px 8px; font-size:.83rem; }
  .nav-links .cta-link { padding:8px 13px; margin-left:4px; }
  .brand .logo-img { height:42px; }
  .lang-select select { max-width:104px; }
  .theme-btn { margin-right:6px; }
}
@media (min-width:781px) and (max-width:1040px){
  .nav-links a { padding:7px 6px; font-size:.8rem; }
  .lang-select { padding:2px 6px 2px 8px; }
  .lang-select select { max-width:74px; }
}

/* ============================================================
   LIVING AURA — motion layer (applies site-wide)
   ============================================================ */

/* keyframes */
@keyframes floaty { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes floaty2 { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@keyframes dotDrift { from { background-position:0 0; } to { background-position:44px 44px; } }
@keyframes auraPulse { from { opacity:.86; } to { opacity:1; } }
@keyframes pulseBox { 0%,100% { transform:scale(1); opacity:.9; } 50% { transform:scale(1.06); opacity:.55; } }
@keyframes ctaShift { from { transform:translateX(-4%) translateY(-2%); } to { transform:translateX(4%) translateY(2%); } }
@keyframes sheen { to { left:135%; } }
@keyframes bob { 0%,100% { transform:translateY(0); } 35% { transform:translateY(-5px); } }
@keyframes pop { 0% { transform:scale(1); } 45% { transform:scale(1.14); } 100% { transform:scale(1); } }
@keyframes waPulse { 0% { box-shadow:0 0 0 0 rgba(37,211,102,.5); } 70% { box-shadow:0 0 0 16px rgba(37,211,102,0); } 100% { box-shadow:0 0 0 0 rgba(37,211,102,0); } }
@keyframes ripple { to { transform:scale(2.6); opacity:0; } }
@keyframes tkDot { 0%,100% { opacity:1; } 50% { opacity:.25; } }

/* reveal variants (classes added by JS, so no-JS shows everything) */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal-pop { opacity:0; transform:translateY(18px) scale(.97); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.reveal-r { opacity:0; transform:translateX(34px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-in, .reveal-pop.is-in, .reveal-r.is-in { opacity:1; transform:none; }

/* image fade-in on load */
.imgfade { opacity:0; transition:opacity .7s var(--ease); }
.imgfade.in { opacity:1; }

/* button sheen + ripple */
.btn { position:relative; overflow:hidden; isolation:isolate; }
.btn > * { position:relative; z-index:1; }
.btn::after { content:""; position:absolute; top:0; left:-130%; width:55%; height:100%; z-index:0; background:linear-gradient(120deg,transparent,rgba(255,255,255,.32),transparent); transform:skewX(-20deg); pointer-events:none; }
.btn:hover::after { animation:sheen .75s ease; }
.btn .rip { position:absolute; z-index:0; border-radius:50%; background:rgba(255,255,255,.45); transform:scale(0); opacity:.7; pointer-events:none; animation:ripple .6s ease-out forwards; }

/* card hover bloom + icon bob */
.card:hover, .hcard:hover, .dir-card:hover, .post:hover, .story:hover, .ev-item:hover {
  box-shadow:0 18px 42px rgba(217,83,30,.13), var(--sh-2);
}
.card:hover .icon { animation:bob .6s ease; }

/* logo micro-interaction */
.brand .logo-img { transition:transform .25s var(--ease); }
.brand:hover .logo-img { transform:scale(1.04) rotate(-1deg); }

/* counter pop */
.impact .n.pop { animation:pop .45s ease; }

/* ticker live dot */
.ticker-label { position:relative; }

/* ambient continuous motion — disabled for reduced-motion users */
@media (prefers-reduced-motion: no-preference) {
  .hero::after { animation:dotDrift 40s linear infinite; }
  .hero::before { animation:auraPulse 11s ease-in-out infinite alternate; }
  .hero-media .collage img { animation:floaty 6.5s ease-in-out infinite; will-change:transform; }
  .hero-media .collage img:nth-child(2) { animation-delay:-1.6s; }
  .hero-media .collage img:nth-child(3) { animation-delay:-3.2s; }
  .hero-media .collage img:nth-child(4) { animation-delay:-4.8s; }
  .hero-badge { animation:floaty2 5s ease-in-out infinite; }
  .hero-media .accent-block { animation:pulseBox 7s ease-in-out infinite; }
  .cta-band::before { animation:ctaShift 9s ease-in-out infinite alternate; }
  .wa-float::before { content:""; position:absolute; inset:0; border-radius:50%; animation:waPulse 2.3s infinite; }
}

/* --- nav "More" dropdown --- */
.has-drop { position:relative; }
.has-drop > .drop { list-style:none; position:absolute; top:calc(100% - 2px); left:0; min-width:172px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:var(--sh-2); padding:6px; opacity:0; visibility:hidden; transform:translateY(6px); transition:.18s var(--ease); z-index:60; }
.has-drop:hover > .drop, .has-drop:focus-within > .drop { opacity:1; visibility:visible; transform:none; }
.has-drop > .drop li a { display:block; padding:9px 12px; border-radius:7px; font-size:.9rem; color:var(--navy); }
.has-drop > .drop li a::after { display:none; }
.has-drop > .drop li a:hover { background:var(--paper-2); color:var(--saffron-dark); }
@media (max-width:780px){
  .has-drop > .drop { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; border-left:2px solid var(--line); border-radius:0; margin:2px 0 4px 10px; padding:0 0 0 6px; }
}

/* ============================================================
   MOBILE RESPONSIVE — final hardening
   ============================================================ */
@media (max-width:780px){
  /* keep header on one clean row */
  .site-header .container.nav { height:66px; gap:8px; flex-wrap:nowrap; }
  .brand { gap:8px; min-width:0; }
  .brand .logo-img { height:auto; max-height:40px; max-width:150px; }
  .header-tools { margin-left:auto; flex:none; }
  .header-tools .lang-select { padding:2px 6px 2px 9px; }
  .header-tools .lang-select select { max-width:74px; font-size:.78rem; padding:6px 2px; }
  .theme-btn { width:30px; height:30px; margin-right:4px; font-size:.9rem; }
  .nav-toggle { flex:none; }
  .nav-links { top:66px; }
  /* rhythm */
  .section { padding:46px 0; }
  .container { padding:0 16px; }
  .section-sub { margin-bottom:30px; }
  .cta-band { padding:34px 20px; border-radius:14px; }
  .sec-head { flex-direction:column; align-items:flex-start; gap:12px; }
  .stats { border:0; }
  .stats .stat { border-right:0 !important; border-bottom:1px solid var(--line); padding:14px 0; }
  .section-navy .stats .stat { border-bottom-color:rgba(255,255,255,.12); }
  /* footer */
  .footer-grid { grid-template-columns:1fr 1fr; gap:26px; }
  /* floating buttons don't crowd */
  .wa-float { width:46px; height:46px; left:16px; bottom:16px; font-size:1.3rem; }
  .to-top { right:16px; bottom:16px; }
}
@media (max-width:480px){
  html { font-size:14.5px; }
  .brand .logo-img { max-width:128px; max-height:36px; }
  .header-tools .lang-select { padding:2px 5px 2px 7px; gap:3px; }
  .header-tools .lang-select .lang-ic { display:none; }
  .header-tools .lang-select select { max-width:64px; }
  .hero { padding:60px 0 66px; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:10px; }
  .hero-actions .btn { width:100%; }
  .cta-band .hero-actions .btn { width:100%; }
  .hero-media .collage img { height:118px; }
  .stats { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:22px; }
  .heritage { grid-template-columns:1fr 1fr; }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .dir-grid, .home-cards, .stories, .events-list { grid-template-columns:1fr; }
  .g-item { aspect-ratio:4/3; }
  .article-hero .a-meta { gap:6px 12px; font-size:.8rem; }
  .prevnext { grid-template-columns:1fr; }
}

/* ============================================================
   LOADING SCREEN (splash) + animated edge ring
   ============================================================ */
#sjm-loader{ position:fixed; inset:0; z-index:4000; display:grid; place-items:center; gap:0;
  background:radial-gradient(120% 120% at 50% 0%,#173456,transparent 60%),linear-gradient(160deg,#0c1c30,#10243B);
  transition:opacity .5s var(--ease), visibility .5s;
  animation:ldrSafety 0s linear 6s forwards; /* fail-safe hide */ }
#sjm-loader.loaded{ opacity:0; visibility:hidden; }
@keyframes ldrSafety{ to { opacity:0; visibility:hidden; } }
#sjm-loader .ldr-wrap{ text-align:center; }
#sjm-loader .ldr{ position:relative; width:132px; height:132px; margin:0 auto 20px; display:grid; place-items:center; }
#sjm-loader .ldr-ring{ position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg, var(--saffron), var(--gold), #ffd27a, var(--saffron));
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
  mask:radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));
  animation:spin 1.1s linear infinite; }
#sjm-loader .ldr-ring.r2{ inset:10px; opacity:.4; animation-duration:1.7s; animation-direction:reverse; }
#sjm-loader .ldr img{ width:86px; height:86px; object-fit:contain; border-radius:50%; background:#fff; padding:10px; box-shadow:0 8px 24px rgba(0,0,0,.35); }
#sjm-loader .ldr-title{ color:#fff; font-family:'Noto Serif Tamil',serif; font-weight:800; font-size:1.05rem; letter-spacing:.01em; }
#sjm-loader .ldr-sub{ color:var(--gold); font-family:'Inter',sans-serif; font-weight:700; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; margin-top:4px; }
#sjm-loader .ldr-bar{ width:150px; height:3px; border-radius:3px; background:rgba(255,255,255,.15); margin:20px auto 0; overflow:hidden; }
#sjm-loader .ldr-bar::before{ content:""; display:block; width:40%; height:100%; border-radius:3px; background:linear-gradient(90deg,var(--saffron),var(--gold)); animation:ldrBar 1.1s var(--ease) infinite; }
@keyframes ldrBar{ 0%{ transform:translateX(-100%); } 100%{ transform:translateX(320%); } }
@keyframes spin{ to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ #sjm-loader .ldr-ring,#sjm-loader .ldr-bar::before{ animation:none; } }

/* ============================================================
   RESPONSIVE LOGO — never overflow, scale down gracefully
   ============================================================ */
.brand .logo-img{ height:auto; max-height:52px; max-width:210px; width:auto; }
.site-footer .brand .logo-img{ max-height:46px; max-width:200px; }

/* ============================================================
   MOBILE NAV — slide-in drawer (replaces old dropdown)
   ============================================================ */
.nav-overlay{ position:fixed; inset:0; background:rgba(10,20,33,.5); opacity:0; visibility:hidden; transition:opacity .3s var(--ease),visibility .3s; z-index:1100; }
.nav-overlay.show{ opacity:1; visibility:visible; }
body.nav-open{ overflow:hidden; }

@media (max-width:900px){
  .nav-toggle{ display:block; position:relative; z-index:1300; }
  .nav-links{
    position:fixed; top:0; right:0; height:100dvh; width:min(84vw,330px);
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; box-shadow:-14px 0 44px rgba(16,36,59,.2);
    padding:82px 16px 26px; transform:translateX(106%);
    transition:transform .34s var(--ease); overflow-y:auto; z-index:1200; border:0;
  }
  .nav-links.open{ transform:none; }
  .nav-links > li{ width:100%; }
  .nav-links a{ display:block; padding:14px 12px; font-size:1.02rem; font-weight:600; border-bottom:1px solid var(--paper-2); border-radius:0; }
  .nav-links a::after{ display:none; }
  .nav-links a:hover{ background:var(--paper); }
  .nav-links .cta-link{ margin:16px 0 0; text-align:center; border-radius:10px; border-bottom:0; padding:14px; }
  .has-drop > .drop{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; border-left:2px solid var(--line); border-radius:0; margin:0 0 0 12px; padding:0 0 0 8px; min-width:0; }
  .has-drop > .drop li a{ padding:12px 10px; font-size:.96rem; font-weight:500; }
  .has-drop > .drop-toggle{ pointer-events:none; opacity:.7; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
}

/* ============================================================
   FIX: mobile drawer clipping + loader responsiveness
   backdrop-filter on .site-header was making position:fixed children
   (the drawer) position relative to the header instead of the screen.
   ============================================================ */
.site-header{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; background:rgba(255,255,255,.98); }

@media (max-width:900px){
  .nav-links{
    position:fixed !important; inset:0 0 0 auto !important; left:auto !important;
    height:100dvh; width:min(86vw,320px); max-width:100vw;
    transform:translateX(102%); z-index:1200;
  }
  .nav-links.open{ transform:none !important; }
  .nav-overlay{ z-index:1150; }
  .nav-toggle{ z-index:1300; }
  /* the drawer scrolls internally if the list is long */
  .nav-links{ overscroll-behavior:contain; }
}

/* loader — responsive sizing */
#sjm-loader .ldr-wrap{ padding:0 22px; max-width:100%; }
@media (max-width:520px){
  #sjm-loader .ldr{ width:112px; height:112px; margin-bottom:16px; }
  #sjm-loader .ldr img{ width:72px; height:72px; padding:8px; }
  #sjm-loader .ldr-title{ font-size:.98rem; }
  #sjm-loader .ldr-sub{ font-size:.64rem; }
  #sjm-loader .ldr-bar{ width:130px; }
}

/* ============================================================
   HOME v3 — audience paths + founder quote band
   ============================================================ */
.aud-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.aud-card{
  display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--line);
  border-radius:var(--r); padding:26px 22px 22px; position:relative; overflow:hidden;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;
}
.aud-card::after{ content:""; position:absolute; inset:auto 0 0 0; height:3px; background:linear-gradient(90deg,var(--saffron),var(--gold)); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.aud-card:hover{ transform:translateY(-5px); box-shadow:var(--sh-2); border-color:#dccfb4; text-decoration:none; }
.aud-card:hover::after{ transform:scaleX(1); }
.aud-card .ic{ width:52px; height:52px; border-radius:13px; display:grid; place-items:center; font-size:1.5rem; background:var(--saffron-soft); border:1px solid #F0D8C6; margin-bottom:6px; }
.aud-card h3{ color:var(--navy); }
.aud-card p{ color:#54504a; font-size:.92rem; margin:0; flex:1; }
.aud-card .go{ color:var(--saffron-dark); font-weight:700; font-size:.88rem; font-family:'Inter','Noto Sans Tamil',sans-serif; }

.quote-band{ position:relative; background:var(--navy); color:#fff; text-align:center; padding:72px 0; overflow:hidden; }
.quote-band::before{ content:""; position:absolute; inset:0; background:radial-gradient(80% 130% at 85% 0%, rgba(217,83,30,.28), transparent 55%); }
.quote-band .container{ position:relative; z-index:1; max-width:860px; }
.qb-mark{ font-family:Georgia,serif; font-size:4.5rem; line-height:.6; color:var(--gold); display:block; margin-bottom:14px; opacity:.9; }
.qb-text{ font-family:'Noto Serif Tamil',serif; font-weight:800; font-size:clamp(1.25rem,2.6vw,1.8rem); line-height:1.55; color:#fff; margin-bottom:18px; }
.qb-who{ color:var(--gold); font-family:'Inter','Noto Sans Tamil',sans-serif; font-weight:600; font-size:.9rem; margin-bottom:26px; }

@media (max-width:1000px){ .aud-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .aud-grid{ grid-template-columns:1fr; } .quote-band{ padding:54px 0; } }

/* ============================================================
   MOBILE DRAWER v2 — fixes: icons over logo, white gap/blur, no scroll
   ============================================================ */
.drawer-close{ display:none; }

@media (max-width:900px){
  /* 1) GUARANTEE: tools never render in the top bar on mobile.
        (JS moves them into the drawer; until then they are hidden,
        so the theme/translate icons can never sit on the logo.) */
  .site-header .container.nav > .header-tools{ display:none !important; }
  .nav-links .header-tools{ display:flex !important; }

  /* 2) drawer look: no blank white band, lighter shadow, solid bg */
  .nav-links{
    background:#fff !important;
    padding:0 16px 30px !important;
    overflow-y:auto !important; -webkit-overflow-scrolling:touch;
    box-shadow:-10px 0 28px rgba(16,36,59,.16) !important;
  }
  .nav-links::before{
    content:"MENU"; display:flex; align-items:center;
    height:60px; margin:0 -16px 12px; padding:0 20px;
    font-family:'Inter',sans-serif; font-weight:800; font-size:.7rem; letter-spacing:.24em;
    color:var(--muted); background:var(--paper); border-bottom:1px solid var(--line);
    position:sticky; top:0; z-index:2;
  }
  .drawer-close{
    display:grid; place-items:center; position:absolute; top:10px; right:12px; z-index:3;
    width:40px; height:40px; border-radius:50%; border:1px solid var(--line);
    background:#fff; color:var(--navy); font-size:1.05rem; cursor:pointer;
  }
  .drawer-close:active{ background:var(--paper-2); }
  /* tools block inside drawer sits below the MENU strip */
  .nav-links .header-tools.in-drawer{ margin-top:2px; }
}

/* --- mobile drawer v3: no blue tap flash, click safety, tools pinned top --- */
a, button, .nav-links a, .nav-toggle { -webkit-tap-highlight-color: transparent; }
@media (max-width:900px){
  .nav-links a{ position:relative; z-index:1; }
  .nav-links .header-tools.in-drawer{
    order:-1; width:100%;
    display:flex; align-items:center; gap:10px;
    padding:12px 4px 16px; margin:0 0 8px;
    border-bottom:1px solid var(--paper-2);
  }
  .nav-links .header-tools.in-drawer .lang-select{ flex:1; }
  .nav-links .header-tools.in-drawer .theme-btn{ flex:none; width:40px; height:40px; font-size:1.1rem; margin:0; }
}

/* --- drawer stacking fix: header creates a stacking context (z:1000),
       so the drawer inside it sat BELOW the body-level overlay (z:1150).
       When open, lift the header context above the overlay. --- */
body.nav-open .site-header{ z-index:1400; }
.nav-overlay{ z-index:1150; }

/* --- footer readability: brighter text --- */
.site-footer{ color:#C7D3E1; }
.footer-grid a{ color:#D6E0EC; }
.footer-grid a:hover{ color:#FFC89E; }
.footer-brand p{ color:#C7D3E1; }
.footer-grid > div > p{ color:#C7D3E1; }
.footer-bottom{ color:#AABDD0; }

/* ============================================================
   SHARED TOOLBAR component (search + selects) — was blog-only,
   now global so Directory (and future pages) are styled too.
   ============================================================ */
.toolbar{ background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1);
  padding:14px 18px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; margin-bottom:22px; }
.search-box{ flex:1; min-width:220px; position:relative; }
.search-box input{ width:100%; padding:12px 14px 12px 42px; border:1px solid var(--line); border-radius:10px;
  font-family:inherit; font-size:.95rem; background:#fff; transition:border-color .15s, box-shadow .15s; }
.search-box input:focus{ outline:none; border-color:var(--saffron); box-shadow:0 0 0 3px rgba(217,83,30,.12); }
.search-box .mag{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--muted); }
.toolbar .right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.toolbar label{ font-family:'Inter','Noto Sans Tamil',sans-serif; font-weight:600; font-size:.85rem; color:var(--muted); }
.toolbar select{ padding:11px 12px; border:1px solid var(--line); border-radius:10px; font-family:inherit;
  font-weight:600; font-size:.9rem; color:var(--navy); background:#fff; cursor:pointer; }
.toolbar select:focus{ outline:none; border-color:var(--saffron); }
.result-count{ font-size:.9rem; color:var(--muted); font-weight:600; }

@media (max-width:620px){
  .toolbar{ flex-direction:column; align-items:stretch; padding:14px; }
  .toolbar .right{ width:100%; }
  .toolbar .right select{ flex:1; min-width:0; }
}

/* ---- Swadeshi vs Foreign comparison table ---- */
.cmp-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); background:#fff; }
.cmp-table{ width:100%; border-collapse:collapse; min-width:640px; }
.cmp-table th{ background:var(--navy); color:#fff; text-align:left; padding:14px 18px; font-family:'Inter','Noto Sans Tamil',sans-serif; font-size:.85rem; letter-spacing:.03em; }
.cmp-table th:last-child{ background:var(--saffron); }
.cmp-table td{ padding:13px 18px; border-bottom:1px solid var(--line); font-size:.93rem; vertical-align:top; }
.cmp-table tbody tr:nth-child(even){ background:var(--paper); }
.cmp-table tbody tr:hover{ background:var(--saffron-soft); }
.cmp-table td:nth-child(2){ color:var(--muted); }
.cmp-table td:last-child b{ color:var(--green-dark); }
.cmp-table tr:last-child td{ border-bottom:0; }
/* issue cards */
.issue-card h4.iss-h{ font-size:.8rem; font-family:'Inter','Noto Sans Tamil',sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--saffron-dark); margin:14px 0 10px; }

/* ================= BRAND v3 — round emblem + bilingual word swap ================= */
.brand{ display:flex; align-items:center; gap:11px; min-width:0; text-decoration:none; }
.logo-wrap{
  width:47px; height:47px; border-radius:50%; overflow:hidden; position:relative; flex:0 0 auto; background:#fff;
  box-shadow:0 0 0 2.5px rgba(217,83,30,.25), 0 4px 12px rgba(14,42,71,.14);
  transition:transform .28s var(--ease), box-shadow .28s var(--ease);
}
.brand:hover .logo-wrap{ transform:scale(1.07) rotate(-5deg); box-shadow:0 0 0 3px rgba(217,83,30,.5), 0 6px 16px rgba(14,42,71,.22); }
.logo-wrap img{ position:absolute; inset:-6%; width:112%; height:112%; object-fit:cover; }
.logo-wrap img.logo-fb{ inset:10%; width:80%; height:80%; object-fit:contain; }

.brand-word{ display:inline-grid; align-items:center; min-width:0; line-height:1.15; }
.bw{
  grid-area:1/1; white-space:nowrap; font-family:'Noto Serif Tamil',serif; font-weight:800;
  color:var(--navy); font-size:1.07rem; letter-spacing:.2px; backface-visibility:hidden; will-change:opacity,transform;
}
.bw b{ color:var(--saffron-dark); font-weight:inherit; }
.bw-en{ animation:bwEn 4s ease-in-out infinite; }
.bw-ta{ animation:bwTa 4s ease-in-out infinite; }
@keyframes bwEn{
  0%,44%   { opacity:1; transform:translateY(0); }
  50%      { opacity:0; transform:translateY(-12px); }
  88%      { opacity:0; transform:translateY(12px); }
  96%,100% { opacity:1; transform:translateY(0); }
}
@keyframes bwTa{
  0%,44%   { opacity:0; transform:translateY(12px); }
  50%,88%  { opacity:1; transform:translateY(0); }
  96%,100% { opacity:0; transform:translateY(-12px); }
}
@media (prefers-reduced-motion:reduce){
  .bw-en{ display:none; }
  .bw-ta{ animation:none; opacity:1; transform:none; }
}

/* footer variant (navy background) */
.site-footer .bw{ color:#fff; }
.site-footer .bw b{ color:var(--gold); }
.site-footer .logo-wrap{ background:#fff; box-shadow:0 0 0 2.5px rgba(255,255,255,.3), 0 4px 12px rgba(0,0,0,.3); }

/* responsive brand */
@media (max-width:900px){
  .logo-wrap{ width:41px; height:41px; }
  .bw{ font-size:.97rem; }
}
@media (max-width:420px){
  .brand{ gap:8px; }
  .logo-wrap{ width:37px; height:37px; }
  .bw{ font-size:.85rem; }
}

/* breathing gap between brand and menu (v2) */
.site-header .container.nav{ max-width:1380px; }
.site-header .brand{ flex:0 0 auto; padding-right:34px; }
@media (min-width:901px){
  .nav-links a{ padding:9px 11px; }
  .nav-links a::after{ left:11px; right:11px; }
}
@media (min-width:901px) and (max-width:1420px){
  .site-header .brand{ padding-right:18px; }
  .site-header .bw{ font-size:.93rem; }
}
@media (min-width:1241px) and (max-width:1420px){
  .nav-links a{ padding:8px 9px; font-size:.9rem; }
}
@media (max-width:900px){ .site-header .brand{ padding-right:0; } }
