/* Complete, locally hosted Devanagari fonts: no remote subset dependency. */
@font-face {
  font-family: 'Lokmanya Marathi';
  src: url('assets/fonts/NotoSansDevanagari-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Lokmanya Marathi';
  src: url('assets/fonts/NotoSansDevanagari-Medium.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Lokmanya Marathi';
  src: url('assets/fonts/NotoSansDevanagari-SemiBold.ttf') format('truetype');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Lokmanya Marathi';
  src: url('assets/fonts/NotoSansDevanagari-Bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root{--cream:#faf6ee;--ink:#3b251f;--rust:#aa4a28;--gold:#f5b745;--wine:#411613;--line:#e6dac7;--serif:'Lokmanya Marathi','Nirmala UI','Mangal',sans-serif;--sans:'Lokmanya Marathi','Nirmala UI','Mangal',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #e9a337;outline-offset:5px}img{display:block;max-width:100%}.blessing{background:var(--wine);color:#e8c99c;text-align:center;font-size:11px;padding:7px 16px;letter-spacing:normal}.header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 6%;background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand img{width:63px;height:57px;object-fit:cover;border-radius:4px}.brand strong{font:700 24px/1.8 var(--serif);color:#622a22}.brand small{display:block;font-size:9px;letter-spacing:normal;margin-top:3px}nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600}nav>a:not(.nav-cta){padding:10px 0;position:relative}nav>a:hover,nav>a.active{color:var(--rust)}nav>a.active:after{content:'';position:absolute;height:2px;background:var(--rust);bottom:0;left:0;right:0}.nav-cta{background:var(--wine);color:#fff3d9;padding:11px 20px;border-radius:3px}.nav-cta span{margin-left:18px}.menu-toggle{display:none}.hero{min-height:660px;height:calc(100svh - 126px);max-height:850px;position:relative;isolation:isolate;color:#fff2da;overflow:hidden;background:#260e0a}.hero-image,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-image{background-size:cover;background-position:center 46%;opacity:0;transition:opacity 1.2s}.hero-image.active{opacity:1}.hero-image[data-slide="0"]{background-image:url('assets/ganesh-hero.webp')}.hero-image[data-slide="1"]{background-image:url('assets/ganesh-aarti.webp')}.hero-shade{background:linear-gradient(90deg,rgba(35,7,6,.58),rgba(35,7,6,.1) 62%,transparent),linear-gradient(0deg,rgba(26,6,5,.65),transparent 30%)}.hero-content{width:88%;max-width:1400px;margin:auto;padding-top:clamp(70px,10vh,125px)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:normal;color:#eabd74;margin:0 0 23px;display:flex;align-items:center;gap:12px}.eyebrow span{height:1px;width:34px;background:#d8a15a}.hero-kicker{font-size:16px;margin:0 0 16px;color:#edceae;letter-spacing:normal}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-weight:600;font-size:clamp(46px,5.4vw,80px);line-height:1.5;letter-spacing:normal;margin-bottom:20px}em{font-style:normal;color:var(--rust)}h1 em{color:#f7bf58}.hero-description{color:#e9d4bd;font-size:15px;line-height:2.1}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;border:0;border-radius:3px;padding:14px 25px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#ffce73}.primary{background:var(--gold);color:#44251a}.text-link{font-size:13px;border-bottom:1px solid #aa8160;padding:10px 0}.text-link span{margin-left:18px}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center}.slide-controls{display:flex;align-items:center;gap:16px}.slide-dot,.pause{background:none;border:0;color:#bb9276;padding:6px;font-size:13px}.slide-dot.selected{color:#ffd686}.slide-line{width:60px;height:1px;background:#a47e59}.pause{border:1px solid #76513a;border-radius:50%;width:30px;height:30px;padding:0;line-height:1}.hero-caption{font-family:var(--serif);font-size:15px;letter-spacing:normal}.hero-caption span{color:#e3ae51;margin-left:14px}.scroll-link{font-size:11px;color:#e0bea1}.mantra-band{display:flex;align-items:center;justify-content:space-around;gap:25px;background:#f0e5d2;padding:21px 4%;color:#7b4b2e;font-family:var(--serif);font-size:16px;white-space:nowrap;overflow:hidden}.mantra-band b{color:#b17b3b;font-size:15px}.section{padding:95px 6%;max-width:1560px;margin:auto}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.about-art{position:relative;padding:13px 25px 30px 13px}.art-frame{height:430px;overflow:hidden;border-radius:180px 180px 4px 4px;outline:1px solid #c9ad7f;outline-offset:12px}.art-frame img{width:100%;height:100%;object-fit:cover;object-position:81% center}.art-seal{position:absolute;bottom:55px;right:-15px;border-radius:50%;width:110px;height:110px;background:var(--wine);color:#eabc6a;border:6px solid var(--cream);display:flex;justify-content:center;align-items:center;flex-direction:column;font-family:var(--serif);font-size:27px}.art-seal small{font:10px var(--sans);margin-top:8px}.art-label{font-size:11px;letter-spacing:normal;display:block;margin-top:30px;text-align:center;color:#94704f}.rust{color:var(--rust)}h2{font-family:var(--serif);font-size:clamp(28px,3vw,43px);font-weight:600;line-height:1.65;margin-bottom:20px;letter-spacing:normal}.about-copy>p:not(.eyebrow){color:#7e6d60;font-size:14px}.values{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:25px;gap:15px;font-size:12px}.values b{color:var(--rust);font-size:21px;vertical-align:middle;margin-right:5px}.inline-link{display:inline-flex;gap:35px;color:var(--rust);font-weight:600;font-size:13px;margin-top:25px}.festival{background:#f1e9dc;max-width:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2{margin:0}.section-note{color:#8d7867;font-size:12px;line-height:1.9;margin:0}.festival-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:45px}.festival-card{height:340px;position:relative;overflow:hidden;border-radius:5px;color:white}.festival-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.festival-card:hover img{transform:scale(1.04)}.festival-card>div{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(transparent,rgba(34,9,4,.88))}.tag{font-size:10px;color:#f6c676;margin-bottom:10px}.festival-card h3{font:500 25px/1.8 var(--serif);margin-bottom:8px}.festival-card p{font-size:12px;color:#e5ccb7;margin:0}.card-arrow{position:absolute;right:28px;bottom:28px;font-size:24px}.event{display:flex;gap:23px;padding:20px 0;border-bottom:1px solid #daccb9}.event:first-child{padding-top:6px}.event-icon{color:var(--rust);border:1px solid #d7bf9a;width:60px;height:60px;display:grid;place-items:center;flex-shrink:0;font-size:33px;border-radius:50%;margin-top:10px}.event small{color:#a87847;font-size:10px}.event h3{font:600 22px/1.8 var(--serif);margin:7px 0}.event p{font-size:12px;color:#83705c;margin:0}.schedule-note{display:flex;gap:12px;font-size:11px;color:#8a7766;margin-top:20px}.schedule-note p{margin:0}.initiative-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.initiative-grid article{position:relative;padding:30px;border:1px solid var(--line);background:#fffbf4;border-radius:4px;transition:transform .25s}.initiative-grid article:hover{transform:translateY(-5px)}.number{position:absolute;right:24px;top:22px;color:#cbbda9;font-size:13px}.initiative-icon{font-size:42px;color:var(--rust);line-height:1.5;display:block;margin-bottom:17px}.initiative-grid h3{font:600 22px/1.8 var(--serif);margin-bottom:15px}.initiative-grid p{font-size:13px;color:#887462}.category{font-size:10px;color:#a4764c;display:block;border-top:1px solid var(--line);padding-top:16px;margin-top:22px;letter-spacing:normal}.gallery{padding-top:0}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:25px}.gallery-grid button{position:relative;border:0;padding:0;background:var(--wine);height:320px;border-radius:4px;overflow:hidden;text-align:left}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-grid button:hover img{transform:scale(1.05)}.gallery-grid span{position:absolute;inset:auto 0 0;padding:40px 25px 20px;color:#fff2d9;background:linear-gradient(transparent,#2c110bce);font-family:var(--serif);font-size:20px}.gallery-grid b{float:right;font-family:var(--sans);font-weight:400}.contact{text-align:center;position:relative;overflow:hidden;background:var(--wine);color:#f4e3c9;padding:70px 20px}.contact .eyebrow{justify-content:center}.contact h2{font-size:42px;line-height:1.6}.contact em{color:#f0bb65}.contact>p:not(.eyebrow){color:#c7a58f;font-size:13px}.contact .contact-note{font-size:10px!important;margin:18px 0 0}.contact-flower{position:absolute;right:-65px;top:0;font-size:490px;line-height:1;opacity:.035;pointer-events:none}footer{padding:42px 6% 20px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-brand{font:700 23px/1.8 var(--serif);color:#622a22}.footer-brand small{display:block;font:10px var(--sans);letter-spacing:normal;margin-top:6px}footer>p,footer>a:last-of-type{font-size:12px;color:#8f7761;margin:0}.footer-bottom{flex-basis:100%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;margin-top:10px;font-size:10px;color:#9d8975}dialog{border:1px solid #c9ad7f;border-radius:8px;background:var(--cream);color:var(--ink);padding:35px;max-width:min(600px,90vw);max-height:90svh}dialog::backdrop{background:#160604da;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:9px;top:4px;border:0;background:transparent;font-size:28px;color:var(--rust);z-index:2}.join-symbol{color:var(--rust);font:30px var(--serif);display:block;margin-bottom:20px}dialog h2{font-size:27px}dialog p{font-size:14px}#image-dialog{max-width:90vw;padding:30px 15px 10px}#image-dialog img{max-height:75svh;width:auto;object-fit:contain;margin:auto}#image-dialog p{text-align:center;margin:12px 0 0}
@media(min-width:1600px){.hero-content{padding-top:130px}.header{padding-inline:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:1100px){nav{gap:15px;font-size:12px}.brand strong{font-size:21px}.brand img{width:50px;height:48px}.header{padding-inline:4%}.hero-content{padding-top:85px}.hero{min-height:650px;height:75svh}.about{gap:6%}.values{flex-wrap:wrap}.art-frame{height:390px}}@media(max-width:800px){.blessing{font-size:9px}.header{padding:12px 5%}.brand strong{font-size:21px}.brand small{font-size:8px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;border-radius:3px;font-size:22px;color:var(--wine);width:42px;height:42px}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);padding:20px 6%;box-shadow:0 15px 20px #351b161a;align-items:stretch;gap:5px}nav.open{display:flex;flex-direction:column}.nav-cta{margin-top:8px}.hero{height:720px;min-height:0;max-height:none}.hero-image{background-position:64% center}.hero-shade{background:linear-gradient(90deg,#250b08d9,#250b0840),linear-gradient(0deg,#250b08aa,transparent)}.hero-content{padding-top:110px}.hero h1{font-size:58px}.hero-content .eyebrow{margin-bottom:26px}.hero-kicker{font-size:13px}.hero-description{font-size:13px}.hero-caption{display:none}.mantra-band{justify-content:start;font-size:13px;padding-block:17px}.section{padding:65px 6%}.about{grid-template-columns:1fr;gap:40px}.about-art{max-width:460px;width:90%;margin:auto}.art-frame{height:380px}.about-copy .eyebrow{margin-bottom:15px}.section-heading{align-items:start}.section-note{max-width:180px;font-size:10px}.festival-grid{grid-template-columns:1fr;gap:28px}.festival-card{height:320px}.initiative-grid{gap:13px}.initiative-grid article{padding:22px 16px}.initiative-grid h3{font-size:18px}.initiative-grid p{font-size:12px}.gallery{padding-top:10px}.gallery-grid button{height:260px}.contact h2{font-size:35px}footer>p{display:none}}@media(max-width:500px){.hero{height:670px}.hero-content{padding-top:95px}.hero h1{font-size:46px;letter-spacing:normal}.hero-image{background-position:61% center}.hero-actions{gap:20px}.button{padding:13px 18px;gap:20px;font-size:12px}.text-link{font-size:11px}.hero-bottom{bottom:25px}.section-heading{display:block}.section-note{max-width:none;margin-top:12px}.section-heading h2{font-size:29px}.initiative-grid{grid-template-columns:1fr}.initiative-grid article{padding:25px}.initiative-icon{float:left;margin-right:20px}.initiative-grid h3{font-size:23px;margin-top:12px}.initiative-grid p{clear:both}.gallery-grid{grid-template-columns:1fr}.gallery-grid button{height:280px}.values{font-size:10px;gap:8px}.art-frame{height:340px}.art-seal{right:-25px}.about-copy h2{font-size:33px}.footer-bottom{gap:15px;font-size:9px}.contact h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Preserve Devanagari shaping and space for vowel marks at every viewport. */
.brand strong { display: block; padding-block: .12em; }
.brand > span, .event > div, .section-heading > div { min-width: 0; }
.hero { height: auto; max-height: none; min-height: max(660px, calc(100svh - 126px)); }
.hero-content { padding-bottom: 110px; }
h1, h2, h3 { padding-block: .12em; }
.hero-actions { flex-wrap: wrap; }
.mantra-band { flex-wrap: wrap; white-space: normal; overflow: visible; text-align: center; }
@media (max-width: 800px) {
  .hero { height: auto; min-height: 720px; }
  .hero h1 { font-size: clamp(36px, 7.25vw, 58px); }
}
@media (max-width: 500px) {
  .hero { min-height: 670px; }
  .hero h1 { font-size: clamp(30px, 8.5vw, 42px); }
  .brand { flex-shrink: 1; gap: 9px; }
  .brand strong { font-size: clamp(17px, 4.6vw, 21px); }
  .menu-toggle, .brand img { flex-shrink: 0; }
}
