:root{--bg:#FAF7F6;--paper:#fff;--ink:#241019;--ink2:#5d4a53;--maroon:#6B1D36;--maroon2:#8a2a49;--gold:#F0A202;--gold-soft:#FCEBC2;--leaf:#2F6B4F;--mist:#F1E9EC;--line:#E6DADF;--r:14px;--sans:'Figtree','Noto Sans Telugu','Noto Sans Devanagari',system-ui,sans-serif;--disp:'Bricolage Grotesque','Noto Sans Telugu',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:158px}
@media(max-width:860px){html{scroll-padding-top:126px}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--maroon);text-underline-offset:3px}a:hover{color:var(--maroon2)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--disp);line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em;font-weight:650}
h1{font-size:clamp(2rem,4.6vw,3.6rem)}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.15rem;letter-spacing:-.01em}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.btn{display:inline-flex;gap:.5rem;align-items:center;padding:.7rem 1.15rem;border-radius:999px;border:1.5px solid var(--maroon);background:var(--maroon);color:#fff;font:600 .98rem var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--maroon2);color:#fff}.btn.ghost{background:transparent;color:var(--maroon)}.btn.ghost:hover{background:var(--mist);color:var(--maroon)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#2b1a00}.btn.gold:hover{background:#ffb71c;color:#2b1a00}
.top{position:sticky;top:0;z-index:1000;background:rgba(250,247,246,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
/* The header bar is wider than the 1180px content column on purpose: eight nav
   items in Telugu need ~1100px and were being silently clipped, because the nav
   is an overflow-x container with no visible scrollbar - the last links did not
   wrap, they just vanished. */
.top .wrap{display:flex;align-items:center;gap:1rem;height:66px;max-width:1340px}
.logo{display:flex;align-items:center;gap:.6rem;font:700 1.15rem var(--disp);color:var(--ink);text-decoration:none;white-space:nowrap;flex:none}.logo img{height:45px;width:auto;object-fit:contain}
.top nav{display:flex;gap:.78rem;margin-left:auto;overflow-x:auto;scrollbar-width:none}.top nav a{color:var(--ink);text-decoration:none;font-weight:550;font-size:.9rem;white-space:nowrap}.top nav a:hover{color:var(--maroon)}
.lang{display:flex;border:1.5px solid var(--line);border-radius:999px;padding:2px;background:var(--paper);flex:none}
.lang button{border:0;background:none;padding:.2rem .6rem;border-radius:999px;font:600 .82rem var(--sans);color:var(--ink2);cursor:pointer}.lang button[aria-pressed=true]{background:var(--maroon);color:#fff}

.hero{padding:52px 0 36px}.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.lead{font-size:1.2rem;color:var(--ink2);max-width:34rem;margin:0 0 1.6rem}
.search{position:relative;max-width:34rem}
.search input{width:100%;padding:1rem 1.2rem 1rem 3rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font:500 1.05rem var(--sans);color:var(--ink);box-shadow:0 8px 30px -14px rgba(107,29,54,.35)}
.search input:focus{outline:none;border-color:var(--maroon)}.search svg{position:absolute;left:1.05rem;top:50%;translate:0 -50%;width:20px;color:var(--ink2)}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 20px 40px -20px rgba(36,16,25,.4);overflow:hidden;display:none;z-index:20}
.sugg a{display:block;padding:.65rem 1.1rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--mist)}.sugg a:hover{background:var(--mist)}.sugg small{display:block;color:var(--ink2);font-size:.84rem}
.facts{margin-top:1.3rem;color:var(--ink2)}
.arches{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
.arch{border-radius:999px 999px 14px 14px;overflow:hidden;background:linear-gradient(135deg,var(--mist),var(--gold-soft));aspect-ratio:3/4.2;position:relative}
.arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.arches .arch:nth-child(1){grid-row:span 2;aspect-ratio:3/5}
section.blk{padding:40px 0}.blk>.wrap>header{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.blk>.wrap>header h2{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:550;font-size:.97rem}
.chip:hover{border-color:var(--maroon);color:var(--maroon)}.chip b{font-weight:600;color:var(--ink2);font-size:.85rem}.chip.on{background:var(--gold-soft);border-color:var(--gold)}
/* EQUAL CARDS: every card is the same height, every photo the same 4:3 crop */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;align-items:stretch}
.row{display:grid;grid-auto-flow:column;grid-auto-columns:260px;gap:18px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;align-items:stretch}.row>*{scroll-snap-align:start}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink);transition:box-shadow .2s,border-color .2s}
.card:hover{border-color:#cdb6bf;box-shadow:0 14px 30px -18px rgba(107,29,54,.5);color:var(--ink)}
.card .ph{position:relative;aspect-ratio:4/3;flex:none;background:linear-gradient(135deg,var(--mist),var(--gold-soft));overflow:hidden}
.card .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .km{position:absolute;left:10px;bottom:10px;background:var(--ink);color:#fff;border-radius:999px;font:600 .8rem var(--sans);padding:.15rem .6rem}
.card .num{position:absolute;left:10px;top:10px;width:28px;height:28px;border-radius:50%;background:var(--maroon);color:#fff;display:grid;place-items:center;font:700 .85rem var(--sans);border:2px solid #fff}
.card .tx{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.0rem;margin:0 0 .35rem;letter-spacing:-.005em;line-height:1.3;min-height:3.3em}
.card p{margin:0;color:var(--ink2);font-size:.9rem;line-height:1.4}
.card .dt{align-self:flex-start;margin-top:auto;padding-top:0;font-size:.8rem;font-weight:600;color:var(--maroon);background:var(--mist);border-radius:999px;padding:.1rem .65rem}
.card .tx p+.dt{margin-top:.6rem}.card .tx{justify-content:flex-start}.card .tx .dt{margin-top:auto}
.states{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.state{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.15rem}.state h3{margin:0 0 .35rem;display:flex;justify-content:space-between}.state h3 a{text-decoration:none;color:var(--ink)}.state h3 span{font:600 .9rem var(--sans);color:var(--ink2)}
.state a.d{font-size:.94rem;margin-right:.7rem;white-space:nowrap}
.bigmap{height:560px;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;background:var(--mist)}
.stats{display:flex;gap:2.5rem;flex-wrap:wrap}.stats div{font:700 2rem var(--disp)}.stats span{display:block;font:500 .95rem var(--sans);color:var(--ink2)}
/* temple page */
.crumbs{font-size:.92rem;color:var(--ink2);padding:22px 0 0}.crumbs a{color:var(--ink2)}
.th{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;padding:18px 0 34px;align-items:center}
.th h1{font-size:clamp(1.7rem,3.4vw,2.8rem)}.th .where{font-size:1.1rem;color:var(--ink2);margin:0 0 1rem}.th .chips{margin-bottom:1.3rem}.th .acts{display:flex;flex-wrap:wrap;gap:.7rem}
.gal{max-width:460px;justify-self:end;width:100%}
.gal .arch{aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 9px rgba(255,255,255,.75),0 20px 44px -24px rgba(107,29,54,.6)}

.sub{position:sticky;top:66px;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
.sub .wrap{display:flex;flex-wrap:wrap;column-gap:1.15rem;row-gap:.3rem;align-items:center;padding:.6rem 1.1rem;min-height:54px}
.sub a{white-space:nowrap;color:var(--ink2);text-decoration:none;font-weight:600;font-size:.92rem;padding:.15rem 0}.sub a:hover{color:var(--maroon)}
/* On phones this used to be a single nowrap row that scrolled sideways behind a
   fade. Thirteen section links meant most of them were off screen, and finding
   "FAQ's" took a horizontal drag nobody expects on a page that scrolls down. It
   wraps on small screens now, exactly as it does on the desktop. Wrapping makes
   it several rows tall, so it also stops being sticky there - a sticky block
   that deep would eat the top of every screenful. */
@media(max-width:860px){
  .sub{position:static;-webkit-mask-image:none;mask-image:none}
  .sub .wrap{flex-wrap:wrap;overflow:visible;column-gap:.9rem;row-gap:.4rem;
    height:auto;min-height:0;padding:.6rem 1.1rem}
  .sub a{font-size:.86rem}
}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding:36px 0}
.prose{max-width:46rem}.prose h2{margin-top:2.2rem;font-size:1.55rem}.prose h2:first-child{margin-top:0}.prose h3{margin-top:1.4rem}.prose p{margin:0 0 .85rem}
.prose img{border-radius:12px;margin:1rem 0;height:auto}.prose iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--line);padding:.4rem .6rem;text-align:left}
.te{font-family:'Noto Sans Telugu',var(--sans);line-height:1.85}.hi{font-family:'Noto Sans Devanagari',var(--sans);line-height:1.8}
aside{position:sticky;top:132px;align-self:start}aside .box{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.15rem 1.25rem;margin-bottom:16px}aside h3{margin-bottom:.6rem}
table.hrs{width:100%;border-collapse:collapse;font-size:.94rem}.hrs td{padding:.38rem 0;border-bottom:1px solid var(--mist);vertical-align:top}.hrs td:first-child{white-space:nowrap;padding-right:.8rem}.hrs td:last-child{text-align:right;color:var(--ink2)}.hrs tr.today td{font-weight:700;color:var(--maroon)}
.kv{margin:0;font-size:.96rem}.kv dt{font-weight:650;margin-top:.7rem}.kv dd{margin:0;color:var(--ink2);overflow-wrap:anywhere}
details{border-bottom:1px solid var(--line);padding:.85rem 0}summary{cursor:pointer;font-weight:650;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::after{content:'+';font-size:1.3rem;line-height:1;color:var(--maroon)}details[open] summary::after{content:'–'}details p{margin:.6rem 0 0;color:var(--ink2)}
.nearby{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start}.nb .list{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.mapbox{position:sticky;top:132px}.mapbox .map{height:560px;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;background:var(--mist)}
.mapnote{font-size:.9rem;color:var(--ink2);margin:.6rem 0 0}.toggle{display:flex;gap:.5rem;align-items:center;margin-top:.7rem;color:var(--ink2);font-size:.95rem}.toggle input{accent-color:var(--leaf);width:18px;height:18px}
.pin{width:30px;height:30px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--maroon);border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.35);display:grid;place-items:center}
.pin span{rotate:45deg;color:#fff;font:700 .8rem var(--sans)}.pin.me{background:var(--gold);width:40px;height:40px}.pin.me span{color:#2b1a00;font-size:1rem}
.dot{width:14px;height:14px;border-radius:50%;background:var(--leaf);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.leaflet-popup-content{font:500 .95rem/1.4 var(--sans);margin:12px 14px}.leaflet-popup-content a{font-weight:700}
.page-h{padding:40px 0 18px}.filters{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.2rem}
.filters input,.filters select{padding:.7rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font:500 1rem var(--sans);color:var(--ink);min-width:170px}.filters input{flex:1;min-width:220px}
.count{color:var(--ink2);margin:.2rem 0 1rem}.more{display:block;margin:2rem auto 0}
.alllist{columns:3 260px;gap:24px;font-size:.95rem;margin-top:1rem}.alllist a{display:block;padding:.15rem 0;break-inside:avoid}
.post-hero{max-width:820px;margin:0 auto;padding:30px 22px 0}.post-hero .meta{color:var(--ink2);font-size:.95rem}.post-img{max-width:820px;margin:1.2rem auto 0;padding:0 22px}.post-img img{border-radius:var(--r);width:100%;height:auto}
.post-body{max-width:820px;margin:0 auto;padding:24px 22px}.post-body.prose{max-width:820px}
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.vids a{display:block;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:var(--ink)}.vids img{width:100%;height:100%;object-fit:cover;opacity:.9}.vids a::after{content:'▶';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:2.4rem;text-shadow:0 2px 12px rgba(0,0,0,.6)}
footer{background:var(--ink);color:#e9dde2;margin-top:60px;padding:48px 0 30px}footer a{color:#f6d68a}footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}footer h3{color:#fff;font-size:1rem}footer ul{list-style:none;margin:0;padding:0;line-height:2}
footer p.s{grid-column:1/-1;font-size:.88rem;color:#b9a6ae;border-top:1px solid #4a2c3a;padding-top:18px;margin:0}
@media(max-width:900px){.hero .wrap,.th,.cols,.nb,footer .wrap{grid-template-columns:1fr}.arches{max-width:420px}aside,.mapbox{position:static}.mapbox .map,.bigmap{height:380px}.top nav{display:none}.lang{margin-left:auto}.hero{padding-top:30px}.gal{justify-self:start}}
@media(max-width:520px){.nb .list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.mm{position:relative;overflow:hidden;background:#e8e2e5;touch-action:none;cursor:grab;user-select:none}.mm.grab{cursor:grabbing}
.mm-t,.mm-m,.mm-p{position:absolute;inset:0}.mm-p{pointer-events:none}.mm-i{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none;user-select:none}
.mm-k{position:absolute;left:0;top:0;padding:0;border:0;background:none;cursor:pointer;line-height:0}
.mm-k .pin{rotate:-45deg}.dm{display:block;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.4);background-color:#fcefd4;background-repeat:no-repeat;background-position:center;background-size:contain;background-origin:content-box;padding:2px}
.dm.cov{background-size:cover;padding:0}
.cm{display:block;width:14px;height:14px;border-radius:50%;background:#6B1D36;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.mm-z{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.35);z-index:6}.mm-z button{width:34px;height:34px;border:0;background:#fff;font:600 1.3rem var(--sans);cursor:pointer;color:var(--ink)}.mm-z button+button{border-top:1px solid var(--line)}.mm-z button:hover{background:var(--mist)}
.mm-a{position:absolute;right:0;bottom:0;background:rgba(255,255,255,.85);font:.72rem/1.3 var(--sans);padding:2px 6px;z-index:6;color:#333}.mm-a a{color:#0b5aa6}
.mm-pop{position:absolute;transform:translate(-50%,-100%);background:#fff;border-radius:12px;padding:10px 30px 10px 14px;box-shadow:0 3px 14px rgba(0,0,0,.35);font:500 .93rem/1.4 var(--sans);min-width:150px;max-width:240px;pointer-events:auto;z-index:7}
.mm-pop .x{position:absolute;right:4px;top:2px;border:0;background:none;font-size:1.3rem;cursor:pointer;color:#666}.mm-pop a{font-weight:700}
.card.st .ph{aspect-ratio:54/74}
/* ---------- cinematic hero ---------- */
.hero{position:relative;min-height:min(72vh,660px);display:grid;align-items:center;overflow:hidden;background:#1b0c12;padding:76px 0 66px}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:kenburns 49s linear infinite;will-change:opacity,transform}
@keyframes kenburns{0%{opacity:0;transform:scale(1.02)}2%{opacity:1}12%{opacity:1;transform:scale(1.13)}14.3%{opacity:0;transform:scale(1.14)}100%{opacity:0;transform:scale(1.02)}}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(23,9,14,.93) 0%,rgba(23,9,14,.8) 38%,rgba(23,9,14,.35) 68%,rgba(23,9,14,.6) 100%)}
.hero-in{position:relative;z-index:2;width:100%;max-width:1180px;margin-inline:auto;padding:0 22px;color:#fff}
.hero-in h1{color:#fff;max-width:17ch;font-size:clamp(2.3rem,5.2vw,4.1rem);text-shadow:0 2px 30px rgba(0,0,0,.4)}
.hero-in .lead{color:#f3e6ea;max-width:36rem;font-size:clamp(1.02rem,1.6vw,1.22rem)}
.hero .search{max-width:38rem}
.hero .search input{border-color:transparent;padding-block:1.05rem;box-shadow:0 20px 50px -22px rgba(0,0,0,.9)}
.hero-stats{display:flex;gap:2.6rem;flex-wrap:wrap;list-style:none;margin:2.1rem 0 0;padding:0}
.hero-stats b{display:block;font:650 1.9rem/1 var(--disp);color:var(--gold)}
.hero-stats span{font-size:.92rem;color:#e6d3da;letter-spacing:.01em}
@media(prefers-reduced-motion:reduce){.hero-bg i{animation:none}.hero-bg i:first-child{opacity:1}}
@media(max-width:900px){.hero{min-height:auto;padding:110px 0 54px}.hero-scrim{background:linear-gradient(180deg,rgba(23,9,14,.72) 0%,rgba(23,9,14,.86) 60%,rgba(23,9,14,.95) 100%)}.hero-stats{gap:1.6rem}}
/* ---------- deity circles ---------- */
.deities{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:22px 16px}
.deity{text-decoration:none;color:var(--ink);text-align:center;display:block}
.deity .ring{position:relative;aspect-ratio:1;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 32%,#fffaf0 0%,#fbeccd 55%,#f4dfbd 100%);border:1px solid #efdcc2;display:grid;place-items:center;transition:transform .25s ease,box-shadow .25s ease}
.deity .ring img{width:100%;height:100%;object-fit:contain;padding:12%;transition:transform .35s ease}
.deity.photo .ring img{padding:0;object-fit:cover}
.deity:hover .ring{transform:translateY(-5px);box-shadow:0 16px 28px -16px rgba(107,29,54,.65)}
.deity:hover .ring img{transform:scale(1.05)}
.deity b{display:block;margin-top:.6rem;font:600 .95rem/1.25 var(--sans);min-height:2.5em}
.deity i{display:block;font-style:normal;color:var(--ink2);font-size:.83rem;margin-top:.1rem}
/* ---------- state cards ---------- */
.statecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:18px}
.scard{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:54/74;text-decoration:none;background:var(--mist)}
.scard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.scard:hover img{transform:scale(1.06)}
.scard::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(23,9,14,.9) 4%,rgba(23,9,14,.3) 46%,rgba(23,9,14,0) 72%)}
.scard .lb{position:absolute;z-index:2;left:15px;right:15px;bottom:13px}
.scard h3{margin:0;color:#fff;font-size:1.12rem}
.scard p{margin:.12rem 0 0;color:#f3d9a6;font-size:.88rem}
.band{background:var(--ink);color:#f1e2e7}
.band .wrap{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between;padding-block:26px;align-items:center}
.band p{margin:0;font-size:.98rem}.band a{color:var(--gold)}
@media(max-width:560px){
.blk>.wrap>header{flex-direction:column;align-items:flex-start;gap:.25rem}
.deities{grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:16px 12px}
.deity b{font-size:.88rem;min-height:2.4em}.deity i{font-size:.76rem}
.statecards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.hero-stats{gap:1.3rem}.hero-stats b{font-size:1.55rem}
}

.flogo{height:62px;width:auto}
.deity.photo .ring img{padding:0;object-fit:cover;width:100%;height:100%}

/* ---------- three languages ---------- */
body.l-all .lg.ui:not(.en){display:none}
body.l-en .lg:not(.en):not(.en-fb){display:none}
body.l-hi .lg:not(.hi):not(.hi-fb){display:none}
body.l-te .lg:not(.te):not(.te-fb){display:none}
.lg[lang=te]{font-family:'Noto Sans Telugu',var(--sans);line-height:1.85}
.lg[lang=hi]{font-family:'Noto Sans Devanagari',var(--sans);line-height:1.8}
.lang{flex:none;gap:1px}
.lang button{padding:.22rem .56rem;font-size:.8rem}
p.soon{color:var(--ink2);font-style:italic}
.prose .lg+.lg{margin-top:.2rem}
/* ---------- temple photo slideshow ---------- */
.shw{position:relative;overflow:hidden}
.shw i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .85s ease;transform:scale(1.02)}
.shw i.on{opacity:1;animation:slowzoom 4.6s ease-out forwards}
@keyframes slowzoom{from{transform:scale(1.03)}to{transform:scale(1.13)}}
@media(prefers-reduced-motion:reduce){.shw i{animation:none;transition:none}.shw i:first-child{opacity:1}}
/* ---------- bigger map markers ---------- */
.dm{box-shadow:0 2px 9px rgba(0,0,0,.45);border-width:2.5px}
.mm-k .mnum{position:absolute;right:-3px;top:-3px;min-width:19px;height:19px;border-radius:999px;background:var(--maroon);color:#fff;
  font:700 11px/19px var(--sans);text-align:center;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4);padding:0 3px}
.mm-k{position:absolute}
@media(max-width:560px){.lang button{padding:.2rem .45rem;font-size:.75rem}.top .wrap{gap:.6rem}}

.gal{padding:6px}

.deities.big{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:28px 18px}
.deities.big b{font-size:1.02rem}
.statecards.big{grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:20px}
@media(max-width:560px){.deities.big{grid-template-columns:repeat(auto-fill,minmax(116px,1fr))}.statecards.big{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

.socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:.2rem}
.socials a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);transition:background .2s,transform .2s}
.socials a:hover{background:var(--gold);transform:translateY(-2px)}
.socials svg{width:20px;height:20px;fill:#f4e7ec}
.socials a:hover svg{fill:#2b1a00}
footer p.s a{color:#f6d68a}

.logotext{font:700 1.2rem var(--disp);color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
.flogotext{color:#fff;font-size:1.35rem;display:inline-block;margin-bottom:.8rem}

/* ---------- cookie bar ---------- */
.cookiebar{position:fixed;left:14px;right:14px;bottom:14px;z-index:4000;background:var(--ink);color:#f2e6ea;
 border-radius:16px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;
 box-shadow:0 18px 44px -18px rgba(0,0,0,.75);max-width:980px;margin:0 auto}
.cookiebar[hidden]{display:none}
.cookiebar p{margin:0;font-size:.95rem;flex:1 1 320px}
.cookiebar a{color:var(--gold)}
.cb-btns{display:flex;gap:10px;flex:0 0 auto}
.cookiebar .btn{padding:.5rem 1.1rem;font-size:.92rem}
.cookiebar .btn.ghost{color:#f2e6ea;border-color:rgba(255,255,255,.45)}
.cookiebar .btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff}
/* ---------- copy restriction ---------- */
body{-webkit-user-select:none;-moz-user-select:none;user-select:none}
input,textarea,select,[contenteditable="true"]{-webkit-user-select:text;user-select:text}
img,.arch,.dm{-webkit-user-drag:none;user-drag:none}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:5000;background:var(--ink);color:#fff;
 padding:.6rem 1.1rem;border-radius:999px;font:600 .9rem var(--sans);box-shadow:0 10px 28px -12px rgba(0,0,0,.7)}
.toast[hidden]{display:none}
body.l-all .lg.ph{display:none}
@media(max-width:560px){.cookiebar{padding:12px 14px}.cookiebar p{font-size:.88rem}}

/* ---------- temples near me ---------- */
.nearme .lead{max-width:40rem}
.festlinks{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}

.nmnote{color:var(--ink2);margin:.8rem 0;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.nmnote[hidden]{display:none}
.tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.tab{padding:.6rem 1.2rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);
 font:600 1rem var(--sans);color:var(--ink);cursor:pointer}
.tab b{font-weight:600;color:var(--ink2);font-size:.85rem;margin-left:.2rem}
.tab:hover{border-color:var(--maroon)}
.tab.on{background:var(--maroon);border-color:var(--maroon);color:#fff}
.tab.on b{color:#f3d9a6}
.subtabs{margin-bottom:1rem}
.subtabs .chip{cursor:pointer;font-size:.93rem;padding:.42rem .85rem}
.subtabs .chip.on{background:var(--gold-soft);border-color:var(--gold);color:var(--ink)}
#nmResults[hidden],#nmIntro[hidden],#nmCount[hidden],#nmMore[hidden]{display:none}

/* ---------- mobile menu ---------- */
.navtoggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;
 border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;flex:none;margin-left:auto;padding:0}
.navtoggle svg{width:22px;height:22px}
.navtoggle:hover{border-color:var(--maroon);color:var(--maroon)}
/* 1220px, not 900px: eight nav items do not fit below about 1245px in English
   or Telugu, and this nav clips silently rather than wrapping. The menu button
   takes over while there is still room for it, instead of links disappearing.
   Measured, not guessed - at 1200px English overflowed by 36px. */
@media(max-width:1240px){
  .top .wrap{position:relative;gap:.7rem}
  .navtoggle{display:flex}
  .top nav{display:none;position:absolute;left:-22px;right:-22px;top:66px;background:var(--paper);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;
    gap:0;padding:6px 0;margin:0;box-shadow:0 20px 34px -24px rgba(36,16,25,.6);max-height:72vh;overflow-y:auto;z-index:60}
  .top nav.open{display:flex}
  .top nav a{padding:.8rem 22px;font-size:1rem;border-bottom:1px solid var(--mist)}
  .top nav a:last-child{border-bottom:0}
  .lang{margin-left:0}
}
@media(max-width:380px){.logo img{height:34px}.logotext{font-size:1rem}.lang button{padding:.18rem .38rem;font-size:.72rem}}

@media(max-width:900px){
  .navtoggle{order:-2;margin-left:0}
  .logo{order:-1}
  .lang{order:0;margin-left:auto}
  .logo img{height:36px}
}
@media(max-width:430px){.logo img{height:32px}.logo .wordmark{font-size:1.02rem}}

.logo{gap:.55rem}
.wordmark{font:700 1.3rem/1 var(--disp);letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.flogo-lock{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.flogo-lock .wordmark{color:#fff;font-size:1.5rem}
@media(max-width:900px){.wordmark{font-size:1.14rem}}

/* ---- Know More About Us ---- */
.about{background:var(--bg2,#eef1f8);padding-block:64px}
.about .ctr{display:block;text-align:center;margin-bottom:2.2rem}
.about .ctr h2{margin:0 0 .7rem}
.about .rule{width:92px;height:2px;background:var(--gold);margin:0 auto 1rem}
.about .lead{margin:0 auto;max-width:620px;color:var(--ink2)}
.abt{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,2.3fr) minmax(150px,.72fr);gap:2.4rem;align-items:center}
.stats{display:grid;gap:1.5rem;text-align:center}
.stat b{display:block;font-size:2.1rem;line-height:1.05;font-weight:800;color:var(--ink)}
.stat span{font-size:.95rem;color:var(--ink2)}
.vwrap{min-width:0}
.vfacade{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;background:#000;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.vfacade img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s,opacity .3s}
.vfacade:hover img{transform:scale(1.03);opacity:.85}
.vplay{position:absolute;inset:0;margin:auto;width:70px;height:48px;border-radius:12px;background:rgba(0,0,0,.72);transition:background .2s}
.vplay::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.vfacade:hover .vplay{background:#c00}
.vwrap iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;display:block}
.sideful{text-align:center}
.sideful h3{margin:0 0 .8rem;font-size:1rem;color:var(--ink2);font-weight:600}
.sideful .socials{justify-content:center;max-width:160px;margin:0 auto}
.sideful .socials a{background:rgba(0,0,0,.06);border-color:rgba(0,0,0,.12)}
.sideful .socials svg{fill:var(--ink)}
.sideful .socials a:hover svg{fill:#2b1a00}
@media(max-width:980px){.abt{grid-template-columns:1fr;gap:1.8rem}
.stats{grid-template-columns:repeat(4,1fr);gap:.8rem}
.stat b{font-size:1.55rem}.stat span{font-size:.82rem}
.about{padding-block:46px}}
@media(max-width:520px){.stats{grid-template-columns:repeat(2,1fr);row-gap:1.3rem}}

/* ---- Sloka / Mantra ---- */
.slks{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:1.1rem;margin-top:1.4rem}
.slk{display:flex;flex-direction:column;gap:.5rem;padding:1.15rem 1.2rem 1rem;border:1px solid var(--line);
     border-radius:16px;background:var(--paper);text-decoration:none;color:inherit;
     transition:transform .18s,box-shadow .18s,border-color .18s}
.slk:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 14px 34px -22px rgba(107,29,54,.5)}
.slk .kind{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--gold-dark,#9a6b14)}
.slk h3{margin:0;font-size:1.06rem;line-height:1.3;color:var(--ink)}
.slk .pv{margin:0;font-size:.9rem;line-height:1.75;color:var(--ink2);
         display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.slk .dt{margin-top:auto;font-size:.8rem;color:var(--maroon);background:var(--gold-soft);
         border-radius:999px;padding:.2rem .66rem;align-self:flex-start}
.slk[hidden]{display:none}

.slk-h{max-width:52rem;margin-bottom:1.6rem}
.slk-h .kind{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--gold-dark,#9a6b14)}
.slk-h h1{margin:.3rem 0 .7rem}
.slk-h .lead{margin:.9rem 0 0;color:var(--ink2)}
.slk-text{max-width:52rem;margin:0 0 1.4rem;padding:1.6rem 1.8rem;border-radius:18px;
          background:linear-gradient(180deg,#fffaf0,#fdf3e2);border:1px solid var(--gold-soft)}
.slk-text .verse p{font-size:1.16rem;line-height:2.15;margin:0 0 1.15rem;color:var(--ink)}
.slk-text .verse h3{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--maroon);
                    margin:1.5rem 0 .7rem;font-weight:700}
.slk-text .verse h3:first-child{margin-top:0}
.slk-text .verse p:last-child{margin-bottom:0}
.slk-note{max-width:52rem;font-size:.86rem;color:var(--ink2)}
@media(max-width:620px){
  .slk-text{padding:1.2rem 1.1rem;border-radius:14px}
  .slk-text .verse p{font-size:1.06rem;line-height:2}
  .slks{grid-template-columns:1fr}
}
