:root{
  --maroon:#6b1414; --maroon-deep:#3e0b0b; --saffron:#e8771e; --gold:#c9972b; --gold-soft:#f3dfa8;
  --cream:#fbf5e9; --paper:#fffaf0; --ink:#2a1a12; --muted:#6e5a4b; --line:#e7d6b4;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:'Inter','Mandali',system-ui,sans-serif;line-height:1.65;font-size:16px}
.te-font, body.lang-te{font-family:'Mandali','Inter',sans-serif}
h1,h2,h3{font-family:'Cormorant Garamond','Ramaraja',serif;line-height:1.2}
body.lang-te h1, body.lang-te h2, body.lang-te h3{font-family:'Ramaraja','Cormorant Garamond',serif}
a{color:inherit}
img{max-width:100%;display:block}

/* language toggle */
body.lang-en .te{display:none!important}
body.lang-te .en{display:none!important}

/* top strip */
.strip{background:var(--maroon-deep);color:var(--gold-soft);font-size:13px;text-align:center;padding:6px 16px;letter-spacing:.04em}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(255,250,240,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{width:40px;height:40px;flex:none}
.brand b{display:block;font-family:'Cormorant Garamond','Ramaraja',serif;font-size:18px;color:var(--maroon);line-height:1.1}
.brand small{color:var(--muted);font-size:12px}
.links{display:flex;gap:4px;list-style:none}
.links a{text-decoration:none;font-size:14px;padding:8px 10px;border-radius:8px;color:var(--ink)}
.links a:hover{background:var(--gold-soft)}
.right{display:flex;gap:8px;align-items:center}
.langbtn{border:1px solid var(--gold);background:transparent;color:var(--maroon);border-radius:999px;padding:6px 12px;font-weight:600;cursor:pointer;font-size:13px}
.menu{display:none;background:none;border:0;font-size:26px;color:var(--maroon);cursor:pointer}
@media (max-width:960px){
  .links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--paper);padding:8px 16px 16px;border-bottom:1px solid var(--line)}
  .links.open{display:flex}
  .menu{display:block}
}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;text-align:center;padding:96px 16px 110px;
  background:
   radial-gradient(ellipse at 50% 120%,rgba(232,119,30,.55),transparent 60%),
   radial-gradient(circle at 20% 10%,rgba(201,151,43,.25),transparent 40%),
   linear-gradient(160deg,var(--maroon) 0%,var(--maroon-deep) 100%)}
.hero::before{content:"";position:absolute;inset:0;opacity:.09;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23f3dfa8' stroke-width='1'%3E%3Ccircle cx='40' cy='40' r='18'/%3E%3Cpath d='M40 10 L46 34 L70 40 L46 46 L40 70 L34 46 L10 40 L34 34 Z'/%3E%3C/g%3E%3C/svg%3E")}
.hero>*{position:relative}
.om{font-size:54px;color:var(--gold-soft);line-height:1;margin-bottom:6px}
.chant{letter-spacing:.3em;color:var(--gold-soft);font-size:13px;text-transform:uppercase;margin-bottom:22px}
.hero h1{font-size:clamp(30px,5.4vw,58px);font-weight:700;max-width:960px;margin:0 auto 10px}
.hero .sub{font-size:clamp(17px,2.4vw,24px);color:var(--gold-soft);font-family:'Ramaraja',serif}
.hero p.loc{margin-top:12px;opacity:.9}
.btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;text-decoration:none;font-weight:600;padding:12px 22px;border-radius:999px;border:1.5px solid var(--gold);transition:.2s}
.btn.primary{background:var(--saffron);border-color:var(--saffron);color:#fff}
.btn.primary:hover{background:#d0640f}
.btn.ghost{color:var(--gold-soft)}
.btn.ghost:hover{background:rgba(243,223,168,.12)}
.garland{height:18px;background:repeating-linear-gradient(90deg,var(--saffron) 0 14px,var(--gold) 14px 28px,#fff3d6 28px 32px);
  -webkit-mask:radial-gradient(circle at 7px 0,#000 8px,transparent 9px) 0 0/14px 18px repeat-x;mask:radial-gradient(circle at 7px 0,#000 8px,transparent 9px) 0 0/14px 18px repeat-x}

/* today box */
.today{max-width:1000px;margin:-56px auto 0;position:relative;z-index:2;padding:0 16px}
.today .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 40px -20px rgba(62,11,11,.35);display:grid;grid-template-columns:repeat(3,1fr)}
.today .cell{padding:20px 22px;border-right:1px solid var(--line)}
.today .cell:last-child{border-right:0}
.today .k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.today .v{font-family:'Cormorant Garamond','Ramaraja',serif;font-size:24px;color:var(--maroon);font-weight:700}
.today .s{font-size:13px;color:var(--muted)}
.status-open{color:#1d7a3a!important}
@media (max-width:720px){.today .card{grid-template-columns:1fr}.today .cell{border-right:0;border-bottom:1px solid var(--line)}}

/* sections */
section{padding:80px 16px}
.wrap{max-width:1180px;margin:0 auto}
.eyebrow{color:var(--saffron);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:12px;text-align:center}
.title{text-align:center;font-size:clamp(28px,4vw,42px);color:var(--maroon);margin:6px 0 10px}
.lede{text-align:center;color:var(--muted);max-width:680px;margin:0 auto 40px}
.divider{display:block;margin:0 auto 14px;width:120px;height:14px}

/* deities */
.deities{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.deity{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.deity .img{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;color:var(--gold-soft);padding:20px;
  background:linear-gradient(160deg,var(--maroon),var(--maroon-deep))}
.deity .img span{font-size:13px;opacity:.75;display:block;margin-top:8px}
.deity .body{padding:24px}
.deity h3{font-size:28px;color:var(--maroon)}
.deity .tl{color:var(--saffron);font-weight:600;margin-bottom:10px}
@media (max-width:820px){.deities{grid-template-columns:1fr}}

.note{background:#fff3d6;border:1px dashed var(--gold);color:#7a5410;border-radius:10px;padding:10px 14px;font-size:13px;margin-top:18px}

/* timings */
.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.timings{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);padding:26px}
.tcard h3{font-size:24px;color:var(--maroon);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.row:last-child{border-bottom:0}
.row b{color:var(--maroon);white-space:nowrap}
@media (max-width:820px){.timings{grid-template-columns:1fr}}

/* sevas */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.seva{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}
.seva .ic{width:46px;height:46px;border-radius:50%;background:var(--gold-soft);display:grid;place-items:center;font-size:22px;margin-bottom:12px}
.seva h3{font-size:22px;color:var(--maroon)}
.seva p{color:var(--muted);font-size:15px;flex:1}
.seva .price{margin-top:12px;font-weight:600;color:var(--saffron)}
@media (max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.grid3{grid-template-columns:1fr}}

/* festivals */
.fests{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fest{border-radius:var(--radius);padding:24px 20px;color:#fff;min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,rgba(62,11,11,.1),rgba(62,11,11,.92)),linear-gradient(135deg,var(--saffron),var(--maroon))}
.fest:nth-child(2){background:linear-gradient(180deg,rgba(62,11,11,.1),rgba(62,11,11,.92)),linear-gradient(135deg,var(--gold),var(--maroon))}
.fest:nth-child(3){background:linear-gradient(180deg,rgba(62,11,11,.1),rgba(62,11,11,.92)),linear-gradient(135deg,#b23a48,var(--maroon-deep))}
.fest:nth-child(4){background:linear-gradient(180deg,rgba(62,11,11,.1),rgba(62,11,11,.92)),linear-gradient(135deg,#d99a2b,#8a3b12)}
.fest h3{font-size:24px}
.fest p{font-size:14px;opacity:.9}
@media (max-width:900px){.fests{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fests{grid-template-columns:1fr}}

/* donate */
.donate{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.donate .box{background:linear-gradient(160deg,var(--maroon),var(--maroon-deep));color:#fff;border-radius:var(--radius);padding:32px}
.donate .box h3{font-size:30px;color:var(--gold-soft)}
.donate ul{list-style:none;margin:14px 0}
.donate li{padding:8px 0;border-bottom:1px solid rgba(243,223,168,.2)}
.qr{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-align:center}
.qr .ph{width:200px;height:200px;margin:0 auto 14px;border:2px dashed var(--gold);border-radius:12px;display:grid;place-items:center;color:var(--muted);font-size:13px;padding:10px}
@media (max-width:820px){.donate{grid-template-columns:1fr}}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery div{aspect-ratio:1;border-radius:12px;background:linear-gradient(135deg,var(--gold-soft),#ead2a0);display:grid;place-items:center;color:#8a6a33;font-size:13px;text-align:center;padding:8px}
.gallery div:nth-child(1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:700px){.gallery{grid-template-columns:1fr 1fr}}

/* visit */
.visit{display:grid;grid-template-columns:1fr 1.3fr;gap:24px}
.info{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.info h3{color:var(--maroon);font-size:24px;margin-bottom:8px}
.info .item{display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line)}
.info .item:last-child{border-bottom:0}
.map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:360px}
.map iframe{width:100%;height:100%;min-height:360px;border:0}
@media (max-width:820px){.visit{grid-template-columns:1fr}}

footer{background:var(--maroon-deep);color:var(--gold-soft);text-align:center;padding:40px 16px;font-size:14px}
footer .big{font-family:'Ramaraja',serif;font-size:22px;margin-bottom:6px}
footer small{opacity:.7;display:block;margin-top:14px}
