/* Sankara Natham — the celestial sanctuary */
:root{--paper:#f8f5ee;--sand:#f0eade;--line:#e4dac8;--saffron:#a85f2b;--saffron-deep:#8d4b21;--muted:#777063;--shadow:0 14px 40px rgba(38,30,17,.055)}
html{scroll-padding-top:100px}
body{background:var(--paper)}
.wrap{width:min(1280px,100% - 80px)}
.topbar,[data-theme="dark"] .topbar{background:rgba(10,17,32,.97);border-bottom:1px solid #ffffff12}
.topbar .wrap{height:90px;gap:22px}
.brand .wordmark{--wm:25px}.nav{gap:22px}.nav a{font-size:13px;color:#d3cdbf}.langbtn{font-size:12px;height:35px;padding:0 12px}.themebtn{width:35px;height:35px;margin-left:0}
.strip,[data-theme="dark"] .strip{background:#111b2c;color:#cac3b3;border-bottom:1px solid #ffffff0b;font-size:12px}
.strip .wrap{min-height:37px;gap:20px;padding:5px 0}.strip a,[data-theme="dark"] .strip a{color:#dfbd7f;text-decoration:none;font-size:12px}.strip .dot{width:5px;height:5px;background:#d6b77e;animation:none}
.hero.sanctuary,[data-theme="dark"] .hero.sanctuary{isolation:isolate;background:#0b1222;color:#f8f1e4;overflow:hidden;min-height:0;border-bottom:1px solid #c9a66744}
.sanctuary-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 78% 45%,#25324a60,transparent 52%),radial-gradient(ellipse at 15% 100%,#25334d55,transparent 65%)}
.sanctuary-atmosphere::after{content:"";position:absolute;inset:0;background-image:url('assets/chakra-halo.webp');background-size:1000px;background-repeat:no-repeat;background-position:-790px 50%;opacity:.04}
.aura{position:absolute;width:65%;height:75%;filter:blur(70px);border-radius:50%;animation:aura-drift 18s ease-in-out infinite alternate;opacity:.23}
.aura-one{left:40%;top:0;background:radial-gradient(ellipse,#ac763a55,transparent 70%)}
.aura-two{left:30%;top:35%;background:radial-gradient(ellipse,#657ca480,transparent 65%);animation-delay:-9s}
.sacred-dust{position:absolute;inset:0}.sacred-dust i{position:absolute;left:var(--x);bottom:-15px;width:var(--size);height:var(--size);background:#e8cd94;border-radius:50%;box-shadow:0 0 9px #e9c58580;opacity:0;animation:sacred-rise var(--duration) var(--delay) linear infinite}
.hero.sanctuary .sanctuary-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:620px;gap:14px;padding:44px 0 28px;z-index:1}
.sanctuary .hero-text{max-width:100%;position:relative;z-index:2;padding:5px 0 25px}
.sanctuary-eyebrow{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.2em;color:#d8bc89;text-transform:uppercase;margin-bottom:28px}
.sanctuary-eyebrow>span:first-child{width:27px;height:1px;background:#d8bc89}
.hero.sanctuary h1,[data-lang="ta"] .hero.sanctuary h1{font-family:var(--tamil);font-size:clamp(37px,3.7vw,55px);line-height:1.48;letter-spacing:-.02em;font-weight:500;margin:0 0 24px;color:#fcf4e7}
.hero.sanctuary h1 em{font-style:normal;color:#e4bd79}
[data-lang="en"] .hero.sanctuary h1{font-family:var(--display);font-size:clamp(58px,5.5vw,82px);line-height:1.02;letter-spacing:-.035em;font-weight:500}
[data-lang="en"] .hero.sanctuary h1 em{font-style:italic;font-weight:500}
.hero.sanctuary p{color:#b9bdc8;font-size:15px;line-height:1.95;max-width:440px;margin:0 0 30px}
.sanctuary .btns{gap:24px;align-items:center}.sanctuary .btn.primary{background:linear-gradient(110deg,#ecd09b,#d7b278);color:#192234;border-radius:5px;height:53px;font-size:13px;font-weight:600;box-shadow:0 8px 35px #d8ac5020;padding:0 21px;gap:20px}
.sanctuary .btn.primary:hover{box-shadow:0 8px 38px #d8ac5040}.sanctuary .btn.link{color:#f3e6cf;font-size:13px;font-weight:500;border:0;gap:13px;padding:8px 0}
.hero-footnote{display:flex;align-items:center;gap:12px;color:#89909e;font-size:10px;margin-top:37px;letter-spacing:.04em}.footnote-line{height:1px;width:30px;background:#8e785444}
.sanctum-scene{position:relative;width:min(100%,570px);justify-self:end;aspect-ratio:1;min-width:0;align-self:center}
.sanctum-glow{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse,#dfb6651f,transparent 68%);animation:sanctum-breathe 8s ease-in-out infinite}
.chakra-halo{position:absolute;top:-4%;left:-4%;width:108%;height:108%;object-fit:contain;opacity:.52;animation:chakra-turn 160s linear infinite;filter:drop-shadow(0 0 12px #d6b97618);pointer-events:none}
.sanctum-object{position:absolute;z-index:1;width:78%;height:88%;left:11%;top:8%;object-fit:contain;filter:drop-shadow(0 18px 30px #0009);pointer-events:none}
.sanctum-caption{position:absolute;bottom:-2%;left:0;right:0;text-align:center;z-index:2;color:#ead2a1;font-family:var(--tamil);font-size:18px;letter-spacing:.05em}
.sanctum-caption small{display:block;font-family:var(--body);font-size:8px;letter-spacing:.35em;color:#939199;margin-top:9px}
.hero.sanctuary .sanctuary-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;padding:18px 0 22px;border-top:1px solid #e5c38818;z-index:2}
.explore-cue{display:flex;align-items:center;gap:22px;color:#aaaeb8!important;font-size:10px;letter-spacing:.08em;text-decoration:none}
.explore-cue>span:last-child{font-size:18px;color:#e4bd79}.motion-toggle{display:flex;align-items:center;gap:8px;color:#acb1bb;border:1px solid #ffffff20;border-radius:30px;background:transparent;font-size:10px;min-height:34px;padding:6px 13px}
.motion-toggle:hover{background:#ffffff0c}.motion-status{width:7px;height:9px;border-left:2px solid #d5ba88;border-right:2px solid #d5ba88}.motion-toggle[aria-pressed="true"] .motion-status{border:0;border-left:7px solid #d5ba88;border-top:4px solid transparent;border-bottom:4px solid transparent;height:0}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
@keyframes chakra-turn{to{transform:rotate(360deg)}}
@keyframes sacred-rise{0%{transform:translate(0,0);opacity:0}15%,70%{opacity:.48}100%{transform:translate(35px,-650px);opacity:0}}
@keyframes aura-drift{to{transform:translate(-8%,12%) scale(1.15)}}
@keyframes sanctum-breathe{50%{opacity:.55;transform:scale(.92)}}
.skybar{background:#101c2f;border-bottom:1px solid #c8ac7938}.skybar .sky-bg{opacity:.22}.sb-row{min-height:91px;justify-content:space-between;gap:18px}.c-item small{font-size:9px;color:#9da5b4;letter-spacing:.12em}.c-item b{font-size:15px;line-height:1.6}.c-item span{font-size:11px}.c-hint{font-size:11px;border-color:#d4ba8350}
.devotional-paths{padding:66px 0 38px;background:var(--paper)}
.path-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.section-kicker{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:600;letter-spacing:.13em;color:var(--saffron-deep);margin-bottom:15px;line-height:1.8}
.path-heading h2{font-family:var(--tamil);font-size:30px;font-weight:500;line-height:1.4;margin:0;color:var(--ink)}
[data-lang="en"] .path-heading h2{font-family:var(--display);font-size:43px;letter-spacing:-.03em;font-weight:500}.path-heading p{margin:0 0 4px;color:var(--muted);font-size:12px}
.tiles{gap:0;padding:30px 0 0}.tile{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;align-items:flex-start;text-align:left;padding:18px 22px;gap:8px}.tile:first-child{padding-left:0}.tile:last-child{border-right:0}.tile .ic{width:43px;height:43px;border-radius:12px;color:var(--saffron-deep);background:transparent;box-shadow:none;margin-bottom:8px;justify-content:start}.tile .ic svg{width:27px;height:27px}.tile b{font-size:14px;font-weight:600}.tile .sub{font-size:11px;color:var(--muted)}.tile:hover{box-shadow:none;transform:translateY(-5px)}.tile::after{display:none}
.tl-sec{margin-top:24px}.tl-card{border-radius:10px;background:var(--card);box-shadow:none;border-color:var(--line)}.special-card{border-radius:10px;background:#203b37;box-shadow:none}.special-card h3{color:#f2d7a2}.glance-card{border-radius:10px;box-shadow:none}.glance-card .first{background:#1c2b3c}.glance-card>div{padding:24px 20px}
section.block{padding:76px 0}.section-number{font-family:var(--display);font-size:22px;color:var(--brass);padding-right:14px;border-right:1px solid var(--line)}.sec-head{margin-bottom:33px}.sec-head .sub{font-size:14px;line-height:1.8;max-width:620px}.sec-head h2,[data-lang="ta"] .sec-head h2{font-size:33px;line-height:1.4;font-weight:500}.sec-head .ornament{opacity:.65}
#panchangam{border-top:1px solid var(--line);margin-top:65px}.seva-bg{background:var(--sand)}.rasi{box-shadow:none;border-radius:10px;transition:transform .25s,box-shadow .25s}.rasi:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.feature{border-radius:14px;overflow:hidden}.vcard .thumb{border-radius:10px}.chip,.all-btn{border-radius:5px}.vgrid{gap:30px 24px}
.practice{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pcard{border:1px solid var(--line);border-radius:14px;box-shadow:none;background:var(--card);padding:35px 25px}.pcard:first-child{border-top:3px solid #ba9560}.pcard:nth-child(2){border-top:3px solid #667f76}.pcard:nth-child(3){border-top:3px solid #73869b}.post{border-radius:10px;box-shadow:none}.cta{background:#162739}footer{background:#0a1423}
[data-theme="dark"] .section-kicker{color:#c6aa79}[data-theme="dark"] .path-heading h2{color:var(--ink)}[data-theme="dark"] .special-card{background:#1c3734}
@media(min-width:1081px) and (max-width:1280px){.wrap{width:calc(100% - 48px)}.topbar .wrap{gap:14px}.nav{gap:14px}.nav a{font-size:11px}.brand .wordmark{--wm:22px}.sanctuary .btns{gap:15px}}
@media(max-width:1080px){.wrap{width:calc(100% - 48px)}.topbar .wrap{height:78px}.hero.sanctuary .sanctuary-layout{min-height:610px;grid-template-columns:1.05fr 1fr;padding:40px 0 32px;gap:0}.hero.sanctuary h1,[data-lang="ta"] .hero.sanctuary h1{font-size:36px}.hero.sanctuary p{font-size:13px}.sanctuary .btns{gap:20px}.sanctuary .btn.primary{font-size:12px;padding:0 16px}.hero-footnote{font-size:9px}.sanctum-scene{align-self:center}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}.tile:nth-child(3){border:0}.tile:nth-child(4){padding-left:0}.sb-row{justify-content:flex-start}.c-hint{margin-left:auto}.path-heading p{display:none}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.topbar .wrap{height:72px;gap:12px}.brand .wordmark{--wm:22px}.langbtn{margin-left:auto;padding:0 10px}.strip .wrap{font-size:10px;gap:8px;min-height:37px;flex-wrap:nowrap}.strip a{font-size:10px;white-space:nowrap}.strip .dot{margin-right:5px}.hero.sanctuary .sanctuary-layout{display:flex;flex-direction:column;min-height:0;padding:42px 0 20px}.sanctuary .hero-text{width:100%;padding:0;text-align:center}.sanctuary-eyebrow{justify-content:center;font-size:9px;margin-bottom:20px}.sanctuary-eyebrow>span:first-child{width:18px}.hero.sanctuary h1,[data-lang="ta"] .hero.sanctuary h1{font-size:36px;line-height:1.5;margin-bottom:18px}.hero.sanctuary h1 em br{display:none}[data-lang="en"] .hero.sanctuary h1{font-size:55px;line-height:1.02;max-width:370px;margin-inline:auto}[data-lang="en"] .hero.sanctuary h1 em br{display:block}.hero.sanctuary p{font-size:12px;line-height:1.9;max-width:335px;margin:0 auto 24px}.sanctuary .btns{justify-content:center;gap:16px}.sanctuary .btn.primary{font-size:11px;min-height:48px;height:auto;padding:12px 16px;gap:12px}.sanctuary .btn.link{font-size:11px}.hero-footnote{display:none}.sanctum-scene{width:min(100%,410px);margin-top:32px;aspect-ratio:1}.sanctum-caption{font-size:16px;bottom:-1%}.sanctum-caption small{font-size:7px}.hero.sanctuary .sanctuary-bottom{padding:17px 0;gap:10px;margin-top:8px}.explore-cue{font-size:8px;gap:9px;letter-spacing:0}.motion-toggle{font-size:9px;padding:6px 10px}.sb-row{gap:12px 20px;padding:16px 0}.c-item b{font-size:13px}.c-item span{font-size:10px}.c-item small{font-size:8px}.c-moon{gap:9px}.c-moon canvas{width:33px;height:33px}.sb-row>.c-item{flex:1 0 34%}.c-hint{min-height:34px;font-size:10px}.sb-row .c-next{display:none}.devotional-paths{padding:40px 0 20px}.path-heading h2{font-size:24px}[data-lang="en"] .path-heading h2{font-size:33px}.section-kicker{font-size:8px;margin-bottom:12px}.tiles{padding-top:22px;gap:17px 0}.tile{padding:8px 13px;gap:8px}.tile .ic{margin:0;width:32px;height:32px}.tile b{font-size:11px;line-height:1.7}.tile .sub{display:none}.tl-sec{gap:14px}.glance-card>div{padding:17px 15px}.glance-card .first{padding:20px}.sec-head h2,[data-lang="ta"] .sec-head h2{font-size:27px}.sec-head .sub{font-size:12px}section.block{padding:48px 0}#panchangam{margin-top:40px}.pcard{padding:28px 20px}.rasi:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.sanctuary *, .sanctuary *::before,.sanctuary *::after{animation:none!important}.sacred-dust i{opacity:.25}.motion-toggle{display:none}.tile,.rasi{transition:none}}
/* Long Tamil words must fit the narrowest layouts. */
.cta .wrap>div{min-width:0;max-width:100%}.cta h3,.cta p{overflow-wrap:anywhere}
@media(max-width:680px){
  [data-lang="ta"] .hero.sanctuary h1{font-size:32px;line-height:1.5}
  [data-lang="ta"] .hero.sanctuary h1 em br{display:block}
  .sb-events .ev{max-width:100%;flex-wrap:wrap;gap:5px 9px}
  .sb-events .ev b,.sb-events .ev span{white-space:normal}
  .cta .wrap{flex-wrap:wrap}.cta h3{font-size:26px}.cta p{font-size:13px}
}

/* Gravity-led drop, tiny impact beads and a curved, fading film of water. */
.abhishekam-water{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
.water-drop{opacity:0;animation:water-fall 3s linear infinite}
.water-contact{opacity:0;transform-box:fill-box;transform-origin:center;animation:water-contact 3s linear infinite}
.water-spray circle{opacity:0;animation-duration:3s;animation-timing-function:linear;animation-iteration-count:infinite}
.spray-left{animation-name:water-spray-left}.spray-right{animation-name:water-spray-right}.spray-near{animation-name:water-spray-near}
.water-wetness,.water-rivulet{fill:none;stroke:#d4e4eb;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.water-wetness{stroke-width:2;animation:water-wetness 3s linear infinite}
.water-rivulet{stroke-width:1.15;stroke-dasharray:.12 1;animation:water-rivulet 3s linear infinite}
.water-rivulet-side{stroke-width:.7;stroke-dasharray:.08 1;animation-name:water-rivulet-side}
@keyframes water-fall{
  0%{opacity:0;transform:translate(261px,-12px) scale(.85,1)}
  3%{opacity:.7;transform:translate(261.2px,-8.5px) scale(.9,1.05)}
  7%{opacity:.8;transform:translate(261.4px,7px) scale(.9,1.1)}
  11%{opacity:.85;transform:translate(261.6px,35px) scale(.9,1.2)}
  15%{opacity:.85;transform:translate(261.8px,75px) scale(.85,1.3)}
  19.8%{opacity:.85;transform:translate(262px,139px) scale(.85,1.35)}
  20.3%,100%{opacity:0;transform:translate(262px,143px) scale(1.6,.4)}
}
@keyframes water-contact{0%,19%{opacity:0;transform:scale(.2)}21%{opacity:.5;transform:scale(.6)}29%,100%{opacity:0;transform:scale(1.35,.7)}}
@keyframes water-spray-left{0%,20%{opacity:0;transform:translate(0,0)}21%{opacity:.65;transform:translate(-2px,-2px)}25%{opacity:.4;transform:translate(-7px,-5px)}32%,100%{opacity:0;transform:translate(-13px,5px)}}
@keyframes water-spray-right{0%,20%{opacity:0;transform:translate(0,0)}21%{opacity:.5;transform:translate(2px,-1px)}25%{opacity:.35;transform:translate(6px,-3px)}30%,100%{opacity:0;transform:translate(10px,4px)}}
@keyframes water-spray-near{0%,20%{opacity:0;transform:translate(0,0)}22%{opacity:.4;transform:translate(1px,-4px)}28%,100%{opacity:0;transform:translate(3px,3px)}}
@keyframes water-rivulet{0%,20%{opacity:0;stroke-dashoffset:.13}24%{opacity:.45;stroke-dashoffset:0}38%{opacity:.38;stroke-dashoffset:-.3}58%{opacity:.28;stroke-dashoffset:-.75}72%,100%{opacity:0;stroke-dashoffset:-1}}
@keyframes water-rivulet-side{0%,21%{opacity:0;stroke-dashoffset:.09}25%{opacity:.25;stroke-dashoffset:0}43%{opacity:.12;stroke-dashoffset:-.65}56%,100%{opacity:0;stroke-dashoffset:-1}}
@keyframes water-wetness{0%,22%{opacity:0;stroke-dasharray:0 190}42%{opacity:.075;stroke-dasharray:90 190}64%{opacity:.055;stroke-dasharray:170 190}93%,100%{opacity:0;stroke-dasharray:170 190}}

/* A printed Tamil tear-off calendar: ink, ruled sections, perforation and layered paper. */
.pan-grid{grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:40px}
.sheet-stage{padding-bottom:8px;isolation:isolate}
.sheet-stage::before,.sheet-stage::after{content:"";position:absolute;z-index:-1;inset:10px 4px 3px;background:#e9e0cb;border:1px solid #cabf9e;border-radius:2px;transform:rotate(-.6deg)}
.sheet-stage::after{inset:13px 8px 0;transform:rotate(.7deg);background:#f2e9d6}
.sheet{border-radius:3px;background:#fffbee;background-image:repeating-linear-gradient(0deg,#76542a03 0,#76542a03 1px,transparent 1px,transparent 4px);border:1px solid #cbbda0;box-shadow:0 16px 35px #22140718;color:#272019}
.sheet .bind{height:22px;background:linear-gradient(#f2ead8,#dfd3ba);border-bottom:2px dotted #ad9a7f;gap:52%;padding:0 24px}
.sheet .bind i{width:5px;height:5px;background:#473323;box-shadow:0 1px 1px #fff8,0 0 0 1px #ac9877}
.paper-masthead{text-align:center;padding:19px 10px 14px;border-bottom:3px double #af3b30;color:#aa2c25}
.paper-masthead b{display:block;font-family:var(--tamil);font-size:27px;font-weight:700;line-height:1.5}
.paper-masthead>span{display:block;font-family:var(--body);font-size:9px;letter-spacing:.12em;margin-top:5px}
.sheet .band{display:flex;justify-content:space-between;gap:8px;align-items:center;background:transparent;border-bottom:1px solid #cfb792;color:#493326;padding:9px 16px;font-family:var(--body);font-size:12px;font-weight:600;flex-wrap:wrap}
.sheet .band small{font-size:11px;color:#655345;opacity:1}
.paper-day{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 16px;padding:14px 0 0;color:#a33027;font-family:var(--body);font-weight:700;font-size:16px}.paper-day>span:last-child{font-size:11px;font-weight:500}
.sheet .big{display:grid;grid-template-columns:minmax(0,1fr) 1.35fr minmax(0,1fr);align-items:center;padding:15px 16px 3px;gap:8px;text-align:center}
.sheet .num{font-family:Arial,Helvetica,sans-serif;font-size:clamp(112px,11vw,150px);font-weight:800;line-height:1;letter-spacing:-.07em;color:#22201b;font-variant-numeric:lining-nums tabular-nums;padding-right:.07em}
.sheet .num.sun{color:#a52c24}
.paper-tamil-date{display:flex;flex-direction:column;gap:5px;color:#a33027}.paper-tamil-date small{font-family:var(--body);font-size:9px;letter-spacing:.03em}.paper-tamil-date b{font:700 34px/1.2 Arial,sans-serif}.paper-tamil-date>span{font-size:11px;font-family:var(--body)}
.paper-sun{display:flex;flex-direction:column;gap:5px;align-items:center}.paper-sun span{font-size:8px;color:#735946;letter-spacing:.03em}.paper-sun b{font:600 11px/1.4 Arial,sans-serif}.paper-sun b+span{margin-top:10px}
.paper-gregorian{text-align:center;font:600 10px/1.6 Arial,sans-serif;letter-spacing:.04em;color:#6e5949;margin-bottom:15px}
.sheet .fest{margin:0 16px 13px;justify-content:center;gap:5px}.sheet .fchip{background:transparent;color:#9b2e24;padding:3px 5px;font:600 11px/1.6 var(--body);border:1px solid #c6ab83;border-radius:0}.sheet .fchip.big-f{background:#a6372b;color:#fffaed;border-color:#a6372b}.sheet .fchip.muhurtham-chip{background:#edf0df;color:#395329}
.paper-times{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid #a6372b;border-bottom:1px solid #bd8c63;margin:0 16px}
.paper-times>div{padding:12px 8px;display:flex;flex-direction:column;gap:5px;text-align:center;color:#355235}.paper-times>div+div{border-left:1px solid #cdb795;color:#a33027}
.paper-times small{font:700 12px/1.6 var(--body);margin-bottom:2px}.paper-times b{font:600 11px/1.5 Arial,sans-serif}.paper-times span{font-size:8px;line-height:1.5;color:#785943}
.paper-lunar{display:grid;grid-template-columns:1fr 1fr;margin:0 16px;border-bottom:1px solid #bd8c63}.paper-lunar>div{display:flex;flex-direction:column;gap:5px;padding:12px 8px;text-align:center}.paper-lunar>div+div{border-left:1px solid #cdb795}.paper-lunar small{font-size:9px;color:#785943}.paper-lunar b{font:600 14px/1.6 var(--body)}.paper-lunar span{font:500 10px/1.5 Arial,sans-serif;color:#685344}
.paper-details{margin:0 16px}.paper-details summary{padding:13px 0;cursor:pointer;font:600 12px/1.6 var(--body);color:#8c3025}.paper-details summary:focus-visible{outline-color:#a6372b}.sheet .paper-details table{width:100%;margin:0 0 12px;font-size:12px}.sheet .paper-details td{border-top:1px solid #d8c7a8;padding:8px 4px;line-height:1.8}.sheet .paper-details td:first-child{width:37%;font-size:11px}.sheet .paper-details td .ta{font-family:var(--body);font-size:12px}.sheet .paper-details td .till{font-size:10px}
.sheet-foot{border-top:2px dotted #bea681;padding:10px 16px 15px;font:400 9px/1.8 var(--body);color:#78634e}
.cell .d{font-family:Arial,sans-serif;font-weight:700;line-height:1.4}.month-head h3{font-family:var(--body);font-size:21px;line-height:1.5}.month-head h3 small{font-family:var(--body);font-size:12px}.japa .c b{font-family:Arial,sans-serif;font-weight:600;font-size:45px}
.planner-shortcuts{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.planner-shortcuts a{padding:11px 13px;border:1px solid var(--line);border-radius:5px;text-decoration:none;font-size:12px;color:var(--saffron-deep);background:var(--card)}

/* Published festival and wedding-date planner. */
.sacred-dates{border-top:1px solid var(--line);background:var(--sand)}
.planner-region{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:8px 14px;color:var(--muted)}
.planner-toolbar{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:24px 0 15px}.planner-kinds{display:flex;border:1px solid var(--line);padding:4px;border-radius:7px;background:var(--card);gap:4px}
.planner-kinds button{min-height:44px;border:0;border-radius:4px;padding:10px 19px;background:transparent;color:var(--ink);font:600 13px var(--body)}.planner-kinds button[aria-pressed="true"]{background:#233b38;color:#fff2d5}
.planner-month{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.planner-month select{min-height:44px;border:1px solid var(--line);border-radius:5px;background:var(--card);color:var(--ink);font:500 12px var(--body);padding:10px 30px 10px 12px}
.planner-upcoming{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted);cursor:pointer;min-height:44px}.planner-upcoming input{width:17px;height:17px;accent-color:#315246}
.planner-context{font-size:12px;color:var(--muted);line-height:1.8;max-width:820px;margin:14px 0}.planner-count{font-size:11px;color:var(--muted);margin:22px 0 12px}
.festival-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.festival-card{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:23px 18px;min-width:0;transition:box-shadow .2s,border-color .2s}.festival-card:hover{border-color:#b9a17a;box-shadow:var(--shadow)}
.festival-date{flex:0 0 85px;display:flex;flex-direction:column;gap:5px;text-align:center;border-right:1px solid var(--line);padding-right:14px}.festival-date b{font:600 38px/1 Arial,sans-serif;color:var(--saffron-deep)}.festival-date>span{font-size:10px;color:var(--ink)}.festival-date small{font-size:9px;color:var(--muted)}.festival-content{min-width:0}.festival-type{font-size:8px;letter-spacing:.12em;color:var(--muted)}.festival-card h3{font:600 14px/1.8 var(--body);margin:7px 0 13px;color:var(--ink);overflow-wrap:anywhere}
.festival-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.festival-actions button{border:0;border-bottom:1px solid var(--line);padding:7px 0;background:transparent;color:var(--saffron-deep);font:600 10px var(--body);min-height:36px;text-align:left}.festival-actions a{font-size:10px;color:var(--muted)}
.muhurtham .festival-date b{color:#446956}[data-theme="dark"] .muhurtham .festival-date b{color:#bad1bd}[data-theme="dark"] .festival-date b{color:#e7c68e}
.more-dates{display:block;margin:25px auto 0;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:12px 25px;border-radius:5px;font:600 12px var(--body);min-height:44px}.more-dates[hidden]{display:none}
.planner-empty{grid-column:1/-1;background:var(--card);border:1px dashed var(--line);padding:30px;border-radius:8px}.planner-empty b{font-size:16px}.planner-empty p{font-size:13px;color:var(--muted);line-height:1.8}
.planner-sources{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.9}.planner-sources p{max-width:850px}.planner-sources a{display:inline-block;margin:0 18px 10px 0;color:var(--saffron-deep);text-underline-offset:4px}.planner-sources small{display:block;font-size:10px}
.devotional-guides p{font-size:13px;line-height:1.9;color:var(--muted);margin:14px 0}.devotional-guides a{font-size:12px;font-weight:600;text-decoration:none}.devotional-guides .post h3{font-size:22px}.dayline .ev.past{opacity:.72}
@media(max-width:1080px){.pan-grid{grid-template-columns:minmax(0,1fr)}.festival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-stage{max-width:500px;margin:auto}.controls{justify-content:center}.sheet .num{font-size:148px}}
@media(max-width:680px){.festival-grid{grid-template-columns:1fr}.festival-card{padding:19px 16px}.festival-date{flex-basis:84px}.planner-toolbar{gap:12px}.planner-kinds{width:100%}.planner-kinds button{flex:1;padding:10px;font-size:12px}.planner-month{width:100%;justify-content:space-between}.planner-month select{flex:1;max-width:250px}.sheet .num{font-size:112px}.sheet .big{gap:4px;padding-inline:12px}.paper-tamil-date b{font-size:29px}.paper-tamil-date>span{font-size:10px}.sheet .band{font-size:10px}.paper-day{font-size:13px}.paper-day>span:last-child{font-size:10px}.paper-masthead b{font-size:25px}.planner-shortcuts a{flex:1;text-align:center;font-size:11px}.sheet .paper-details table{font-size:11px}.sheet .paper-details td:first-child{width:35%;font-size:10px}.paper-times b{font-size:10px}.paper-times small{font-size:11px}.paper-lunar b{font-size:13px}}
@media(prefers-reduced-motion:reduce){.abhishekam-water{display:none}}
.annual-marks{position:absolute;right:6px;bottom:7px;display:flex;gap:4px}.annual-marks i,.annual-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}.annual-festival{background:#ae542a}.annual-muhurtham{background:#468372}.annual-legend{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0 8px;font-size:10px;color:var(--muted)}.annual-legend>span{display:flex;gap:6px;align-items:center}.annual-legend small{font-size:9px}
/* Warm ink needs a lighter counterpart on the night palette. */
:root[data-theme="dark"]{--saffron-deep:#dfbd7f}
[data-theme="dark"] .cell.sun .d,[data-theme="dark"] .dow.sun{color:#f18d81}
[data-theme="dark"] .annual-festival{background:#e1a36e}
[data-theme="dark"] .annual-muhurtham{background:#91cbb4}
.festival-actions button,.festival-actions a{font-size:11px}

.leaf3d .face.back{background-color:#eee5d1;background-image:repeating-linear-gradient(0deg,#967c4b08 0,#967c4b08 1px,transparent 1px,transparent 4px)}
.leaf3d .face .sheet{margin:0;border-top:0;border-bottom:0}
@media(prefers-reduced-motion:reduce){.sheet.settle{animation:none}}
/* Keep the lifted sheet inside the calendar area on narrow screens. */
.pan-grid{overflow:clip;overflow-clip-margin:18px}

/* Aarti tracks the visitor's pointer; no automatic circular movement. */
.temple-aarti{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .15s ease}
.aarti-active .temple-aarti{opacity:1}
.temple-aarti-light{position:absolute;left:var(--aarti-x,47%);top:var(--aarti-y,51%);width:36%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#ffbd5f36 0%,#ed92351c 35%,transparent 70%);mix-blend-mode:screen}
.temple-aarti-lamp{position:absolute;left:var(--aarti-x,47%);top:var(--aarti-y,51%);width:20%;transform:translate(-50%,-28%)}
.temple-aarti-lamp img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 9px #ffa82a66) drop-shadow(0 6px 6px #0006)}
@media(prefers-reduced-motion:reduce){.temple-aarti{transition:none}}
