:root{--cream:#faf3e5;--cream-2:#f2e6cf;--surface:#fffdf8;--espresso:#38220f;--espresso-2:#4a2e17;--saffron:#aa4c1d;--saffron-dark:#a8481a;--gold:#b5842f;--gold-deep:#866123;--gold-soft:#e7cf9c;--ink:#2f2013;--muted:#6f5a41;--muted-2:#7b644b;--line-gold:rgba(181,132,47,.42);--shadow:0 22px 54px -24px rgba(56,34,15,.42);--shadow-sm:0 8px 24px -14px rgba(56,34,15,.42);
 /* a11y 2026-08-17: --gold-text is --gold darkened for text on cream;
    --line-strong is a control boundary at >=3:1 on every light surface. */
 --gold-text:#866123;--line-strong:#9e8139}
*{box-sizing:border-box}body{margin:0;font-family:'Spectral',Georgia,serif;color:var(--ink);background:var(--cream);line-height:1.6}
a{color:var(--saffron-dark)}
.wrap{max-width:960px;margin:0 auto;padding:0 22px}
header{background:var(--surface);border-bottom:1px solid var(--line-gold);position:sticky;top:0;z-index:5}
.hd{max-width:1040px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:13px}
.emblem{width:104px;height:46px;flex:0 0 104px;background:url("../img/emblem.webp") left center/contain no-repeat}
.brand{font-family:'Marcellus',serif;font-size:1.16rem;color:var(--espresso);text-decoration:none;line-height:1.1}
.brand small{display:block;font-family:'Marcellus SC','Marcellus',serif;font-size:.76rem;letter-spacing:.06em;color:var(--saffron);text-transform:uppercase;margin-top:2px}
.back{margin-left:auto;font-size:.86rem;color:var(--saffron-dark);text-decoration:none}.back:hover{text-decoration:underline}
main{padding:40px 0 60px}
.eyebrow{font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.16em;text-transform:uppercase;color:var(--saffron);font-size:.78rem;margin:0 0 6px;text-align:center}
h1{font-family:'Marcellus',serif;font-weight:400;font-size:2.3rem;color:var(--espresso);margin:0 0 8px;text-align:center}
.sub{color:var(--muted);text-align:center;max-width:640px;margin:0 auto 8px}
.disc{color:var(--muted-2);text-align:center;font-size:.84rem;max-width:680px;margin:0 auto 30px}
footer{background:var(--espresso);color:#e9dcc7;padding:32px 0;margin-top:24px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:space-between;align-items:center}
footer a{color:#e7cf9c;text-decoration:none;margin-right:16px;font-size:.9rem}footer a:hover{color:#fff}
footer .cp{width:100%;border-top:1px solid rgba(231,207,156,.2);margin-top:12px;padding-top:14px;font-size:.82rem;color:#b79b78}
/* next-festival hero */
.fnext{background:linear-gradient(135deg,var(--surface),var(--cream-2));border:1px solid var(--line-gold);border-radius:18px;padding:26px;box-shadow:var(--shadow);margin:0 0 30px;text-align:center}
.fnext .lab{font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron);font-size:.82rem}
.fnext h2{font-family:'Marcellus',serif;font-weight:400;font-size:1.9rem;color:var(--espresso);margin:6px 0 2px}
.fnext .alt{color:var(--muted-2);font-style:italic;margin-bottom:4px}
.fnext .date{color:var(--espresso-2);font-size:1.02rem;margin-bottom:14px}
.cd{display:flex;gap:12px;justify-content:center;margin:8px 0 16px;flex-wrap:wrap}
.cd .u{background:var(--espresso);color:var(--gold-soft);border-radius:12px;min-width:74px;padding:10px 6px}
.cd .u b{display:block;font-family:'Marcellus',serif;font-size:1.7rem;color:#fff;line-height:1}
.cd .u span{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.btn{display:inline-block;font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;padding:11px 20px;border-radius:40px;text-decoration:none;cursor:pointer}
.btn-p{background:var(--saffron);color:#fff}.btn-p:hover{background:var(--saffron-dark)}
.btn-g{background:transparent;border:1px solid var(--line-strong);color:var(--saffron-dark);margin-left:8px}
/* filter */
.filter{display:flex;gap:8px;justify-content:center;margin:0 0 22px;flex-wrap:wrap}
.filter button{font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.08em;font-size:.76rem;text-transform:uppercase;padding:8px 16px;border-radius:30px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer}
.filter button.on{background:var(--espresso);color:var(--gold-soft);border-color:var(--espresso)}
/* list */
.chip{flex:0 0 62px;text-align:center;background:var(--cream-2);border:1px solid var(--line-gold);border-radius:10px;padding:8px 4px}
.chip .m{font-family:'Marcellus SC','Marcellus',serif;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--saffron)}
.chip .d{font-family:'Marcellus',serif;font-size:1.5rem;color:var(--espresso);line-height:1}
.chip .y{font-size:.6rem;color:var(--muted-2)}
.fbody{flex:1;min-width:0}
.fbody h3{font-family:'Marcellus',serif;font-weight:400;font-size:1.2rem;color:var(--espresso);margin:0 0 1px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tag{font-family:'Marcellus SC','Marcellus',serif;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:3px 9px;border-radius:20px}
.din{font-size:.72rem;color:var(--saffron-dark);font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.06em}
.fbody .alt{color:var(--muted-2);font-style:italic;font-size:.92rem;margin:0 0 4px}
.fbody p{margin:0 0 9px;color:var(--ink);font-size:.96rem}
.acts a{font-size:.82rem;text-decoration:none;color:var(--saffron-dark);margin-right:16px;border-bottom:1px solid var(--line-gold);padding-bottom:1px}
.acts a:hover{color:var(--saffron)}
details.pastwrap{margin-top:20px}
details.pastwrap>summary{cursor:pointer;font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;color:var(--muted);padding:10px 0;list-style:none}
details.pastwrap>summary::-webkit-details-marker{display:none}
details.pastwrap>summary:before{content:'▸ ';color:var(--saffron)}
details.pastwrap[open]>summary:before{content:'▾ '}
.ptoday{background:var(--surface);border:1px solid var(--line-gold);border-radius:16px;padding:16px 20px;margin:0 0 26px;box-shadow:var(--shadow)}
.ptoday .ph{font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.12em;text-transform:uppercase;color:var(--saffron);font-size:.8rem;text-align:center;margin-bottom:2px}
.ptoday .pd{text-align:center;color:var(--espresso-2);font-size:.95rem;margin-bottom:12px}
.ptoday .pg{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ptoday .pi{flex:1 1 120px;max-width:170px;text-align:center;background:linear-gradient(135deg,var(--cream),var(--cream-2));border:1px solid var(--line-gold);border-radius:12px;padding:10px 8px}
.ptoday .pi .k{font-family:'Marcellus SC','Marcellus',serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem;margin-bottom:3px}
.ptoday .pi .v{font-family:'Marcellus',serif;color:var(--espresso);font-size:1.02rem;line-height:1.2}
.ptoday .pnote{text-align:center;color:var(--muted);font-size:.8rem;margin-top:9px}
@media(max-width:600px){.emblem{width:78px;height:35px;flex:0 0 78px}.ptoday .pi{flex:1 1 44%}}
@media(max-width:600px){h1{font-size:1.9rem}.brand small{display:none}.cd .u{min-width:62px}}
.pverdict{border-radius:10px;padding:.6em .85em;margin:.6em 0 .2em;font-family:'Spectral',serif;line-height:1.45;border:1px solid;font-size:.95rem}

/* ---- The "Daily Inspiration & Prasadam" markup was copied from index.html
   without its stylesheet, so .pan / .pan-grid / .pan-card / .wide / .reveal /
   .btn-primary / .neutral had no rules here and the whole section rendered as
   unstyled blocks. These are ported from index.html. ---- */
.pan{padding:34px 0 12px}
.pan .wrap{max-width:1000px;margin:0 auto;padding:0 22px}
.pan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.pan-card{background:var(--surface);border:1px solid var(--line-gold);border-radius:14px;padding:20px 22px;box-shadow:0 2px 10px rgba(56,34,15,.04)}
.pan-card.wide{grid-column:1/-1}
.pan-card h3{font-family:'Marcellus',serif;font-size:1.06rem;color:var(--espresso);margin:0 0 10px}
.btn-primary{display:inline-block;background:var(--saffron-dark);color:#fff;border:1px solid var(--saffron-dark);
  border-radius:40px;padding:11px 22px;font-family:'Marcellus',serif;font-size:.96rem;text-decoration:none}
.btn-primary:hover{background:#8f3c14}
.pverdict.neutral{background:var(--surface);border-color:var(--line-gold);color:var(--espresso)}
.reveal{opacity:1}
@media(max-width:760px){.pan-grid{grid-template-columns:1fr}}





/* ===== Daily Inspiration & Prasadam ===== */
.pan-more{padding-top:0}
.pan-more .dm-h2{text-align:center;margin:0 0 .2em}
.dm-sub{text-align:center;max-width:60ch;margin:0 auto 1.6em;color:#6b5844;font-family:'Spectral',serif;font-size:1.02rem}
.kids-t{font-family:'Marcellus',serif;font-size:1.12rem;color:var(--saffron);margin-bottom:.35em}
.kids-s{font-family:'Noto Serif Devanagari','Spectral',serif;color:var(--espresso);margin-bottom:.35em}
.kids-m{font-family:'Spectral',serif;color:#5b4a38;line-height:1.6}
.rc-for{font-family:'Spectral',serif;font-style:italic;color:#8a6f52;font-size:.95rem}
.rc-name{font-family:'Marcellus',serif;font-size:1.2rem;color:var(--espresso);margin:.1em 0 .5em}
.rc-ing{font-family:'Spectral',serif;color:#5b4a38;font-size:.96rem;margin-bottom:.5em}
.rc-ing b,.rc-how b{color:var(--gold-deep);font-weight:600}
.rc-how{font-family:'Spectral',serif;color:#5b4a38;line-height:1.55;font-size:.96rem;margin-bottom:.8em}
.rc-cta{display:inline-block;font-family:'Marcellus',serif;color:var(--saffron);text-decoration:none;border-bottom:1px solid var(--gold-soft);padding-bottom:2px}
.rc-cta:hover{color:var(--gold-text)}
.dg-lead{font-family:'Spectral',serif;color:#5b4a38;line-height:1.55;margin:.2em 0 1em}




.wa-join:hover{color:#245a4b}




/* --- static guide index (build-guide-index.py) --- */
.guide-index{margin:26px 0 8px}
.guide-index details{background:var(--surface);border:1px solid var(--line-gold);border-radius:12px;padding:0}
.guide-index summary{cursor:pointer;padding:16px 20px;font-family:'Marcellus',serif;font-size:1.05rem;
  color:var(--espresso);display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;min-height:44px}
.guide-index summary:focus-visible{outline:2px solid var(--saffron);outline-offset:2px}
.guide-index .gi-n{font-family:'Spectral',serif;font-size:.85rem;color:var(--muted)}
.guide-index .gi-lede{margin:0 20px 14px;font-size:.92rem;color:var(--muted)}
.guide-index .gi-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px 22px;padding:0 20px 4px}
.guide-index .gi-grp h3{font-family:'Marcellus SC','Marcellus',serif;font-size:.85rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold-deep);margin:0 0 6px;border-bottom:1px solid var(--line-gold);padding-bottom:4px}
.guide-index ul{list-style:none;margin:0;padding:0}
.guide-index li{margin:0 0 2px}
.guide-index li a{display:block;padding:6px 2px;min-height:24px;font-size:.94rem;color:var(--espresso);text-decoration:none;border-radius:4px}
.guide-index li a:hover{color:var(--saffron-dark);text-decoration:underline}
.guide-index .gi-ser{padding:4px 20px 18px;margin-top:6px}
.cal-stale{background:#fdf3e2;border:1px solid #e2d3ae;border-left:4px solid #b6521f;border-radius:8px;padding:12px 14px;margin:0 0 16px;font-size:.95rem;color:#4a2e17}

/* Added 2026-08-17. The calendar, its filters and the Panchangam strip are all
   drawn by JavaScript, so without it the page opens on empty containers. The
   <noscript> note points at the static A-Z guide index further down. */
.nojs{margin:0 0 20px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:10px;
  background:var(--surface);color:var(--ink);font-size:.95rem;line-height:1.6}
