/* CREAM & MAROON palette (restored 2026-06 per team request). Variable NAMES
   match their values. --turmeric is deepened from the legacy #B5610E to #9A4E0C
   so small accent text meets WCAG AA on cream; --turmeric-soft (gold) is used as
   a fill behind dark text (badges, initials). All text/bg pairs AA-verified. */
:root{--cream:#FBF6EC;--cream-warm:#F0E5CF;--maroon:#6A1414;--maroon-deep:#440C0C;--turmeric:#9A4E0C;--turmeric-soft:#DCA042;--ink:#160F0A;--ink-soft:#3C2F27;--line:rgba(42,31,26,0.22);--line-strong:rgba(42,31,26,0.38)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
:lang(ta){font-family:'Catamaran','DM Sans',sans-serif;letter-spacing:0}
.serif{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-0.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.skip{position:absolute;left:-999px;top:0;background:var(--maroon);color:var(--cream);padding:8px 14px;z-index:100}
.skip:focus{left:8px;top:8px}

/* HEADER */
.header{position:sticky;top:0;z-index:50;background:rgba(251,246,236,0.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1200px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:40px;height:40px;border-radius:50%;background:var(--maroon);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:18px}
img.brand-mark{width:auto;height:46px;background:none;border-radius:0;object-fit:contain}
.brand-name{font-family:'Fraunces',serif;font-size:17px;font-weight:500}
.brand-sub{font-size:11px;color:var(--ink-soft);letter-spacing:0.5px;text-transform:uppercase}
.nav{display:flex;gap:28px}
.nav a{font-size:14px;color:var(--ink);position:relative;padding:4px 0;transition:color 0.2s}
.nav a:hover,.nav a.active{color:var(--maroon)}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--maroon);transform:scaleX(0);transition:transform 0.3s ease}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:14px}
.lang-toggle{display:flex;gap:2px;background:var(--cream-warm);border-radius:999px;padding:3px;font-size:12px}
.lang-toggle button{border:none;background:none;padding:5px 12px;border-radius:999px;cursor:pointer;font-family:inherit;color:var(--ink-soft)}
.lang-toggle button.active{background:var(--maroon);color:var(--cream)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;border:1.5px solid transparent;transition:all 0.2s;font-family:inherit}
.btn-primary{background:var(--maroon);color:var(--cream)}
.btn-primary:hover{background:var(--maroon-deep);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-outline:hover{border-color:var(--maroon);color:var(--maroon)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
.menu-toggle svg{width:24px;height:24px;stroke:var(--ink)}

/* PAGE HERO (inner pages) */
.page-hero{max-width:1200px;margin:0 auto;padding:64px 32px 48px;border-bottom:1px solid var(--line)}
.page-hero .eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--turmeric);font-weight:500;margin-bottom:16px;display:flex;align-items:center;gap:14px}
.page-hero .eyebrow::before{content:'';width:36px;height:1.5px;background:var(--turmeric)}
.page-hero h1{font-family:'Fraunces',serif;font-size:clamp(40px,5vw,60px);font-weight:500;line-height:1.05;letter-spacing:-0.02em;margin-bottom:20px;max-width:800px}
.page-hero h1 em{font-style:italic;color:var(--maroon);font-weight:400}
.page-hero p.lede{font-size:18px;color:var(--ink-soft);max-width:640px;line-height:1.6}

.section{max-width:1200px;margin:0 auto;padding:52px 32px}
.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--turmeric);font-weight:500;margin-bottom:12px}
h2{font-family:'Fraunces',serif;font-size:clamp(28px,3.5vw,40px);font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin-bottom:20px}
h2 em{font-style:italic;color:var(--maroon)}
.prose p{font-size:16px;color:var(--ink-soft);margin-bottom:16px;max-width:680px}

/* EVENT LIST */
.event-row{display:grid;grid-template-columns:120px 1fr auto;gap:32px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.event-row .date-block{font-family:'Fraunces',serif;color:var(--maroon)}
.event-row .date-block .day{font-size:42px;line-height:1;font-weight:500}
.event-row .date-block .month{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;display:block;margin-top:4px}
.event-row h3{font-family:'Fraunces',serif;font-size:24px;font-weight:500;margin-bottom:6px}
.event-row .meta{font-size:13px;color:var(--ink-soft)}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}
.info-card{background:var(--cream-warm);padding:32px;border-radius:4px;border:1px solid var(--line)}
.info-card h3{font-family:'Fraunces',serif;font-size:20px;font-weight:500;margin-bottom:16px;color:var(--maroon)}
.info-card dl{font-size:14px}
.info-card dt{color:var(--ink-soft);font-size:12px;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px}
.info-card dd{margin-bottom:16px;color:var(--ink)}

/* TIER CARDS */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
@media (max-width:1100px){.tiers{grid-template-columns:1fr 1fr}}
.tier{background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:32px;display:flex;flex-direction:column;gap:14px;transition:all 0.3s}
.tier.featured{border:2px solid var(--maroon);position:relative}
.tier.featured::before{content:'Most popular';position:absolute;top:-12px;left:24px;background:var(--turmeric-soft);color:var(--maroon-deep);padding:4px 12px;font-size:11px;font-weight:600;border-radius:999px;letter-spacing:0.5px;text-transform:uppercase}
.tier:hover{transform:translateY(-3px)}
.tier h3{font-family:'Fraunces',serif;font-size:24px;font-weight:500}
.tier .price{font-family:'Fraunces',serif;font-size:36px;color:var(--maroon);font-weight:500}
.tier .price small{font-size:14px;color:var(--ink-soft)}
.tier ul{list-style:none;font-size:14px;color:var(--ink-soft)}
.tier li{padding:6px 0;display:flex;gap:8px}
.tier li::before{content:'✓';color:var(--turmeric);font-weight:600}
/* How long a membership lasts — sits under the four tier cards. */
.tier-note{margin-top:22px;font-size:14px;color:var(--ink-soft);max-width:620px;line-height:1.6}
.tier-note strong{color:var(--maroon);font-weight:600}

/* FORM */
.form{display:flex;flex-direction:column;gap:18px;max-width:560px}
.form label{font-size:13px;color:var(--ink-soft);font-weight:500;margin-bottom:6px;display:block}
.form input,.form textarea,.form select{width:100%;padding:12px 16px;border:1px solid var(--line-strong);border-radius:4px;font-family:inherit;font-size:15px;background:var(--cream);color:var(--ink);transition:border-color 0.2s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--maroon)}
.form textarea{min-height:120px;resize:vertical}

/* FOOTER */
.footer{background:var(--cream-warm);border-top:1px solid var(--line);padding:48px 32px 28px;margin-top:0}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer h4{font-family:'Fraunces',serif;font-size:14px;font-weight:500;margin-bottom:16px}
.footer ul{list-style:none}
.footer li{margin-bottom:8px}
.footer li a{font-size:13px;color:var(--ink-soft);transition:color 0.2s}
.footer li a:hover{color:var(--maroon)}
/* The contact email is one long unbreakable string. In Tamil the wider nav labels
   squeeze its footer column below the email's width, so without this it pushes the
   whole page into horizontal scroll on phones. */
.footer a[href^="mailto:"]{overflow-wrap:anywhere}
.footer-brand p{font-size:13px;color:var(--ink-soft);max-width:320px;margin-top:12px}
.footer-affil{font-size:12.5px;margin-top:14px;max-width:320px;line-height:1.55}
.footer-affil a{color:var(--maroon)}
.footer-affil a:hover{text-decoration:underline}
.footer-bottom{padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-soft)}

@media (max-width:900px){
  .header-inner{padding:16px 20px}
  .header .nav,.header .lang-toggle,.header .header-actions .btn{display:none}
  .menu-toggle{display:block}
  .page-hero,.section{padding:42px 20px}
  .two-col{grid-template-columns:1fr;gap:40px}
  .tiers{grid-template-columns:1fr}
  .event-row{grid-template-columns:80px 1fr;gap:20px}
  .event-row .btn{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:24px}
.gallery-item{position:relative;display:block;aspect-ratio:4/3;border-radius:6px;overflow:hidden;border:1px solid var(--line-strong);background:var(--cream-warm);cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--maroon);text-align:center;padding:16px}
.gallery-item .ph svg{width:28px;height:28px;opacity:.65}
.gallery-item .ph span{font-size:12px;letter-spacing:.4px;color:var(--ink-soft);line-height:1.4}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 14px 10px;font-size:13px;color:var(--cream);background:rgba(68,12,12,0.8);opacity:0;transform:translateY(8px);transition:all .25s ease}
.gallery-item:hover figcaption{opacity:1;transform:translateY(0)}
.gallery-note{font-size:13px;color:var(--ink-soft);max-width:600px;margin-top:8px}
.gallery-note a{color:var(--maroon);text-decoration:underline;text-underline-offset:2px}
.gallery-note a:hover{color:var(--maroon-deep)}
.fb-note{margin-top:26px;font-size:14px;max-width:none}
.lightbox{position:fixed;inset:0;background:rgba(20,12,8,0.92);display:none;align-items:center;justify-content:center;z-index:200;padding:5vw}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:88vh;border-radius:6px}
.lightbox .lb-close{position:absolute;top:18px;right:26px;background:none;border:none;color:var(--cream);font-size:36px;cursor:pointer;line-height:1}

/* LEADERSHIP / TEAM */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:28px 20px;margin:32px 0 36px}
.team-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.team-avatar{width:108px;height:108px;border-radius:50%;object-fit:cover;border:2px solid var(--line-strong)}
.team-initials{width:108px;height:108px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:32px;font-weight:500;color:var(--cream);background:var(--maroon)}
.team-card:nth-child(even) .team-initials{background:var(--turmeric-soft);color:var(--maroon-deep)}
.team-card .name{font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--ink);line-height:1.2}
.team-card .role{font-size:12px;font-weight:700;color:var(--turmeric);text-transform:uppercase;letter-spacing:0.6px;margin-top:4px}

/* FOUNDER TRIBUTE */
.founder-card{background:var(--cream-warm);border-left:4px solid var(--maroon);padding:28px 32px;margin-top:24px;max-width:820px}
.founder-epigraph{font-family:'Noto Serif Tamil','Catamaran',sans-serif;font-size:16px;font-weight:500;color:var(--maroon);margin-bottom:18px;line-height:1.7}
.founder-card .ta{font-family:'Catamaran',sans-serif;font-size:15px;line-height:1.95;color:var(--ink)}
.founder-card .ta p{margin-bottom:14px}
.founder-card .en{font-size:14px;line-height:1.75;color:var(--ink-soft);margin-top:22px;padding-top:22px;border-top:1px solid var(--line-strong)}
.founder-card .en p{margin-bottom:12px}
.founder-card cite{display:block;margin-top:22px;font-style:normal;font-family:'Fraunces',serif;color:var(--maroon);font-size:14px;letter-spacing:.3px}
.founder-head{display:flex;gap:28px;align-items:center;margin:20px 0 6px}
.founder-portrait{width:150px;height:auto;border-radius:8px;border:3px solid var(--turmeric-soft);box-shadow:0 6px 22px rgba(20,12,8,.14);flex:none}
.founder-meta{font-family:'Fraunces',serif;color:var(--turmeric);font-size:14px;font-weight:600;margin:4px 0 10px}
@media(max-width:600px){.founder-head{flex-direction:column;gap:16px;align-items:flex-start}.founder-portrait{width:128px}}
.purpose-list{list-style:none;max-width:720px;margin:16px 0 0;display:grid;gap:10px}
.purpose-list li{position:relative;padding-left:24px;font-size:15px;color:var(--ink);line-height:1.55}
.purpose-list li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--turmeric-soft)}
.ktc-head{display:flex;align-items:center;gap:18px;margin-bottom:4px}
.ktc-head .eyebrow{margin-bottom:6px}
.ktc-head h2{margin-bottom:0}
.ktc-logo{width:64px;height:auto;border-radius:10px;flex:none}
.ktc-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
.ktc-photos img{width:100%;height:300px;object-fit:cover;border-radius:10px;border:1px solid var(--line-strong)}
@media(max-width:700px){.ktc-head{gap:14px}.ktc-photos{grid-template-columns:1fr}.ktc-photos img{height:220px}}

/* GALLERY ALBUMS (data-driven) */
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin-top:28px}
.album-card{border-radius:8px;overflow:hidden;border:1px solid var(--line-strong);background:var(--cream-warm);transition:transform .25s,box-shadow .25s}
.album-card:not(.is-empty){cursor:pointer}
.album-card:not(.is-empty):hover{transform:translateY(-3px)}
.album-card.is-empty{opacity:.7}
.album-card .cover{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--cream-warm)}
.album-card .cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.album-card:not(.is-empty):hover .cover img{transform:scale(1.04)}
.album-card .cover .empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--maroon)}
.album-card .cover .empty svg{width:30px;height:30px;opacity:.55}
.album-card .meta{padding:14px 16px}
.album-card .meta .t{font-family:'Fraunces',serif;font-size:17px;font-weight:500;color:var(--ink);line-height:1.25}
.album-card .meta .d{font-size:12px;color:var(--ink-soft);margin-top:5px;text-transform:uppercase;letter-spacing:.5px}
.album-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--maroon);font-family:inherit;font-size:14px;cursor:pointer;margin-bottom:18px;padding:4px 0}
.album-back:hover{color:var(--maroon-deep)}
#album-view h2{margin-bottom:8px}

/* ===== HOME PAGE LAYOUT ===== */
/* Hero */
.hero{max-width:1200px;margin:0 auto;padding:72px 32px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero-tamil{font-family:'Noto Serif Tamil','Catamaran',sans-serif;color:var(--turmeric);font-weight:500;font-size:15px;margin-bottom:16px}
.hero h1{font-family:'Fraunces',serif;font-size:clamp(40px,5.2vw,64px);font-weight:500;line-height:1.04;letter-spacing:-0.02em;margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--maroon);font-weight:400}
.hero-content p{font-size:18px;color:var(--ink-soft);max-width:540px;line-height:1.6;margin-bottom:28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-visual{min-height:360px;border-radius:10px;border:1px solid var(--line);background:var(--cream-warm) url('img/logo.png') center/62% no-repeat}

/* Section heading row */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.section-head h2{margin-bottom:0}
.section-head a{font-size:14px;color:var(--maroon);white-space:nowrap;transition:color .2s}
.section-head a:hover{color:var(--maroon-deep)}

/* Upcoming events band */
.events{background:var(--cream-warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.events-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:34px}
.events-grid>*{flex:1 1 300px;max-width:382px}
.event-card{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:26px;transition:transform .25s,border-color .25s}
.event-card:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.event-date{display:flex;align-items:baseline;gap:9px;margin-bottom:14px;font-family:'Fraunces',serif;color:var(--maroon)}
.event-date .day{font-size:40px;line-height:1;font-weight:500}
.event-date .month{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft)}
.event-card h3{font-family:'Fraunces',serif;font-size:21px;font-weight:500;margin-bottom:8px}
.event-meta{font-size:13px;color:var(--turmeric);font-weight:500;margin-top:14px}

/* Get-involved paths */
.paths-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.path-card{display:flex;flex-direction:column;background:var(--cream-warm);border:1px solid var(--line);border-radius:6px;padding:24px;color:inherit;min-height:210px;transition:transform .25s,border-color .25s}
.path-card:hover{transform:translateY(-3px);border-color:var(--maroon)}
.path-num{font-family:'Fraunces',serif;font-size:14px;font-weight:600;letter-spacing:1px;color:var(--turmeric);margin-bottom:14px}
.path-card h3{font-family:'Fraunces',serif;font-size:18px;font-weight:500;margin-bottom:8px}
.path-card p{font-size:13px;color:var(--ink-soft);line-height:1.55;flex:1}
.path-arrow{color:var(--maroon);font-size:20px;margin-top:14px}

/* Home gallery teaser tiles (text placeholders) */
.gallery .gallery-grid{grid-template-columns:repeat(4,1fr);margin-top:34px}
.gallery .gallery-item{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;cursor:pointer;font-family:'Fraunces',serif;font-size:16px;color:var(--maroon);background:var(--cream-warm);transition:transform .25s,border-color .25s}
.gallery .gallery-item:hover{transform:translateY(-3px);border-color:var(--maroon)}

/* About row + stats + newsletter */
.about-row{display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:start}
.about-text h2{margin-bottom:18px}
.about-text h2 em{font-style:italic;color:var(--maroon)}
.about-text p{font-size:16px;color:var(--ink-soft);line-height:1.6;margin-bottom:16px;max-width:600px}
.stats{display:flex;gap:40px;margin-top:30px;flex-wrap:wrap}
.stat .num{font-family:'Fraunces',serif;font-size:40px;font-weight:500;color:var(--maroon);line-height:1}
.stat .label{font-size:13px;color:var(--ink-soft);margin-top:6px}
.newsletter{background:var(--cream-warm);border:1px solid var(--line);border-radius:8px;padding:28px}
.newsletter h3{font-family:'Fraunces',serif;font-size:20px;font-weight:500;margin-bottom:10px}
.newsletter p{font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:18px}
.newsletter form{display:flex;flex-direction:column;gap:10px}
.newsletter input{padding:12px 14px;border:1px solid var(--line-strong);border-radius:4px;font-family:inherit;font-size:14px;background:var(--cream);color:var(--ink)}
.newsletter input:focus{outline:none;border-color:var(--maroon)}
.newsletter button{padding:12px 18px;border:none;border-radius:999px;background:var(--maroon);color:var(--cream);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}
.newsletter button:hover{background:var(--maroon-deep)}

/* Home responsive */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding:48px 20px;gap:32px}
  .hero-visual{min-height:220px;order:-1}
  .events-grid{grid-template-columns:1fr}
  .paths-grid{grid-template-columns:1fr 1fr}
  .gallery .gallery-grid{grid-template-columns:1fr 1fr}
  .about-row{grid-template-columns:1fr;gap:36px}
  .section-head{flex-direction:column;align-items:flex-start;gap:8px}
}
@media (max-width:560px){
  .paths-grid{grid-template-columns:1fr}
}

/* ===== TAMIL SCRIPT REFINEMENTS =====
   Catamaran Tamil glyphs render ~12–15% larger optically than Latin.
   Letter-spacing breaks Indic ligatures (akshara). Line-height 1.04
   clips vowel marks (kombu/pulli) that extend above the glyph box.
   html[lang="ta"] gives higher specificity than class+element rules
   so these overrides win even on .hero h1, .page-hero h1 etc.        */
html[lang="ta"] h1,
html[lang="ta"] h2,
html[lang="ta"] h3{font-family:'Noto Serif Tamil','Catamaran',sans-serif;letter-spacing:0;font-weight:500}
html[lang="ta"] .brand-name{font-family:'Noto Serif Tamil','Catamaran',sans-serif}
html[lang="ta"] .hero h1{font-size:clamp(32px,4.2vw,52px);line-height:1.25}
html[lang="ta"] .page-hero h1{font-size:clamp(30px,3.8vw,48px);line-height:1.25}
html[lang="ta"] h2{font-size:clamp(22px,2.8vw,33px);line-height:1.35}
html[lang="ta"] h3{line-height:1.4}
html[lang="ta"] .eyebrow{letter-spacing:0.3px;text-transform:none;font-size:11px}
html[lang="ta"] .brand-sub{letter-spacing:0;text-transform:none}
html[lang="ta"] .path-num{letter-spacing:0}
html[lang="ta"] .event-row .date-block .month,
html[lang="ta"] .event-date .month{letter-spacing:0;text-transform:none}
html[lang="ta"] .team-card .role{letter-spacing:0;text-transform:none}
html[lang="ta"] .album-card .meta .d{letter-spacing:0;text-transform:none}
html[lang="ta"] .tier.featured::before{letter-spacing:0}

/* ===== MOBILE NAV DRAWER (built by site.js) ===== */
.drawer{position:fixed;inset:0;z-index:60;display:none}
.drawer.open{display:block}
.drawer-backdrop{position:absolute;inset:0;background:rgba(20,12,8,0.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .3s ease}
.drawer.open .drawer-backdrop{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(82vw,340px);background:var(--cream);border-left:1px solid var(--line);padding:22px 24px 28px;display:flex;flex-direction:column;gap:6px;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);box-shadow:-10px 0 40px rgba(20,12,8,.14);overflow-y:auto}
.drawer.open .drawer-panel{transform:translateX(0)}
.drawer-close{align-self:flex-end;background:none;border:none;font-size:30px;line-height:1;color:var(--ink);cursor:pointer;padding:2px 6px;margin-bottom:6px}
.drawer-close:hover{color:var(--maroon)}
.drawer-links{display:flex;flex-direction:column}
.drawer-links a{padding:15px 4px;font-size:17px;color:var(--ink);border-bottom:1px solid var(--line);transition:color .2s}
.drawer-links a:hover,.drawer-links a.active{color:var(--maroon)}
.drawer-actions{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:24px}
.drawer-actions .lang-toggle{display:flex;gap:2px;background:var(--cream-warm);border-radius:999px;padding:3px;font-size:12px}
.drawer-actions .btn{align-self:stretch;justify-content:center}
body.no-scroll{overflow:hidden}
@media (min-width:901px){.drawer{display:none!important}body.no-scroll{overflow:auto}}

/* ===== PAST PRESIDENTS TIMELINE (built by site.js from assets/board.js) ===== */
.pp-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 60px;margin-top:36px;max-width:880px}
.pp-item{position:relative;padding-left:24px;border-left:2px solid var(--line);display:flex;align-items:center;gap:14px}
.pp-item::before{content:'';position:absolute;left:-7px;top:50%;margin-top:-5px;width:10px;height:10px;border-radius:50%;background:var(--turmeric);border:2px solid var(--cream)}
.pp-photo{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid var(--line-strong);flex:none}
.pp-years{font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--maroon);letter-spacing:.3px}
.pp-name{font-size:15px;color:var(--ink);margin-top:2px}
@media (max-width:700px){.pp-timeline{grid-template-columns:1fr}}

/* ===== ANNOUNCEMENT BANNER (built by site.js from assets/announcements.js) ===== */
.announce-bar{background:var(--maroon);color:var(--cream)}
.announce-item{display:flex;align-items:center;justify-content:center;gap:10px;max-width:1200px;margin:0 auto;padding:10px 32px;font-size:14px;text-align:center;color:var(--cream)}
a.announce-item:hover{background:var(--maroon-deep)}
a.announce-item .announce-arrow{flex:none}
.announce-item+.announce-item{border-top:1px solid rgba(251,246,236,.25)}
@media (max-width:560px){.announce-item{padding:9px 16px;font-size:13px}}

/* ===== SPONSORS ===== */
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;margin-top:34px}
.sponsor-card{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:22px 18px;min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;transition:transform .25s,border-color .25s}
a.sponsor-card:hover{transform:translateY(-3px);border-color:var(--maroon)}
.sponsor-card.has-logo{background:#fff}
.sponsor-card img{max-height:62px;max-width:86%;object-fit:contain}
.sponsor-card .s-name{font-family:'Fraunces',serif;font-size:17px;font-weight:500;color:var(--maroon);line-height:1.25}
.sponsor-card .s-tag{font-size:11.5px;color:var(--ink-soft);line-height:1.45}
/* Grant funder acknowledgment — distinct from commercial sponsors */
.funder-strip{display:flex;align-items:center;gap:22px;margin-top:30px;padding:20px 26px;background:#fff;border:1px solid var(--line-strong);border-radius:8px}
.funder-strip img{width:150px;height:auto;flex:none}
.funder-strip p{font-size:13.5px;color:var(--ink-soft);margin:0;line-height:1.6;max-width:640px}
@media(max-width:560px){.funder-strip{flex-direction:column;text-align:center;gap:14px}}

/* ===== ACCESSIBILITY: visible keyboard focus (WCAG 2.4.7) ===== */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--maroon);outline-offset:2px;border-radius:3px}
.btn-primary:focus-visible,.newsletter button:focus-visible{outline-color:var(--maroon-deep)}
.announce-bar a:focus-visible,.drawer-links a:focus-visible{outline-color:var(--turmeric-soft)}

/* ===== SCROLL REVEAL (progressive enhancement) =====
   Hidden state only applies when JS adds .js to <html>, so without
   JS — or with prefers-reduced-motion — all content stays visible.  */
html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
html.js .reveal.in-view{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}}
