
:root{
 --navy:#101938;--navy2:#19395a;--blue:#276888;--cream:#faf6ec;--paper:#fffdf8;
 --ink:#18203c;--muted:#5f687f;--gold:#d2a447;--gold2:#f1dc98;--saffron:#d86b36;
 --lotus:#bd3f67;--wine:#702d48;--line:rgba(24,32,60,.12);--shadow:0 25px 70px rgba(16,25,56,.14);
 --radius:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(1210px,calc(100% - 44px));margin-inline:auto}.eyebrow{margin:0;color:var(--saffron);font-size:.69rem;font-weight:850;letter-spacing:.22em;text-transform:uppercase}.eyebrow.light{color:var(--gold2)}
.display{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:1.02;margin:.5rem 0 1.15rem;font-size:clamp(2.5rem,5vw,5rem)}.lead{color:var(--muted);font-size:1.02rem;line-height:1.85;max-width:680px}.btn{min-height:52px;padding:0 23px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:.83rem;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn svg{font-size:1.12rem}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--saffron),#b9463b);box-shadow:0 14px 30px rgba(185,70,59,.25)}.btn-gold{color:var(--navy);background:linear-gradient(135deg,#fff0b2,var(--gold2));box-shadow:0 14px 34px rgba(210,164,71,.22)}.btn-outline{color:#fff;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}.btn-dark{background:var(--navy);color:#fff}.btn-soft{background:#fff;color:var(--navy);border:1px solid var(--line)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}

/* Decorative language */
.ornament{height:45px;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold)}.ornament::before,.ornament::after{content:"";width:min(190px,28vw);height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.ornament::after{transform:scaleX(-1)}.ornament span{font-family:Georgia,serif;font-size:1.35rem}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:48px}.section-head .lead{max-width:470px;margin-bottom:8px}
.lotus-pattern{background-image:radial-gradient(circle at 50% 120%,rgba(210,164,71,.08),transparent 42%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23d2a447' stroke-opacity='.065'%3E%3Cpath d='M80 112c-17-25-17-51 0-78 17 27 17 53 0 78Z'/%3E%3Cpath d='M79 120c-29-7-47-25-53-54 29 1 47 19 53 54Z'/%3E%3Cpath d='M81 120c29-7 47-25 53-54-29 1-47 19-53 54Z'/%3E%3Cpath d='M80 126c-40 0-63-14-70-42 34 4 58 18 70 42Z'/%3E%3Cpath d='M80 126c40 0 63-14 70-42-34 4-58 18-70 42Z'/%3E%3C/g%3E%3C/svg%3E")}

/* Top and header */
.topbar{background:var(--navy);color:rgba(255,255,255,.78);padding:8px 18px;font-size:.7rem;text-align:center;letter-spacing:.045em}.topbar strong{color:var(--gold2);margin-right:8px}.site-header{position:sticky;top:0;z-index:60;background:rgba(250,246,236,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px;position:relative}.brand{display:flex;align-items:center;gap:13px}.brand img{height:58px;width:auto}.brand-copy{display:flex;flex-direction:column;line-height:1.13}.brand-copy small{font-size:.57rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--saffron)}.brand-copy strong{font-family:Georgia,serif;font-size:1.04rem;margin-top:5px;white-space:nowrap}.nav{display:flex;align-items:center;gap:26px}.nav a{font-size:.76rem;font-weight:800;color:#3e465d}.nav a:hover{color:var(--saffron)}.nav .nav-cta{padding:11px 18px;border-radius:999px;background:var(--navy);color:#fff}.menu{display:none;width:44px;height:44px;background:transparent;border:0;padding:9px}.menu span{display:block;height:2px;background:var(--navy);margin:5px}

/* Hero */
.hero{position:relative;isolation:isolate;color:#fff;overflow:hidden;background:linear-gradient(112deg,#101939 0%,#153456 51%,#18506a 100%)}.hero::before{content:"";position:absolute;inset:0;background:url("../assets/tovp-watermark.webp") center/cover no-repeat;opacity:.14;mix-blend-mode:screen;z-index:-4}.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(241,220,152,.25),transparent 27%),radial-gradient(circle at 10% 88%,rgba(189,63,103,.19),transparent 26%),linear-gradient(90deg,rgba(9,16,45,.57),transparent 60%);z-index:-3}.hero-stars{position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(255,255,255,.55) .7px,transparent .7px),radial-gradient(rgba(241,220,152,.5) .65px,transparent .65px);background-size:82px 82px,117px 117px;background-position:0 0,35px 50px;opacity:.24;mask-image:linear-gradient(#000,transparent 90%)}
.hero-grid{min-height:760px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:40px;padding:85px 0 92px}.hero-copy{position:relative;z-index:4}.hero h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.055em;line-height:.91;font-size:clamp(3.8rem,6.8vw,7rem);margin:21px 0 28px}.hero h1 span{display:block;color:var(--gold2);font-size:.54em;letter-spacing:-.025em;margin-top:15px}.hero .lead{color:rgba(255,255,255,.76);font-size:1.08rem}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.hero-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:47px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18)}.hero-meta-item{display:flex;gap:11px;align-items:center}.hero-meta-item svg{color:var(--gold2);font-size:1.3rem}.hero-meta-item small,.hero-meta-item strong{display:block}.hero-meta-item small{font-size:.57rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.5)}.hero-meta-item strong{font-family:Georgia,serif;font-size:.94rem;font-weight:500}
.hero-art{position:relative;min-height:590px;display:grid;place-items:center}.mandala{position:absolute;width:min(555px,95%);aspect-ratio:1;border-radius:50%;border:1px solid rgba(241,220,152,.18);box-shadow:0 0 0 35px rgba(241,220,152,.035),0 0 0 70px rgba(241,220,152,.018),inset 0 0 80px rgba(241,220,152,.06)}.mandala::before,.mandala::after{content:"";position:absolute;inset:12%;border:1px dashed rgba(241,220,152,.21);border-radius:50%;animation:spin 45s linear infinite}.mandala::after{inset:25%;animation-direction:reverse;animation-duration:30s}@keyframes spin{to{transform:rotate(360deg)}}.book-showcase{position:relative;z-index:3;width:min(385px,70%);filter:drop-shadow(0 36px 32px rgba(0,0,0,.42));transform:rotate(2deg);animation:float 5s ease-in-out infinite}@keyframes float{50%{transform:translateY(-12px) rotate(1deg)}}.seal{position:absolute;right:1%;top:4%;width:158px;height:158px;border-radius:50%;display:grid;place-items:center;padding:19px;background:rgba(255,255,255,.95);box-shadow:0 20px 50px rgba(0,0,0,.25);z-index:4}.seal img{width:100%;height:100%;object-fit:contain}.founder{position:absolute;left:0;bottom:2%;width:168px;height:168px;border-radius:50%;background:#fff;border:6px solid rgba(241,220,152,.88);box-shadow:0 22px 50px rgba(0,0,0,.26);overflow:hidden;z-index:4}.founder img{width:100%;height:100%;object-fit:contain}.event-chip{position:absolute;z-index:5;padding:13px 16px;border:1px solid rgba(241,220,152,.38);border-radius:15px;background:rgba(12,22,53,.78);backdrop-filter:blur(12px);box-shadow:0 14px 30px rgba(0,0,0,.18)}.event-chip small,.event-chip strong{display:block}.event-chip small{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}.event-chip strong{font-family:Georgia,serif;font-size:.87rem;margin-top:2px}.chip-one{right:2%;bottom:13%}.chip-two{left:8%;top:14%}
.countdown-band{position:relative;z-index:3;margin-top:-39px;padding-bottom:42px}.countdown-card{display:grid;grid-template-columns:1.25fr repeat(4,.55fr);align-items:center;background:rgba(255,253,248,.97);color:var(--ink);border:1px solid rgba(255,255,255,.62);border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.2);overflow:hidden}.countdown-intro{padding:22px 27px;border-right:1px solid var(--line)}.countdown-intro small{display:block;color:var(--saffron);font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900}.countdown-intro strong{font-family:Georgia,serif;font-size:1.15rem}.count-unit{text-align:center;padding:18px 10px;border-right:1px solid var(--line)}.count-unit:last-child{border-right:0}.count-unit strong{display:block;font-family:Georgia,serif;font-size:1.7rem;color:var(--navy);line-height:1}.count-unit span{font-size:.55rem;text-transform:uppercase;letter-spacing:.14em;color:#8b91a3}

/* Invitation / overview */
.overview{padding:112px 0 75px}.overview-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:88px;align-items:start}.sacred-card{position:sticky;top:120px;min-height:430px;border-radius:32px;padding:38px;color:#fff;overflow:hidden;background:linear-gradient(150deg,rgba(24,54,87,.98),rgba(23,81,100,.91)),url("../assets/tovp-watermark.webp") center/cover;box-shadow:var(--shadow)}.sacred-card::after{content:"";position:absolute;width:310px;height:310px;border-radius:50%;right:-120px;bottom:-145px;border:1px solid rgba(241,220,152,.2);box-shadow:0 0 0 40px rgba(241,220,152,.045),0 0 0 80px rgba(241,220,152,.025)}.sacred-card img{width:125px;position:relative;z-index:2}.sacred-card blockquote{position:relative;z-index:2;font-family:Georgia,serif;font-size:1.62rem;line-height:1.47;margin:30px 0 14px;max-width:420px}.sacred-card p{position:relative;z-index:2;color:var(--gold2);font-size:.65rem;text-transform:uppercase;letter-spacing:.14em}.overview-copy .display{max-width:730px}.overview-copy>p{font-size:1.05rem;line-height:1.9;color:var(--muted)}.pillars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.pillar{padding:23px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.55)}.pillar span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff0e5;color:var(--saffron);font-family:Georgia,serif;font-size:1.05rem}.pillar h3{font-family:Georgia,serif;font-size:1.08rem;margin:15px 0 5px}.pillar p{margin:0;color:var(--muted);font-size:.8rem}

/* Program cards */
.programs{padding:72px 0 118px}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.program-card{position:relative;overflow:hidden;min-height:635px;border-radius:35px;color:#fff;padding:39px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.program-card::before{content:"";position:absolute;inset:0;background:url("../assets/tovp-watermark.webp") center/cover;opacity:.085;mix-blend-mode:screen}.program-card.bhadra{background:radial-gradient(circle at 80% 12%,rgba(241,220,152,.28),transparent 23%),linear-gradient(145deg,#812e49 0%,#4f2346 48%,#202749 100%)}.program-card.sammelan{background:radial-gradient(circle at 80% 12%,rgba(241,220,152,.26),transparent 23%),linear-gradient(145deg,#1d6880 0%,#194360 48%,#1a2145 100%)}.program-top,.program-body{position:relative;z-index:2}.program-top{display:flex;justify-content:space-between;align-items:flex-start}.program-number{font-family:Georgia,serif;font-size:5.7rem;line-height:.9;color:rgba(255,255,255,.085)}.date-medallion{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid rgba(241,220,152,.42);background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 9px rgba(241,220,152,.035)}.date-medallion strong{display:block;font-family:Georgia,serif;font-size:1.52rem;color:var(--gold2);line-height:1}.date-medallion span{display:block;font-size:.53rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.62);margin-top:5px}.program-symbol{position:absolute;right:4%;top:31%;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.93);padding:23px;display:grid;place-items:center;opacity:.97;box-shadow:0 24px 50px rgba(0,0,0,.2)}.program-card.bhadra .program-symbol img{height:100%;object-fit:contain}.program-card.sammelan .program-symbol img{width:100%;height:100%;object-fit:contain}.program-kicker{color:var(--gold2);font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.18em}.program-card h3{font-family:Georgia,serif;font-weight:500;letter-spacing:-.04em;line-height:1.02;font-size:clamp(2.3rem,4vw,3.65rem);margin:12px 0 18px;max-width:520px}.program-card p{color:rgba(255,255,255,.72);max-width:510px}.feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0 28px}.feature-tags span{font-size:.66rem;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06)}.program-actions{display:flex;gap:11px;flex-wrap:wrap}.program-actions .btn{min-height:47px;padding-inline:18px;font-size:.75rem}

/* Journey timeline */
.journey{padding:110px 0;background:var(--paper);border-block:1px solid var(--line)}.timeline{position:relative;margin-top:55px}.timeline::before{content:"";position:absolute;left:7%;right:7%;top:49px;height:2px;background:linear-gradient(90deg,var(--lotus),var(--gold),var(--blue))}.timeline-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;position:relative}.day{text-align:center}.day-dot{width:22px;height:22px;border-radius:50%;background:var(--cream);border:5px solid var(--gold);margin:38px auto 21px;box-shadow:0 0 0 6px var(--paper)}.day:first-child .day-dot,.day:nth-child(2) .day-dot,.day:nth-child(3) .day-dot{border-color:var(--lotus)}.day:nth-child(4) .day-dot,.day:nth-child(5) .day-dot,.day:nth-child(6) .day-dot{border-color:var(--blue)}.day-card{min-height:145px;border:1px solid var(--line);border-radius:18px;padding:18px 12px;background:#fff}.day-card small{font-size:.55rem;text-transform:uppercase;letter-spacing:.13em;color:var(--saffron);font-weight:900}.day-card strong{display:block;font-family:Georgia,serif;font-size:1.35rem;margin:2px 0 10px}.day-card span{font-size:.72rem;color:var(--muted)}

/* Bento highlights */
.highlights{padding:112px 0}.bento{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:230px;gap:16px}.bento-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:25px;padding:27px;background:#fff}.bento-card.large{grid-row:span 2;color:#fff;background:linear-gradient(160deg,rgba(16,25,56,.25),rgba(16,25,56,.92)),url("../assets/tovp-watermark.webp") center/cover}.bento-card.wide{grid-column:span 2;background:linear-gradient(135deg,#f4e7cf,#fffaf0)}.bento-card .ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#fff1e8;color:var(--saffron);font-size:1.45rem}.bento-card.large .ico{background:rgba(255,255,255,.12);color:var(--gold2);border:1px solid rgba(255,255,255,.18)}.bento-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.3rem;margin:25px 0 9px}.bento-card p{margin:0;font-size:.8rem;color:var(--muted);max-width:380px}.bento-card.large p{color:rgba(255,255,255,.7)}.bento-card.large h3{font-size:2.1rem;max-width:340px}.bento-number{position:absolute;right:23px;top:17px;font-family:Georgia,serif;font-size:2.5rem;color:rgba(24,32,60,.08)}.bento-card.large .bento-number{color:rgba(255,255,255,.1)}

/* Action desk */
.desk{padding:112px 0;color:#fff;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#101939,#173f5e 58%,#17647a)}.desk::before{content:"";position:absolute;inset:0;background:url("../assets/tovp-watermark.webp") center/cover;opacity:.06;z-index:-2}.desk::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(241,220,152,.18),transparent 28%);z-index:-1}.desk .lead{color:rgba(255,255,255,.68)}.desk-tabs{display:flex;gap:10px;margin:38px 0 24px}.desk-tab{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.055);color:#fff;padding:11px 17px;border-radius:999px;font-weight:800;font-size:.74rem;cursor:pointer}.desk-tab.active{background:var(--gold2);color:var(--navy);border-color:var(--gold2)}.desk-panels{position:relative}.desk-panel{display:none}.desk-panel.active{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.action-card{min-height:230px;border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:24px;background:rgba(255,255,255,.06);backdrop-filter:blur(9px);transition:.25s}.action-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.1);border-color:rgba(241,220,152,.42)}.action-card .ico{width:49px;height:49px;border-radius:15px;display:grid;place-items:center;background:rgba(241,220,152,.12);color:var(--gold2);font-size:1.35rem}.action-card h3{font-family:Georgia,serif;font-size:1.18rem;font-weight:500;margin:24px 0 8px}.action-card p{font-size:.75rem;color:rgba(255,255,255,.64);margin:0 0 22px}.action-link{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);font-size:.72rem;font-weight:900}.action-link svg{transition:.2s}.action-link:hover svg{transform:translateX(4px)}

/* Accommodation */
.stay{padding:112px 0}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.price-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;padding:27px;background:#fff;box-shadow:0 12px 35px rgba(16,25,56,.055);transition:.25s}.price-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-70px;top:-75px;background:rgba(210,164,71,.08)}.price-card:hover,.price-card.featured{transform:translateY(-6px);border-color:rgba(210,164,71,.45);box-shadow:var(--shadow)}.price-card small{font-size:.59rem;text-transform:uppercase;letter-spacing:.15em;color:var(--saffron);font-weight:900}.price-card h3{font-family:Georgia,serif;font-size:1.25rem;font-weight:500;margin:13px 0 25px}.price{font-family:Georgia,serif;font-size:2.35rem;color:var(--navy);line-height:1}.price span{font-size:.75rem;color:var(--muted)}.price-total{margin-top:19px;padding-top:17px;border-top:1px solid var(--line);font-size:.7rem;color:var(--muted)}.price-total strong{display:block;color:var(--saffron);font-size:1rem;margin-top:3px}.stay-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:30px;padding:22px 25px;border-radius:20px;background:linear-gradient(135deg,#f3e6cc,#fff9ed);border:1px solid rgba(210,164,71,.2)}.stay-footer p{margin:0;font-size:.8rem;color:var(--muted);max-width:780px}

/* Schedule */
.schedule{padding:112px 0;background:var(--paper);border-block:1px solid var(--line)}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.schedule-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:27px;padding:32px;background:#fff;box-shadow:0 15px 40px rgba(16,25,56,.06)}.schedule-card::before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-75px;bottom:-85px;border:1px solid rgba(210,164,71,.2);box-shadow:0 0 0 30px rgba(210,164,71,.04)}.schedule-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.schedule-head h3{font-family:Georgia,serif;font-weight:500;font-size:1.45rem;margin:0}.schedule-head span{font-size:.6rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron);white-space:nowrap}.schedule-row{display:grid;grid-template-columns:45px 1fr;gap:14px;padding-top:21px}.schedule-row svg{font-size:1.27rem;color:var(--saffron);margin-top:4px}.schedule-row small,.schedule-row strong{display:block}.schedule-row small{font-size:.57rem;text-transform:uppercase;letter-spacing:.14em;color:#8a91a5}.schedule-row strong{font-size:.88rem;margin-top:3px}

/* Vision mosaic */
.vision{padding:112px 0}.vision-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;grid-template-rows:270px 270px}.vision-card{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:#fff;box-shadow:0 13px 38px rgba(16,25,56,.06)}.vision-card.tovp{grid-row:span 2;background:linear-gradient(180deg,rgba(16,25,56,.05),rgba(16,25,56,.83)),url("../assets/tovp-watermark.webp") center/cover;color:#fff}.vision-card.book{background:linear-gradient(135deg,#f4e8d4,#fffaf0)}.vision-card.founder-card{background:linear-gradient(135deg,#172343,#234e68);color:#fff}.vision-content{position:absolute;left:28px;right:28px;bottom:27px}.vision-content h3{font-family:Georgia,serif;font-size:1.55rem;font-weight:500;margin:0 0 7px}.vision-content p{font-size:.77rem;color:var(--muted);margin:0;max-width:430px}.tovp .vision-content p,.founder-card .vision-content p{color:rgba(255,255,255,.68)}.vision-card.book>img{position:absolute;height:92%;right:4%;bottom:-15%;filter:drop-shadow(0 20px 22px rgba(16,25,56,.2));transform:rotate(5deg)}.vision-card.book .vision-content{max-width:48%;z-index:2}.vision-card.founder-card>img{position:absolute;height:105%;right:-4%;bottom:-16%;filter:drop-shadow(0 20px 25px rgba(0,0,0,.26))}.vision-card.founder-card .vision-content{max-width:52%;z-index:2}

/* FAQ */
.faq{padding:112px 0;background:linear-gradient(145deg,#f2e6d1,#fff9ee)}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.faq-intro{position:sticky;top:120px}.faq-intro img{width:120px;margin-bottom:25px}.accordion{border-top:1px solid rgba(24,32,60,.16)}.faq-item{border-bottom:1px solid rgba(24,32,60,.16)}.faq-button{width:100%;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;color:var(--ink);text-align:left;font-family:Georgia,serif;font-size:1.05rem;cursor:pointer}.faq-button svg{color:var(--saffron);transition:.25s}.faq-item.open .faq-button svg{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-answer p{margin:0;padding:0 45px 22px 0;color:var(--muted);font-size:.83rem}

/* Help */
.help{padding:95px 0}.help-shell{position:relative;overflow:hidden;border-radius:34px;background:linear-gradient(120deg,#101939,#19516c);color:#fff;padding:55px;box-shadow:var(--shadow)}.help-shell::before{content:"";position:absolute;inset:0;background:url("../assets/tovp-watermark.webp") right center/cover;opacity:.065}.help-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.help .lead{color:rgba(255,255,255,.68)}.contact-list{display:grid;gap:11px}.contact{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid rgba(255,255,255,.15);border-radius:17px;background:rgba(255,255,255,.06)}.contact svg{font-size:1.25rem;color:var(--gold2)}.contact small,.contact strong{display:block}.contact small{font-size:.55rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.52)}.contact strong{font-size:.83rem;margin-top:2px}

/* Footer */
.footer{background:#0d1530;color:#fff;padding:60px 0 26px}.footer-top{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:65px;padding-bottom:42px}.footer-brand{display:flex;gap:16px}.footer-brand img{width:95px;height:95px;object-fit:contain}.footer-brand h3{font-family:Georgia,serif;font-weight:500;font-size:1.2rem;margin:3px 0 8px}.footer-brand p{margin:0;max-width:420px;font-size:.77rem;color:rgba(255,255,255,.56)}.footer-col h4{font-size:.6rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold2);margin:0 0 16px}.footer-col a{display:block;font-size:.76rem;color:rgba(255,255,255,.62);margin:9px 0}.footer-col a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;font-size:.65rem;color:rgba(255,255,255,.42)}
.mobile-register{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:70;background:var(--saffron);color:#fff;border-radius:999px;padding:14px 20px;text-align:center;font-size:.8rem;font-weight:900;box-shadow:0 16px 35px rgba(0,0,0,.25)}

/* Detail pages */
.inner-hero{position:relative;isolation:isolate;color:#fff;padding:100px 0 85px;background:linear-gradient(120deg,#101939,#1c4c68);overflow:hidden}.inner-hero::before{content:"";position:absolute;inset:0;background:url("../assets/tovp-watermark.webp") center/cover;opacity:.11;z-index:-1}.breadcrumb{font-size:.68rem;color:rgba(255,255,255,.53);margin-bottom:27px}.breadcrumb a{color:var(--gold2)}.inner-hero .display{max-width:850px}.inner-hero .lead{color:rgba(255,255,255,.7)}.detail{padding:95px 0}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px}.prose h2{font-family:Georgia,serif;font-weight:500;font-size:2rem;margin:38px 0 12px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--muted)}.side-card{position:sticky;top:115px;border:1px solid var(--line);border-radius:25px;padding:28px;background:#fff;box-shadow:var(--shadow)}.side-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.3rem;margin:0 0 17px}.side-row{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.side-row svg{color:var(--saffron);font-size:1.2rem;margin-top:3px}.side-row small,.side-row strong{display:block}.side-row small{font-size:.55rem;text-transform:uppercase;letter-spacing:.13em;color:#8a91a3}.side-row strong{font-size:.8rem;margin-top:2px}.side-card .btn{width:100%;margin-top:19px}
.toast{position:fixed;left:50%;bottom:26px;z-index:100;transform:translate(-50%,24px);opacity:0;background:#fff;color:var(--navy);padding:14px 20px;border-radius:13px;box-shadow:0 18px 45px rgba(0,0,0,.2);font-size:.78rem;font-weight:900;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1080px){.nav{gap:17px}.hero-grid{grid-template-columns:1fr .92fr}.bento{grid-template-columns:1fr 1fr}.bento-card.large{grid-row:auto}.bento-card.wide{grid-column:span 2}.desk-panel.active{grid-template-columns:repeat(2,1fr)}.price-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.menu{display:block}.nav{position:absolute;display:none;left:0;right:0;top:calc(100% + 10px);flex-direction:column;align-items:stretch;gap:7px;padding:18px;background:rgba(250,246,236,.98);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);max-height:calc(100vh - 120px);overflow-y:auto;z-index:70}.nav.open{display:flex}.nav a{padding:11px;border-radius:12px}.nav .nav-cta{text-align:center}.hero-grid{grid-template-columns:1fr;text-align:center}.hero-copy{display:flex;flex-direction:column;align-items:center}.hero-actions,.hero-meta{justify-content:center}.hero-art{min-height:520px}.countdown-card{grid-template-columns:1fr repeat(4,.5fr)}.overview-grid,.faq-grid,.help-inner,.detail-grid{grid-template-columns:1fr;gap:45px}.sacred-card,.faq-intro,.side-card{position:relative;top:auto}.program-grid,.schedule-grid{grid-template-columns:1fr}.timeline-grid{grid-template-columns:repeat(3,1fr);gap:20px}.timeline::before{display:none}.day-dot{margin-top:0}.bento{grid-template-columns:1fr 1fr}.vision-grid{grid-template-columns:1fr;grid-template-rows:420px 260px 260px}.vision-card.tovp{grid-row:auto}.section-head{display:block}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){.container{width:min(100% - 28px,1210px)}.topbar{font-size:.62rem}.header-inner{height:74px}.brand img{height:47px}.brand-copy strong{font-size:.86rem}.brand-copy small{font-size:.49rem}.nav{top:116px}.hero-grid{min-height:auto;padding:65px 0 54px}.hero h1{font-size:3.6rem}.hero h1 span{font-size:.53em}.hero-actions{width:100%}.hero-actions .btn{width:100%}.hero-meta{display:grid;grid-template-columns:1fr;text-align:left}.hero-art{min-height:420px}.book-showcase{width:69%}.seal{width:110px;height:110px;padding:13px;right:0}.founder{width:116px;height:116px;left:0}.event-chip{display:none}.countdown-band{margin-top:-20px}.countdown-card{grid-template-columns:1fr 1fr}.countdown-intro{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line);text-align:center}.count-unit:nth-child(3){border-right:0}.count-unit{border-bottom:1px solid var(--line)}.count-unit:nth-last-child(-n+2){border-bottom:0}.overview,.programs,.journey,.highlights,.desk,.stay,.schedule,.vision,.faq,.help{padding-block:77px}.pillars{grid-template-columns:1fr}.program-card{min-height:620px;padding:27px}.program-symbol{width:135px;height:135px;top:29%;padding:16px}.program-number{font-size:4rem}.date-medallion{width:92px;height:92px}.program-actions .btn{width:100%}.timeline-grid{grid-template-columns:1fr 1fr}.bento{grid-template-columns:1fr;grid-auto-rows:auto}.bento-card{min-height:215px}.bento-card.wide{grid-column:auto}.desk-panel.active,.price-grid{grid-template-columns:1fr}.stay-footer{display:block}.stay-footer .btn{margin-top:15px;width:100%}.vision-grid{grid-template-rows:390px 260px 260px}.vision-card.book .vision-content,.vision-card.founder-card .vision-content{max-width:58%}.help-shell{padding:36px 24px}.footer-top{grid-template-columns:1fr;gap:34px}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.mobile-register{display:block}.footer{padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* =========================================================
   REFINED REVISION — preserves the enhanced design
   ========================================================= */

/* Floating Bhagavatam: circular devotional design, no logos */
.refined-mandala{
  width:min(570px,96%);
  background:
    radial-gradient(circle,rgba(241,220,152,.11) 0 22%,transparent 23%),
    repeating-conic-gradient(from 0deg,rgba(241,220,152,.14) 0 1deg,transparent 1deg 15deg);
  border-color:rgba(241,220,152,.25);
  animation:mandalaBreathe 6s ease-in-out infinite;
}
.refined-mandala::before{inset:8%;border-style:solid;border-color:rgba(241,220,152,.16);animation-duration:55s}
.refined-mandala::after{inset:20%;border-style:dashed;animation-duration:37s}
@keyframes mandalaBreathe{50%{filter:drop-shadow(0 0 36px rgba(241,220,152,.14));transform:scale(1.018)}}
.book-aura{position:absolute;width:390px;height:460px;border-radius:48% 52% 46% 54%;background:radial-gradient(circle,rgba(241,220,152,.2),rgba(191,66,103,.08) 48%,transparent 70%);filter:blur(20px);animation:auraPulse 4.8s ease-in-out infinite}
@keyframes auraPulse{50%{transform:scale(1.08);opacity:.72}}
.book-lotus-ring{position:absolute;width:min(510px,88%);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:space-between;color:rgba(241,220,152,.42);font-size:2.15rem;animation:spin 70s linear infinite}
.book-lotus-ring span:nth-child(2),.book-lotus-ring span:nth-child(4){transform:rotate(90deg)}
.book-ground{position:absolute;bottom:6%;width:330px;height:46px;border-radius:50%;background:rgba(0,0,0,.28);filter:blur(15px);animation:groundPulse 5s ease-in-out infinite}
@keyframes groundPulse{50%{width:290px;opacity:.65}}
.orbit-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--gold2);box-shadow:0 0 18px rgba(241,220,152,.75)}
.orbit-dot-one{left:12%;top:27%}.orbit-dot-two{right:10%;top:48%;width:7px;height:7px}.orbit-dot-three{left:36%;bottom:5%;width:8px;height:8px}
.hero-art .seal,.hero-art .founder{display:none}

/* Prabhupada quotation card */
.sacred-card{padding:0!important;display:grid;grid-template-rows:235px 1fr;background:#162c50!important}
.sacred-card::after{z-index:0}
.quote-photo{position:relative;overflow:hidden}
.quote-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#162c50)}
.quote-photo img{width:100%!important;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(.82) contrast(1.04)}
.quote-content{position:relative;z-index:2;padding:0 36px 36px;margin-top:-34px}
.quote-content .quote-mark{display:block;font-family:Georgia,serif;font-size:5rem;line-height:.6;color:var(--gold2)}
.quote-content blockquote{font-size:2rem;margin:15px 0 12px}
.quote-content p{margin:0}

/* More efficient program cards, using design instead of logos/images */
.refined-program-grid{gap:22px}
.refined-program-card{min-height:525px;padding:34px}
.refined-program-card::before{opacity:.055}
.refined-program-card::after{content:"";position:absolute;inset:1px;border-radius:34px;border:1px solid rgba(255,255,255,.08);pointer-events:none}
.refined-program-card:hover{transform:translateY(-8px);box-shadow:0 32px 75px rgba(16,25,56,.22)}
.refined-program-card .program-number{font-size:4.5rem}
.refined-program-card .date-medallion{width:98px;height:98px}
.refined-program-card h3{font-size:clamp(2.2rem,3.5vw,3.25rem);max-width:460px}
.refined-program-card .program-body{max-width:78%}
.program-art{position:absolute;right:-18px;top:82px;width:255px;height:255px;display:grid;place-items:center;opacity:.8}
.program-art::before,.program-art::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(241,220,152,.25)}
.program-art::before{inset:0;box-shadow:0 0 0 25px rgba(241,220,152,.035)}
.program-art::after{inset:32px;border-style:dashed;animation:spin 35s linear infinite}
.program-moon{width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8c9,#e4bb5e 58%,#a8752a);box-shadow:0 0 45px rgba(241,220,152,.3)}
.program-lotus{position:absolute;bottom:28px;color:rgba(241,220,152,.7);font-size:4.7rem;text-shadow:0 8px 24px rgba(0,0,0,.15)}
.program-art-book svg{width:135px;height:135px;stroke:rgba(241,220,152,.78);stroke-width:3;fill:rgba(255,255,255,.025);filter:drop-shadow(0 12px 25px rgba(0,0,0,.2))}
.program-summary{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 25px}
.program-summary span{font-size:.65rem;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
.program-details-link{min-height:47px;display:inline-flex;align-items:center;gap:8px;padding:0 5px;color:var(--gold2);font-size:.74rem;font-weight:850}
.program-details-link svg{font-size:1rem;transition:transform .2s}
.program-details-link:hover svg{transform:translateX(4px)}
.program-symbol{display:none}

/* Compact accommodation and schedule dashboard */
.refined-stay{padding:88px 0;background:var(--paper);border-block:1px solid var(--line)}
.compact-head{margin-bottom:34px}
.compact-head .display{font-size:clamp(2.4rem,4.4vw,4rem)}
.stay-dashboard{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.rate-panel,.arrival-panel{border:1px solid var(--line);border-radius:27px;background:#fff;box-shadow:0 14px 40px rgba(16,25,56,.055)}
.rate-panel{overflow:hidden}
.rate-panel-title{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#172747,#234d66);color:#fff}
.rate-panel-title span{font-family:Georgia,serif;font-size:1.16rem}
.rate-panel-title small{color:rgba(255,255,255,.62)}
.rate-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 23px;border-top:1px solid var(--line);transition:.2s}
.rate-row:hover,.rate-row.featured{background:#fff8ec}
.rate-row>div{display:flex;align-items:center;gap:14px}
.rate-row>div span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#fff0e5;color:var(--saffron);font-family:Georgia,serif}
.rate-row strong{font-family:Georgia,serif;font-weight:500}
.rate-row p{margin:0;text-align:right}
.rate-row p small,.rate-row p b{display:block}
.rate-row p small{font-size:.65rem;color:var(--muted)}
.rate-row p b{color:var(--saffron);font-size:.9rem;margin-top:2px}
.arrival-panel{padding:17px;display:grid;gap:12px}
.arrival-card{border:1px solid var(--line);border-radius:18px;padding:17px 18px;background:linear-gradient(135deg,#fff,#fbf5e9)}
.arrival-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:11px}
.arrival-head span{font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;color:var(--saffron);font-weight:900}
.arrival-head strong{font-family:Georgia,serif;font-weight:500}
.arrival-line{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding-top:9px}
.arrival-line svg{font-size:1.08rem;color:var(--saffron)}
.arrival-line small,.arrival-line b{display:block}
.arrival-line small{font-size:.52rem;text-transform:uppercase;letter-spacing:.12em;color:#8990a3}
.arrival-line b{font-size:.75rem}
.children-note{padding:12px 14px;border-left:3px solid var(--gold);font-size:.7rem;color:var(--muted);background:#fff8e9;border-radius:4px 12px 12px 4px}

/* Scrolling past-year memories gallery */
.memory-gallery{position:relative;overflow:hidden;padding:102px 0 92px;background:
 radial-gradient(circle at 15% 15%,rgba(191,66,103,.18),transparent 27%),
 radial-gradient(circle at 85% 75%,rgba(45,122,145,.22),transparent 28%),
 linear-gradient(135deg,#111b3b,#173f5d);color:#fff}
.memory-gallery::before{content:"";position:absolute;inset:0;background:url("../assets/tovp-watermark.webp") center/cover;opacity:.035}
.gallery-heading{position:relative;z-index:2;display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:42px}
.gallery-heading .display{max-width:760px}
.gallery-heading-side{max-width:390px}
.gallery-heading-side p{color:rgba(255,255,255,.65);font-size:.82rem}
.gallery-motion{border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;padding:10px 16px;font-size:.7rem;font-weight:800;cursor:pointer}
.gallery-marquee{position:relative;z-index:2;display:grid;gap:16px}
.gallery-row{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.gallery-track{display:flex;width:max-content;animation:galleryScroll 72s linear infinite}
.gallery-row-two .gallery-track{animation-name:galleryScrollReverse;animation-duration:82s}
.gallery-sequence{display:flex;gap:16px;padding-right:16px}
.memory-gallery.paused .gallery-track,.gallery-row:hover .gallery-track{animation-play-state:paused}
@keyframes galleryScroll{to{transform:translateX(-50%)}}
@keyframes galleryScrollReverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.memory-card{position:relative;flex:0 0 330px;height:210px;padding:0;border:0;border-radius:21px;overflow:hidden;background:#0c1530;cursor:pointer;box-shadow:0 18px 38px rgba(0,0,0,.2)}
.memory-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,8,24,.85));opacity:.65;transition:.25s}
.memory-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .4s}
.memory-card span{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;text-align:left;color:#fff;transform:translateY(5px);opacity:0;transition:.25s}
.memory-card span small,.memory-card span strong{display:block}
.memory-card span small{font-size:.53rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold2)}
.memory-card span strong{font-family:Georgia,serif;font-size:.88rem;margin-top:2px}
.memory-card:hover img{transform:scale(1.065);filter:saturate(1.12)}
.memory-card:hover::after{opacity:1}
.memory-card:hover span{opacity:1;transform:none}

/* Gallery lightbox */
.gallery-lightbox{position:fixed;inset:0;z-index:120;background:rgba(4,8,24,.94);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:28px}
.gallery-lightbox.open{display:flex}
.gallery-lightbox figure{margin:0;max-width:min(1100px,86vw);max-height:88vh;text-align:center}
.gallery-lightbox img{max-width:100%;max-height:80vh;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.gallery-lightbox figcaption{color:rgba(255,255,255,.62);font-size:.7rem;margin-top:11px}
.lightbox-close,.lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.lightbox-close{right:25px;top:25px;width:45px;height:45px;font-size:1.7rem}
.lightbox-nav{top:50%;width:48px;height:48px;font-size:2rem}
.lightbox-prev{left:23px}.lightbox-next{right:23px}

/* Section rhythm: compact where information is simple */
.stay + .vision{padding-top:92px}
.schedule{display:none}
.vision{padding-block:92px}
.faq{padding-block:90px}
.help{padding-block:84px}

/* Use the Wikimedia Prabhupada photo gracefully in the existing card */
.vision-card.founder-card>img{height:112%;right:0;bottom:-11%;object-fit:contain}

/* Improved motion without visual clutter */
.refined-program-card::after{transition:border-color .3s,box-shadow .3s}
.refined-program-card:hover::after{border-color:rgba(241,220,152,.28);box-shadow:inset 0 0 40px rgba(241,220,152,.04)}
.event-chip{animation:chipFloat 6s ease-in-out infinite}
.chip-one{animation-delay:-3s}
@keyframes chipFloat{50%{transform:translateY(-7px)}}

@media(max-width:900px){
  .stay-dashboard{grid-template-columns:1fr}
  .gallery-heading{display:block}
  .gallery-heading-side{margin-top:18px}
  .refined-program-card .program-body{max-width:100%}
  .program-art{opacity:.35}
}
@media(max-width:620px){
  .refined-program-card{min-height:560px;padding:27px}
  .program-art{width:180px;height:180px;right:-38px;top:110px}
  .program-moon{width:75px;height:75px}
  .program-lotus{font-size:3.4rem}
  .program-art-book svg{width:100px;height:100px}
  .rate-row{padding:15px 14px}
  .rate-row strong{font-size:.83rem}
  .rate-row p b{font-size:.78rem}
  .memory-gallery{padding-block:78px}
  .memory-card{flex-basis:265px;height:175px}
  .gallery-row{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
  .lightbox-nav{top:auto;bottom:26px}
  .lightbox-prev{left:calc(50% - 62px)}.lightbox-next{right:calc(50% - 62px)}
}
@media(prefers-reduced-motion:reduce){
  .gallery-track,.event-chip,.refined-mandala,.book-aura,.book-lotus-ring,.book-ground{animation:none!important}
}


/* =========================================================
   FESTIVAL MOTION SYSTEM
   Elegant flowers, scroll effects and interaction animation
   ========================================================= */

:root{
  --motion-ease:cubic-bezier(.2,.75,.25,1);
}

/* Fixed scroll progress */
.festival-scroll-progress{
  position:fixed;
  z-index:110;
  top:0;
  left:0;
  width:100%;
  height:3px;
  pointer-events:none;
  background:rgba(255,255,255,.04);
}
.festival-scroll-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,#d36b3f,#f1dc98,#bf4267);
  box-shadow:0 0 16px rgba(241,220,152,.56);
  will-change:transform;
}

/* Falling flowers and petals */
.flower-fall-layer{
  position:fixed;
  inset:0;
  z-index:35;
  overflow:hidden;
  pointer-events:none;
  contain:strict;
}
.falling-flower{
  position:absolute;
  left:var(--flower-x);
  top:-14vh;
  opacity:var(--flower-opacity);
  will-change:transform;
  animation:festivalFlowerFall var(--flower-duration) linear var(--flower-delay) infinite;
}
.falling-flower.petal{
  width:var(--flower-size);
  height:calc(var(--flower-size) * 1.55);
  border-radius:90% 12% 85% 18%;
  background:linear-gradient(145deg,var(--flower-light),var(--flower-color));
  box-shadow:
    inset 1px 1px 2px rgba(255,255,255,.42),
    0 3px 9px rgba(61,25,53,.12);
}
.falling-flower.petal::after{
  content:"";
  position:absolute;
  left:47%;
  top:13%;
  width:1px;
  height:72%;
  background:rgba(126,56,82,.16);
  transform:rotate(10deg);
}
.falling-flower.blossom{
  color:var(--flower-color);
  font-family:Georgia,serif;
  font-size:calc(var(--flower-size) * 1.65);
  line-height:1;
  text-shadow:0 4px 10px rgba(52,22,47,.17);
  filter:drop-shadow(0 0 5px rgba(255,255,255,.18));
}
.falling-flower.depth-far{
  filter:blur(.65px);
}
.falling-flower.depth-near{
  filter:drop-shadow(0 5px 7px rgba(35,19,47,.17));
}
@keyframes festivalFlowerFall{
  0%{
    transform:translate3d(0,-13vh,0) rotate(0deg) scale(.8);
  }
  18%{
    transform:translate3d(var(--drift-a),18vh,0) rotate(105deg) scale(1);
  }
  43%{
    transform:translate3d(var(--drift-b),44vh,0) rotate(235deg) scale(.92);
  }
  68%{
    transform:translate3d(var(--drift-c),70vh,0) rotate(390deg) scale(1.04);
  }
  100%{
    transform:translate3d(var(--drift-d),116vh,0) rotate(620deg) scale(.86);
  }
}

/* Soft pointer glow on selected sections */
.festival-cursor-glow{
  position:fixed;
  z-index:28;
  left:0;
  top:0;
  width:310px;
  height:310px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-50%,-50%,0);
  background:radial-gradient(circle,rgba(241,220,152,.12),rgba(191,66,103,.045) 38%,transparent 68%);
  filter:blur(3px);
  transition:opacity .28s ease;
  will-change:left,top;
}
body.cursor-glow-visible .festival-cursor-glow{opacity:1}

/* Header becomes more refined while scrolling */
.site-header{
  transition:
    background .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}
.site-header.header-scrolled{
  background:rgba(250,246,236,.96);
  box-shadow:0 12px 38px rgba(16,25,56,.09);
  border-color:rgba(16,25,56,.1);
}
.site-header.header-scrolled .header-inner{
  height:70px;
}
.header-inner{
  transition:height .35s var(--motion-ease);
}

/* Enhanced reveal system */
.reveal{
  transition:
    opacity .85s var(--motion-ease),
    transform .85s var(--motion-ease),
    filter .85s var(--motion-ease);
  transition-delay:var(--reveal-delay,0ms);
  filter:blur(4px);
}
.reveal.visible{
  filter:blur(0);
}
.reveal.motion-left{transform:translate3d(-34px,18px,0)}
.reveal.motion-right{transform:translate3d(34px,18px,0)}
.reveal.motion-scale{transform:translate3d(0,24px,0) scale(.965)}
.reveal.visible.motion-left,
.reveal.visible.motion-right,
.reveal.visible.motion-scale{
  transform:none;
}

/* Animated title flourish */
.section-head .display,
.gallery-heading .display,
.compact-head .display{
  position:relative;
}
.section-head .display::after,
.gallery-heading .display::after,
.compact-head .display::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin-top:16px;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--saffron),var(--gold2),transparent);
  transition:transform .9s var(--motion-ease) .22s;
}
.visible .display::after,
.section-head.visible .display::after,
.gallery-heading.visible .display::after,
.compact-head.visible .display::after{
  transform:scaleX(1);
}

/* Floating Bhagavatam parallax remains compatible with its float animation */
.hero-art{
  --hero-shift-x:0px;
  --hero-shift-y:0px;
  transform:translate3d(var(--hero-shift-x),var(--hero-shift-y),0);
  transition:transform .5s var(--motion-ease);
}
.hero-art.pointer-active{
  transition:transform .12s linear;
}
.book-showcase{
  animation:
    float 5s ease-in-out infinite,
    bookGlow 4.2s ease-in-out infinite;
}
@keyframes bookGlow{
  50%{
    filter:
      drop-shadow(0 39px 34px rgba(0,0,0,.43))
      drop-shadow(0 0 17px rgba(241,220,152,.12));
  }
}
.refined-mandala{
  animation:
    mandalaBreathe 6s ease-in-out infinite,
    mandalaHue 14s ease-in-out infinite;
}
@keyframes mandalaHue{
  50%{border-color:rgba(230,165,188,.26)}
}
.orbit-dot{
  animation:orbitTwinkle 2.6s ease-in-out infinite;
}
.orbit-dot-two{animation-delay:-.9s}
.orbit-dot-three{animation-delay:-1.7s}
@keyframes orbitTwinkle{
  50%{opacity:.38;transform:scale(.63)}
}

/* Elegant shimmer treatment */
.refined-program-card,
.rate-panel,
.arrival-card,
.desk-card,
.bento-card,
.vision-card,
.registration-shell,
.help-shell{
  position:relative;
  isolation:isolate;
}
.refined-program-card::marker{display:none}
.refined-program-card .motion-shimmer,
.rate-panel .motion-shimmer,
.arrival-card .motion-shimmer,
.desk-card .motion-shimmer,
.bento-card .motion-shimmer,
.vision-card .motion-shimmer,
.registration-shell .motion-shimmer,
.help-shell .motion-shimmer{
  position:absolute;
  z-index:8;
  inset:-60% auto -60% -35%;
  width:22%;
  pointer-events:none;
  opacity:0;
  transform:rotate(17deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.20),transparent);
  transition:left .8s var(--motion-ease),opacity .25s ease;
}
.refined-program-card:hover .motion-shimmer,
.rate-panel:hover .motion-shimmer,
.arrival-card:hover .motion-shimmer,
.desk-card:hover .motion-shimmer,
.bento-card:hover .motion-shimmer,
.vision-card:hover .motion-shimmer,
.registration-shell:hover .motion-shimmer,
.help-shell:hover .motion-shimmer{
  left:118%;
  opacity:.7;
}

/* 3D hover, driven by JS variables */
.motion-tilt{
  --tilt-x:0deg;
  --tilt-y:0deg;
  --tilt-z:0px;
  transform:
    perspective(1100px)
    translate3d(0,var(--tilt-z),0)
    rotateX(var(--tilt-x))
    rotateY(var(--tilt-y));
  transform-style:preserve-3d;
  transition:transform .35s var(--motion-ease),box-shadow .35s ease;
  will-change:transform;
}
.motion-tilt.tilt-active{
  transition:transform .1s linear,box-shadow .25s ease;
  box-shadow:0 35px 80px rgba(16,25,56,.19);
}
.motion-tilt > *{
  transform:translateZ(1px);
}

/* Buttons receive an elegant light wave and ripple */
.btn,
.nav-cta,
.program-details-link,
.gallery-motion{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn::after,
.nav-cta::after,
.program-details-link::after,
.gallery-motion::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-130%;
  left:-40%;
  width:24%;
  height:360%;
  opacity:0;
  transform:rotate(22deg);
  background:rgba(255,255,255,.34);
  transition:left .65s var(--motion-ease),opacity .2s ease;
}
.btn:hover::after,
.nav-cta:hover::after,
.program-details-link:hover::after,
.gallery-motion:hover::after{
  left:125%;
  opacity:.66;
}
.motion-ripple{
  position:absolute;
  z-index:8;
  border-radius:50%;
  pointer-events:none;
  background:rgba(255,255,255,.37);
  transform:translate(-50%,-50%) scale(0);
  animation:motionRipple .65s ease-out forwards;
}
@keyframes motionRipple{
  to{transform:translate(-50%,-50%) scale(4.4);opacity:0}
}

/* Timeline dots and room pricing gently awaken on entry */
.day-dot,
.rate-row>div span{
  transition:transform .35s var(--motion-ease),box-shadow .35s ease;
}
.timeline-item:hover .day-dot,
.rate-row:hover>div span{
  transform:translateY(-3px) scale(1.09);
  box-shadow:0 9px 20px rgba(208,106,53,.15);
}

/* Gallery gets subtle depth motion */
.memory-card{
  transition:
    transform .42s var(--motion-ease),
    box-shadow .42s ease;
}
.memory-card:hover{
  transform:translateY(-7px) rotate(.35deg);
  box-shadow:0 25px 55px rgba(0,0,0,.3);
}

/* Ambient glowing points in hero/gallery, generated by JS */
.ambient-particle-layer{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.ambient-particle{
  position:absolute;
  width:var(--particle-size);
  height:var(--particle-size);
  left:var(--particle-x);
  top:var(--particle-y);
  border-radius:50%;
  opacity:var(--particle-opacity);
  background:var(--particle-color);
  box-shadow:0 0 13px currentColor;
  animation:ambientParticle var(--particle-duration) ease-in-out var(--particle-delay) infinite;
}
@keyframes ambientParticle{
  50%{
    opacity:.18;
    transform:translate3d(var(--particle-drift),-18px,0) scale(.65);
  }
}

/* Section divider ornament, inserted automatically */
.motion-section-divider{
  width:min(1180px,calc(100% - 44px));
  height:24px;
  margin:-12px auto;
  position:relative;
  z-index:3;
  pointer-events:none;
  opacity:.48;
}
.motion-section-divider::before,
.motion-section-divider::after{
  content:"";
  position:absolute;
  top:11px;
  width:calc(50% - 28px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,154,53,.55));
}
.motion-section-divider::before{left:0}
.motion-section-divider::after{right:0;transform:scaleX(-1)}
.motion-section-divider span{
  position:absolute;
  left:50%;
  top:50%;
  color:var(--gold);
  transform:translate(-50%,-50%);
  font-family:Georgia,serif;
  font-size:1.15rem;
  animation:dividerPulse 4s ease-in-out infinite;
}
@keyframes dividerPulse{
  50%{opacity:.44;transform:translate(-50%,-50%) rotate(15deg) scale(.86)}
}

/* Mobile keeps the feeling without overwhelming the page */
@media(max-width:900px){
  .flower-fall-layer{z-index:34}
  .festival-cursor-glow{display:none}
  .motion-tilt,
  .motion-tilt.tilt-active{
    transform:none!important;
  }
}
@media(max-width:620px){
  .falling-flower:nth-child(2n){display:none}
  .flower-fall-layer{opacity:.72}
  .motion-section-divider{width:calc(100% - 28px)}
  .site-header.header-scrolled .header-inner{height:66px}
}

/* Accessibility and battery-friendly fallback */
@media(prefers-reduced-motion:reduce){
  .flower-fall-layer,
  .festival-cursor-glow,
  .ambient-particle-layer,
  .festival-scroll-progress,
  .motion-section-divider{
    display:none!important;
  }
  .motion-tilt,
  .motion-tilt.tilt-active,
  .hero-art{
    transform:none!important;
  }
  .reveal{
    filter:none!important;
    transition:none!important;
  }
}

/* Sticky "Register Now" bottom bar — always visible on the program pages */
.sticky-register-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:linear-gradient(90deg,#101938,#1a2454);border-top:1px solid rgba(226,182,109,.35);box-shadow:0 -10px 30px rgba(0,0,0,.25)}
.srb-inner{max-width:1160px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.srb-text{color:#f4ecff;font-size:.85rem;font-weight:500}
.srb-btn-group{display:flex;gap:10px;flex-shrink:0}
.srb-btn{flex-shrink:0;background:#e2b66d;color:#101938;font-weight:700;font-size:.85rem;padding:11px 22px;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 18px rgba(226,182,109,.3);white-space:nowrap}
.srb-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(226,182,109,.4)}
.srb-btn.secondary{background:rgba(255,255,255,.08);color:#f4ecff;border:1px solid rgba(255,255,255,.3);box-shadow:none}
.srb-btn.secondary:hover{background:rgba(255,255,255,.16);box-shadow:none}
body{padding-bottom:76px}
@media (max-width:700px){.srb-text{display:none}.srb-inner{justify-content:center;padding:10px 12px}.srb-btn-group{width:100%}.srb-btn{flex:1;text-align:center;padding:12px 10px;font-size:.78rem}}

/* Whole program card is clickable (stretched link) — feels like one card, one destination */
.card-stretched-link{position:absolute;inset:0;z-index:6;border-radius:inherit;background:transparent;border:0;padding:0;margin:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;font:inherit;color:inherit}
.program-card{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}
.program-card:hover{transform:translateY(-6px);box-shadow:0 35px 80px rgba(16,25,56,.28)}
.program-actions .program-details-link{pointer-events:none}
.program-register-btn{position:relative;z-index:10}

/* ============================================================
   PROGRAM-SPECIFIC DETAIL PAGE THEMES
   Gives Bhadra Purnima and the Sammelan page each their own
   distinct mood, so navigating there feels like a different
   page rather than the same hub repeated.
   ============================================================ */
.theme-bhadra .hero{background:radial-gradient(circle at 82% 8%,rgba(241,220,152,.22),transparent 26%),linear-gradient(125deg,#4a1f3c 0%,#5c2740 42%,#2c1730 100%)}
.theme-bhadra .topbar{background:linear-gradient(90deg,#5c2740,#3a1c33)}
.theme-bhadra .site-header.scrolled{background:rgba(74,31,60,.94)}
.theme-bhadra .nav-cta,.theme-bhadra .btn-primary,.theme-bhadra .btn-gold{background:linear-gradient(135deg,var(--gold2),var(--lotus))}
.theme-bhadra .eyebrow{color:var(--lotus)}
.theme-bhadra .sticky-register-bar{background:linear-gradient(90deg,#3a1c33,#5c2740)}

.theme-sammelan .hero{background:radial-gradient(circle at 82% 8%,rgba(241,220,152,.2),transparent 26%),linear-gradient(125deg,#123449 0%,#1d5670 45%,#0f2436 100%)}
.theme-sammelan .topbar{background:linear-gradient(90deg,#1d5670,#0f2436)}
.theme-sammelan .site-header.scrolled{background:rgba(18,52,73,.94)}
.theme-sammelan .nav-cta,.theme-sammelan .btn-primary,.theme-sammelan .btn-gold{background:linear-gradient(135deg,var(--gold2),#2d8fae)}
.theme-sammelan .eyebrow{color:#4fb8d6}
.theme-sammelan .sticky-register-bar{background:linear-gradient(90deg,#0f2436,#1d5670)}

/* ============================================================
   PROGRAM DETAIL MODAL — compact popup instead of a separate page
   ============================================================ */
.program-modal-backdrop{position:fixed;inset:0;background:rgba(8,12,28,.72);backdrop-filter:blur(6px);z-index:200;display:none}
.program-modal-backdrop.open{display:block}
.program-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);width:min(480px,92vw);max-height:88vh;overflow-y:auto;background:#fff;border-radius:24px;z-index:201;display:none;padding:34px 30px 28px;box-shadow:0 40px 100px rgba(0,0,0,.4)}
.program-modal.open{display:block;animation:modalPop .3s ease}
@keyframes modalPop{from{opacity:0;transform:translate(-50%,-42%) scale(.96)}to{opacity:1;transform:translate(-50%,-46%) scale(1)}}
.modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid #e7e0d0;background:#fff;font-size:1.3rem;line-height:1;cursor:pointer;color:#101938}
.modal-close:hover{background:#f4ecd8}
.modal-date-badge{display:inline-flex;flex-direction:column;align-items:center;padding:8px 18px;border-radius:14px;margin-bottom:14px}
.modal-date-badge strong{font-family:Georgia,serif;font-size:1.3rem;line-height:1}
.modal-date-badge span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.modal-kicker{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin:0 0 4px}
.program-modal h3{font-family:Georgia,serif;font-size:1.55rem;margin:0 0 10px;color:#101938}
.modal-desc{font-size:.87rem;color:#5c5648;line-height:1.6;margin-bottom:18px}
.modal-highlights{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.modal-highlights div{display:flex;align-items:center;gap:8px;padding:9px 10px;background:#f8f4ea;border-radius:10px;font-size:.74rem;font-weight:600;color:#3d3626}
.modal-highlights svg{width:18px;height:18px;flex-shrink:0;stroke:#c98a1f;fill:none;stroke-width:2}
.modal-pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}
.modal-pricing div{text-align:center;padding:10px 4px;border:1px solid #ecdfc0;border-radius:10px}
.modal-pricing span{display:block;font-size:.62rem;color:#8a8270;text-transform:uppercase;letter-spacing:.04em}
.modal-pricing strong{display:block;font-family:Georgia,serif;font-size:1rem;color:#101938;margin-top:2px}
.modal-note{font-size:.68rem;color:#9a9384;margin-bottom:18px}
.modal-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:14px;background:linear-gradient(135deg,#e2b66d,#c98a1f);color:#101938;font-weight:700;font-size:.92rem;text-decoration:none;margin-bottom:10px}
.modal-cta:hover{filter:brightness(1.05)}
.modal-secondary{display:block;text-align:center;font-size:.76rem;color:#8a8270;text-decoration:underline}

/* Theme accents inside the modal, matching each program's identity */
.program-modal.theme-bhadra .modal-date-badge{background:#f3e2ea;color:#5c2740}
.program-modal.theme-bhadra .modal-kicker{color:#8a3f63}
.program-modal.theme-sammelan .modal-date-badge{background:#e0eef3;color:#123449}
.program-modal.theme-sammelan .modal-kicker{color:#1d5670}

@media(max-width:560px){.program-modal{padding:26px 20px 22px;width:94vw}.modal-highlights{grid-template-columns:1fr}}
