/* A devotional service portal, composed for the Ashramam. */
:root{--wine:#65358a;--deep:#261c3c;--saffron:#9f5f16;--paper:#fcf6f7;--ink:#322d3c;--muted:#716877;--line:#e7dce8}
body{font-size:16px;background:var(--paper)}.topline{background:#261c3c;border:0;color:#e9cfa0;font-size:12px;padding:6px 20px;letter-spacing:.04em}body>header{display:grid;grid-template-columns:1fr auto auto;gap:20px 36px;padding:22px max(5%,calc((100vw - 1200px)/2)) 0;background:linear-gradient(110deg,#221a34,#41365f 70%,#6c527a);color:white;border:0;max-width:none}.brand{color:#fff7e5;font-size:21px;gap:13px}.brand .om{display:grid;place-items:center;border:1px solid #d7b475;border-radius:50%;width:58px;height:58px;background:#fff4d9;color:#704319;font-size:35px;box-shadow:0 0 0 5px #f9dfad10}.header-greeting{display:flex;flex-direction:column;font-size:12px;color:#e1d8eb}.header-greeting strong{color:#ffdfa4;font:23px/1.4 Georgia,serif;letter-spacing:.03em}.language-switch{background:#ffffff0b;border-color:#ffffff35;border-radius:9px;padding:3px}.language-switch button{color:#fff;padding:7px 9px;font-size:14px;border-radius:6px}.language-switch button[aria-pressed=true]{background:#fff3d9;color:#402747}body>header>nav{grid-column:1/-1;display:flex;justify-content:center;gap:8px;padding:9px 16px;margin:0 calc(-1 * max(5vw,calc((100vw - 1200px)/2)));background:#65358a;flex-wrap:wrap;font-size:14px}body>header>nav a{padding:9px 23px;border-radius:7px;text-decoration:none;color:#f9f2ff;font-weight:500}body>header>nav a:hover{background:#ffffff18}body>header>nav a[aria-current=page]{background:#fff1d3;color:#4e2e59;font-weight:700}.donor-ticker{background:white;border-bottom:1px solid var(--line);color:#5a3b6d;padding:8px 0}.ticker-heading{padding-bottom:2px;font-size:12px}.ticker-heading button{color:#65358a;border-color:#d7c3df;padding:3px 10px}.ticker-donor{font-size:14px;border-color:#dfc9e8}.ticker-track{padding:2px 0}.ticker-track>span{font-size:13px}
.portal-banner{max-width:1200px;margin:28px auto 0;position:relative;overflow:hidden;border-radius:24px;background:#2a1a37;box-shadow:0 16px 40px #3f24500b}.portal-slide{min-height:440px;position:relative;display:flex;align-items:center}.banner-image{position:absolute;inset:0 0 0 auto;height:100%;width:65%;object-fit:cover;object-position:center}.portal-slide:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#271a35 0%,#291c38f0 31%,#291b3870 54%,transparent 76%)}.banner-copy{position:relative;z-index:1;color:white;padding:48px 50px 80px;max-width:660px;width:57%}.banner-copy .eyebrow{color:#f5cd84;font-size:11px;letter-spacing:.16em;margin-bottom:17px}.banner-copy h1,.banner-copy h2{font:400 clamp(36px,4vw,56px)/1.12 Georgia,serif;letter-spacing:-.025em;color:#fff9eb;margin-bottom:19px}.banner-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:400px;color:#eee2ee;margin-bottom:25px}.banner-copy .primary{display:inline-flex;width:auto;gap:22px;background:#f4d29a;color:#38253b;border:0;border-radius:8px;padding:12px 21px;font-size:14px;box-shadow:0 3px 0 #b88e5530}.banner-controls{position:absolute;inset:auto 28px 18px;z-index:2;display:flex;align-items:center;gap:8px}.banner-controls button{display:grid;place-items:center;width:34px;min-height:34px;border:1px solid #ffffff60;border-radius:50%;background:#28183570;color:white;cursor:pointer;padding:5px}.banner-controls button:hover{background:#654479}.banner-controls #banner-pause{width:auto;min-width:62px;border-radius:20px;font-size:12px;padding:5px 12px}.banner-dots{display:flex;gap:8px;flex:1;align-items:center}.banner-dots button{width:8px;height:8px;min-height:0;padding:0;border:0;background:#ffffff70}.banner-dots button[aria-pressed=true]{width:26px;border-radius:6px;background:#f4d29a}
.portal-services{max-width:1200px;margin:auto;padding:32px 0 38px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-heading h2{font:600 25px/1.3 Arial,sans-serif;margin:0;letter-spacing:-.015em}.section-heading .eyebrow{font-size:10px;margin-bottom:5px;color:#8b6b94}.section-heading>span{font-size:12px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.service-link{display:flex;align-items:center;text-align:center;flex-direction:column;padding:12px 8px 18px;border-radius:14px;gap:7px;min-width:0}.service-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:0 5px 15px #42204f12;border:1px solid #f0e5ed;margin-bottom:8px;color:#79439a}.service-icon svg{width:32px;height:32px}.service-link strong{font-size:14px;font-weight:600;line-height:1.4}.service-link>span:last-child{font-size:12px;line-height:1.4;color:var(--muted)}.service-link:hover{background:#fff}.service-link:hover .service-icon{background:#66358a;color:white}.pilgrim-guide{max-width:1200px;margin:0 auto 36px;background:white;border:1px solid var(--line);border-radius:16px;padding:26px;display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:25px}.guide-intro h2{font-size:28px;margin-bottom:13px}.guide-intro .eyebrow{font-size:10px;margin-bottom:10px}.guide-intro p:last-child,.guide-item p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:12px}.guide-item{border-left:1px solid var(--line);padding-left:23px}.guide-number{font:26px Georgia,serif;color:#bda2cd;display:block;margin-bottom:12px}.guide-item h3{font:600 15px/1.45 Arial,sans-serif;margin-bottom:8px}.guide-item a{display:flex;gap:10px;align-items:center;font-size:12px;color:#65358a;font-weight:600}.guide-item a svg{width:16px;height:16px}
.primary{background:var(--wine);border-color:var(--wine);border-radius:8px;min-height:48px}.primary:hover{background:#47255f}.secondary{border-radius:8px;border-color:#cfb4dc}.secondary:hover{background:#f5edf8}.booking-card,.donation-box{border:1px solid var(--line);border-top:4px solid #9168a5;border-radius:16px;box-shadow:0 9px 30px #4b24560a;background:white}.card-heading h2{color:var(--wine)}.stay{max-width:1300px;gap:42px;padding-block:38px 55px}.stay h1{font-size:40px}.arunachala-art{border-radius:16px;border-color:#d7c1a0;background:#302039;padding:6px;overflow:hidden;box-shadow:none}.arunachala-art figcaption{font-size:12px;color:#f4d9ac}.rate-card{border-radius:12px;border-color:var(--line);border-top:3px solid #b795c8}.rate-card tbody tr:nth-child(even){background:#faf5fc}.room-summary,.payment-details{background:#f8f2fb;border-color:#e5d7ee;border-radius:8px}.coupon-box{border-radius:8px;background:#fdfaff}input,select,textarea{border-color:#d9cddd;background:#fffdfd;border-radius:7px}input:focus,select:focus,textarea:focus{border-color:#795098}.annadhanam{background:#f7eef8;border-color:var(--line)}.lamp{border-radius:16px}.lunch-highlight{background:#392348;border:0;padding-block:35px}.navaratri-campaign{max-width:1200px;margin:0 auto 36px;padding:32px;border:0;border-radius:18px;background:linear-gradient(120deg,#392348,#624378);grid-template-columns:1.2fr 1fr;gap:35px}.navaratri-campaign h2{font-size:35px}.navaratri-campaign p{font-size:15px}.navaratri-campaign .primary{background:#f5d39b;color:#3f2947;border:0;border-radius:8px;display:inline-flex;width:auto;padding-inline:25px}.donor-panel{border-radius:12px;border-color:#decce4;background:#fffbf9}.donor-panel h3{font:600 22px/1.3 Georgia,serif}.donor-panel .small{font-size:12px}.guruji{max-width:1300px;margin:auto;padding:40px 5% 55px;gap:50px}.guruji h2{font-size:40px}.guruji p{font-size:15px}.video-card{overflow:hidden;border-radius:16px;border:1px solid var(--line)}.video-caption{background:#f1e8f5;font-size:12px}.community{background:#f1e8f4;border-color:#dfcfe7;border-top-width:1px}.community h2{font-size:32px}.flat-gallery{background:#f5edf8;border-color:var(--line)}.facility-list li{background:white;border-color:#e0cfe8;font-size:13px}.flat-photos figure{border-color:#ddcce5;background:#fff}.flat-photos figcaption{font-size:14px}.ashram-location{background:#faf5fb;border-color:var(--line)}.ashram-location iframe{border-color:#d7c3e1}.mobile-actions{display:none}footer{border-top:1px solid #76557d;background:#281c35;padding-block:35px}footer strong{font-family:Georgia,serif;font-size:18px}footer span{font-size:12px;color:#d8c8df}.skip:focus{z-index:99;color:#35203f}
@media(min-width:850px){.flat-photos{grid-template-columns:1fr 1fr 1fr}.flat-photos .exterior-photo{grid-row:auto}.flat-photos img{height:280px;object-fit:cover}.flat-photos .exterior-photo img{object-position:center 65%}}
@media(max-width:1280px){.portal-banner,.portal-services,.pilgrim-guide,.navaratri-campaign{margin-left:5%;margin-right:5%}}
@media(max-width:1000px){body>header{grid-template-columns:1fr auto;gap:18px}.header-greeting{display:none}.banner-copy{width:64%;padding-left:32px;padding-right:20px}.pilgrim-guide{grid-template-columns:1fr 1fr;gap:25px}.guide-item{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.guide-intro{align-self:center}}
@media(max-width:700px){html{scroll-padding-top:18px}body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.topline{font-size:10px;padding:6px 12px;letter-spacing:0}body>header{padding:18px 5% 0;grid-template-columns:1fr;gap:14px}.brand{font-size:19px;justify-self:center}.brand .om{width:49px;height:49px;font-size:30px}.language-switch{justify-self:center;align-self:center;gap:5px}.language-switch button{font-size:13px;min-height:36px;padding:6px 13px}body>header>nav{margin:0 -5vw;padding:6px 8px;gap:3px;justify-content:space-evenly;flex-wrap:nowrap}body>header>nav a{padding:10px 12px;font-size:12px;white-space:nowrap}.portal-banner{margin-top:18px;border-radius:18px}.portal-slide{min-height:540px;align-items:end}.banner-image{width:100%;height:62%;inset:0 0 auto;object-fit:cover}.portal-slide:after{background:linear-gradient(0deg,#281a35 0%,#281a35 34%,#281a35d9 43%,#281a3510 72%,transparent 100%)}.banner-copy{width:100%;padding:260px 24px 65px;max-width:none}.banner-copy h1,.banner-copy h2{font-size:36px;margin-bottom:12px}.banner-copy .eyebrow{font-size:9px;margin-bottom:12px}.banner-copy>p:not(.eyebrow){font-size:13px;line-height:1.6;margin-bottom:17px;max-width:100%}.banner-copy .primary{font-size:13px;padding:9px 16px;min-height:43px}.banner-controls{inset:auto 20px 15px}.banner-controls button{min-height:30px;width:30px}.banner-dots button{min-height:0}.portal-services{padding:28px 0 24px}.section-heading{margin-bottom:15px}.section-heading h2{font-size:21px}.section-heading>span{display:none}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 7px}.service-link{padding:9px 3px 12px;gap:6px}.service-icon{width:62px;height:62px;margin-bottom:4px}.service-icon svg{width:28px;height:28px}.service-link strong{font-size:12px}.service-link>span:last-child{font-size:10px}.pilgrim-guide{padding:23px;grid-template-columns:1fr;gap:16px;margin-bottom:24px}.guide-intro h2{font-size:28px}.guide-intro p:last-child{margin:0}.guide-item{position:relative;padding:18px 0 0 40px}.guide-number{position:absolute;left:0;top:18px;font-size:24px}.guide-item p{margin-bottom:8px}.navaratri-campaign{padding:24px;grid-template-columns:1fr;gap:22px;margin-bottom:20px}.navaratri-campaign h2{font-size:29px}.navaratri-campaign p{font-size:13px}.navaratri-campaign .primary{width:100%;font-size:13px}.donor-panel{padding:20px}.guruji{padding:30px 6% 38px;gap:22px;grid-template-columns:1fr}.guruji h2{font-size:32px}.stay{padding:28px 5% 40px}.stay h1{font-size:34px}.booking-card,.donation-box{padding:23px}.flat-gallery{padding:34px 5%}.flat-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 0 12px;scrollbar-width:thin;scrollbar-color:#b897ce #f5edf8}.flat-photos figure{flex:0 0 88%;scroll-snap-align:start;min-width:0}.flat-photos img,.flat-photos .exterior-photo img{height:300px;max-height:300px;object-fit:cover}.flat-photos .exterior-photo img{object-position:center 60%}.gallery-nav{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.gallery-nav button{background:white;color:#65358a;border:1px solid #dbc6e4;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}.gallery-nav span{font-size:12px;color:var(--muted)}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;inset:auto 0 0;background:#fffcff;box-shadow:0 -5px 24px #28163312;border-top:1px solid #e7d7ed;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:5px;z-index:30}.mobile-actions a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 8px;color:#726179;border-radius:10px;font-size:11px;line-height:1.4;text-decoration:none;min-height:48px}.mobile-actions a:first-child{background:transparent;color:#726179;padding:4px 8px}.mobile-actions a[aria-current=page]{color:#643386;background:#f1e6f7;font-weight:700}.mobile-actions svg{width:21px;height:21px}.community{padding:32px 6%}footer{padding:28px 6%}footer strong{font-size:17px}html[lang=te] .banner-copy h1,html[lang=te] .banner-copy h2,html[lang=kn] .banner-copy h1,html[lang=kn] .banner-copy h2,html[lang=hi] .banner-copy h1,html[lang=hi] .banner-copy h2{font-size:29px;line-height:1.5}html[lang=te] .banner-copy .eyebrow,html[lang=kn] .banner-copy .eyebrow,html[lang=hi] .banner-copy .eyebrow{font-size:10px;letter-spacing:0}}
@media(min-width:701px){.gallery-nav{display:none}}@media(max-width:370px){body>header>nav a{padding-inline:7px;font-size:11px}.banner-copy h1,.banner-copy h2{font-size:32px}.banner-copy{padding-inline:20px}.service-link strong{font-size:11px}}
@media(prefers-reduced-motion:no-preference){.service-link,.service-icon{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.service-link:hover .service-icon{transform:translateY(-5px);box-shadow:0 10px 20px #59287422}.banner-image{transition:opacity .35s ease}.mobile-actions a{transition:background .2s ease}.guide-item a:hover svg{transform:translateX(4px)}.guide-item a svg{transition:transform .2s ease}.banner-copy .primary:hover{background:#ffe3b5}}

/* Cinematic devotional motion. A single visitor control can turn it off. */
.motion-toggle{display:inline-block;margin:0 0 0 15px;padding:3px 10px;color:#ffebc6;border:1px solid #d5b58270;border-radius:20px;background:#ffffff0a;font:11px/1.5 Arial,sans-serif;cursor:pointer;vertical-align:middle;min-height:28px}.motion-toggle:hover{background:#ffffff20}.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#cda261,#f6d993,#9c6fc0);transform-origin:left;z-index:80;pointer-events:none}.portal-slide{overflow:hidden}.devotional-glow{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.devotional-glow i{position:absolute;left:calc(6% + var(--spark)*8%);bottom:-15px;width:4px;height:4px;border-radius:50%;background:#ffe5a6;box-shadow:0 0 12px 3px #ffdc8960;opacity:0}.banner-controls{z-index:3}.banner-copy{z-index:2}.service-link{transform-style:preserve-3d}.service-icon{position:relative}.service-icon:after{content:"";position:absolute;inset:-6px;border:1px solid #c6a16d70;border-radius:50%;opacity:0;pointer-events:none}.flat-photos a{display:block;overflow:hidden}.navaratri-campaign{position:relative;overflow:hidden}.navaratri-campaign:before{content:"";position:absolute;width:280px;height:280px;left:-160px;top:-170px;border:1px solid #e4c08640;border-radius:50%;box-shadow:0 0 0 30px #e4c08608,0 0 0 65px #e4c08606,0 0 0 100px #e4c08604;pointer-events:none}.navaratri-campaign>div{position:relative}.gallery-nav button{transition:transform .25s ease,background .25s ease}.gallery-nav button:active{transform:scale(.88)}
@media(prefers-reduced-motion:no-preference){
 html:not([data-motion=off]) .devotional-glow i{animation:sacred-spark calc(8s + var(--spark)*.35s) linear infinite;animation-delay:calc(var(--spark)*-.8s)}
 html:not([data-motion=off]) .brand .om{animation:temple-halo 4s ease-in-out infinite}
 html:not([data-motion=off]) .service-link{transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
 html:not([data-motion=off]) .service-link:hover{transform:perspective(600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px);box-shadow:0 15px 35px #54246612}
 html:not([data-motion=off]) .service-link:hover .service-icon:after{animation:seva-ring 1.6s ease-out infinite}
 html:not([data-motion=off]) .service-icon svg{transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
 html:not([data-motion=off]) .service-link:hover .service-icon svg{transform:scale(1.12) rotate(-6deg)}
 html:not([data-motion=off]) .flat-photos img{transition:transform 1s cubic-bezier(.2,.7,.3,1),filter .8s ease}
 html:not([data-motion=off]) .flat-photos a:hover img{transform:scale(1.08);filter:saturate(1.1)}
 html:not([data-motion=off]) .navaratri-campaign:before{animation:seva-orbit 9s ease-in-out infinite alternate}
 html:not([data-motion=off]) .banner-copy .primary{position:relative;overflow:hidden}
 html:not([data-motion=off]) .banner-copy .primary:after{content:"";position:absolute;inset:-60% auto -60% -70%;width:35%;background:linear-gradient(90deg,transparent,#fff8d780,transparent);transform:rotate(25deg);animation:golden-sweep 6s ease-in-out infinite;pointer-events:none}
 html:not([data-motion=off]) .mobile-actions a:active svg{animation:nav-bounce .5s ease-out}
}
@keyframes sacred-spark{0%{opacity:0;transform:translate3d(0,0,0) scale(.5)}15%{opacity:.65}75%{opacity:.4}100%{opacity:0;transform:translate3d(25px,-410px,0) scale(1.2)}}
@keyframes temple-halo{0%,100%{box-shadow:0 0 0 5px #f9dfad10,0 0 18px #e4bd6b10}50%{box-shadow:0 0 0 10px #f9dfad08,0 0 28px #e4bd6b50}}
@keyframes seva-ring{0%{opacity:.7;transform:scale(.93)}100%{opacity:0;transform:scale(1.25)}}
@keyframes seva-orbit{from{transform:translate(0,0) scale(1)}to{transform:translate(55px,25px) scale(1.15)}}
@keyframes golden-sweep{0%,65%{left:-70%}100%{left:145%}}
@keyframes nav-bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}70%{transform:translateY(1px)}}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}html[data-motion=off] .service-link,html[data-motion=off] .service-icon,html[data-motion=off] .flat-photos img{transform:none!important}html[data-motion=off] .devotional-glow{display:none}html[data-motion=off] .ticker-window{overflow-x:auto}html[data-motion=off] .ticker-group[aria-hidden]{display:none}
@media(prefers-reduced-motion:reduce){.devotional-glow{display:none}.reading-progress{display:none}.service-link,.service-icon,.flat-photos img{transform:none!important}}

/* Year-round donor acknowledgements. */
.donor-gratitude{padding:28px clamp(18px,4vw,56px);background:#faf4e8}.donor-gratitude .donor-panel{max-width:1100px;margin:auto}
