@font-face{font-family:rozha;src:url(../media/RozhaOne-s.p.010frilmjgk8p.woff2)format("woff2");font-display:swap}@font-face{font-family:rozha Fallback;src:local(Arial);ascent-override:93.39%;descent-override:39.49%;line-gap-override:0.0%;size-adjust:106.86%}.OLE4Sq_className{font-family:rozha,rozha Fallback}.OLE4Sq_variable{--font-rozha:"rozha", "rozha Fallback"}
@font-face{font-family:outfit;src:url(../media/Outfit_400-s.p.2wahhwx1n424e.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:outfit;src:url(../media/Outfit_600-s.p.3lk84y7_v-qm4.woff2)format("woff2");font-display:swap;font-weight:600}@font-face{font-family:outfit Fallback;src:local(Arial);ascent-override:99.94%;descent-override:25.98%;line-gap-override:0.0%;size-adjust:100.06%}._6CIMCa_className{font-family:outfit,outfit Fallback}._6CIMCa_variable{--font-outfit:"outfit", "outfit Fallback"}
@font-face{font-family:tiro;src:url(../media/TiroDevanagari-s.p.2pcv1mz9389mm.woff2)format("woff2");font-display:swap}@font-face{font-family:tiro Fallback;src:local(Arial);ascent-override:75.5%;descent-override:24.5%;line-gap-override:33.0%;size-adjust:100.0%}.bEMfAq_className{font-family:tiro,tiro Fallback}.bEMfAq_variable{--font-tiro:"tiro", "tiro Fallback"}
:root{--maroon:#6e1a2a;--maroon-deep:#571421;--gold:#d4952a;--gold-text:#7d5410;--leaf:#3e6b3a;--cream:#fbf5ea;--sand:#f1e6d2;--ink:#2a1a14;--muted:#5e4636;--line:#e4d6be;--holiday:#fce3d6;--school:#eef2e3;--radius:14px;--font-display:var(--font-rozha), Georgia, serif;--font-body:var(--font-outfit), system-ui, sans-serif;--font-deva:var(--font-tiro), "Noto Serif Devanagari", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);margin:0;font-size:17px;line-height:1.6}a{color:var(--maroon);text-underline-offset:3px}a:hover{color:var(--maroon-deep)}h1,h2,h3{font-family:var(--font-display);color:var(--maroon);font-weight:400;line-height:1.15}h1{margin:0 0 .5rem;font-size:clamp(2rem,5vw,3.2rem)}h2{margin:2.2rem 0 .6rem;font-size:clamp(1.5rem,3.4vw,2rem)}h3{margin:1.4rem 0 .4rem;font-size:1.25rem}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}.prose{max-width:720px}.muted{color:var(--muted)}.small{font-size:.9rem}.site-header{border-bottom:1px solid var(--line);background:#fff}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px;display:flex}.brand img{width:auto;height:68px;display:block}.nav{flex-wrap:wrap;gap:4px 18px;display:flex}.nav a{color:var(--ink);padding:8px 0;font-size:.95rem;font-weight:600;text-decoration:none}.nav a:hover{color:var(--maroon)}.banner{background:var(--gold);color:var(--ink);padding:8px 0;font-size:.9rem}.banner strong{font-weight:600}main{padding:32px 0 64px}.hero{grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;padding:16px 0 8px;display:grid}@media (min-width:820px){.hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.hero .deva{font-family:var(--font-deva);color:var(--gold-text);font-size:1.4rem}.lead{color:var(--muted);max-width:40ch;font-size:1.2rem}.actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.btn{border-radius:999px;min-height:44px;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-block}.btn-primary{background:var(--maroon);color:#fff}.btn-primary:hover{background:var(--maroon-deep);color:#fff}.btn-ghost{border:1.5px solid var(--maroon);color:var(--maroon)}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.list li:last-child{border-bottom:0}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-calc{color:#7a4b00;background:#fff1d6;border:1px solid #e9c27a}.badge-ok{color:#2c5a27;background:#e3f0df;border:1px solid #a9cba2}.month-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.month-nav a{padding:8px 4px;font-weight:600;text-decoration:none}@media (max-width:720px){.month-nav h1{text-align:center;flex-basis:100%;order:-1}}.ref{color:var(--muted);font-size:.85rem}.cal{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.cal .dow{background:var(--maroon);color:#fff;text-align:center;letter-spacing:.05em;padding:6px 0;font-size:.8rem;font-weight:600}.cal .cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:118px;padding:6px 7px;font-size:.78rem;line-height:1.3}.cal .cell:nth-child(7n){border-right:0}.cal .empty{background:#faf6ee}.cal .school{background:var(--school)}.cal .holiday{background:var(--holiday)}.cal .num{color:var(--ink);font-size:1rem;font-weight:600}.cal .tithi{color:var(--gold-text)}.cal .fest a{color:var(--maroon);font-weight:600;text-decoration:none;display:block}.cal .hol{color:#8a2d0e;font-weight:600}.cal .moon{color:var(--muted)}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-size:.85rem;display:flex}.legend span:before{content:"";vertical-align:-1px;border:1px solid var(--line);border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.legend .l-hol:before{background:var(--holiday)}.legend .l-sch:before{background:var(--school)}.agenda{display:none}@media (max-width:720px){.cal{display:none}.agenda{display:block}}.agenda .day{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:8px;padding:12px 14px}.agenda .day.holiday{background:var(--holiday)}.agenda .day.school{background:var(--school)}.agenda .d{font-weight:600}.months{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.months a{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px;font-weight:600;text-decoration:none;display:block}table.timing{border-collapse:collapse;width:100%;max-width:560px}table.timing th,table.timing td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}table.timing th{width:45%;color:var(--muted);font-weight:600}.flag{border-left:4px solid var(--gold);background:#fff6e5;border-radius:6px;margin:8px 0;padding:10px 14px;font-size:.9rem}form.signup{gap:12px;max-width:460px;display:grid}form.signup label{font-size:.95rem;font-weight:600}form.signup input,form.signup select{width:100%;font:inherit;background:#fff;border:1px solid #cdbb9c;border-radius:10px;min-height:44px;padding:12px}.site-footer{background:var(--maroon);color:#f3e6d0;padding:32px 0;font-size:.9rem}.site-footer a{color:#fff}.site-footer .cols{flex-wrap:wrap;justify-content:space-between;gap:24px 48px;display:flex}.site-footer .powered{color:#ebd9b8;border-top:1px solid #ffffff2e;margin-top:24px;padding-top:16px;font-size:.85rem}.site-footer .powered a{color:#fff;border-bottom:1px solid #0000;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.site-footer .powered a:hover,.site-footer .powered a:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}.skip{z-index:10;background:#fff;padding:8px 12px;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.city-picker{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.city-picker select{font:inherit;color:var(--ink);background:#fff;border:1px solid #cdbb9c;border-radius:10px;min-height:40px;padding:8px 10px}.banner-soft{background:#f6e6c8}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.flag.ok{border-left-color:var(--leaf);background:#e8f3e5}.today-box{background:var(--sand);border-radius:10px;padding:10px 12px}.cal .fest.major a{color:var(--maroon-deep)}.cal .fest.major a:before{content:"◆ ";color:var(--gold);font-size:.7em}form.signup label.check,label.check{align-items:flex-start;gap:10px;font-weight:400;display:flex}label.check input{width:auto;min-height:0;margin-top:5px}form.signup textarea{width:100%;font:inherit;background:#fff;border:1px solid #cdbb9c;border-radius:10px;padding:12px}form.signup fieldset{border:1px solid var(--line);border-radius:10px;gap:8px;padding:10px 14px;display:grid}form.signup legend{padding:0 4px;font-size:.95rem;font-weight:600}.btn[disabled]{opacity:.6;cursor:wait}button.btn{cursor:pointer;font:inherit;border:0;font-weight:600}button.btn-ghost{border:1.5px solid var(--maroon);color:var(--maroon);background:0 0}table.timing thead th{color:var(--ink);width:auto}table.timing tr.current td{background:var(--sand);font-weight:600}.footer-links{flex-wrap:wrap;gap:6px 16px;display:flex}.sponsors{border-top:1px solid var(--line);text-align:center;margin-top:48px;padding-top:20px}.sponsors-h{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:.8rem}.sponsors ul{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin:0 0 8px;padding:0;list-style:none;display:flex}.sponsors a{font-weight:600;text-decoration:none}.add-cal{margin:20px 0 8px}.share{margin-top:8px}.install-pop{z-index:50;border:1px solid var(--line);background:#fff;border-radius:16px;align-items:flex-start;gap:14px;max-width:520px;margin:0 auto;padding:16px 44px 16px 16px;animation:.25s ease-out install-in;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 10px 30px #2a1a142e}@keyframes install-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.install-icon{border-radius:12px;flex:none}.install-body{min-width:0}.install-title{font-family:var(--font-display);color:var(--maroon);margin:0 0 4px;font-size:1.2rem}.install-text{color:var(--muted);margin:0 0 10px;font-size:.92rem}.install-steps{margin:4px 0 10px;padding-left:20px;font-size:.92rem}.install-actions{flex-wrap:wrap;gap:8px;display:flex}.install-actions .btn{padding:10px 16px}.install-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:24px;line-height:1;position:absolute;top:6px;right:8px}.install-close:hover{background:var(--sand)}@media (prefers-reduced-motion:reduce){.install-pop{animation:none}}
