
:root{
  --maroon:#670019; --maroon-2:#8a1029; --gold:#c88919; --gold-2:#f0c45b;
  --cream:#fff4d8; --cream-2:#fff9eb; --ink:#30100b; --muted:#6d5146;
  --line:rgba(116,0,24,.18); --shadow:0 16px 40px rgba(65,0,15,.16);
  --ok:#1d7a3c; --warn:#b06a00;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-2);color:var(--ink);font-family:Georgia,'Times New Roman',serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%}
.wrap{width:min(1180px,92vw);margin:auto}
.sec{padding:54px 0}
.sec-title{font-size:clamp(26px,4vw,38px);color:var(--maroon);margin:0 0 10px;font-weight:900}
.sec-sub{color:var(--muted);max-width:720px;margin:0 0 26px;line-height:1.6}
.center{text-align:center}.center .sec-sub{margin-left:auto;margin-right:auto}
.btn{display:inline-block;border:none;cursor:pointer;border-radius:999px;padding:12px 22px;font-weight:800;transition:.18s;text-align:center}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:var(--maroon)}
.btn-maroon{background:var(--maroon);color:#ffe9b8}
.btn-line{background:transparent;border:2px solid var(--gold);color:var(--maroon)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(103,0,25,.25)}
.badge{display:inline-block;background:var(--cream);border:1px solid var(--line);color:var(--maroon);font-weight:800;font-size:13px;border-radius:999px;padding:5px 14px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 6px 18px rgba(65,0,15,.07)}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}

/* topbar + nav */
.topbar{background:var(--maroon);color:#ffe7ad;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:7px 0;align-items:center;flex-wrap:wrap}
.nav{position:sticky;top:0;z-index:60;background:rgba(255,249,235,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:9px 0;gap:14px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.logo{width:58px;height:58px;border-radius:50%;object-fit:contain;background:#fff;border:2px solid var(--gold);box-shadow:0 6px 16px rgba(103,0,25,.18);flex-shrink:0}
.brand h1{font-size:17px;line-height:1.2;margin:0;color:var(--maroon);font-weight:900}
.brand small{display:block;color:var(--gold);font-weight:800;margin-top:2px;font-size:12px}
.navlinks{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.navlinks a{padding:8px 12px;border-radius:999px;font-weight:700;font-size:14px;color:var(--maroon)}
.navlinks a:hover{background:var(--cream)}
.menu-btn{display:none;background:var(--maroon);color:#ffe9b8;border-radius:10px;padding:8px 14px;border:none;cursor:pointer;font-weight:800}
@media(max-width:920px){
  .menu-btn{display:block}
  .navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream-2);border-bottom:1px solid var(--line);padding:12px 4vw;flex-direction:column;align-items:stretch}
  .navlinks.open{display:flex}
  .navlinks a{padding:12px}
}

/* hero */
.hero{background:radial-gradient(1100px 500px at 80% -10%,rgba(240,196,91,.28),transparent 60%),linear-gradient(160deg,var(--maroon),#4a0012 70%);color:#fff7e2;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;padding:58px 0}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr;padding:40px 0}}
.hero .kicker{color:var(--gold-2);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.hero h2{font-size:clamp(40px,7vw,76px);margin:8px 0 4px;line-height:1.02;font-weight:900}
.hero h2 span{color:var(--gold-2)}
.hero .ta{font-size:clamp(19px,3vw,26px);color:#ffe9b8;margin:8px 0;font-weight:800}
.hero p.invite{line-height:1.7;color:#f7e3c0;max-width:560px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.flyer{border-radius:20px;border:3px solid var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.45);width:100%;display:block}
.statsbar{background:var(--cream);border-top:3px solid var(--gold);border-bottom:1px solid var(--line)}
.statsbar .grid{padding:22px 0}
.stat{text-align:center}
.stat b{display:block;font-size:clamp(24px,3.4vw,36px);color:var(--maroon)}
.stat span{color:var(--muted);font-size:14px;font-weight:700}

/* countdown */
.count-card{background:#fff;border-radius:24px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line);max-width:560px;margin:auto}
.count-head{background:linear-gradient(135deg,var(--maroon),var(--maroon-2));color:#fff;text-align:center;padding:26px 18px}
.count-head .day{font-size:56px;font-weight:900;color:var(--gold-2);line-height:1}
.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px}
.count-box{background:var(--cream-2);border:1px solid var(--line);border-radius:14px;text-align:center;padding:14px 4px}
.count-box b{display:block;font-size:30px;color:var(--maroon)}
.count-box span{font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:800}
.count-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 18px}
.count-meta .card{padding:13px;border-radius:13px}
.count-meta b{color:var(--maroon);font-size:13px;display:block;margin-bottom:3px}
.count-meta p{margin:0;font-size:13px;color:var(--muted)}

/* timeline */
.timeline{position:relative;margin:26px 0 0;padding-left:26px;border-left:3px solid var(--gold)}
.tl-item{position:relative;padding:0 0 26px 18px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-37px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--gold-2);border:3px solid var(--maroon)}
.tl-item b{color:var(--maroon);font-size:20px;display:block}
.tl-item p{margin:4px 0 0;color:var(--muted);line-height:1.55}

/* event */
.event-table{background:var(--maroon);color:#ffe9b8;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.event-table .row{display:flex;justify-content:space-between;gap:14px;padding:15px 22px;border-bottom:1px solid rgba(255,233,184,.18)}
.event-table .row:last-child{border-bottom:none}
.event-table .k{color:#f3d9a4;font-size:14px}
.event-table .v{font-weight:800;color:var(--gold-2);text-align:right}

/* sponsor board */
.req{overflow:hidden;padding:0;display:flex;flex-direction:column}
.req .bar-top{height:9px;background:linear-gradient(90deg,var(--maroon),var(--gold))}
.req .inner{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.prog{height:9px;border-radius:99px;background:#eee0c2;overflow:hidden}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.req .meta{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:700}
.status{font-size:12px;font-weight:900;border-radius:99px;padding:3px 10px}
.st-open{background:#e8f6ec;color:var(--ok)}.st-partial{background:#fdf1dc;color:var(--warn)}.st-priority{background:#fdeaea;color:#b3261e}

/* donor wall / travel / leaderboard */
.donor b{color:var(--maroon)}
.donor p{margin:6px 0 0;color:var(--muted);font-size:14px}
.travel .flag{font-size:30px}
.travel .nums{display:flex;gap:14px;color:var(--muted);font-size:14px;font-weight:700;margin:8px 0}
.lb-row{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px dashed var(--line);font-size:15px}
.lb-row:last-child{border-bottom:none}
.lb-row b{color:var(--maroon)}

/* AI section */
.ai-band{background:linear-gradient(150deg,var(--maroon),#4a0012);color:#fff3da;border-radius:26px;padding:34px;box-shadow:var(--shadow)}
.intent{background:rgba(255,244,216,.07);border:1px solid rgba(240,196,91,.35);border-radius:16px;padding:16px;cursor:pointer;transition:.18s}
.intent:hover{background:rgba(240,196,91,.16);transform:translateY(-2px)}
.intent b{color:var(--gold-2);display:block;margin-bottom:5px}
.intent p{margin:0;font-size:13px;color:#f1ddb9;line-height:1.5}

/* steps strip */
.step-card{position:relative;padding-top:30px}
.step-card .n{position:absolute;top:-18px;left:18px;width:38px;height:38px;border-radius:50%;background:var(--maroon);color:var(--gold-2);display:flex;align-items:center;justify-content:center;font-weight:900;border:2px solid var(--gold)}

/* modal wizard */
.modal-bg{position:fixed;inset:0;background:rgba(36,5,12,.66);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:100;padding:14px}
.modal-bg.open{display:flex}
.modal{background:var(--cream-2);width:min(620px,100%);max-height:92vh;overflow:auto;border-radius:22px;border:2px solid var(--gold);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.modal-head{display:flex;justify-content:space-between;align-items:center;background:var(--maroon);color:#ffe9b8;padding:15px 20px;position:sticky;top:0;z-index:2}
.modal-head h3{margin:0;font-size:18px}
.modal-x{background:rgba(255,233,184,.15);border:1px solid rgba(255,233,184,.4);color:#ffe9b8;border-radius:99px;padding:5px 13px;cursor:pointer;font-weight:800}
.modal-body{padding:22px}
.dots{display:flex;gap:8px;justify-content:center;margin-bottom:18px}
.dots i{width:34px;height:7px;border-radius:99px;background:#e6d5ae}
.dots i.on{background:var(--maroon)}
.f-label{display:block;font-weight:800;color:var(--maroon);font-size:14px;margin:13px 0 5px}
.f-in{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;background:#fff}
.f-in:focus{outline:2px solid var(--gold)}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.opt-grid{grid-template-columns:1fr}}
.opt{border:1.5px solid var(--line);background:#fff;border-radius:13px;padding:13px;cursor:pointer;text-align:left;transition:.15s}
.opt b{color:var(--maroon);display:block;font-size:14px}
.opt span{font-size:12px;color:var(--muted)}
.opt.sel{border-color:var(--maroon);background:var(--cream);box-shadow:0 0 0 2px var(--gold-2)}
.wiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.summary{background:#fff;border:1.5px dashed var(--gold);border-radius:14px;padding:16px;font-size:14px;line-height:1.8}
.refbox{background:var(--maroon);color:#ffe9b8;border-radius:16px;padding:22px;text-align:center}
.refbox .ref{font-size:26px;font-weight:900;color:var(--gold-2);letter-spacing:.06em}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--maroon);color:#ffe9b8;padding:12px 22px;border-radius:99px;font-weight:800;box-shadow:var(--shadow);transition:.3s;z-index:200;opacity:0}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.invite-box{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:18px;white-space:pre-wrap;line-height:1.7;font-size:14.5px}
.divider{text-align:center;color:var(--gold);letter-spacing:.5em;padding:8px 0}
footer{background:var(--maroon);color:#f3d9a4;margin-top:40px}
footer .grid{padding:38px 0;gap:26px}
footer h4{color:var(--gold-2);margin:0 0 10px}
footer p,footer a{font-size:14px;line-height:1.8}
.foot-bottom{border-top:1px solid rgba(255,233,184,.2);text-align:center;padding:14px;font-size:13px}
.foot-logo{width:52px;height:52px;border-radius:50%;object-fit:contain;background:#fff;border:2px solid var(--gold)}

@media(max-width:880px){#history .grid[style*='1.6fr']{grid-template-columns:1fr!important}}
/* history */
.history-prose{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 6px 18px rgba(65,0,15,.07)}
.history-prose p{line-height:2;text-align:justify;color:var(--ink);margin:0 0 18px;font-size:15.5px}
.history-prose p:first-of-type::first-letter{font-size:46px;color:var(--maroon);font-weight:900;float:left;line-height:1;padding:4px 10px 0 0}
.history-prose p:last-of-type{margin-bottom:0}
.fact{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.fact .ic{font-size:22px;flex-shrink:0}
.fact b{color:var(--maroon);display:block;font-size:14px}
.fact span{color:var(--muted);font-size:13px;line-height:1.5}
.quote-band{background:linear-gradient(135deg,var(--maroon),var(--maroon-2));color:var(--gold-2);border-radius:20px;text-align:center;padding:34px 22px;margin-top:26px;box-shadow:var(--shadow)}
.quote-band .q{font-size:clamp(20px,3.4vw,30px);font-weight:900;line-height:1.5}
.quote-band .sig{color:#f3d9a4;font-size:14px;margin-top:12px}

/* bilingual toggle visibility */
body.lang-ta .t-en{display:none}
body.lang-en .t-ta{display:none}
.langfab{position:fixed;right:18px;bottom:90px;z-index:120;display:flex;background:#fff;border:2px solid var(--gold);border-radius:999px;box-shadow:var(--shadow);overflow:hidden}
.langfab button{border:none;background:transparent;padding:9px 15px;font-weight:800;cursor:pointer;color:var(--maroon);font-size:14px}
.langfab button.on{background:var(--maroon);color:var(--gold-2)}
@media(max-width:860px){.langfab{bottom:84px;right:12px}}
/* mobile sticky bar */
.stickybar{display:none}
@media(max-width:860px){
  .stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:115;gap:10px;padding:10px 12px;background:rgba(255,249,235,.97);backdrop-filter:blur(10px);border-top:2px solid var(--gold);box-shadow:0 -8px 24px rgba(65,0,15,.16)}
  .stickybar .btn{flex:1;padding:13px 8px;font-size:15px}
  body{padding-bottom:70px}
}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:880px){.gal{grid-template-columns:repeat(2,1fr)}}
.gal-card{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line);box-shadow:0 6px 18px rgba(65,0,15,.1);display:flex;align-items:flex-end;color:#fff;background-size:cover;background-position:center}
.gal-card .cap{position:relative;z-index:2;padding:12px 14px;font-weight:800;font-size:14px;line-height:1.3}
.gal-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(50,0,12,.82));z-index:1}
.gal-emoji{position:absolute;top:10px;left:12px;z-index:2;font-size:26px}
/* donation impact */
.impact{background:linear-gradient(135deg,var(--maroon),var(--maroon-2));color:#fff3da;border-radius:16px;padding:16px 18px;margin-top:14px;display:none}
.impact.show{display:block}
.impact b{color:var(--gold-2);font-size:16px}
.impact .row{display:flex;gap:10px;align-items:flex-start;margin-top:8px;font-size:14px;line-height:1.5}
.impact .row span{font-size:20px}
/* multi-page nav active */
.navlinks a.active{background:var(--maroon);color:var(--gold-2)!important}

/* explore hub cards (home) */
.explore{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.xcard{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 6px 18px rgba(65,0,15,.07);transition:.18s;text-decoration:none;color:var(--ink)}
.xcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(103,0,25,.18);border-color:var(--gold)}
.xcard .ic{font-size:30px}
.xcard h3{color:var(--maroon);margin:2px 0;font-size:19px}
.xcard p{color:var(--muted);font-size:14px;line-height:1.55;margin:0;flex:1}
.xcard .go{color:var(--gold);font-weight:900;margin-top:6px;font-size:14px}
