:root{
  --saffron:#d97706; --deep-maroon:#4a2121; --gold:#b58500; --cream:#faf6ef; --ink:#1f2937; --gray:#6b7280; --white:#fff; --success:#0d9488;
  --ring:0 0 0 3px rgba(217,119,6,.25);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--ink);background:var(--cream);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;scroll-behavior:smooth}
h1,h2,h3,h4{font-family:Merriweather,serif;color:var(--deep-maroon);line-height:1.3;margin:0 0 .5rem}
p{margin:.25rem 0 1rem}
a{color:var(--saffron);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin-inline:auto}
.muted{color:var(--gray)}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--saffron);color:#fff;padding:.85rem 1rem;border-radius:.7rem;font-weight:700;border:0;cursor:pointer;box-shadow:0 6px 18px rgba(217,119,6,.25)}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}
.btn.secondary{background:var(--deep-maroon)}
.btn.ghost{background:transparent;color:var(--saffron);border:2px solid var(--saffron);box-shadow:none}
.btn.success{background:var(--success)}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.grid{display:grid;gap:1.25rem}
.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:#fff;border:1px solid #eadfcb;border-radius:14px;padding:1rem}
.clean{margin:.25rem 0 0;padding-left:1.1rem}
.pill{display:inline-block;background:#fff;border:1px solid #eadfcb;border-radius:999px;padding:.25rem .7rem;margin:.25rem .25rem 0 0;font-size:.9rem}
.badge{display:inline-block;background:var(--deep-maroon);color:#fff;border-radius:.45rem;padding:.25rem .5rem;font-size:.8rem;margin-left:.5rem}
.divider{height:1px;background:#eadfcb;margin:1.25rem 0}
input,select,textarea{width:100%;padding:.8rem;border:1px solid #e4d7c1;border-radius:.6rem;background:#fff;font:inherit}
label{font-weight:600}
.note{font-size:.92rem;color:var(--gray)}
.list-inline{display:flex;flex-wrap:wrap;gap:.5rem}
.map{aspect-ratio:16/9;border:0;width:100%;border-radius:12px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}

/* Header */
header.site{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid #e9e2d6}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.brand{display:flex;gap:.75rem;align-items:center}
.brand .mark{width:40px;height:40px;border-radius:50%;background:conic-gradient(from 0deg,var(--gold),var(--saffron));display:grid;place-items:center;color:#fff;font-weight:900}
nav a{margin:0 .6rem;color:var(--ink);font-weight:600}

/* Hero */
.hero{position:relative;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(250,246,239,.95))}
.hero-inner{padding:3.25rem 0 1.5rem}
.lead{font-size:clamp(1rem,3.8vw,1.15rem);color:var(--gray);max-width:64ch}
.offering-wrap{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start;margin-top:1rem}
@media (min-width:980px){ .offering-wrap{grid-template-columns:1.1fr .9fr;gap:1.2rem} }
.offering-pad .btn{width:100%}
.offering-pad .btn + .btn{margin-top:.5rem}
@media (min-width:680px){ .offering-pad .btn{width:auto} .offering-pad .btn + .btn{margin-top:0;margin-left:.6rem} }
.deity-label{display:block;font-weight:700;margin:.25rem 0 .25rem;color:var(--deep-maroon)}
.deity-select{width:100%;padding:.7rem;border:1px solid #e4d7c1;border-radius:.6rem;background:#fff;margin-bottom:.6rem}

/* Stage with idol */
.deity-stage{ position:relative; border:1px dashed #e6dcca; border-radius:14px; background:#fff; overflow:hidden; width:100%; aspect-ratio:4/3; max-width:520px; margin-inline:auto }
@media (max-width:679px){ .deity-stage{ max-width:420px } }
.deity-img{ width:100%; height:100%; object-fit:cover; object-position:50% 50% }
.deity-cap{ position:absolute; left:.6rem; bottom:.6rem; background:rgba(0,0,0,.55); color:#fff; padding:.25rem .5rem; border-radius:.4rem; font-weight:700 }
.offer-overlay{ position:absolute; inset:0; pointer-events:none }
.offer-overlay .burst{ position:absolute; font-size:1.5rem; animation:rise 1500ms ease-out forwards; filter:drop-shadow(0 6px 8px rgba(0,0,0,.2)) }
@keyframes rise{ 0%{opacity:0; transform:translateY(10px) scale(.8)} 15%{opacity:1} 100%{opacity:0; transform:translateY(-120px) scale(1.2) } }

/* Sponsors — single-line manual scroll ticker */
.sponsor-ticker{
  position:relative;
  overflow:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  border:1px solid #eadfcb;
  background:#fff;
  border-radius:14px;
  padding:.35rem .5rem;
  height:48px;
  display:flex; align-items:center;
}
.sponsor-ticker::-webkit-scrollbar{ display:none; }
.sponsor-track{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  white-space:nowrap;
}
.sponsor-pill{
  display:inline-flex; align-items:center;
  border:1px solid #eadfcb; background:#fff;
  border-radius:999px; padding:.35rem .75rem;
  font-size:.95rem;
}

/* Tithi layout */
.tithi-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.75rem }
.tithi-grid .cell{ background:#fff; border:1px solid #eadfcb; border-radius:12px; padding:.6rem .8rem }
.tithi-grid .cell b{ display:block; margin-bottom:.15rem }

/* Sections & separators */
section{padding:2rem 0}
section.alt{padding:2.25rem 0;background:#fff;border-top:1px solid #eadfcb;border-bottom:1px solid #eadfcb}
.section-sep{height:22px;background:radial-gradient(60px 12px at 50% -6px, rgba(0,0,0,.12), transparent 70%), linear-gradient(#eadfcb,#eadfcb);opacity:.55}

/* Footer */
footer{background:#1b1b1b;color:#ddd;padding:2.5rem 0}
footer a{color:#ffdca8}
