/* =========================================================
   Holy Vision International — style.css
   Colours from the logo: purple #72009C · green #6BB300
   ========================================================= */
:root{
  --purple:#72009C; --purple-d:#4A0066; --deep:#1F0A2B; --deep-2:#2E0F40;
  --green:#6BB300; --green-d:#4F8A00; --green-l:#8FD11E;
  --lilac:#F7F0FB; --lime:#F2F9E7; --ink:#1D1226; --muted:#665B72; --line:#EADFF1; --white:#fff;
  --serif:"Fraunces",Georgia,"Times New Roman",serif; --sans:"Manrope",system-ui,sans-serif;
  --r:14px; --wrap:1240px; --ease:cubic-bezier(.65,0,.35,1); --out:cubic-bezier(.16,1,.3,1);
  --sh:0 24px 50px -24px rgba(74,0,102,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 1rem/1.75 var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--purple);transition:color .3s}
a:hover{color:var(--green-d)}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.12;margin:0 0 .5em;color:var(--deep);letter-spacing:-.01em}
p{margin:0 0 1em} ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}
.center{text-align:center}
.skip{position:fixed;left:-999px;top:0;z-index:999;background:var(--green);color:var(--deep);padding:.6rem 1rem;font-weight:700}
.skip:focus{left:1rem}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
::selection{background:var(--purple);color:#fff}
.ic{flex:none}
.lead{font-size:1.12rem;color:var(--ink)}

/* ---------- Curtain preloader ---------- */
.curtain{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none}
.curtain span{position:absolute;left:0;right:0;height:50.5%;transition:transform 1s var(--ease)}
.curtain .c1{top:0;background:var(--purple-d)}
.curtain .c2{bottom:0;background:var(--green-d)}
.curtain img{position:relative;width:110px;background:#fff;border-radius:50%;padding:10px;animation:beat 1.2s ease-in-out infinite;transition:opacity .4s,transform .6s var(--ease)}
@keyframes beat{50%{transform:scale(.9)}}
body.ready .curtain .c1{transform:translateY(-101%)}
body.ready .curtain .c2{transform:translateY(101%)}
body.ready .curtain img{opacity:0;transform:scale(.4)}
body.ready .curtain{visibility:hidden;transition:visibility 0s 1.1s}

/* ---------- Buttons ---------- */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.6rem;border-radius:10px;border:2px solid transparent;font:800 .95rem/1.2 var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:color .45s var(--ease),border-color .45s,transform .3s var(--out),box-shadow .45s}
.btn::before{content:"";position:absolute;inset:-2px;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn .ic{transition:transform .45s var(--out)}
.btn:hover .ic{transform:translateX(5px) rotate(-8deg)}
.btn:active{transform:scale(.97)}
.btn-green{background:var(--green);color:var(--deep);box-shadow:0 10px 24px -12px rgba(107,179,0,.9)}
.btn-green::before{background:var(--purple)}
.btn-green:hover{color:#fff;box-shadow:0 14px 30px -12px rgba(114,0,156,.8)}
.btn-purple{background:var(--purple);color:#fff;box-shadow:0 10px 24px -12px rgba(114,0,156,.8)}
.btn-purple::before{background:var(--green)}
.btn-purple:hover{color:var(--deep)}
.btn-ghost{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.btn-ghost::before{background:#fff}
.btn-ghost:hover{color:var(--purple)}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}

/* ---------- Top bar & header ---------- */
.topbar{background:var(--deep);color:rgba(255,255,255,.85);font-size:.86rem}
.tb-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:44px}
.tb-contact{display:flex;gap:1.6rem;flex-wrap:wrap}
.tb-contact a{display:inline-flex;align-items:center;gap:.45rem;color:#fff;text-decoration:none}
.tb-contact a .ic{color:var(--green-l)}
.tb-contact a:hover{color:var(--green-l)}
.tb-social{display:flex;gap:.4rem}
.so{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.2);text-decoration:none;transition:transform .4s var(--out),background .3s,border-color .3s,color .3s}
.so:hover{background:var(--green);border-color:var(--green);color:var(--deep);transform:translateY(-3px) rotate(-6deg)}
.so-dark{color:var(--purple);border-color:var(--line);background:#fff}
.so-dark:hover{color:#fff;background:var(--purple);border-color:var(--purple)}

.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .4s}
.site-header.scrolled{box-shadow:0 12px 30px -20px rgba(31,10,43,.5)}
.hd-in{display:flex;align-items:center;gap:1.2rem;min-height:84px;width:min(1360px,100% - 2.5rem)}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--purple);flex:none}
.brand img{width:62px;height:62px;object-fit:contain;transition:transform .8s var(--out)}
.brand:hover img{transform:rotate(-12deg) scale(1.06)}
.brand span{font:700 1rem/1.05 var(--serif);color:var(--purple)}
.brand b{display:block;font-weight:800;font-size:1.28rem;color:var(--green-d);letter-spacing:.02em}
.mainnav{margin-left:auto;display:flex;align-items:center}
.menu{display:flex;align-items:center}
.menu li{position:relative}
.n-link{display:flex;align-items:center;gap:.25rem;padding:.55rem .5rem;font:700 .87rem var(--sans);color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap;position:relative}
.lv0>.n-link::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:.2rem;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.lv0>.n-link:hover,.lv0>.n-link[aria-current],.lv0.is-current>.n-link{color:var(--purple)}
.lv0>.n-link:hover::after,.lv0>.n-link[aria-current]::after,.lv0.is-current>.n-link::after{transform:scaleX(1)}
.n-link .ic{transition:transform .35s}
.n-tog{display:none;background:none;border:0;cursor:pointer;color:inherit}
.lv0.has-sub:has(>.n-tog){display:flex;align-items:center}
.lv0>.n-tog{display:grid;place-items:center;padding:0 .2rem 0 0;margin-left:-.35rem;color:var(--muted)}
.sub{position:absolute;min-width:240px;background:#fff;border-radius:12px;padding:.5rem;box-shadow:0 30px 60px -25px rgba(31,10,43,.45);border:1px solid var(--line);opacity:0;visibility:hidden;transition:opacity .3s,transform .4s var(--out),visibility .3s;z-index:5}
.sub0{top:calc(100% + 10px);left:0;border-top:3px solid var(--green);transform:translateY(12px)}
.sub0::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.sub1,.sub2{top:-.6rem;left:calc(100% + .5rem);transform:translateX(10px)}
.sub1::before,.sub2::before{content:"";position:absolute;top:0;bottom:0;left:-.6rem;width:.6rem}
.sub .n-link{width:100%;justify-content:space-between;padding:.62rem .85rem;border-radius:8px;font-weight:600;color:var(--ink);transition:background .3s,color .3s,padding .35s var(--out)}
.sub .n-link:hover,.sub .n-link[aria-current],.sub .is-current>.n-link{background:var(--lilac);color:var(--purple);padding-left:1.15rem}
.has-sub.open>.sub{opacity:1;visibility:visible;transform:none}
@media (hover:hover) and (min-width:1301px){
  .has-sub:hover>.sub,.has-sub:focus-within>.sub{opacity:1;visibility:visible;transform:none}
  .lv0.has-sub:hover>.n-link .ic,.lv0.has-sub:hover>.n-tog .ic{transform:rotate(180deg)}
}
.mn-head,.mn-cta,.mn-social{display:none}
.hd-cta{flex:none;padding:.8rem 1.25rem}
@media (min-width:1301px) and (max-width:1580px){.hd-cta{display:none}.mainnav{margin-left:auto}}
.burger{display:none;margin-left:auto;width:48px;height:48px;border-radius:10px;border:0;background:var(--purple);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{width:22px;height:2px;border-radius:2px;background:#fff;transition:.3s}
.burger span:nth-child(2){width:14px;margin-left:8px}
.nav-overlay{position:fixed;inset:0;z-index:99;background:rgba(31,10,43,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .4s}
.nav-overlay.show{opacity:1}

@media (max-width:1300px){
  .burger{display:flex}
  .hd-cta{margin-left:auto}
  .mainnav{position:fixed;top:0;right:0;bottom:0;z-index:200;width:min(380px,88vw);background:#fff;flex-direction:column;align-items:stretch;overflow-y:auto;overscroll-behavior:contain;transform:translateX(105%);visibility:hidden;transition:transform .55s var(--ease),visibility .55s;box-shadow:-30px 0 60px -30px rgba(31,10,43,.5)}
  .mainnav.open{transform:none;visibility:visible}
  .mn-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;position:sticky;top:0;z-index:2;background:var(--deep)}
  .mn-head .brand span{color:#fff}.mn-head .brand b{color:var(--green-l)}
  .mn-head .brand img{width:48px;height:48px;background:#fff;border-radius:50%;padding:3px}
  .mn-close{width:44px;height:44px;border-radius:10px;border:0;background:var(--green);color:var(--deep);display:grid;place-items:center;cursor:pointer;transition:transform .4s var(--out)}
  .mn-close:hover{transform:rotate(90deg)}
  .menu{flex-direction:column;align-items:stretch;padding:.6rem 1.2rem}
  .menu>li{border-bottom:1px solid var(--line);opacity:0;transform:translateX(24px);transition:opacity .5s,transform .5s var(--out)}
  .mainnav.open .menu>li{opacity:1;transform:none}
  .mainnav.open .menu>li:nth-child(2){transition-delay:.04s}.mainnav.open .menu>li:nth-child(3){transition-delay:.08s}.mainnav.open .menu>li:nth-child(4){transition-delay:.12s}.mainnav.open .menu>li:nth-child(5){transition-delay:.16s}.mainnav.open .menu>li:nth-child(6){transition-delay:.2s}.mainnav.open .menu>li:nth-child(7){transition-delay:.24s}.mainnav.open .menu>li:nth-child(8){transition-delay:.28s}.mainnav.open .menu>li:nth-child(9){transition-delay:.32s}
  .n-link{padding:.9rem 0;font-size:1rem;white-space:normal}
  .lv0>.n-link::after{display:none}
  .n-btn{width:100%;justify-content:space-between}
  .lv0.has-sub:has(>.n-tog){display:flex;flex-wrap:wrap}
  .lv0.has-sub:has(>.n-tog)>.n-link{flex:1}
  .lv0>.n-tog{margin:0;padding:.6rem;display:grid}
  .sub,.sub0,.sub1,.sub2{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid var(--green);border-radius:0;padding:0 0 .5rem .8rem;margin:0 0 .4rem;min-width:0;display:none;width:100%}
  .sub::before{display:none}
  .has-sub.open>.sub{display:block;animation:acc .4s var(--out)}
  .has-sub.open>.n-link .ic,.has-sub.open>.n-tog .ic{transform:rotate(180deg)}
  .sub .has-sub.open>.n-link .ic{transform:rotate(90deg)}
  .sub .n-link{padding:.6rem .6rem}
  .mn-cta{display:inline-flex;margin:1rem 1.2rem 0}
  .mn-social{display:flex;gap:.5rem;justify-content:center;padding:1.2rem}
}
@keyframes acc{from{opacity:0;transform:translateY(-6px)}}
@media (max-width:640px){.hd-cta{display:none}.tb-contact a:last-child span{display:none}.brand span{font-size:.9rem}.brand b{font-size:1.1rem}.brand img{width:52px;height:52px}.hd-in{min-height:74px}}
@media (max-width:420px){.tb-contact a span{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;height:calc(100svh - var(--hh,128px));min-height:520px;overflow:hidden;background:var(--deep);color:#fff}
.slide{position:absolute;inset:0;clip-path:inset(0 0 0 100%);z-index:0}
.slide img{width:100%;height:100%;object-fit:cover}
.slide.was-active{clip-path:inset(0);z-index:1}
.slide.is-active{clip-path:inset(0);z-index:2;transition:clip-path 1.2s var(--ease)}
.hero-shade{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at center,rgba(31,10,43,.35),rgba(31,10,43,.78)),linear-gradient(0deg,rgba(31,10,43,.6),transparent 40%)}
.hero-content{position:relative;z-index:4;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-bottom:3rem}
.hero-kicker{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.82rem;color:var(--green-l);margin-bottom:1rem;animation:rise .9s .9s var(--out) both}
.hero-kicker i{width:40px;height:2px;background:var(--green-l)}
.hero-title{color:#fff;font-size:clamp(3rem,9vw,7.5rem);font-weight:800;line-height:.95;letter-spacing:-.03em;margin-bottom:2rem}
.hero-title span{display:inline-block;animation:rise 1s 1.05s var(--out) both}
.hero-title em{display:inline-block;font-style:italic;font-weight:600;color:var(--green-l);animation:rise 1s 1.25s var(--out) both}
.hero-content .btn-row{justify-content:center;animation:rise 1s 1.45s var(--out) both}
@keyframes rise{from{opacity:0;transform:translateY(40px)}}
.hero-ui{position:absolute;left:0;right:0;bottom:1.8rem;z-index:5;display:flex;justify-content:space-between;align-items:center}
.h-dots{display:flex;gap:.6rem}
.h-dot{width:54px;height:4px;padding:0;border:0;background:rgba(255,255,255,.3);cursor:pointer;position:relative;overflow:hidden;border-radius:3px}
.h-dot span{position:absolute;inset:0;background:var(--green);transform:scaleX(0);transform-origin:left}
.h-dot.is-active span{animation:fill 6s linear forwards}
.hero.paused .h-dot.is-active span{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.h-nav{display:flex;gap:.6rem}
.h-arrow{width:52px;height:52px;border-radius:10px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .3s,color .3s,transform .4s var(--out)}
.h-arrow:hover{background:var(--green);color:var(--deep);border-color:var(--green);transform:translateY(-3px)}

/* ---------- Ticker ---------- */
.ticker{display:flex;align-items:stretch;background:var(--green);color:var(--deep);font-weight:700;overflow:hidden}
.tk-label{flex:none;display:flex;align-items:center;gap:.5rem;padding:.9rem 1.4rem;background:var(--purple);color:#fff;font-family:var(--serif);position:relative;z-index:1}
.tk-label::after{content:"";position:absolute;right:-14px;top:0;bottom:0;width:28px;background:var(--purple);transform:skewX(-18deg);z-index:-1}
.tk-label .ic{animation:shake 2.2s ease-in-out infinite}
@keyframes shake{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(-14deg)}85%{transform:rotate(12deg)}}
.tk-track{flex:1;overflow:hidden;display:flex;align-items:center}
.tk-move{display:flex;gap:4rem;white-space:nowrap;padding-left:2rem;animation:tick 38s linear infinite}
.ticker:hover .tk-move{animation-play-state:paused}
@keyframes tick{to{transform:translateX(calc(-50% - 2rem))}}

/* ---------- Sections & titles ---------- */
.band{position:relative;padding:6rem 0;overflow:hidden}
.band.pt0{padding-top:0}
.band-lilac{background:var(--lilac)}
.band-lime{background:var(--lime)}
.band-dark{background:var(--deep);color:rgba(255,255,255,.85);background-image:radial-gradient(circle at 10% 20%,rgba(114,0,156,.55),transparent 45%),radial-gradient(circle at 90% 90%,rgba(107,179,0,.28),transparent 45%)}
.st{margin-bottom:2.6rem;max-width:760px}
.st.c{text-align:center;margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font:800 .8rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--green-d);margin-bottom:.9rem}
.eyebrow .ic{color:var(--purple)}
.st h2{font-size:clamp(2rem,4.2vw,3.2rem);color:var(--purple-d);margin:0}
.st p{margin:1rem 0 0;color:var(--muted);font-size:1.05rem}
.st.c p{margin-inline:auto}
.st.light h2{color:#fff}.st.light .eyebrow{color:var(--green-l)}.st.light .eyebrow .ic{color:#fff}
.st h2::after{content:"";display:block;width:70px;height:4px;margin-top:1rem;border-radius:4px;background:linear-gradient(90deg,var(--purple) 50%,var(--green) 50%);transform:scaleX(0);transform-origin:left;transition:transform 1s .3s var(--ease)}
.st.c h2::after{margin-inline:auto;transform-origin:center}
.st.in h2::after{transform:scaleX(1)}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--out),transform .9s var(--out),clip-path 1.1s var(--ease);transition-delay:var(--d,0s)}
.reveal.left{transform:translateX(-60px)}.reveal.right{transform:translateX(60px)}
.reveal.zoom{transform:scale(.9)}
.reveal.wipe{opacity:1;transform:none;clip-path:inset(0 100% 0 0)}
.reveal.in{opacity:1;transform:none}
.reveal.wipe.in{clip-path:inset(0 0 0 0)}

/* ---------- Partners ---------- */
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.partner{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.8rem 1.2rem;text-align:center;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:transform .5s var(--out),box-shadow .5s,border-color .4s}
.partner img{height:110px;width:auto;object-fit:contain;filter:grayscale(.6);transition:filter .5s,transform .6s var(--out)}
.partner figcaption{font:600 1rem/1.3 var(--serif);color:var(--deep)}
.partner:hover{transform:translateY(-8px);border-color:var(--purple);box-shadow:8px 8px 0 var(--green)}
.partner:hover img{filter:none;transform:scale(1.06)}

/* ---------- About / orbit ---------- */
.ab-grid{display:grid;grid-template-columns:1.2fr .9fr;gap:4rem;align-items:center}
.orbit{position:relative;aspect-ratio:1;max-width:420px;width:100%;margin-inline:auto;display:grid;place-items:center}
.orbit img{width:58%;border-radius:50%;background:#fff;padding:6%;box-shadow:var(--sh);animation:bob 6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-12px)}}
.ring{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(114,0,156,.35);animation:spin 40s linear infinite}
.ring.r2{inset:12%;border-color:rgba(107,179,0,.5);animation-direction:reverse;animation-duration:28s}
@keyframes spin{to{transform:rotate(360deg)}}
.orbit .dot{position:absolute;inset:0;border-radius:50%;animation:spin 12s linear infinite}
.orbit .dot::before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(107,179,0,.2)}
.orbit .d2{inset:12%;animation-duration:9s;animation-direction:reverse}.orbit .d2::before{background:var(--purple);box-shadow:0 0 0 6px rgba(114,0,156,.2)}
.orbit .d3{animation-duration:16s;animation-delay:-6s}.orbit .d3::before{width:10px;height:10px;margin-left:-5px;top:-5px;background:var(--purple)}
.quote-line{font:italic 600 1.25rem/1.5 var(--serif);color:var(--purple);border-left:4px solid var(--green);padding-left:1.2rem}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:4rem}
.mv-card{position:relative;overflow:hidden;padding:2.4rem;border-radius:var(--r);background:var(--purple);color:rgba(255,255,255,.9);transition:transform .5s var(--out),box-shadow .5s}
.mv-card::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .9s var(--ease)}
.mv-card:hover{transform:translateY(-8px);box-shadow:var(--sh)}
.mv-card:hover::after{left:130%}
.mv-card h3{color:#fff;font-size:2rem}
.mv-card p{margin:0;font-size:1.08rem}
.mv-green{background:var(--green-d)}
.mv-ic{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.15);color:#fff;margin-bottom:1.2rem;transition:transform .7s var(--out)}
.mv-card:hover .mv-ic{transform:rotate(-12deg) scale(1.1)}

/* ---------- Units ---------- */
.units{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.unit{display:flex;gap:1.4rem;align-items:flex-start;padding:2rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:transform .5s var(--out),box-shadow .5s,border-color .4s}
.unit-logo{flex:none;width:96px;height:96px;border-radius:50%;background:var(--lilac);display:grid;place-items:center;padding:12px;transition:background .4s,transform .7s var(--out)}
.unit-logo img{max-height:100%;width:auto;object-fit:contain}
.unit h3{font-size:1.35rem;color:var(--purple-d);margin-bottom:.4rem}
.unit p{color:var(--muted);margin-bottom:.8rem}
.unit-go{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;color:var(--green-d);transition:gap .4s var(--out)}
.unit:hover{transform:translateY(-6px);border-color:var(--purple);box-shadow:8px 8px 0 var(--purple);color:var(--ink)}
.unit:hover .unit-logo{background:var(--lime);transform:rotate(-10deg)}
.unit:hover .unit-go{gap:.8rem}

/* ---------- Countdown ---------- */
.cd-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}
.countdown-band .lead{color:rgba(255,255,255,.85)}
.hl-title{font-weight:800;color:#fff;margin-bottom:.8rem}
.hl li{display:flex;gap:.7rem;align-items:center;margin-bottom:.7rem;font-weight:600}
.hl .ic{color:var(--deep);background:var(--green);border-radius:50%;padding:3px;width:22px;height:22px}
.hl-dark li{color:var(--ink)}
.cd-card{position:relative;padding:2.6rem;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);text-align:center}
.cd-logo{width:90px;margin:-5.2rem auto 1rem;background:#fff;border-radius:50%;padding:8px;box-shadow:0 0 0 6px rgba(107,179,0,.35);animation:bob 5s ease-in-out infinite}
.cd-card h3{color:#fff;font-size:1.5rem}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1.4rem 0 2rem}
.countdown div{padding:1rem .4rem;border-radius:12px;background:#fff;color:var(--purple-d);overflow:hidden}
.countdown b{display:block;font:800 clamp(1.8rem,3.6vw,2.8rem)/1 var(--serif)}
.countdown b.tick{animation:tickNum .5s var(--out)}
@keyframes tickNum{from{transform:translateY(-60%);opacity:0}}
.countdown span{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-d)}
.cd-closed{color:var(--green-l);font-weight:700}
.cd-card .btn-row{justify-content:center}

/* ---------- Why ---------- */
.why-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.why-img{position:relative;border-radius:var(--r);overflow:hidden}
.why-img img{width:100%;aspect-ratio:4/3.4;object-fit:cover;transition:transform 1.2s var(--out)}
.why-img:hover img{transform:scale(1.05)}
.why-tag{position:absolute;left:1.2rem;bottom:1.2rem;padding:.5rem 1.2rem;border-radius:8px;background:var(--green);color:var(--deep);font:700 1.1rem var(--serif)}
.why li{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;margin-bottom:.8rem;border-radius:12px;border:1px solid var(--line);font-weight:700;transition:transform .45s var(--out),border-color .4s,background .4s}
.why li:hover{transform:translateX(10px);border-color:var(--purple);background:var(--lilac)}
.why-ic{flex:none;width:46px;height:46px;border-radius:10px;display:grid;place-items:center;background:var(--lilac);color:var(--purple);transition:background .4s,color .4s,transform .6s var(--out)}
.why li:hover .why-ic{background:var(--purple);color:#fff;transform:rotate(-10deg)}
.why-note{font:italic 600 1.15rem var(--serif);color:var(--purple);margin-top:1.4rem}

/* ---------- Stay connected ---------- */
.stay{display:grid;grid-template-columns:1fr 1.3fr;gap:2.5rem;align-items:center;padding:3rem;border-radius:20px;background:linear-gradient(120deg,var(--purple-d),var(--purple) 60%,#8A1FB5);color:rgba(255,255,255,.85);position:relative;overflow:hidden}
.stay::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:var(--green);opacity:.25;right:-80px;top:-120px;animation:bob 7s ease-in-out infinite}
.stay h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem)}
.stay p{margin:0}
.stay-form{position:relative;display:grid;grid-template-columns:1fr 1fr auto;gap:.8rem;align-items:start}
.stay-form .fld input{background:rgba(255,255,255,.95)}
.stay-form .btn{height:100%;min-height:58px}
.stay-form .form-msg{grid-column:1/-1;color:#fff}

/* ---------- Gallery (masonry) ---------- */
.masonry{columns:3 280px;column-gap:1.3rem;margin-bottom:2.5rem}
.masonry li{break-inside:avoid;margin-bottom:1.3rem}
.g-card{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--lilac)}
.g-card img{width:100%;transition:transform 1s var(--out),filter .6s}
.g-card:hover img{transform:scale(1.08);filter:saturate(1.15)}
.g-ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;background:linear-gradient(160deg,rgba(114,0,156,.85),rgba(79,138,0,.75));opacity:0;transition:opacity .5s}
.g-card:hover .g-ov,.g-card:focus-visible .g-ov{opacity:1}
.g-ic{width:56px;height:56px;border-radius:50%;background:#fff;color:var(--purple);display:grid;place-items:center;transform:scale(0) rotate(-120deg);transition:transform .6s var(--out)}
.g-card:hover .g-ic{transform:none}
.g-cap{color:#fff;font:600 1.05rem var(--serif);padding:0 1rem;text-align:center;transform:translateY(16px);opacity:0;transition:.5s .1s var(--out)}
.g-card:hover .g-cap{transform:none;opacity:1}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.duo .g-card img{aspect-ratio:4/3;object-fit:cover}

/* ---------- Page head ---------- */
.pagehead{position:relative;display:flex;align-items:center;min-height:clamp(280px,42vh,420px);padding:3rem 0 5rem;text-align:center;color:#fff;background:linear-gradient(125deg,var(--deep) 0%,var(--purple-d) 45%,var(--purple) 100%);clip-path:polygon(0 0,100% 0,100% 86%,0 100%);overflow:hidden}
.ph-pattern{position:absolute;inset:-40px;background-image:radial-gradient(rgba(255,255,255,.14) 1.5px,transparent 1.6px);background-size:26px 26px;animation:drift 30s linear infinite}
@keyframes drift{to{transform:translate(26px,26px)}}
.pagehead::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-120px;bottom:-200px;background:radial-gradient(circle,rgba(107,179,0,.55),transparent 65%);animation:bob 8s ease-in-out infinite}
.ph-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.pagehead h1{color:#fff;font-size:clamp(2.3rem,5.5vw,4.4rem);font-weight:800;margin:0;letter-spacing:-.02em}
.crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;font-size:.88rem;font-weight:600;margin-bottom:1rem;animation:rise .8s .6s var(--out) both}
.crumbs li{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.75)}
.crumbs li+li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green-l)}
.crumbs a{color:#fff;text-decoration:none}.crumbs a:hover{color:var(--green-l)}
.ph-sub{margin:.8rem 0 0;color:rgba(255,255,255,.85)}
.split .ch{display:inline-block;opacity:0;transform:translateY(60%) rotate(8deg);animation:chIn .8s var(--out) forwards}
@keyframes chIn{to{opacity:1;transform:none}}

/* birds */
.birds{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.b{position:absolute;left:-80px;color:rgba(255,255,255,.4);animation:fly 22s linear infinite}
.b .bird{width:46px;animation:flap .7s ease-in-out infinite alternate;transform-origin:center}
.b1{top:22%;animation-delay:-2s}.b2{top:38%;animation-duration:28s;animation-delay:-12s;color:rgba(143,209,30,.7)}.b2 .bird{width:32px}
.b3{top:14%;animation-duration:26s;animation-delay:-18s}.b3 .bird{width:24px}
.b4{top:55%;animation-duration:32s;animation-delay:-6s;color:rgba(143,209,30,.55)}
@keyframes fly{0%{transform:translate(0,0)}25%{transform:translate(28vw,-20px)}50%{transform:translate(55vw,10px)}75%{transform:translate(82vw,-16px)}100%{transform:translate(calc(100vw + 160px),0)}}
@keyframes flap{to{transform:scaleY(.35)}}

/* ---------- About page ---------- */
.inits{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;margin-top:3.5rem}
.init{position:relative;padding:1.8rem 1.4rem;border-radius:var(--r);background:#fff;border:1px solid var(--line);transition:transform .5s var(--out),box-shadow .5s,background .5s}
.init-n{position:absolute;top:1rem;right:1.2rem;font:800 2.2rem/1 var(--serif);color:var(--lilac);-webkit-text-stroke:1px rgba(114,0,156,.3);transition:color .5s}
.init-ic{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--lime);color:var(--green-d);margin-bottom:1rem;transition:.5s var(--out)}
.init p{margin:0;font-weight:600;font-size:.95rem}
.init:hover{transform:translateY(-8px);background:var(--purple);box-shadow:var(--sh);color:#fff}
.init:hover .init-ic{background:var(--green);color:var(--deep);transform:rotate(-10deg)}
.init:hover .init-n{color:rgba(255,255,255,.15)}
.ov-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center}
.ov-logo{padding:3rem;border-radius:50%;background:#fff;box-shadow:var(--sh);max-width:380px;margin-inline:auto}
.ov-logo img{animation:bob 6s ease-in-out infinite}

/* ---------- Founder ---------- */
.fd-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:4rem;align-items:start}
.fd-photo{position:sticky;top:120px}
.fd-frame{position:relative;padding:14px;border-radius:20px;background:linear-gradient(135deg,var(--purple),var(--green))}
.fd-frame::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:2px solid var(--green);border-radius:20px;z-index:-1;transition:inset .6s var(--out)}
.fd-frame:hover::before{inset:-20px 20px 20px -20px}
.fd-frame img{border-radius:12px;width:100%;aspect-ratio:1;object-fit:cover}
.fd-contact{margin:1.8rem 0 1rem}
.fd-contact li{display:flex;gap:.7rem;margin-bottom:.7rem;align-items:flex-start;word-break:break-word}
.fd-contact .ic{color:var(--purple);margin-top:.3rem}
.fd-social{display:flex;gap:.5rem;flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem}
.chips li{padding:.5rem 1rem;border-radius:8px;background:var(--lilac);color:var(--purple-d);font-weight:700;font-size:.9rem;border-left:3px solid var(--green);transition:transform .4s var(--out),background .4s}
.chips li:hover{transform:translateY(-3px);background:var(--lime)}
.fd-wide{display:block;border-radius:var(--r);overflow:hidden}
.fd-wide img{width:100%;transition:transform 1s var(--out)}
.fd-wide:hover img{transform:scale(1.05)}
.timeline{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 2rem;margin-top:3.5rem}
.tl{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem;border-radius:var(--r);background:#fff;border:1px solid var(--line);transition:transform .5s var(--out),box-shadow .5s}
.tl:hover{transform:translateY(-6px);box-shadow:6px 6px 0 var(--green)}
.tl p{margin:0;font-weight:500}
.tl-dot{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;box-shadow:0 0 0 6px var(--lilac)}

/* ---------- Upcoming ---------- */
.up-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.up-sub{font-size:1.4rem;color:var(--green-d);font-style:italic}
.live{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:8px;background:#FDF2F8;color:#BE185D;font-weight:800;font-size:.85rem;margin-bottom:1rem}
.live i{width:8px;height:8px;border-radius:50%;background:#DB2777;animation:ping 1.6s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(219,39,119,.6)}80%,100%{box-shadow:0 0 0 10px rgba(219,39,119,0)}}
.upcoming .hl,.up-grid .hl{margin:1.2rem 0 2rem}
.poster{position:relative;display:block;border-radius:18px;overflow:hidden;box-shadow:16px 16px 0 var(--green),var(--sh);transition:transform .6s var(--out),box-shadow .6s}
.poster:hover{transform:translate(-6px,-6px);box-shadow:22px 22px 0 var(--purple),var(--sh)}
.poster-zoom{position:absolute;right:1rem;bottom:1rem;width:50px;height:50px;border-radius:10px;background:#fff;color:var(--purple);display:grid;place-items:center}

/* ---------- Albums ---------- */
.albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.2rem}
.album{position:relative;height:100%;display:flex;flex-direction:column}
.album-cover{position:relative;display:block;aspect-ratio:3/2;border-radius:var(--r);overflow:visible;z-index:1}
.album-cover img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:var(--r);transition:transform .7s var(--out)}
.album-stack,.album-cover::before{position:absolute;inset:0;border-radius:var(--r);transition:transform .7s var(--out)}
.album-cover::before{content:"";background:var(--green);z-index:0;transform:rotate(-3deg)}
.album-stack{background:var(--purple);z-index:1;transform:rotate(2deg)}
.album:hover .album-cover::before{transform:rotate(-8deg) translateX(-12px)}
.album:hover .album-stack{transform:rotate(6deg) translateX(12px)}
.album:hover .album-cover img{transform:translateY(-8px)}
.album-count{position:absolute;z-index:3;left:.8rem;top:.8rem;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:6px;background:rgba(255,255,255,.95);color:var(--purple);font-weight:800;font-size:.82rem}
.album-open{position:absolute;z-index:3;inset:0;display:grid;place-items:center;color:#fff;opacity:0;transition:opacity .4s}
.album-open .ic{width:62px;height:62px;padding:18px;border-radius:50%;background:rgba(114,0,156,.85)}
.album:hover .album-open{opacity:1}
.album-body{padding:1.6rem .3rem 0;flex:1;display:flex;flex-direction:column}
.album-body h3{font-size:1.25rem;color:var(--purple-d)}
.a-date{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9rem;font-weight:600}
.album-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:0;border:0;background:none;font:800 .95rem var(--sans);color:var(--green-d);cursor:pointer;transition:gap .4s var(--out),color .3s}
.album-btn:hover{gap:.8rem;color:var(--purple)}

/* ---------- Videos ---------- */
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.8rem}
.video{height:100%;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .5s var(--out),box-shadow .5s}
.video:hover{transform:translateY(-8px);box-shadow:var(--sh)}
.video-thumb{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/9;border:0;padding:0;cursor:pointer;overflow:hidden;background:var(--deep)}
.vt-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--purple-d),var(--purple) 50%,var(--green-d));background-size:200% 200%;animation:gradShift 8s ease infinite}
@keyframes gradShift{50%{background-position:100% 100%}}
.vt-logo{position:absolute;width:44%;opacity:.14;filter:brightness(10)}
.vt-play{position:relative;width:74px;height:74px;border-radius:50%;background:#fff;color:var(--purple);display:grid;place-items:center;transition:transform .5s var(--out)}
.vt-play::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:pulse 2s infinite}
@keyframes pulse{to{transform:scale(1.5);opacity:0}}
.video:hover .vt-play{transform:scale(1.12);background:var(--green);color:var(--deep)}
.video-body{padding:1.3rem 1.4rem 1.6rem}
.v-date{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--green-d);margin-bottom:.5rem}
.video h3{font-size:1.12rem;margin:0}

/* ---------- Coming soon ---------- */
.soon{max-width:640px;margin-inline:auto;text-align:center;padding:3.5rem 2rem;border-radius:20px;border:2px dashed rgba(114,0,156,.3);background:var(--lilac)}
.soon-ic{width:100px;height:100px;margin:0 auto 1.4rem;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;animation:bob 4s ease-in-out infinite}
.soon h2{font-size:clamp(2rem,4vw,3rem);color:var(--purple-d)}
.dots i{font-style:normal;display:inline-block;animation:dotb 1.4s infinite}
.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}.dots i:nth-child(4){animation-delay:.6s}
@keyframes dotb{0%,60%,100%{transform:none}30%{transform:translateY(-10px)}}

/* ---------- Forms ---------- */
.form-wrap{display:grid;grid-template-columns:1fr 330px;gap:2.5rem;align-items:start}
.card-form{position:relative;background:#fff;border-radius:18px;padding:2.4rem;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(74,0,102,.5)}
.card-form::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:18px 0 0 18px;background:linear-gradient(var(--purple),var(--green))}
.cf-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.8rem}
.cf-head h2{font-size:1.7rem;margin:0}
.cf-head p{margin:0;color:var(--muted)}
.cf-ic{flex:none;width:56px;height:56px;border-radius:14px;background:var(--lilac);color:var(--purple);display:grid;place-items:center}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.6rem}
.full{grid-column:1/-1}
.fld{position:relative}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;color:var(--ink);padding:1.5rem 1rem .55rem;border:1.5px solid var(--line);border-radius:10px;background:#FCFAFD;transition:border-color .3s,box-shadow .3s,background .3s;appearance:none;-webkit-appearance:none}
.fld textarea{resize:vertical;min-height:140px}
.fld label{position:absolute;left:1rem;top:1.05rem;color:var(--muted);font-weight:600;pointer-events:none;transform-origin:left top;transition:transform .3s var(--out),color .3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--purple);background:#fff;box-shadow:0 0 0 4px rgba(114,0,156,.1)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label,.fld.sel label,.fld label.up{transform:translateY(-.62rem) scale(.78);color:var(--purple);font-weight:800}
.fld.sel::after{content:"";position:absolute;right:1.1rem;top:52%;width:8px;height:8px;border-right:2px solid var(--purple);border-bottom:2px solid var(--purple);transform:translateY(-50%) rotate(45deg);pointer-events:none}
.fld .count{position:absolute;right:.9rem;bottom:.5rem;font-size:.75rem;color:var(--muted)}
.file-label{display:block;font-weight:800;color:var(--purple);font-size:.9rem;margin-bottom:.5rem}
.fld.file label.drop{position:static;transform:none;pointer-events:auto;font-weight:600}
.drop{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.2rem 1.3rem;border:2px dashed rgba(114,0,156,.3);border-radius:12px;background:var(--lilac);cursor:pointer;color:var(--purple);transition:border-color .3s,background .3s}
.drop:hover,.drop.drag{border-color:var(--green);background:var(--lime)}
.drop-t{font-weight:600;color:var(--ink)}
.drop-n{margin-left:auto;font-size:.85rem;color:var(--muted);word-break:break-all}
.drop.has .drop-n{color:var(--green-d);font-weight:800}
.file input{position:absolute;width:1px;height:1px;opacity:0}
[aria-invalid=true]{border-color:#C0262D!important;animation:shake2 .4s}
@keyframes shake2{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.form-msg{margin:.8rem 0 0;font-weight:700;min-height:1.2em}
.form-msg.err{color:#C0262D}.form-msg.ok{color:var(--green-d)}
.side-card{position:sticky;top:120px;padding:2rem;border-radius:18px;background:var(--deep);color:rgba(255,255,255,.8);text-align:center;overflow:hidden;background-image:radial-gradient(circle at 100% 0,rgba(107,179,0,.35),transparent 55%)}
.side-card img{width:86px;margin:0 auto 1rem;background:#fff;border-radius:50%;padding:6px}
.side-card h3{color:#fff}
.side-card a:not(.btn){display:flex;align-items:center;justify-content:center;gap:.5rem;color:#fff;text-decoration:none;margin-bottom:.6rem;word-break:break-all;font-size:.93rem}
.side-card a:not(.btn):hover{color:var(--green-l)}
.side-card .btn{margin-top:1rem;width:100%}
.pay .qr{display:block;background:#fff;padding:12px;border-radius:14px;margin-bottom:1rem;transition:transform .5s var(--out)}
.pay .qr:hover{transform:scale(1.03) rotate(-1deg)}
.pay .qr img{width:100%;margin:0;padding:0;border-radius:6px;background:none}
.upi{word-break:break-all;color:#fff}
.calc{margin-bottom:1.6rem;padding:1.4rem;border-radius:12px;background:var(--lime)}
.calc h3{font-size:1.2rem}
.calc table{width:100%;border-collapse:collapse}
.calc th,.calc td{text-align:left;padding:.6rem .4rem;border-bottom:1px solid rgba(79,138,0,.2)}
.calc td:last-child,.calc th:last-child{text-align:right}
.calc .js-total{transition:color .3s}
.calc .bump{animation:bump .5s var(--out)}
@keyframes bump{50%{transform:scale(1.25);color:var(--purple)}}
.plans{margin:.8rem 0 0;font-size:.88rem;color:var(--muted);font-weight:600}
.narrow{max-width:620px}
.lookup{text-align:center}
.lookup .fld{text-align:left;margin-bottom:1.4rem}
.lookup h2{font-size:1.8rem}
.lookup p{color:var(--muted)}
.lk-ic{width:76px;height:76px;margin:0 auto 1.2rem;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;box-shadow:0 0 0 10px var(--lilac)}
.lk-ic.green{background:var(--green);color:var(--deep);box-shadow:0 0 0 10px var(--lime)}
.two-forms{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}

/* ---------- Contact ---------- */
.infos{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.info{padding:2rem 1.5rem;border-radius:var(--r);border:1px solid var(--line);background:#fff;text-align:center;transition:transform .5s var(--out),box-shadow .5s,border-color .4s}
.info-ic{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:var(--lilac);color:var(--purple);transition:background .4s,color .4s,transform .7s var(--out)}
.info h3{font-size:1.2rem}
.info p{margin:0;color:var(--muted);word-break:break-word}
.info:hover{transform:translateY(-8px);border-color:var(--green);box-shadow:0 0 0 1px var(--green),var(--sh)}
.info:hover .info-ic{background:var(--green);color:var(--deep);transform:rotateY(360deg)}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;padding-top:6rem}
.map{border-radius:18px;overflow:hidden;box-shadow:var(--sh);position:sticky;top:120px}
.map iframe{display:block;width:100%;height:560px;border:0}
.main-office{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.2rem;border-radius:12px;background:#fff;border-left:4px solid var(--green);margin-bottom:1.4rem}
.main-office .ic{color:var(--purple);margin-top:.2rem}
.main-office b{display:block;font-family:var(--serif);color:var(--purple-d)}

/* ---------- Footer ---------- */
.site-footer{position:relative;background:var(--deep);color:rgba(255,255,255,.72);font-size:.95rem;overflow:hidden;border-top:6px solid;border-image:linear-gradient(90deg,var(--purple),var(--green)) 1}
.site-footer::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;left:-200px;bottom:-260px;background:radial-gradient(circle,rgba(114,0,156,.6),transparent 65%)}
.ft-top{position:relative;z-index:2;padding:4.5rem 0 2.5rem;border-bottom:1px solid rgba(255,255,255,.1)}
.ft-quote{margin:0;max-width:900px;font:italic 600 clamp(1.4rem,2.8vw,2.1rem)/1.35 var(--serif);color:#fff}
.ft-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:3rem;padding:3.5rem 0}
.brand-foot{margin-bottom:1.2rem}
.brand-foot img{background:#fff;border-radius:50%;padding:4px}
.brand-foot span{color:#fff}.brand-foot b{color:var(--green-l)}
.ft-social{display:flex;gap:.5rem;margin-top:1.2rem}
.ft-h{color:#fff;font-size:1.2rem;margin-bottom:1.2rem}
.ft-links li{margin-bottom:.7rem}
.ft-links a{position:relative;color:rgba(255,255,255,.8);text-decoration:none;padding-left:0;transition:padding .4s var(--out),color .3s}
.ft-links a::before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--green);transition:width .4s var(--out)}
.ft-links a:hover{padding-left:1.4rem;color:#fff}
.ft-links a:hover::before{width:.9rem}
.ft-contact li{display:flex;gap:.8rem;margin-bottom:1rem;align-items:flex-start}
.ft-contact .ic{color:var(--green-l);margin-top:.25rem}
.ft-contact a{color:#fff;text-decoration:none;word-break:break-all}
.ft-contact a:hover{color:var(--green-l)}
.ft-bottom{position:relative;z-index:2;padding:1.3rem 0;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem;text-align:center}

/* to top */
.to-top{position:fixed;right:1.4rem;bottom:1.4rem;z-index:90;width:54px;height:54px;border-radius:50%;border:0;background:var(--purple);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:.45s var(--out)}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--green);color:var(--deep)}
.to-top .ic{position:relative;z-index:1}
.tt-ring{position:absolute;inset:-5px;width:calc(100% + 10px);height:calc(100% + 10px);transform:rotate(-90deg)}
.tt-ring circle{fill:none;stroke:var(--green);stroke-width:3;stroke-dasharray:150.8;stroke-dashoffset:150.8;stroke-linecap:round}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:4rem 5rem;background:rgba(31,10,43,.94);backdrop-filter:blur(8px);animation:fadeIn .35s}
.lightbox[hidden]{display:none}
@keyframes fadeIn{from{opacity:0}}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;width:100%}
.lb-stage{display:flex;justify-content:center;width:100%}
.lb-stage img{max-height:calc(100vh - 10rem);width:auto;border-radius:10px;animation:lbIn .5s var(--out)}
.lb-stage iframe{width:min(1000px,100%);aspect-ratio:16/9;border:0;border-radius:10px}
@keyframes lbIn{from{opacity:0;transform:scale(.92)}}
.lightbox figcaption{margin-top:1rem;color:#fff;font:600 1.1rem var(--serif);text-align:center}
.lightbox button{position:absolute;width:52px;height:52px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.3s}
.lightbox button:hover{background:var(--green);color:var(--deep);border-color:var(--green)}
.lb-close{top:1.2rem;right:1.2rem}.lb-prev{left:1.2rem}.lb-next{right:1.2rem}
.lb-count{position:absolute;top:1.6rem;left:1.6rem;margin:0;color:rgba(255,255,255,.7);font-weight:700}

/* ---------- Responsive ---------- */
.ab-grid>*,.cd-grid>*,.why-grid>*,.fd-grid>*,.up-grid>*,.ov-grid>*,.form-wrap>*,.ct-grid>*,.two-forms>*{min-width:0}
@media (max-width:1100px){
  .inits{grid-template-columns:repeat(3,1fr)}
  .infos{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
  .partners{grid-template-columns:1fr 1fr}
  .stay{grid-template-columns:1fr}
}
@media (max-width:960px){
  .band{padding:4.5rem 0}
  .ab-grid,.cd-grid,.why-grid,.fd-grid,.up-grid,.ov-grid,.form-wrap,.ct-grid,.two-forms{grid-template-columns:1fr;gap:3rem}
  .fd-photo,.side-card,.map{position:static}
  .fd-photo{max-width:460px}
  .orbit{max-width:340px}
  .units{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .cd-card{margin-top:3rem}
  .ct-grid{padding-top:4.5rem}
  .map iframe{height:380px}
}
@media (max-width:640px){
  .partners,.mv,.inits,.infos,.ft-grid,.duo,.grid{grid-template-columns:1fr}
  .pagehead{clip-path:polygon(0 0,100% 0,100% 92%,0 100%);min-height:240px}
  .hero{min-height:460px}
  .hero-title{margin-bottom:1.5rem}
  .hero-content .btn-row{flex-direction:column;width:100%;max-width:320px}
  .hero-content .btn-row .btn,.btn{white-space:normal;text-align:center}
  .hero-content .btn-row .btn{width:100%}
  .h-dot{width:34px}
  .h-arrow{width:44px;height:44px}
  .unit{flex-direction:column;padding:1.6rem}
  .card-form{padding:1.8rem 1.3rem 1.8rem 1.6rem}
  .cf-head{flex-direction:column;align-items:flex-start}
  .stay{padding:2rem 1.4rem}
  .stay-form{grid-template-columns:1fr}
  .countdown{gap:.5rem}
  .countdown div{padding:.8rem .2rem}
  .cd-card{padding:2rem 1.2rem}
  .tk-label span,.tk-label{font-size:.9rem;padding:.8rem 1rem}
  .masonry{columns:2 140px;column-gap:.8rem}
  .masonry li{margin-bottom:.8rem}
  .lightbox{padding:4rem .5rem 5rem}
  .lb-prev,.lb-next{top:auto;bottom:1rem}
  .lb-prev{left:calc(50% - 62px)}.lb-next{right:calc(50% - 62px)}
  .to-top{right:1rem;bottom:1rem;width:48px;height:48px}
  .poster{box-shadow:10px 10px 0 var(--green),var(--sh)}
  .albums{grid-template-columns:1fr}
  .videos{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;clip-path:none}
  .split .ch{opacity:1;transform:none}
  .birds{display:none}
}


/* ===== FIX 1: Smaller hero text, more photo ===== */
.hero-kicker{font-size:.72rem;letter-spacing:.18em;margin-bottom:.6rem}
.hero-kicker i{width:28px}
.hero-title{font-size:clamp(1.9rem,4.2vw,3.4rem);font-weight:700;line-height:1.1;margin-bottom:1.2rem}
.hero-content .btn{padding:.75rem 1.3rem;font-size:.88rem}
.hero-shade{background:linear-gradient(0deg,rgba(31,10,43,.65),rgba(31,10,43,.15) 45%,rgba(31,10,43,.15) 70%,rgba(31,10,43,.35))}
.hero-title,.hero-kicker{text-shadow:0 2px 18px rgba(0,0,0,.45)}

/* ===== FIX 2: Empty spaces (image "wipe" reveal never showed) ===== */
.reveal.wipe{clip-path:none!important;opacity:1;transform:none;position:relative;overflow:hidden}
.reveal.wipe::after{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(120deg,var(--purple),var(--green));transform-origin:right;transition:transform 1.1s var(--ease);transition-delay:var(--d,0s);pointer-events:none}
.reveal.wipe.in::after{transform:scaleX(0)}

/* ===== FIX 3: Donate modal ===== */
.donate{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:1.2rem;background:rgba(31,10,43,.72);backdrop-filter:blur(6px);opacity:0;transition:opacity .45s}
.donate.show{opacity:1}
.donate[hidden]{display:none}
.dn-box{position:relative;width:min(760px,100%);max-height:calc(100vh - 2.4rem);overflow:auto;display:grid;grid-template-columns:1fr 1.05fr;border-radius:22px;background:#fff;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);transform:translateY(40px) scale(.95);transition:transform .6s var(--out)}
.donate.show .dn-box{transform:none}
.dn-side{position:relative;padding:2.4rem 2rem;color:rgba(255,255,255,.88);background:linear-gradient(150deg,var(--deep),var(--purple-d) 55%,var(--purple));overflow:hidden}
.dn-side::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;bottom:-110px;background:radial-gradient(circle,rgba(107,179,0,.6),transparent 65%);animation:bob 7s ease-in-out infinite}
.dn-logo{width:70px;height:70px;border-radius:50%;background:#fff;padding:5px;margin-bottom:1.2rem;animation:bob 5s ease-in-out infinite}
.dn-eyebrow{display:inline-block;font:800 .72rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--green-l);margin-bottom:.6rem}
.dn-side h2{color:#fff;font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:.8rem}
.dn-side p{font-size:.95rem;margin-bottom:1.2rem}
.dn-points li{position:relative;z-index:1;display:flex;gap:.6rem;align-items:center;margin-bottom:.55rem;font-weight:600;font-size:.92rem}
.dn-points li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F0A2B' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/11px no-repeat}
.dn-pay{padding:2.2rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.dn-pay h3{font-size:1.25rem;color:var(--purple-d);margin-bottom:.3rem}
.dn-pay>p{font-size:.88rem;color:var(--muted);margin-bottom:1rem}
.dn-qr{position:relative;width:min(230px,100%);padding:10px;border-radius:16px;background:#fff;border:2px solid var(--line)}
.dn-qr img{width:100%;border-radius:8px}
.dn-qr::before,.dn-qr::after{content:"";position:absolute;width:34px;height:34px;border:4px solid var(--green)}
.dn-qr::before{top:-6px;left:-6px;border-right:0;border-bottom:0;border-radius:12px 0 0 0}
.dn-qr::after{bottom:-6px;right:-6px;border-left:0;border-top:0;border-radius:0 0 12px 0}
.dn-scan{position:absolute;left:10px;right:10px;top:10px;height:3px;border-radius:3px;background:var(--green);box-shadow:0 0 14px var(--green);animation:scan 2.4s ease-in-out infinite}
@keyframes scan{50%{top:calc(100% - 13px)}}
.dn-upi{margin:1.1rem 0 .9rem;width:100%;display:flex;align-items:center;gap:.5rem;padding:.55rem .55rem .55rem .9rem;border-radius:10px;background:var(--lilac);font-size:.82rem;text-align:left}
.dn-upi code{flex:1;min-width:0;word-break:break-all;font:700 .82rem var(--sans);color:var(--purple-d)}
.dn-copy{flex:none;border:0;border-radius:8px;padding:.5rem .8rem;background:var(--purple);color:#fff;font:700 .78rem var(--sans);cursor:pointer;transition:background .3s}
.dn-copy:hover{background:var(--green);color:var(--deep)}
.dn-pay .btn{width:100%}
.dn-apps{font-size:.78rem;color:var(--muted);margin:.7rem 0 0}
.dn-close{position:absolute;top:.9rem;right:.9rem;z-index:3;width:40px;height:40px;border-radius:10px;border:0;background:rgba(31,10,43,.08);color:var(--deep);display:grid;place-items:center;cursor:pointer;transition:transform .4s var(--out),background .3s}
.dn-close:hover{transform:rotate(90deg);background:var(--green)}
.dn-later{margin-top:.8rem;border:0;background:none;font:600 .82rem var(--sans);color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.donate-fab{position:fixed;left:0;top:50%;z-index:90;display:inline-flex;align-items:center;gap:.5rem;padding:1rem .6rem;border:0;border-radius:12px 0 0 12px;background:var(--green);color:var(--deep);font:800 .85rem var(--sans);letter-spacing:.06em;cursor:pointer;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);box-shadow:0 12px 30px -10px rgba(107,179,0,.9);transition:padding .4s var(--out),background .3s,color .3s}
.donate-fab:hover{padding-left:.95rem;background:var(--purple);color:#fff}
.donate-fab svg{animation:beat 1.4s ease-in-out infinite}
@media (max-width:700px){
  .dn-box{grid-template-columns:1fr}
  .dn-side{padding:1.8rem 1.5rem 1.4rem}
  .dn-points{display:none}
  .dn-side p{margin:0}
  .dn-logo{width:54px;height:54px;margin-bottom:.8rem}
  .dn-pay{padding:1.6rem 1.4rem}
  .dn-qr{width:190px}
  .dn-close{background:rgba(255,255,255,.9)}
  .donate-fab{padding:.8rem .45rem;font-size:.78rem}
}
@media (prefers-reduced-motion:reduce){.dn-scan{display:none}}


/* ===== Hero: text in bottom-left corner on a readable card ===== */
.hero-shade{background:linear-gradient(0deg,rgba(31,10,43,.55),transparent 35%),linear-gradient(90deg,rgba(31,10,43,.35),transparent 55%)}
.hero-content{align-items:flex-start;justify-content:flex-end;text-align:left;padding-bottom:6.5rem}
.hero-card{max-width:520px;padding:1.6rem 1.8rem 1.8rem;border-radius:16px;background:rgba(31,10,43,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-left:5px solid var(--green);box-shadow:0 30px 60px -25px rgba(0,0,0,.7);animation:rise 1s .9s var(--out) both}
.hero-card .hero-kicker{animation:none;margin-bottom:.5rem;font-size:.72rem;text-shadow:none}
.hero-card .hero-title{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:700;line-height:1.1;margin:0 0 1.2rem;text-shadow:none}
.hero-card .hero-title span,.hero-card .hero-title em{animation:none}
.hero-card .btn-row{justify-content:flex-start;animation:none;gap:.7rem}
.hero-card .btn{padding:.72rem 1.2rem;font-size:.86rem}
.slide img{object-position:center 30%}
@media (max-width:640px){
  .hero-content{padding-bottom:5rem}
  .hero-card{max-width:none;width:100%;padding:1.2rem 1.2rem 1.3rem}
  .hero-card .btn-row{flex-direction:row;flex-wrap:wrap;max-width:none}
  .hero-card .btn-row .btn{width:auto;flex:1 1 140px}
}

/* ===== Hero slider: show the WHOLE photo (no cropping) ===== */
.slide{background:var(--deep);overflow:hidden}
.slide::before{content:"";position:absolute;inset:-60px;background:var(--bg) center/cover no-repeat;filter:blur(28px) brightness(.5) saturate(1.2)}
.slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain!important;object-position:center!important}

/* ===== Home page: transparent header, turns white when you scroll ===== */
body.is-home .topbar{position:absolute;top:0;left:0;right:0;z-index:101;background:transparent;border-bottom:1px solid rgba(255,255,255,.14)}
body.is-home .tb-in{height:44px;min-height:0}
body.is-home .site-header{position:fixed;top:44px;left:0;right:0;background:transparent;border-bottom-color:transparent;box-shadow:none;transition:top .4s var(--out),background .4s,box-shadow .4s,border-color .4s}
body.is-home .site-header.scrolled{top:0;background:#fff;border-bottom-color:var(--line);box-shadow:0 12px 30px -20px rgba(31,10,43,.5)}
body.is-home .site-header:not(.scrolled) .brand span{color:#fff}
body.is-home .site-header:not(.scrolled) .brand b{color:var(--green-l)}
body.is-home .site-header:not(.scrolled) .hd-in>.brand img{background:#fff;border-radius:50%;padding:3px}
@media (min-width:1301px){
  body.is-home .site-header:not(.scrolled) .lv0>.n-link,
  body.is-home .site-header:not(.scrolled) .lv0>.n-tog{color:#fff}
  body.is-home .site-header:not(.scrolled) .lv0>.n-link:hover,
  body.is-home .site-header:not(.scrolled) .lv0>.n-link[aria-current]{color:var(--green-l)}
}
body.is-home .hero{height:100vh;height:100svh;min-height:560px}
body.is-home .hero::before{content:"";position:absolute;left:0;right:0;top:0;height:200px;z-index:3;pointer-events:none;background:linear-gradient(rgba(31,10,43,.75),transparent)}




/* ===== Hero: full-screen photos + text at the bottom (no box) ===== */
.slide::before{display:none}
.slide img{object-fit:cover!important;object-position:center 30%!important}
.hero-shade{background:linear-gradient(0deg,rgba(31,10,43,.5) 0%,rgba(31,10,43,.18) 28%,transparent 50%)}
.hero-content{align-items:flex-start;justify-content:flex-end;text-align:left;padding-bottom:5.5rem}
.hero-card{max-width:none;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-card .hero-kicker{text-shadow:0 1px 8px rgba(0,0,0,.6)}
.hero-card .hero-title{text-shadow:0 2px 14px rgba(0,0,0,.55);margin-bottom:1rem}
.hero-card .btn-ghost{background:rgba(255,255,255,.18);border-color:#fff}
@media (max-width:640px){
  .hero-content{padding-bottom:5rem}
  .hero-card{width:100%}
}
/* =========================================================
   ADD-ONS (requirements T1–T4) – new components only,
   built from the existing theme variables
   ========================================================= */
/* Album cards: hover description + link */
.album-hover{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem;padding:1.3rem;border-radius:var(--r);color:#fff;background:linear-gradient(160deg,rgba(114,0,156,.92),rgba(31,10,43,.88));opacity:0;transition:opacity .45s var(--out),transform .7s var(--out)}
.album:hover .album-hover,.album-cover:focus-visible .album-hover{opacity:1;transform:translateY(-8px)}
.album-hover b{font:700 1.15rem/1.25 var(--serif)}
.ah-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;color:var(--green-l);font-size:.84rem;font-weight:700}
.ah-desc{font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.92);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ah-go{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;font-size:.88rem;color:var(--green-l)}
.album-go{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;font:800 .95rem var(--sans);color:var(--green-d);text-decoration:none;transition:gap .4s var(--out),color .3s}
.album-go:hover{gap:.8rem;color:var(--purple)}
.album-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.4rem}
.album-head>div{max-width:760px}
.album-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.chip-t{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:8px;background:var(--lilac);color:var(--purple-d);font-weight:700;font-size:.88rem;border-left:3px solid var(--green)}

/* Upcoming events */
.up-flip>:first-child{order:2}
@media (max-width:960px){.up-flip>:first-child{order:0}}
.ev-facts{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}
.fee-t{display:inline-flex;align-items:center;padding:.4rem .85rem;border-radius:8px;font-weight:800;font-size:.85rem}
.fee-t.free{background:var(--lime);color:var(--green-d)}
.fee-t.paid{background:#FFF4E5;color:#B45309}
.up-banner{margin:0}
.up-banner figcaption{margin-top:1.6rem;text-align:center;color:var(--muted);font-weight:600}

/* Forms – extra parts */
.form-sec{font:700 1.1rem var(--serif);color:var(--purple-d);margin:.6rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}
.grid>.form-sec{margin:0}
.ev-summary{display:flex;gap:1rem;align-items:center;padding:.9rem;border-radius:12px;background:var(--lilac);border:1px solid var(--line)}
.ev-summary img{width:110px;height:76px;object-fit:cover;border-radius:8px;flex:none}
.ev-summary div{display:grid;gap:.3rem;justify-items:start}
.ev-summary b{font:700 1.1rem var(--serif);color:var(--deep)}
.ev-summary span:not(.fee-t){display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.9rem}
.pay-note{margin:.6rem 0;font-weight:600;color:var(--deep)}
.ev-aside{position:sticky;top:120px}
.ev-aside .side-card{position:static}
.side-card .upi{font-size:.9rem}
.side-note{margin:.8rem 0 0;font-size:.85rem;color:rgba(255,255,255,.7)}
.terms-box{max-height:230px;overflow:auto;padding:1.1rem 1.2rem;margin:.8rem 0 1rem;border:1.5px solid var(--line);border-radius:10px;background:#FCFAFD;font-size:.93rem;color:var(--muted)}
.terms-box p:last-child{margin:0}
.check{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.1rem;margin-bottom:1.6rem;border:1.5px solid var(--line);border-radius:10px;background:var(--lilac);cursor:pointer;font-weight:600;line-height:1.55}
.check input{width:20px;height:20px;flex:none;margin-top:.2rem;accent-color:var(--purple)}
.check[aria-invalid=true]{border-color:#E11D48}
.fld input[readonly]{cursor:not-allowed;opacity:.85}
.terms-page p{color:var(--ink)}.terms-page strong{font-family:var(--serif);color:var(--purple-d)}

/* Popup */
.hv-modal{position:fixed;inset:0;z-index:1001;display:grid;place-items:center;padding:1.5rem;background:rgba(31,10,43,.72);backdrop-filter:blur(6px);animation:hvFade .3s var(--out)}
.hv-modal.out{opacity:0;transition:opacity .3s}
.hv-modal-box{position:relative;max-width:440px;width:100%;background:#fff;border-radius:18px;padding:2.6rem 2rem 2rem;text-align:center;box-shadow:var(--sh);overflow:hidden}
.hv-modal-box::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--purple) 50%,var(--green) 50%)}
.hv-modal-ic{font-size:2.6rem;display:block;margin-bottom:.4rem}
.hv-modal-box h2{font-size:1.9rem;color:var(--purple-d)}
.hv-modal-box p{color:var(--muted);font-size:1.05rem}
@keyframes hvFade{from{opacity:0}}

/* Membership status */
.status-card{margin-top:1.6rem;padding:2rem;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(74,0,102,.5)}
.status-card dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:1rem 0}
.status-card dt{color:var(--muted);font-weight:600}.status-card dd{margin:0;font-weight:800}
.st-badge{display:inline-block;padding:.3rem .9rem;border-radius:8px;font-weight:800;font-size:.8rem;margin-bottom:.8rem}
.status-card.active .st-badge{background:var(--lime);color:var(--green-d)}
.status-card.expired .st-badge{background:#FEF2F2;color:#DC2626}
.st-exp{color:#DC2626;font:700 1.25rem var(--serif)}
.st-ok{color:var(--green-d);font-weight:800}
.status-card.none{border-color:#FECACA;background:#FFF7F7}

/* Newspaper tabs */
.np-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:2.4rem}
.np-tabs button{padding:.75rem 1.5rem;border-radius:10px;border:1.5px solid var(--line);background:#fff;font:800 .95rem var(--sans);color:var(--muted);cursor:pointer;transition:.3s}
.np-tabs button:hover{color:var(--purple);border-color:var(--purple)}
.np-tabs button[aria-selected=true]{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 10px 24px -12px rgba(114,0,156,.8)}

/* Electronic media list */
.media-list{display:grid;gap:1rem;max-width:960px;margin-inline:auto}
.media-row{display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center;padding:1.1rem 1.3rem;border-radius:var(--r);border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);transition:transform .5s var(--out),box-shadow .5s}
.media-row:hover{transform:translateY(-4px);box-shadow:var(--sh);color:var(--ink)}
.mr-ic{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:var(--lilac);color:var(--purple)}
.mr-body{display:grid}.mr-body b{font:700 1.1rem var(--serif);color:var(--purple-d)}.mr-body span{color:var(--muted);font-size:.9rem}
.mr-go{display:inline-flex;align-items:center;gap:.4rem;color:var(--green-d);font-weight:800}
@media (max-width:640px){.media-row{grid-template-columns:auto 1fr}.mr-go{grid-column:1/-1}}

/* Videos with a YouTube link show the YouTube thumbnail */
.vt-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Mission & vision page, CEO buttons, contact without map */
.mv-page{margin-top:0}
.ceo-btns{margin-top:1.6rem}
.ct-solo{grid-template-columns:1fr;max-width:820px}

/* Content manager (admin.html) */
.adm-bar{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;padding:1.8rem 2rem;border-radius:18px;background:var(--lilac);border:1px solid var(--line);margin-bottom:2rem}
.adm-bar h2{font-size:1.6rem}.adm-bar p{margin:0;color:var(--muted)}
.adm-bar code,.adm-note code{background:#fff;padding:.1rem .4rem;border-radius:6px;font-size:.88em;word-break:break-all}
.adm-draft{grid-column:1/-1;margin:0!important;padding:.8rem 1rem;border-radius:10px;background:#FFF4E5;color:#8A5200!important;font-weight:700}
.adm-draft button{border:0;background:none;color:#DC2626;font:inherit;text-decoration:underline;cursor:pointer}
.adm-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.adm-tabs button{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:.6rem 1.1rem;font:800 .9rem var(--sans);color:var(--muted);cursor:pointer;transition:.3s}
.adm-tabs button:hover{color:var(--purple);border-color:var(--purple)}
.adm-tabs button.on{background:var(--purple);color:#fff;border-color:var(--purple)}
.adm-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.adm-head h2{margin:0;font-size:1.7rem;color:var(--purple-d)}.adm-head small{color:var(--muted);font-family:var(--sans);font-size:1rem}
.adm-sm{padding:.65rem 1.1rem;font-size:.88rem}
.adm-form{display:grid;gap:1rem;margin-bottom:2rem}
.adm-form .form-h{font-size:1.4rem;margin:0}
.adm-form .btn-row{display:flex;gap:.8rem;flex-wrap:wrap}
.adm-g2,.adm-g3{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.adm-g3{grid-template-columns:repeat(3,1fr)}
.adm-saved{margin-bottom:1rem}
.adm-list{display:grid;gap:.7rem}
.adm-list li{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.adm-th{width:72px;height:54px;border-radius:8px;overflow:hidden;background:var(--lilac);flex:none}
.adm-th img{width:100%;height:100%;object-fit:cover}
.adm-tx{flex:1;min-width:0;display:grid}.adm-tx b{font-family:var(--serif);color:var(--deep)}
.adm-tx span{color:var(--muted);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adm-act{display:flex;gap:.4rem;flex-wrap:wrap}
.adm-act button{border:1px solid var(--line);background:var(--lilac);border-radius:8px;padding:.45rem .75rem;font:700 .85rem var(--sans);cursor:pointer;color:var(--ink)}
.adm-act button:hover:not(:disabled){border-color:var(--purple);color:var(--purple)}
.adm-act button:disabled{opacity:.4;cursor:default}
.adm-act button.del{color:#DC2626}
.adm-empty{padding:2rem;text-align:center;border:2px dashed rgba(114,0,156,.3);border-radius:14px;color:var(--muted);background:var(--lilac)}
.adm-note{margin:0;font-size:.88rem;color:var(--muted)}
.adm-img{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center}
.adm-img .adm-prev{grid-column:1/-1;max-height:140px;width:auto;border-radius:8px;border:1px solid var(--line)}
.adm-pick{cursor:pointer}
.adm-radio{border:1.5px solid var(--line);border-radius:10px;padding:.8rem 1rem;display:flex;gap:1.5rem;flex-wrap:wrap;background:#FCFAFD;margin:0}
.adm-radio legend{font-weight:800;color:var(--purple);font-size:.85rem;padding:0 .3rem}
.adm-radio label{display:flex;gap:.45rem;align-items:center;font-weight:700;cursor:pointer}
.adm-radio input{accent-color:var(--purple);width:18px;height:18px}
.adm-photos ul{display:grid;gap:.6rem;margin-bottom:.8rem}
.adm-photo{display:grid;grid-template-columns:64px 1.4fr 1fr auto;gap:.6rem;align-items:center;padding:.5rem;border:1px solid var(--line);border-radius:10px;background:var(--lilac)}
.adm-photo img{width:64px;height:48px;object-fit:cover;border-radius:6px}
.adm-photo input{font:inherit;font-size:.9rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;min-width:0}
.adm-photo button{border:0;background:none;color:#DC2626;font-size:1.1rem;cursor:pointer;padding:.4rem}
@media (max-width:760px){.adm-bar{grid-template-columns:1fr}.adm-list li{flex-wrap:wrap}.adm-photo{grid-template-columns:64px 1fr auto}.adm-photo input[data-p=caption]{grid-column:2}.adm-g2,.adm-g3{grid-template-columns:1fr}}

/* Membership: single-column form, QR inside the form (paid categories only) */
.form-wrap.m-solo{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
.m-pay-box{display:grid;grid-template-columns:200px 1fr;gap:1.6rem;align-items:center;padding:1.4rem;margin:.8rem 0 1.4rem;border-radius:14px;background:var(--lime);border:1px solid rgba(79,138,0,.2)}
.m-qr{display:block;background:#fff;padding:10px;border-radius:12px;box-shadow:var(--sh)}
.m-qr img{width:100%;border-radius:6px}
.m-pay-box h3{font-size:1.2rem;margin:0 0 .3rem}
.m-amt{font:700 1.8rem var(--serif);color:var(--purple);margin:0 0 .4rem}
.upi-line{font-size:.9rem;font-weight:700;color:var(--deep);word-break:break-all;margin:0 0 .8rem}
.m-pay-box .btn{margin-bottom:1rem}
@media (max-width:640px){.m-pay-box{grid-template-columns:1fr;justify-items:center;text-align:center}.m-qr{max-width:220px}}

/* Album page: "Back to ..." button on the left with a back arrow */
.album-head #js-back{order:-1;margin-right:auto;flex-direction:row-reverse}
.album-head #js-back .ic{transform:rotate(180deg)}
.album-head #js-back:hover .ic{transform:rotate(180deg) translateX(5px)}


/* Main menu: tabs close together, centred between logo and right edge (desktop only) */
@media (min-width:1301px){
  .site-header .mainnav{flex:1;margin-left:2rem}
  .site-header .menu{margin-inline:auto;gap:.6rem}
  .site-header .hd-cta{margin-left:1.2rem}
}

/* Contact Us as a button in the main menu (desktop) */
@media (min-width:1301px){
  .site-header .menu>li:last-child>.n-link{
    margin-left:.6rem;padding:.75rem 1.4rem;border-radius:10px;
    background:var(--purple);color:#fff;isolation:isolate;overflow:hidden;
    box-shadow:0 10px 24px -12px rgba(114,0,156,.8);
    transition:color .45s var(--ease),box-shadow .45s,transform .35s var(--out)}
  .site-header .menu>li:last-child>.n-link::after{
    left:0;right:0;top:0;bottom:0;height:auto;z-index:-1;border-radius:inherit;
    background:var(--green);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
  .site-header .menu>li:last-child>.n-link:hover,
  .site-header .menu>li:last-child>.n-link:focus-visible{
    color:var(--deep);transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(107,179,0,.9)}
  .site-header .menu>li:last-child>.n-link:hover::after,
  .site-header .menu>li:last-child>.n-link:focus-visible::after{transform:scaleX(1);transform-origin:left}
  .site-header .menu>li:last-child>.n-link[aria-current]{color:var(--deep)}
  .site-header .menu>li:last-child>.n-link[aria-current]::after{transform:scaleX(1)}
}