/* Final responsive guardrails, loaded after feature-specific styles. */
html{max-width:100%;overflow-x:clip;scroll-padding-top:100px}body.srm{min-width:0}.srm main,.srm section,.srm .section>*,.srm .section-head>*,.srm .about>*,.srm .visit>*,.srm .support>*{min-width:0}.srm iframe,.srm video,.srm canvas,.srm svg{max-width:100%}.srm a,.srm b,.srm p,.srm h1,.srm h2,.srm h3{overflow-wrap:anywhere}
@media(max-width:720px){html{scroll-padding-top:88px}.nav{padding:9px 10px 9px 12px}.nav .brand{min-width:0}.nav .brand img{width:38px;height:38px;flex:0 0 38px}.nav .brand span{min-width:0}.nav .brand b,.nav .brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu{width:44px;height:44px;flex:0 0 44px;place-content:center;cursor:pointer;touch-action:manipulation}.nav.open nav{max-height:calc(100svh - 90px);overflow-y:auto;overscroll-behavior:contain}.nav nav a{min-height:46px;display:flex;align-items:center}.nav nav .pill{justify-content:center;margin-top:6px}.hero{min-height:auto}.hero-copy{width:100%}.hero-visual{width:100%;max-width:580px;margin-inline:auto}.event-grid{width:calc(100% + 40px);margin-inline:-20px;padding-inline:20px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin}.event-card{scroll-snap-align:start}.facebook-panel,.facebook-device,.facebook-frame{width:100%;min-width:0;max-width:100%}.facebook-frame iframe{width:100%!important}.support-links a,.link-grid a{grid-template-columns:44px minmax(0,1fr) auto}.support-links img,.link-grid img{width:44px;height:44px}footer .brand,footer p{max-width:100%}}
@media(max-width:420px){.nav .brand b{font-size:.82rem}h1{font-size:clamp(2.75rem,14vw,3.35rem)}h2{font-size:clamp(2.35rem,12vw,3rem)}.hero{padding-inline:14px}.section{padding-inline:14px}.event-grid{width:calc(100% + 28px);margin-inline:-14px;padding-inline:14px;grid-template-columns:repeat(3,minmax(84vw,1fr))}.event-card{min-height:300px;padding:22px}.live{width:100%}.contact-card a,.hours>div{min-width:0}.support-links a,.link-grid a{gap:10px;padding:12px}.to-top{width:46px;height:46px}}
@media(max-height:520px) and (orientation:landscape){.nav.open nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Clearly labelled entry points for authorised Mandir users. */
.staff-access{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(400px,1fr);gap:40px;align-items:center;padding:34px 6vw;background:#f3eadc;border-top:1px solid var(--line)}.staff-access>div:first-child>span{color:var(--coral);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.staff-access h2{margin:5px 0;font-size:1.6rem;letter-spacing:-.03em;line-height:1.1}.staff-access p{margin:0;font-size:.78rem;opacity:.68}.staff-signin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.staff-signin a{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.7);transition:background .2s,border-color .2s,transform .2s}.staff-signin a:hover,.staff-signin a:focus-visible{background:#fff;border-color:var(--coral);transform:translateY(-2px)}.signin-label{display:grid;gap:4px;min-width:0}.staff-signin b{font-size:.82rem}.staff-signin small{font-size:.68rem;opacity:.65}.signin-icon{width:40px;height:40px;display:grid;flex:none}.microsoft-icon{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:5px}.microsoft-icon i:nth-child(1){background:#f25022}.microsoft-icon i:nth-child(2){background:#7fba00}.microsoft-icon i:nth-child(3){background:#00a4ef}.microsoft-icon i:nth-child(4){background:#ffb900}.wordpress-icon{place-items:center;border:2px solid #28799e;border-radius:50%;color:#28799e!important;font:700 22px/1 Georgia,serif!important;letter-spacing:-2px!important;text-transform:none!important}
@media(max-width:720px){.staff-access{grid-template-columns:1fr;gap:20px;padding:30px 20px}}
@media(max-width:480px){.staff-signin{grid-template-columns:1fr}.staff-signin a{min-height:66px;justify-content:center}}

/* 2026 responsive polish */
:root{--page-pad:clamp(18px,6vw,92px);--soft-shadow:0 18px 55px rgba(71,42,24,.09);--card-shadow:0 10px 30px rgba(71,42,24,.07)}
body.srm{line-height:1.55;text-rendering:optimizeLegibility}.srm .section{padding-inline:var(--page-pad)}.srm .section-tag{margin-bottom:clamp(34px,5vw,70px)}.srm .section-head{margin-bottom:clamp(30px,4vw,50px)}.srm .section-head>p{margin-bottom:.35rem}.nav{max-width:1480px;margin-inline:auto}.nav nav a{position:relative}.nav nav a:not(.pill):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;border-radius:2px;background:var(--coral);transition:right .25s}.nav nav a:not(.pill):hover:after,.nav nav a:not(.pill):focus-visible:after{right:0}.pill,.button{min-height:46px}.button:focus-visible,.nav a:focus-visible,.staff-signin a:focus-visible,.link-grid a:focus-visible,.support-links a:focus-visible,.tile:focus-visible{outline:3px solid var(--saffron);outline-offset:3px}.hero{padding-inline:var(--page-pad);gap:clamp(35px,6vw,100px)}.hero h1{max-width:9ch}.hero .intro{color:rgba(41,34,31,.78)}.photo-main{box-shadow:var(--soft-shadow)}.photo-float{box-shadow:0 15px 35px rgba(71,42,24,.18)}.welcome{isolation:isolate}.event-card,.hours,.contact-card,.link-grid a,.staff-signin a{box-shadow:var(--card-shadow)}.event-card{height:100%}.event-card h3{overflow-wrap:normal}.mosaic{gap:clamp(10px,1.3vw,18px)}.tile{box-shadow:var(--card-shadow)}.tile:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(24,15,11,.45));pointer-events:none}.tile span{z-index:1}.hours,.contact-card{height:100%;align-self:stretch}.contact-card a{border-radius:10px;transition:background .2s,padding .2s}.contact-card a:hover{padding-inline:10px;background:#f7efe5}.support-links a,.link-grid a{min-height:80px}.support-links i,.link-grid i{font-style:normal;color:var(--coral)}footer{padding-inline:var(--page-pad)}.staff-access{padding-inline:var(--page-pad)}

@media(min-width:721px) and (max-width:1100px){.nav nav{gap:clamp(.75rem,2vw,1.4rem)}.nav nav a{font-size:.78rem}.hero{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);padding-top:135px}.hero-visual{height:min(57vw,620px)}.welcome{width:120px;height:120px}.about{grid-template-columns:1fr 1fr}.event-grid{grid-template-columns:repeat(3,minmax(250px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 24px}.event-card{scroll-snap-align:start}.visit{grid-template-columns:1fr 1fr}.visit-copy{grid-column:1/-1}.support{grid-template-columns:1fr 1fr}.support-links{grid-column:1/-1}.facebook-panel{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}footer{grid-template-columns:1fr 1fr}}

@media(max-width:720px){body.srm{font-size:15px}.nav{border-radius:18px;box-shadow:0 10px 35px rgba(65,38,21,.13)}.nav.open{border-bottom-left-radius:20px;border-bottom-right-radius:20px}.nav nav{border:1px solid var(--line)}.nav nav a:not(.pill):after{display:none}.hero{padding-top:112px;padding-bottom:54px}.hero h1{max-width:none;line-height:.93}.hero .intro{font-size:1rem;line-height:1.65}.hero-visual{height:clamp(330px,92vw,500px)}.photo-main{inset:0 1% 0 4%;border-radius:42% 42% 22px 22px}.photo-float{border-width:5px}.welcome{right:1%;width:104px;height:104px}.marquee{padding-block:13px}.section-head h2{margin-bottom:.35em}.about{gap:24px}.about-copy{font-size:1.1rem}.stat{padding:18px 0}.stat strong{font-size:2rem}.wide-photo{height:clamp(300px,78vw,520px);margin-top:20px}.event-grid{gap:12px}.event-card{border-radius:22px}.mosaic{gap:10px}.tile{border-radius:18px}.visit{gap:14px}.visit-copy,.hours,.contact-card{border-radius:22px}.support{gap:28px}.support-links a,.link-grid a{min-height:74px}.facebook-panel{border-radius:24px}.staff-access{text-align:left}footer{gap:22px}}

@media(max-width:480px){:root{--page-pad:14px}.nav .brand b{max-width:58vw}.hero{padding-inline:18px}.hero .eyebrow{font-size:.65rem}.hero-visual{height:355px}.photo-main{inset:0 0 0 2%;transform:rotate(1deg)}.photo-float{left:0;bottom:-3%;width:40%;height:36%}.welcome{top:2%;width:92px;height:92px}.welcome span{font-size:1.45rem}.welcome b{font-size:.65rem}.section{padding-block:64px}.section-tag{padding-bottom:16px}.actions{gap:10px}.actions .button{min-height:50px}.event-card h3{font-size:1.55rem}.mosaic{grid-template-rows:repeat(4,240px)}.hours,.contact-card{padding:20px}.hours>div{padding:16px 0}.support-links a,.link-grid a{grid-template-columns:40px minmax(0,1fr) auto}.support-links img,.link-grid img{width:40px;height:40px}.staff-access{padding-block:28px}.staff-access h2{font-size:1.45rem}footer{padding-block:34px}.to-top{box-shadow:0 8px 25px rgba(108,49,85,.25)}}

@media(max-width:350px){.nav .brand img{width:34px;height:34px;flex-basis:34px}.nav .brand b{font-size:.75rem}.hero h1{font-size:2.65rem}.welcome{width:82px;height:82px}.event-grid{grid-template-columns:repeat(3,minmax(88vw,1fr))}.staff-signin a{grid-template-columns:36px minmax(0,1fr);padding:12px}.signin-icon{width:34px;height:34px}}

@media(hover:none){.button:hover,.event-card:hover,.support-links a:hover,.link-grid a:hover,.staff-signin a:hover{transform:none}.tile:hover img{transform:none}}

/* Carousel images open at full size in the existing lightbox. */
.ribbon-photo:after{content:"⛶";position:absolute;right:16px;top:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(25,18,15,.72);color:#fff;font:600 1.1rem/1 sans-serif;box-shadow:0 6px 20px rgba(0,0,0,.2);pointer-events:none;transition:transform .2s,background .2s}.ribbon-photo:hover:after,.ribbon-photo:focus-visible:after{background:var(--coral);transform:scale(1.08)}.lightbox{padding:clamp(18px,5vw,70px);cursor:zoom-out}.lightbox img{width:auto;height:auto;max-width:94vw;max-height:88vh;object-fit:contain;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.45);cursor:default}.lightbox>button[aria-label="Close image"]{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(25,18,15,.72);z-index:2}.lightbox>button[aria-label="Close image"]:hover,.lightbox>button[aria-label="Close image"]:focus-visible{background:var(--coral);outline:2px solid #fff;outline-offset:2px}
@media(max-width:600px){.ribbon-photo:after{right:12px;top:12px;width:38px;height:38px}.lightbox{padding:64px 10px 20px}.lightbox img{max-width:96vw;max-height:82vh}.lightbox>button[aria-label="Close image"]{top:10px;right:10px;min-width:44px;min-height:44px}}

/* Scroll-aware primary navigation. */
.srm a,.srm b,.srm p,.srm h1,.srm h2,.srm h3{overflow-wrap:break-word;word-break:normal}.srm .nav a,.srm .button,.srm .section-tag,.srm .eyebrow{overflow-wrap:normal;word-break:keep-all}.srm .contact-card b{overflow-wrap:anywhere}
@media(max-width:1100px){.nav{padding:9px 10px 9px 12px}.nav .brand{min-width:0}.nav .brand img{width:38px;height:38px;flex:0 0 38px}.nav .brand span{min-width:0}.nav .brand b,.nav .brand small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu{display:grid;width:44px;height:44px;flex:0 0 44px;place-content:center;gap:6px;border:0;background:none;cursor:pointer;touch-action:manipulation}.menu span{width:24px;height:2px;background:var(--ink)}.nav nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 20px 50px rgba(0,0,0,.12)}.nav.open nav{display:flex;max-height:calc(100svh - 90px);overflow-y:auto;overscroll-behavior:contain}.nav nav a{display:flex;align-items:center;min-height:46px;padding:14px;white-space:normal}.nav nav .pill{justify-content:center;margin-top:6px}}
.nav nav a.is-active{color:var(--coral)}.nav nav a.is-active:not(.pill):after{right:0;height:3px}.nav nav .pill.is-active{background:var(--coral);box-shadow:0 0 0 4px rgba(217,88,63,.16)}
@media(max-width:720px){.nav nav a.is-active:not(.pill){padding-left:18px;border-radius:12px;background:rgba(217,88,63,.1)}.nav nav a.is-active:not(.pill):before{content:"";width:7px;height:7px;margin-right:10px;border-radius:50%;background:var(--coral)}.nav nav .pill.is-active{color:#fff}}
