:root{--paper:#fbf6ec;--paper-2:#f4ead6;--card:#fffdf8;--line:#ecdcb6;--ink:#3a2320;--ink-soft:#6e5248;--kumkum:#9e1b32;--kumkum-deep:#5e0c1d;--gold:#b8873b;--gold-light:#e2c27a;--gold-pale:#f6e7c1;--cream-on-red:#fff4dc;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, sans-serif;--te:"Tiro Telugu", "Noto Serif Telugu", serif;--te-display:"Ramaraja", "Tiro Telugu", serif;--ease-out:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html.is-locked,html.is-locked body{overflow:hidden}body{color:var(--ink);font:400 16px/1.6 var(--sans);background-color:var(--paper);-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .3 0 0 0 0 .15 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");margin:0;overflow-x:hidden}img{max-width:100%}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--kumkum);outline-offset:3px}.te{font-family:var(--te);letter-spacing:0;text-transform:none}.kicker{font:500 12px/1.4 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin:0;display:flex}.kicker .te{font-size:16px;font-weight:400}.kicker-dot{letter-spacing:0;color:var(--gold-light);margin-right:12px;font-size:8px}.kicker-light{color:var(--gold-light)}.kicker-light .kicker-dot{color:var(--gold)}h2{font:500 clamp(38px, 5.4vw, 60px)/1.04 var(--serif);color:var(--ink);text-wrap:balance;margin:14px 0 0}h2 em{color:var(--kumkum);font-style:italic}h2 .te{font-family:var(--te);font-size:.72em;line-height:1.4}.section{max-width:1180px;margin:0 auto;padding:clamp(80px,11vw,136px) 20px}.section-heading{text-align:center;max-width:660px;margin:0 auto clamp(40px,6vw,64px)}.section-intro{max-width:520px;color:var(--ink-soft);margin:18px auto 0;font-size:16px}.lotus-divider{color:var(--gold);justify-content:center;align-items:center;gap:14px;display:flex}.lotus-divider span{background:linear-gradient(90deg, transparent, var(--gold-light));width:min(120px,22vw);height:1px}.lotus-divider span:last-child{transform:scaleX(-1)}.lotus-divider svg{flex:none;width:46px}.section-divider{padding-top:8px}.button{font:500 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease-out), box-shadow .25s, background .25s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 28px;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-gold{color:var(--kumkum-deep);background:linear-gradient(135deg,#f6dc93,#d4a24c);box-shadow:0 12px 26px -12px #000a}.button-red{background:var(--kumkum);color:var(--cream-on-red);box-shadow:0 12px 26px -14px #9e1b32aa}.button-red:hover{background:#87152a}.button-outline{background:var(--card);color:var(--kumkum);box-shadow:inset 0 0 0 1.5px var(--kumkum);flex-direction:column;gap:6px;line-height:1.2}.button-outline small{letter-spacing:.08em;text-transform:none;color:var(--ink-soft);font-size:11px}.reveal{opacity:0;transition:opacity .9s ease var(--delay,0s), transform 1s var(--ease-out) var(--delay,0s);transform:translateY(28px)}.reveal.is-shown{opacity:1;transform:none}.entrance{z-index:100;overscroll-behavior:contain;background:radial-gradient(at 50% 42%,#fffdf6 0,#fbf6ec 46%,#f1e3c4 100%);position:fixed;inset:0;overflow:hidden auto}.entrance:before{content:"";pointer-events:none;background:radial-gradient(circle,#b8873b2e 1.2px,#0000 1.7px) 0 0/26px 26px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(at 50% 45%,#0000 18%,#000 75%);mask-image:radial-gradient(at 50% 45%,#0000 18%,#000 75%)}.entrance-thoranam{z-index:3;animation:thoranamDrop 1.1s var(--ease-out) both;position:fixed;top:0;left:0;right:0}.entrance-body{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,2.4svh,26px);min-height:100%;padding:84px 16px 28px;display:flex;position:relative}.entrance-scene{aspect-ratio:3/2;flex:none;width:min(94vw,760px,150svh - 555px);min-width:270px;position:relative}.entrance-glow{aspect-ratio:1;background:radial-gradient(circle,#ffe9a8aa 0,#ffe9a833 45%,#0000 70%);border-radius:50%;width:70%;animation:2.4s .6s both glowIn,4s ease-in-out 3s infinite breathe;position:absolute;top:58%;left:50%;translate:-50% -50%}.entrance-mandap{object-fit:contain;filter:drop-shadow(0 18px 24px #6a0f2222);width:100%;height:100%;animation:mandapIn 1.4s var(--ease-out) .2s both;position:absolute;inset:0}.entrance-ganesha{filter:drop-shadow(0 6px 10px #6a0f2230);width:21%;animation:ganeshaIn 1.2s var(--ease-out) 1.5s both;position:absolute;bottom:8%;left:50%;translate:-50%}.entrance-elephant{filter:drop-shadow(0 12px 12px #3a232030);width:31%;position:absolute;bottom:-2%}.entrance-elephant.is-left{transform-origin:60% 100%;animation:2s cubic-bezier(.25,.8,.3,1) .8s both walkInLeft,.5s ease-in-out .8s 4 alternate bob;left:-9%}.entrance-elephant.is-right{transform-origin:40% 100%;animation:2s cubic-bezier(.25,.8,.3,1) .8s both walkInRight,.5s ease-in-out .8s 4 alternate bob;right:-9%;transform:scaleX(-1)}.entrance-copy{text-align:center;animation:rise 1.1s var(--ease-out) 2s both}.entrance-te{font-family:var(--te-display);color:var(--kumkum);margin:0;font-size:clamp(17px,2.6svh,22px)}.entrance-names{font:italic 500 clamp(30px, 5.4svh, 54px)/1.08 var(--serif);color:var(--kumkum);text-wrap:balance;margin:2px 0 4px}.entrance-names i{color:var(--gold);font-size:.6em}.entrance-date{letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 clamp(12px,2.4svh,22px);font-size:11.5px}.enter-button{cursor:pointer;color:var(--cream-on-red);box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--gold-light), 0 16px 30px -14px #6a0f22cc;transition:transform .3s var(--ease-out);background:linear-gradient(160deg,#b3233c,#7a1427);border:0;border-radius:999px;flex-direction:column;align-items:center;gap:3px;padding:13px 34px 12px;display:inline-flex;position:relative}.enter-button:hover{transform:translateY(-2px)}.enter-button:after{content:"";border-radius:inherit;border:1.5px solid var(--gold-light);opacity:0;animation:2.6s ease-out 3.2s infinite ring;position:absolute;inset:-9px}.enter-button .te{font-size:17px;line-height:1.3}.enter-button span:last-child{letter-spacing:.28em;text-transform:uppercase;color:var(--gold-pale);font-size:10.5px;font-weight:500}.entrance-drift i{top:-20px;left:calc(var(--i) * 10% + 4%);opacity:0;width:11px;height:8px;animation:drift calc(9s + var(--i) * .7s) linear calc(var(--i) * 1.1s + 1.5s) infinite;background:#f28c8c;border-radius:70% 0;position:fixed}.entrance-drift i:nth-child(3n){background:#f2b33c}.entrance-drift i:nth-child(3n+1){background:#fff3d6;box-shadow:0 0 0 .5px #e2c27a}.entrance-entering{pointer-events:none;background:0 0}.entrance-entering:before,.entrance-entering .entrance-drift{opacity:0;transition:opacity .5s}.entrance-entering .entrance-copy{opacity:0;transition:opacity .35s, transform .5s var(--ease-out);animation:none;transform:translateY(16px)}.entrance-entering .entrance-thoranam{transition:transform .9s var(--ease-out) .4s;animation:none;transform:translateY(-110%)}.entrance-entering .entrance-ganesha{opacity:0;transition:opacity .4s;animation:none}.entrance-entering .entrance-elephant.is-left{animation:.55s ease-out both salute}.entrance-entering .entrance-elephant.is-right{animation:.55s ease-out both saluteFlip}.entrance-entering .entrance-scene{transform-origin:50% 75%;animation:1.7s cubic-bezier(.6,0,.3,1) .45s forwards walkThrough}.entrance-entering .entrance-body:before{content:"";z-index:-1;background:radial-gradient(at 50% 42%,#fffdf6 0,#fbf6ec 46%,#f1e3c4 100%);animation:1.2s 1s forwards washOut;position:fixed;inset:0}@keyframes thoranamDrop{0%{transform:translateY(-100%)}}@keyframes mandapIn{0%{opacity:0;transform:translateY(18px)scale(.94)}}@keyframes ganeshaIn{0%{opacity:0;transform:translateY(12px)scale(.85)}}@keyframes glowIn{0%{opacity:0;transform:scale(.6)}}@keyframes breathe{50%{opacity:.65;transform:scale(1.06)}}@keyframes walkInLeft{0%{opacity:0;transform:translate(-70%)}30%{opacity:1}}@keyframes walkInRight{0%{opacity:0;transform:translate(70%)scaleX(-1)}30%{opacity:1}to{transform:scaleX(-1)}}@keyframes bob{to{translate:0 -3%}}@keyframes salute{50%{transform:rotate(-7deg)translateY(-6%)}to{transform:rotate(-3deg)translateY(-3%)}}@keyframes saluteFlip{50%{transform:scaleX(-1)rotate(-7deg)translateY(-6%)}to{transform:scaleX(-1)rotate(-3deg)translateY(-3%)}}@keyframes walkThrough{0%{opacity:1;transform:scale(1)}65%{opacity:1}to{opacity:0;transform:scale(7)}}@keyframes washOut{to{opacity:0}}@keyframes drift{0%{opacity:0;transform:translate(0)rotate(0)}10%,90%{opacity:.9}to{opacity:0;transform:translate(6vw,108vh)rotate(540deg)}}@keyframes ring{0%{opacity:.9;transform:scale(.94)}to{opacity:0;transform:scale(1.18)}}@keyframes spin{to{transform:rotate(360deg)}}.shower{z-index:110;pointer-events:none;position:fixed;inset:0;overflow:hidden}.shower i{top:-4vh;left:var(--x);background:var(--c);opacity:0;animation:fall var(--d) cubic-bezier(.3, .3, .55, 1) var(--delay) forwards;position:absolute}.shower .grain{border-radius:50%;width:7px;height:3.4px;box-shadow:inset -1px -1px #0000001a}.shower .petal{border-radius:70% 0;width:13px;height:10px}@keyframes fall{0%{opacity:0;transform:translate3d(0, 0, 0) rotate(var(--r))}8%,82%{opacity:1}to{opacity:0;transform:translate3d(var(--drift), 110vh, 0) rotate(calc(var(--r) + 720deg))}}.controls{z-index:60;opacity:0;pointer-events:none;transition:opacity .5s, transform .5s var(--ease-out);align-items:center;gap:8px;display:flex;position:fixed;bottom:14px;right:14px;transform:translateY(12px)}.controls.is-visible{opacity:1;pointer-events:auto;transform:none}.language-toggle,.music-toggle{border:1px solid var(--gold-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8eb;box-shadow:0 10px 24px -14px #3a232066}.language-toggle{border-radius:999px;padding:4px;display:flex}.language-toggle button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:500}.language-toggle button.is-active{background:var(--kumkum);color:var(--cream-on-red)}.music-toggle{width:40px;height:40px;color:var(--kumkum);cursor:pointer;border-radius:50%;place-items:center;display:grid}.hero{min-height:100svh;padding:92px 20px 84px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#b8873b30 1.2px,#0000 1.7px) 0 0/26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 55%,#000 0,#0000 70%);mask-image:radial-gradient(at 50% 55%,#000 0,#0000 70%)}.hero-thoranam{z-index:2;position:absolute;top:0;left:0;right:0}.hero-inner{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(32px,5vw,72px);max-width:1160px;min-height:calc(100svh - 190px);margin:0 auto;display:grid;position:relative}.hero-copy{text-align:center}.hero-ganesha{mix-blend-mode:multiply;width:104px;height:auto;margin:0 auto 6px;display:block}.invocation{font-family:var(--te-display);color:var(--kumkum);margin:0 0 18px;font-size:19px}.hero-names{font:italic 500 clamp(44px, 5.6vw, 84px)/.98 var(--serif);color:var(--kumkum);text-wrap:balance;flex-direction:column;align-items:center;margin:18px 0 10px;display:flex}.hero-names .amp{color:var(--gold);font-size:.5em;line-height:1.3}.hero-names>span:not(.amp){white-space:nowrap}.hero-names-te{color:var(--ink-soft);margin:0;font-size:clamp(18px,2vw,22px)}.hero-names-te span{color:var(--kumkum);margin:0 6px;font-size:.8em}.date-block{font:500 11.5px/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:30px;display:inline-grid}.date-block span{border-top:1px solid var(--gold-light);border-bottom:1px solid var(--gold-light);padding:10px 2px}.date-block strong{font:500 64px/1 var(--serif);letter-spacing:0;color:var(--kumkum)}.hero-place{letter-spacing:.26em;text-transform:uppercase;color:var(--gold);justify-content:center;align-items:center;gap:6px;margin:16px 0 0;font-size:12px;display:flex}.hero-art{margin:0}.arch{aspect-ratio:4/5;border:1.5px solid var(--gold-light);max-width:470px;box-shadow:0 0 0 10px var(--paper), 0 0 0 11px var(--gold-light), 0 40px 70px -30px #6a0f2240;background:radial-gradient(at 50% 40%,#fffdf6 0,#f7eedb 60%,#efe0c0 100%);border-radius:999px 999px 20px 20px;justify-content:center;align-items:flex-end;margin:0 auto;padding:9% 6% 0;display:flex;position:relative;overflow:hidden}.arch img{object-fit:contain;object-position:50% 100%;width:auto;max-width:100%;height:100%;display:block}.scroll-cue{background:linear-gradient(var(--gold-light), transparent);width:1px;height:56px;margin-left:-.5px;position:absolute;bottom:22px;left:50%}.scroll-cue span{background:var(--kumkum);border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite cue;position:absolute;top:0;left:-3px}@keyframes cue{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(50px)}}.rise{opacity:0}.page.is-open .rise{animation:rise 1.2s var(--ease-out) var(--d,.9s) both}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.subhalekha{padding-top:clamp(40px,6vw,72px)}.letter{text-align:center;background:var(--card);border:1px solid var(--gold-light);max-width:900px;box-shadow:0 0 0 8px var(--card), 0 0 0 9px var(--line), 0 40px 80px -40px #6a0f2250;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(24px,7vw,80px);position:relative}.corner{width:clamp(42px,7vw,70px);color:var(--gold);position:absolute}.corner.tl{top:10px;left:10px}.corner.tr{top:10px;right:10px;transform:scaleX(-1)}.corner.bl{bottom:10px;left:10px;transform:scaleY(-1)}.corner.br{bottom:10px;right:10px;transform:scale(-1)}.letter-blessing{font-family:var(--te-display);color:var(--kumkum);margin:0 0 16px;font-size:clamp(19px,2.8vw,27px)}.letter-blessing span{vertical-align:middle;color:var(--gold);margin:0 .6em;font-size:.45em}.letter-body{gap:36px;margin-top:30px;display:grid}.letter-both{grid-template-columns:1fr 1fr}.letter-both .letter-en{border-left:1px solid var(--line);padding-left:36px}.letter-both .letter-te{padding-right:0}.letter-col p{color:var(--ink-soft);font:400 18px/1.6 var(--serif);margin:0 0 4px}.letter-te p{font:400 16px/1.9 var(--te)}.letter-col .letter-name{font:italic 500 clamp(30px, 3.6vw, 38px)/1.15 var(--serif);color:var(--kumkum);margin-top:14px}.letter-te .letter-name{font:400 clamp(21px, 2.4vw, 25px)/1.5 var(--te)}.letter-col .letter-parents{font-size:15px;font-style:italic}.letter-te .letter-parents{font-size:14.5px;font-style:normal}.letter-col .letter-amp{color:var(--gold);font:italic 500 26px/1 var(--serif);margin:14px 0 0}.letter-te .letter-amp{font:400 15px var(--te)}.letter-col .letter-request{margin-top:26px;font-size:18px}.letter-te .letter-request{font-size:15.5px}.muhurtham{text-align:center;color:var(--gold-pale);background:radial-gradient(at 50% 0,#b3233c 0,#8d1830 45%,#5e0c1d 100%);padding:clamp(88px,11vw,130px) 20px;position:relative;overflow:hidden}.muhurtham:before,.muhurtham:after{content:"";background:conic-gradient(from -45deg at 50% 100%, #d8b062 90deg, transparent 0) 0 0 / 22px 14px repeat-x;height:14px;position:absolute;left:0;right:0}.muhurtham:before{top:18px}.muhurtham:after{bottom:18px;transform:scaleY(-1)}.muhurtham-mandala{color:#f3d68f;opacity:.07;width:min(1000px,160vw);animation:140s linear infinite spin;position:absolute;top:50%;left:50%;translate:-50% -50%}.muhurtham-inner{max-width:860px;margin:0 auto;position:relative}.muhurtham h2{color:var(--cream-on-red)}.muhurtham h2 em{color:var(--gold-light)}.muhurtham-when{letter-spacing:.08em;color:#f3e3bbd9;margin:16px 0 0;font-size:15px}.muhurtham-when-te{color:var(--gold-light);margin-top:4px;font-size:15px;display:block}.countdown{justify-content:center;gap:clamp(8px,2.6vw,28px);margin:40px 0 38px;display:flex}.countdown-unit{background:linear-gradient(#ffffff12,#ffffff03);border:1px solid #e2c27a55;border-radius:999px 999px 14px 14px;flex:0 128px;padding:clamp(18px,3vw,26px) 6px 14px}.countdown-unit strong{font:500 clamp(38px, 7vw, 70px)/1 var(--serif);color:var(--cream-on-red);font-variant-numeric:tabular-nums;display:block}.countdown-unit span{letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);margin-top:6px;font-size:10.5px;display:block}.countdown-unit .te{color:#f3e3bbb3;margin-top:2px;font-size:13px}.timeline{max-width:800px;margin:0 auto;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(transparent, var(--gold-light) 8%, var(--gold-light) 92%, transparent);width:1px;position:absolute;top:20px;bottom:20px;left:40px}.timeline-item{grid-template-columns:80px 1fr;align-items:start;gap:clamp(16px,3vw,32px);margin-bottom:28px;display:grid}.timeline-date{z-index:1;text-align:center;background:var(--paper);border:1px solid var(--gold-light);font:500 10.5px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);border-radius:999px 999px 12px 12px;padding:16px 0 12px;position:relative}.timeline-date strong{font:500 36px/1 var(--serif);letter-spacing:0;color:var(--kumkum);margin:4px 0;display:block}.event-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,30px);box-shadow:0 24px 50px -36px #6a0f2255}.event-title-te{color:var(--kumkum);margin:0;font-size:18px}.event-card h3{font:500 clamp(28px, 3.4vw, 34px)/1.1 var(--serif);color:var(--ink);margin:2px 0 14px}.event-meta{color:var(--ink-soft);gap:6px;margin:0;padding:0;font-size:14.5px;list-style:none;display:grid}.event-meta li{align-items:center;gap:9px;display:flex}.event-meta svg{color:var(--gold);flex:none}.event-description{color:var(--ink-soft);margin:12px 0 0;font-size:15px}.event-link{letter-spacing:.18em;text-transform:uppercase;color:var(--kumkum);border-bottom:1px solid;align-items:center;gap:6px;margin-top:16px;padding-bottom:2px;font-size:11.5px;text-decoration:none;display:inline-flex}.event-badge{background:var(--gold-light);color:var(--kumkum-deep);letter-spacing:.24em;text-transform:uppercase;border-radius:999px;margin-bottom:12px;padding:5px 12px;font-size:10px;font-weight:500;display:inline-block}.is-highlight .timeline-date{background:var(--kumkum);border-color:var(--gold);color:var(--gold-pale)}.is-highlight .timeline-date strong{color:var(--cream-on-red)}.is-highlight .event-card{background:linear-gradient(155deg,#a3213a,#6a0f22);border-color:#d8b062;box-shadow:0 30px 60px -30px #6a0f22aa}.is-highlight .event-title-te{color:var(--gold-light)}.is-highlight .event-card h3{color:var(--cream-on-red)}.is-highlight .event-meta,.is-highlight .event-description{color:#f3e3bbd9}.is-highlight .event-meta svg,.is-highlight .event-link{color:var(--gold-light)}.ritual-track{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.ritual-card{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:999px 999px 20px 20px;padding:20px 24px 30px;box-shadow:0 24px 50px -40px #6a0f2255}.ritual-art{aspect-ratio:1;width:100%;max-width:190px;color:var(--gold);background:radial-gradient(circle, #fff 0, var(--paper-2) 72%);border-radius:50%;place-items:center;margin:6px auto 16px;display:grid;position:relative}.ritual-art.has-image{aspect-ratio:1;background:var(--paper-2);border-radius:999px 999px 14px 14px;max-width:none;margin-top:0;overflow:hidden}.ritual-art img{object-fit:cover;width:100%;height:100%}.ritual-mandala{opacity:.5;width:92%;position:absolute;inset:4%}.ritual-number{font-family:var(--te-display);color:var(--kumkum);font-size:62px;line-height:1;position:relative}.ritual-title-te{color:var(--kumkum);margin:0;font-size:19px}.ritual-card h3{font:500 27px/1.15 var(--serif);margin:2px 0 10px}.ritual-text{color:var(--ink-soft);margin:0;font-size:14.5px;line-height:1.7}.gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:30px;margin:0 -20px;padding:16px 20px 36px;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-track.is-few .photo:first-child{margin-left:auto}.gallery-track.is-few .photo:last-child{margin-right:auto}.photo{scroll-snap-align:center;flex:0 0 min(72vw,330px)}.photo button{cursor:zoom-in;width:100%;transition:transform .4s var(--ease-out);background:#fff;border:0;padding:12px 12px 16px;display:block;transform:rotate(-2deg);box-shadow:0 0 0 1px #0000000a,0 26px 44px -26px #3a232066}.photo button:hover{transform:rotate(0)translateY(-4px)}.photo img{aspect-ratio:4/5;object-fit:contain;background:radial-gradient(at 50% 40%,#fffdf6,#f3e7cf);width:100%;display:block}.photo-caption{font:italic 500 19px/1.3 var(--serif);color:var(--ink-soft);margin-top:12px;display:block}.lightbox{z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d090ee8;justify-content:center;align-items:center;gap:12px;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.lightbox figure{text-align:center;max-width:min(92vw,900px);margin:0}.lightbox img{max-width:100%;max-height:80vh;margin:0 auto;display:block;box-shadow:0 30px 80px #000a}.lightbox figcaption{font:italic 20px var(--serif);color:var(--gold-pale);margin-top:14px}.lightbox figcaption span{font:12px var(--sans);letter-spacing:.2em;color:var(--gold-light);margin-left:10px}.lightbox-close,.lightbox-nav{width:46px;height:46px;color:var(--gold-pale);cursor:pointer;background:#ffffff10;border:1px solid #e2c27a66;border-radius:50%;flex:none;place-items:center;display:grid}.lightbox-close{position:absolute;top:18px;right:18px}@keyframes fadeIn{0%{opacity:0}}.venue-card{background:var(--card);border:1px solid var(--line);border-radius:26px;grid-template-columns:.9fr 1.1fr;display:grid;overflow:hidden;box-shadow:0 40px 80px -50px #6a0f2266}.venue-copy{flex-direction:column;justify-content:center;gap:4px;padding:clamp(30px,5vw,60px);display:flex}.venue-art{object-fit:contain;width:100%;max-height:220px;margin-bottom:18px}.venue-copy h3{font:500 clamp(32px, 4vw, 44px)/1.1 var(--serif);color:var(--kumkum);margin:0}.venue-copy p{color:var(--ink-soft);margin:10px 0 26px}.venue-actions{flex-wrap:wrap;gap:12px;display:flex}.venue-map{background:var(--paper-2);min-height:360px}.venue-map iframe{filter:sepia(.2)saturate(.9);border:0;width:100%;height:100%;min-height:360px;display:block}.rsvp-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.finale{text-align:center;background:linear-gradient(var(--paper), var(--paper-2));padding:140px 20px 90px;position:relative;overflow:hidden}.finale-thoranam{position:absolute;top:0;left:0;right:0}.finale-inner{max-width:700px;margin:0 auto}.finale-te{color:var(--kumkum);margin:0;font-size:20px}.finale-copy{max-width:460px;color:var(--ink-soft);margin:16px auto 40px}.akshintalu{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:18px;padding:26px 18px 0;display:inline-flex}.akshintalu-bowl{width:140px;height:70px;transition:transform .4s var(--ease-out);background:linear-gradient(#ecc96f,#b8873b 55%,#84591a);border-radius:0 0 72px 72px/0 0 64px 64px;position:relative;box-shadow:inset 0 8px 0 -2px #f6dc93,0 16px 24px -12px #6a0f2266}.akshintalu-bowl:before{content:"";background:radial-gradient(circle at 30% 40%,#fbe39a 0 1.4px,#0000 2px) 0 0/7px 6px,radial-gradient(circle at 60% 60%,#d9481f 0 1.2px,#0000 1.8px) 0 0/17px 11px,radial-gradient(circle at 70% 70%,#e09a1f 0 1.4px,#0000 2px) 0 0/9px 7px,#f2c14e;border-radius:50% 50% 0 0/100% 100% 0 0;height:30px;position:absolute;top:-18px;left:10%;right:10%}.akshintalu-bowl:after{content:"";background:linear-gradient(#f6dc93,#c99a45);border-radius:50%;height:9px;position:absolute;top:-3px;left:-4px;right:-4px}.akshintalu-bowl i{top:-20px;left:calc(16% + var(--i) * 5%);opacity:0;background:#f2c14e;border-radius:50%;width:6px;height:3px;position:absolute}.akshintalu:hover .akshintalu-bowl{transform:rotate(-6deg)translateY(-3px)}.akshintalu:hover .akshintalu-bowl i{animation:hop .9s ease-out calc(var(--i) * 40ms) infinite}@keyframes hop{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc((var(--i) - 7) * 4px), -46px) rotate(200deg)}}.akshintalu-label{flex-direction:column;gap:4px;display:flex}.akshintalu-label .te{color:var(--kumkum);font-size:21px}.akshintalu-label span:last-child{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);font-size:11.5px;font-weight:500}.akshintalu-count{min-height:1.6em;font:italic 18px var(--serif);color:var(--kumkum);margin:14px 0 46px}.compliments-label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:34px 0 8px;font-size:11.5px;font-weight:500}.compliments-label .te{letter-spacing:0;font-size:15px}.compliments-label .kicker-dot{margin:0 12px}.compliments{max-width:520px;font:italic 20px/1.5 var(--serif);color:var(--ink-soft);margin:0 auto 4px}p.compliments.te{font:15.5px/1.8 var(--te)}.finale-names{font:italic 500 clamp(36px, 5.4vw, 56px)/1.1 var(--serif);color:var(--kumkum);margin:40px 0 6px}.finale-elephants{width:min(440px,86vw);margin:44px auto -10px;display:block}.finale-names span{white-space:nowrap}.finale-names i{color:var(--gold);font-size:.6em}.finale-te+.finale-copy,.finale h2+.akshintalu{margin-top:36px}.hashtag{letter-spacing:.24em;color:var(--gold);margin:0;font-size:13px}.footer{text-align:center;letter-spacing:.14em;color:var(--ink-soft);background:var(--paper-2);padding:26px 20px 80px;font-size:12.5px}@media (width<=900px){.hero{padding-bottom:100px}.hero-inner{grid-template-columns:1fr;gap:44px;min-height:0}.hero-art .arch{max-width:min(80vw,380px)}.ritual-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;margin:0 -20px;padding:6px 20px 22px;display:flex;overflow-x:auto}.ritual-track::-webkit-scrollbar{display:none}.ritual-card{scroll-snap-align:center;flex:0 0 min(80vw,320px)}.venue-card{grid-template-columns:1fr}.venue-map,.venue-map iframe{min-height:300px}}@media (width<=700px){.entrance-elephant{width:29%}.entrance-elephant.is-left{left:-3%}.entrance-elephant.is-right{right:-3%}.letter-both{grid-template-columns:1fr}.letter-both .letter-en{border-left:0;border-top:1px solid var(--line);padding-top:34px;padding-left:0}.timeline:before{left:30px}.timeline-item{grid-template-columns:60px 1fr;gap:14px}.timeline-date{letter-spacing:.14em;padding:12px 0 10px;font-size:9.5px}.timeline-date strong{font-size:28px}.date-block{letter-spacing:.18em;gap:12px;font-size:10.5px}.date-block strong{font-size:52px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.rise{opacity:1;transform:none}.entrance-entering{opacity:0}}.scene-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene-bg img{object-fit:cover;width:100%;height:100%;display:block;transform:scale(1.12)}.hero .scene-bg img{object-position:50% 60%}@supports (animation-timeline:view()){.scene-bg img{animation:linear both parallax;animation-timeline:view();animation-range:cover}}@keyframes parallax{0%{transform:translateY(-5%)scale(1.12)}to{transform:translateY(5%)scale(1.12)}}.hero-inner,.scroll-cue{z-index:1}.band{position:relative;overflow:hidden}.band>.section{z-index:1;position:relative}.band-invitation{padding:clamp(10px,3vw,40px) 0}.band-invitation .subhalekha{padding-top:clamp(70px,9vw,120px)}.letter{isolation:isolate}.corner-florals{z-index:2;pointer-events:none;transform-origin:0 0;opacity:0;width:clamp(120px,20vw,230px);transition:transform 1.6s var(--ease-out) .3s, opacity 1s ease .3s;position:absolute;top:-30px;transform:scale(.3)rotate(-10deg)}.corner-florals.is-left{left:-34px}.corner-florals.is-right{transform-origin:50% 0;right:-34px;transform:scaleX(-1)scale(.3)rotate(-10deg)}.letter.is-shown .corner-florals.is-left{opacity:1;animation:7s ease-in-out 2s infinite alternate breeze;transform:none}.letter.is-shown .corner-florals.is-right{opacity:1;animation:7s ease-in-out 2.4s infinite alternate breezeFlip;transform:scaleX(-1)}@keyframes breeze{to{transform:rotate(2.5deg)}}@keyframes breezeFlip{to{transform:scaleX(-1)rotate(2.5deg)}}.garland-curtain{z-index:2;pointer-events:none;filter:drop-shadow(0 8px 10px #0006);justify-content:center;height:clamp(130px,15vw,210px);display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.garland-curtain img{transform-origin:50% 0;width:auto;height:100%;animation:sway calc(4.6s + var(--i) * .55s) ease-in-out calc(var(--i) * -1.3s) infinite alternate;flex:none;margin:0 -1.5%}@keyframes sway{0%{transform:rotate(-1.8deg)}to{transform:rotate(1.8deg)}}.muhurtham{padding-top:clamp(170px,19vw,260px)}.muhurtham:before{display:none}.scene-bg.is-dark:after{content:"";background:radial-gradient(#2b0714d9 0,#3a0a1a99 55%,#3a0a1a40 100%);position:absolute;inset:0}.muhurtham h2,.muhurtham-when{text-shadow:0 2px 14px #000a}.countdown-row{justify-content:center;align-items:flex-end;gap:clamp(10px,3vw,40px);margin:40px 0 38px;display:flex}.countdown-row .countdown{margin:0}.countdown-unit{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(#2b071466,#2b071433)}.countdown-unit strong{animation:tick .5s var(--ease-out)}@keyframes tick{0%{opacity:.15;transform:translateY(-30%)rotateX(70deg)}}.diya{flex:none;width:clamp(64px,8vw,116px);position:relative}.diya img{width:100%;display:block}.diya-glow{aspect-ratio:1;mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle,#ffe08a 0,#ffb23e88 22%,#ff9a2e22 45%,#0000 66%);border-radius:50%;width:120%;animation:2.3s ease-in-out infinite flicker;position:absolute;top:13%;left:50%;translate:-50% -50%}.diya.is-right .diya-glow{animation-delay:-1.1s}@keyframes flicker{0%,to{opacity:.8;transform:scale(1)}25%{opacity:1;transform:scale(1.08)}50%{opacity:.65;transform:scale(.94)}75%{opacity:.95;transform:scale(1.04)}}.event-card{overflow:hidden}.event-art{aspect-ratio:3/2;background:var(--paper-2);margin:calc(-1*clamp(22px,3vw,30px)) calc(-1*clamp(22px,3vw,30px)) 20px;overflow:hidden}.event-art.reveal{opacity:1;transition:-webkit-mask-position 1.6s cubic-bezier(.5,0,.2,1) .1s,mask-position 1.6s cubic-bezier(.5,0,.2,1) .1s;transform:none;-webkit-mask-image:linear-gradient(100deg,#000 42%,#0000 58%);mask-image:linear-gradient(100deg,#000 42%,#0000 58%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-size:280% 100%;mask-size:280% 100%}.event-art.is-shown{-webkit-mask-position:0 0;mask-position:0 0}.event-art img{object-fit:cover;width:100%;height:100%;transition:transform 2.4s var(--ease-out);display:block;transform:scale(1.1)}.event-art.is-shown img{transform:scale(1)}.is-highlight .event-art{background:#5e0c1d}.chapters{max-width:1080px;margin:0 auto;padding:0;list-style:none}.chapter{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(28px,5vw,64px);margin-bottom:clamp(64px,9vw,110px);display:grid}.chapter.is-flipped{grid-template-columns:.85fr 1.15fr}.chapter.is-flipped .chapter-art{order:2}.chapter-art{background:#fff;padding:10px;box-shadow:0 0 0 1px #0000000a,0 30px 60px -30px #3a232080}.chapter-art.reveal{transition:opacity 1s ease, transform 1.4s var(--ease-out);transform:translate(-70px)rotate(-5deg)}.chapter.is-flipped .chapter-art.reveal{transform:translate(70px)rotate(5deg)}.chapter-art.reveal.is-shown{transform:rotate(-1.6deg)}.chapter.is-flipped .chapter-art.reveal.is-shown{transform:rotate(1.6deg)}.chapter-art img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.chapter-number{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-size:11.5px;font-weight:500}.chapter-number .te{font-size:15px}.chapter-title-te{color:var(--kumkum);margin:0;font-size:20px}.chapter-copy h3{font:500 clamp(32px, 4vw, 44px)/1.1 var(--serif);color:var(--ink);margin:4px 0 14px}.chapter-text{font:italic 400 clamp(18px, 1.8vw, 21px)/1.6 var(--serif);color:var(--ink-soft);margin:0}.ritual-card{transition:transform .5s var(--ease-out), box-shadow .5s, opacity .9s ease var(--delay,0s)}.ritual-card.is-shown:hover{transform:translateY(-8px);box-shadow:0 40px 60px -40px #6a0f2280}.ritual-art.has-image img{transition:transform 1.2s var(--ease-out)}.ritual-card:hover .ritual-art.has-image img{transform:scale(1.06)}.finale{padding-bottom:0}.finale-still{aspect-ratio:3/1.15;object-fit:cover;object-position:50% 100%;width:100%;max-width:none;margin-top:10px;display:block;-webkit-mask-image:linear-gradient(#0000,#000 30%);mask-image:linear-gradient(#0000,#000 30%)}.page-petals i{z-index:5;top:-24px;left:calc(var(--i) * 11% + 3%);opacity:0;pointer-events:none;width:12px;height:9px;animation:drift calc(14s + var(--i) * 1.7s) linear calc(var(--i) * 2.3s) infinite;background:#f4a0b0;border-radius:70% 0;position:fixed}.page-petals i:nth-child(3n){background:#f6c35a}.page-petals i:nth-child(3n+1){background:#fff3d6;box-shadow:0 0 0 .5px #e2c27a}@media (width<=900px){.chapter,.chapter.is-flipped{grid-template-columns:1fr;gap:26px}.chapter.is-flipped .chapter-art{order:0}.chapter-copy{text-align:center}}@media (width<=700px){.countdown-row .diya{width:60px;position:absolute;bottom:26px}.countdown-row .diya.is-left{left:8px}.countdown-row .diya.is-right{right:8px}.muhurtham{padding-bottom:120px}.corner-florals{width:110px;top:-22px}.corner-florals.is-left{left:-20px}.corner-florals.is-right{right:-20px}.finale-still{aspect-ratio:4/3}.chapter-art.reveal{transform:translateY(40px)rotate(-3deg)}.chapter.is-flipped .chapter-art.reveal{transform:translateY(40px)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.event-art.reveal{-webkit-mask-image:none;mask-image:none}.corner-florals{opacity:1;transform:none}}.hero .scene-bg{-webkit-mask-image:linear-gradient(#000 0 78%,#0000 100%);mask-image:linear-gradient(#000 0 78%,#0000 100%)}.band-invitation .scene-bg{-webkit-mask-image:linear-gradient(#0000 0,#000 16% 88%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 16% 88%,#0000 100%)}.band-invitation{margin-top:-6vw;padding-top:calc(6vw + clamp(10px,3vw,40px))}.hero{z-index:1}:root{--festoon-h:clamp(64px, 8vw, 112px)}.festoon{z-index:3;height:var(--festoon-h);pointer-events:none;filter:drop-shadow(0 6px 6px #6a0f2226);transform-origin:50% 0;justify-content:center;animation:7s ease-in-out infinite alternate festoonSway;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.festoon img{flex:none;width:auto;height:100%}@keyframes festoonSway{0%{transform:translateY(-2px)rotate(-.25deg)}to{transform:translateY(1px)rotate(.25deg)}}.entrance-festoon{animation:thoranamDrop 1.1s var(--ease-out) both, festoonSway 7s ease-in-out 1.1s infinite alternate;position:fixed}.entrance-entering .entrance-festoon{transition:transform .9s var(--ease-out) .3s;animation:none;transform:translateY(-120%)}.entrance-body{padding-top:calc(var(--festoon-h) + 10px)}.hero{padding-top:calc(var(--festoon-h) + 14px)}.finale{padding-top:calc(var(--festoon-h) + 64px)}.muhurtham:has(.scene-bg){background:0 0;padding-bottom:clamp(150px,14vw,210px)}.muhurtham:has(.scene-bg):before{display:none}.muhurtham:has(.scene-bg):after{display:none}.muhurtham .scene-bg.is-dark{-webkit-mask-image:linear-gradient(#0000 0,#000 12% 90%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 12% 90%,#0000 100%)}.photo{flex:0 0 min(84vw,520px)}.photo img{aspect-ratio:3/2;object-fit:cover;background:var(--paper-2)}.photo:nth-child(2n) button{transform:rotate(1.4deg)translateY(18px)}.photo button{transform:rotate(-1.4deg)}.gallery-nav{justify-content:center;gap:14px;margin-top:6px;display:flex}.gallery-nav button{border:1px solid var(--gold-light);background:var(--card);width:46px;height:46px;color:var(--kumkum);cursor:pointer;transition:transform .25s var(--ease-out), background .25s;border-radius:50%;place-items:center;display:grid;box-shadow:0 10px 20px -14px #6a0f2266}.gallery-nav button:hover{background:#fff;transform:translateY(-2px)}.date-block strong,.timeline-date strong,.countdown-unit strong{font-variant-numeric:lining-nums tabular-nums;font-family:Playfair Display,Georgia,serif;font-weight:500}#rituals,#gallery{padding-bottom:clamp(32px,4vw,56px)}#gallery,#venue{padding-top:clamp(32px,4vw,56px)}*{-webkit-tap-highlight-color:transparent}button,a,[role=button]{-webkit-touch-callout:none;touch-action:manipulation}:focus:not(:focus-visible){outline:none}.music-toggle{width:42px;height:42px;position:relative}.music-toggle.is-playing:after{content:"";border:1.5px solid var(--gold-light);opacity:0;border-radius:50%;animation:2.4s ease-out infinite ring;position:absolute;inset:-4px}.button-outline span{align-items:center;gap:8px;display:inline-flex}.venue-help{border-top:1px solid var(--line);margin-top:26px;padding-top:18px}.venue-help p{letter-spacing:.06em;color:var(--ink-soft);font-size:13px;margin:0 0 8px!important}.venue-help a{letter-spacing:.04em;color:var(--kumkum);align-items:center;gap:7px;margin:4px 22px 4px 0;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.venue-help a svg{color:var(--gold)}.venue-help p .te{margin-top:2px;font-size:13.5px;display:block}.credit{font:italic 500 20px/1.2 var(--serif);letter-spacing:.02em;color:var(--kumkum);margin-top:18px;display:block}.credit small{font:500 10px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;font-style:normal;display:block}.credit{letter-spacing:0;color:var(--kumkum);background:linear-gradient(100deg,#8a1428 0%,#b8873b 35%,#f3d68f 50%,#b8873b 65%,#8a1428 100%) 0 0/250% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:22px;font:400 clamp(34px,6vw,44px)/1.1 Great Vibes,cursive;animation:6s ease-in-out infinite shimmer}.credit small{-webkit-text-fill-color:var(--gold);margin-bottom:2px}.credit:after{content:"";background:radial-gradient(circle, var(--gold) 0 2px, transparent 2.5px) 50% 50% / 10px 10px no-repeat, linear-gradient(90deg, transparent, var(--gold-light), transparent) 50% 50% / 100% 1px no-repeat;width:120px;height:10px;margin:2px auto 0;display:block}@keyframes shimmer{0%,to{background-position:100% 0}50%{background-position:0 0}}.credit{margin-top:36px}.credit small{margin-bottom:10px}
