:root{--burgundy: #641c2b;--maroon: #7b2638;--ivory: #f7f0e4;--cream: #ede0ca;--charcoal: #282321;--bronze: #9a7956;--blush: #d9a5a2;--ink-soft: #5a4a44;--deva-serif: "Noto Serif Devanagari", "Tiro Devanagari Hindi", "Mangal", "Kohinoor Devanagari", serif;--deva-sans: "Noto Sans Devanagari", "Mangal", "Kohinoor Devanagari", system-ui, sans-serif;--latin: "Cormorant Garamond", "Playfair Display", Georgia, serif;--gutter-l: max(16px, env(safe-area-inset-left, 0px));--gutter-r: max(16px, env(safe-area-inset-right, 0px));color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html.locked,html.locked body{overflow:hidden}body{margin:0;background:#1d1517;color:var(--charcoal);font-family:var(--deva-sans);font-size:17px;line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}address{font-style:normal}button{font:inherit}:focus-visible{outline:2px solid var(--blush);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.static-invite{max-width:640px;margin:0 auto;padding:48px var(--gutter-r) 48px var(--gutter-l);color:var(--ivory);font-family:var(--deva-serif);text-align:center;display:grid;gap:10px}.static-invite h1,.static-invite h2{color:#f2d9c4;font-weight:600}.scene{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;display:block;z-index:0}.loader{position:fixed;inset:0;z-index:40;display:grid;place-content:center;justify-items:center;gap:18px;background:radial-gradient(circle at 50% 45%,#3a1f26,#1d1517 70%);color:var(--cream);font-family:var(--deva-serif);font-size:1.05rem;transition:opacity .6s ease,visibility .6s}.loader--done{opacity:0;visibility:hidden}.loader-diya{width:18px;height:28px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff3d6,#f2a65a 55%,#f2a65a00 72%);animation:flame 1.4s ease-in-out infinite}@keyframes flame{50%{transform:scaleY(1.15) translateY(-2px);opacity:.85}}.gate{position:fixed;inset:0;z-index:20;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;text-align:center;padding-top:calc(28px + env(safe-area-inset-top,0px));padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));padding-left:var(--gutter-l);padding-right:var(--gutter-r);color:var(--ivory);transition:opacity 1.1s ease .5s,transform 1.6s ease .4s;animation:gateIn 1s ease .5s backwards}@keyframes gateIn{0%{opacity:0}}.gate--leaving{opacity:0;transform:scale(1.04);pointer-events:none}.gate-scrim{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 42% at 50% 46%,#180e0e9e,#180e0e00 72%),linear-gradient(#140c0e8c,#140c0e00 22% 70%,#140c0eb3)}.gate-invocation{font-family:var(--deva-serif);font-size:clamp(1rem,3.6vw,1.25rem);letter-spacing:.04em;color:#f0d8b8;text-shadow:0 1px 12px rgba(0,0,0,.7)}.gate-center{align-self:center;display:grid;gap:14px;justify-items:center}.gate-names{font-family:var(--deva-serif);font-weight:600;font-size:clamp(2.3rem,9.5vw,4.4rem);line-height:1.3;display:grid;gap:2px;text-shadow:0 2px 24px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.6);text-wrap:balance}.evam{font-weight:400;font-size:.42em;color:var(--blush);letter-spacing:.08em}.gate-tagline{font-family:var(--deva-serif);font-size:clamp(1rem,3.8vw,1.25rem);color:#f3e3cf;max-width:28ch;text-shadow:0 1px 14px rgba(0,0,0,.9);text-wrap:balance}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:999px;border:1px solid var(--maroon);background:transparent;color:var(--maroon);font-family:var(--deva-serif);font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;transition:background .3s,color .3s,transform .15s,box-shadow .3s;text-align:center;max-width:100%}.btn:after{content:"";position:absolute;inset:3px;border-radius:inherit;border:1px solid currentColor;opacity:.25;pointer-events:none}.btn:hover{background:var(--maroon);color:var(--ivory)}.btn:active,.btn.is-pressed{transform:scale(.97)}.btn--solid{background:var(--burgundy);border-color:var(--burgundy);color:var(--ivory)}.btn--solid:hover{background:var(--maroon)}.btn--gate{color:var(--ivory);border-color:#f7f0e4bf;background:#641c2bb8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);font-size:1.08rem;padding:14px 34px;min-height:54px;box-shadow:0 10px 30px #00000073}.btn--gate:hover{background:var(--maroon);box-shadow:0 10px 34px #d9a5a240}.btn--gate .btn-glow{position:absolute;inset:-6px;border-radius:inherit;border:1px solid rgba(217,165,162,.5);animation:breathe 2.6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.06);opacity:0}}.btn--gate.is-pressed{background:var(--burgundy)}.music{position:fixed;z-index:30;top:calc(14px + env(safe-area-inset-top,0px));right:calc(14px + env(safe-area-inset-right,0px));display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 14px 0 12px;border-radius:999px;border:1px solid rgba(247,240,228,.55);background:#282321a8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ivory);cursor:pointer;font-family:var(--deva-sans);font-size:.85rem}.music:disabled{opacity:.6;cursor:not-allowed}.music-icon{width:22px;height:22px;display:grid;place-items:center}.bars{display:flex;gap:3px;align-items:flex-end;height:16px}.bars i{width:3px;background:var(--blush);border-radius:2px;animation:bar 1s ease-in-out infinite}.bars i:nth-child(2){animation-delay:-.3s}.bars i:nth-child(3){animation-delay:-.6s}@keyframes bar{0%,to{height:4px}50%{height:16px}}.spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(247,240,228,.3);border-top-color:var(--ivory);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nav{position:fixed;z-index:25;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);animation:fadeDown .8s ease both}@keyframes fadeDown{0%{opacity:0;transform:translate(-50%,-10px)}}.nav ul{list-style:none;margin:0;padding:5px;display:flex;gap:2px;border-radius:999px;background:#2823219e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(247,240,228,.25)}.nav a{display:block;padding:7px 16px;border-radius:999px;color:var(--cream);text-decoration:none;font-family:var(--deva-sans);font-size:.92rem;white-space:nowrap}.nav a:hover{background:#f7f0e41f}.nav a[aria-current=true]{background:var(--ivory);color:var(--burgundy)}.nav-toggle{display:none}@media (max-width: 760px){.nav{left:calc(14px + env(safe-area-inset-left,0px));transform:none;animation-name:fadeIn}@keyframes fadeIn{0%{opacity:0}}.nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px 0 14px;border-radius:999px;border:1px solid rgba(247,240,228,.55);background:#282321a8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ivory);cursor:pointer;font-size:.9rem}.nav-burger,.nav-burger:before,.nav-burger:after{display:block;width:16px;height:1.6px;background:currentColor;border-radius:2px;position:relative;transition:transform .25s,opacity .25s}.nav-burger:before,.nav-burger:after{content:"";position:absolute}.nav-burger:before{top:-5px}.nav-burger:after{top:5px}.nav--open .nav-burger{background:transparent}.nav--open .nav-burger:before{transform:translateY(5px) rotate(45deg)}.nav--open .nav-burger:after{transform:translateY(-5px) rotate(-45deg)}.nav ul{display:none;position:absolute;top:calc(100% + 8px);left:0;flex-direction:column;border-radius:14px;min-width:200px;padding:6px;background:#282321eb}.nav--open ul{display:flex}.nav a{padding:12px 16px;border-radius:10px;font-size:1rem}.music-text{display:none}.music{padding:0;width:46px;justify-content:center}}.content{position:relative;z-index:10;opacity:0;visibility:hidden;transition:opacity 1.2s ease}.content--in{opacity:1;visibility:visible}.scene-section{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding-top:calc(92px + env(safe-area-inset-top,0px));padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));padding-left:var(--gutter-l);padding-right:var(--gutter-r);outline:none;scroll-margin-top:0}.card{position:relative;width:min(100%,640px);background:radial-gradient(circle at 50% 0%,rgba(217,165,162,.16),transparent 55%),linear-gradient(var(--ivory),#f4ead9);border-radius:14px;box-shadow:0 0 0 1px #7b2638d9,0 0 0 7px var(--ivory),0 0 0 8px #9a7956a6,0 30px 70px #0a04068c;text-align:center;transform-origin:50% 0;transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.8,.2,1);margin:8px}.card--wide{width:min(100%,940px)}.card--arch{border-radius:320px 320px 14px 14px/150px 150px 14px 14px}.card--arch .card-inner{padding-top:clamp(64px,10vw,96px)}.card-inner{position:relative;padding:clamp(36px,6vw,60px) clamp(22px,6vw,64px);display:grid;gap:18px;justify-items:center}.card .corner{position:absolute;width:clamp(44px,9vw,70px);height:clamp(44px,9vw,70px);pointer-events:none}.card .corner.tl{left:10px;top:10px}.card .corner.tr{right:10px;top:10px;transform:scaleX(-1)}.card .corner.bl{left:10px;bottom:10px;transform:scaleY(-1)}.card .corner.br{right:10px;bottom:10px;transform:scale(-1)}.card--arch .corner.tl,.card--arch .corner.tr{display:none}.card-flap{position:absolute;left:0;right:0;top:0;height:46%;border-radius:inherit;background:linear-gradient(var(--cream),#e6d6bb);transform-origin:50% 0;transform:rotateX(180deg);opacity:0;pointer-events:none;z-index:3;backface-visibility:hidden}@media (prefers-reduced-motion: no-preference){.card{opacity:0;transform:perspective(1400px) translateY(40px) rotateX(10deg) scale(.97)}.card.is-open{opacity:1;transform:none}.card .card-flap{opacity:1;transform:perspective(1400px) rotateX(0);transition:transform 1.1s cubic-bezier(.6,0,.2,1) .25s,opacity .3s ease 1.1s}.card.is-open .card-flap{transform:perspective(1400px) rotateX(-178deg);opacity:0}.card .line{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease;transition-delay:calc(var(--i, 0) * .11s + .65s)}.card.is-open .line{opacity:1;transform:none}}.invocation{font-family:var(--deva-serif);color:var(--maroon);font-size:1.05rem;letter-spacing:.03em}.mark{display:block}.names{font-family:var(--deva-serif);font-weight:700;color:var(--burgundy);font-size:clamp(2.1rem,8vw,3.5rem);line-height:1.3;display:grid;gap:2px}.names .evam{color:var(--bronze)}.tagline{font-family:var(--deva-serif);color:var(--ink-soft);font-size:1.1rem;text-wrap:balance}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin-top:8px}.tile{display:grid;gap:4px;padding:18px 14px;border-radius:12px;border:1px solid rgba(154,121,86,.55);background:#ede0ca73;color:var(--charcoal);text-decoration:none;transition:border-color .25s,background .25s,transform .25s;min-width:0}.tile:hover{border-color:var(--maroon);background:#d9a5a22e;transform:translateY(-2px)}.tile-k{font-size:.78rem;letter-spacing:.06em;color:var(--bronze)}.tile b{font-family:var(--deva-serif);color:var(--burgundy);font-size:1.15rem;font-weight:600}.tile-d{font-size:.92rem;color:var(--ink-soft)}.card-title{font-family:var(--deva-serif);font-weight:700;color:var(--burgundy);font-size:clamp(1.9rem,6.5vw,2.8rem);line-height:1.35;text-wrap:balance}.divider{display:flex;align-items:center;gap:12px;width:min(100%,360px)}.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}.person{font-family:var(--deva-serif);font-weight:700;color:var(--maroon);font-size:clamp(1.7rem,6vw,2.4rem);line-height:1.35}.parents{color:var(--charcoal);font-size:1.02rem;max-width:40ch}.pending{color:var(--bronze);border-bottom:1px dashed var(--bronze);font-size:.92em;white-space:normal}.label{display:block;font-family:var(--deva-sans);font-size:.82rem;letter-spacing:.08em;color:var(--bronze);margin-bottom:4px}.label.small{margin-top:10px}.date-block{display:grid;justify-items:center;padding:14px 26px;border-top:1px solid rgba(123,38,56,.35);border-bottom:1px solid rgba(123,38,56,.35)}.date{font-family:var(--deva-serif);font-weight:700;color:var(--burgundy);font-size:clamp(1.35rem,5vw,1.8rem);line-height:1.4}.address-block address,.side address,.venue-address{color:var(--charcoal);font-size:1.04rem;max-width:34ch;margin:0 auto;text-wrap:balance}.message{font-family:var(--deva-serif);color:var(--ink-soft);font-size:1.06rem;max-width:52ch;line-height:1.95}.message.lead{color:var(--charcoal)}.message.soft{font-size:1rem}.couple{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;width:100%;align-items:start}.side{display:grid;justify-items:center;gap:4px;min-width:0}.kalash-col{display:grid;justify-items:center;align-content:center;grid-template-rows:1fr auto 1fr;height:100%;gap:6px}.kalash-line{width:1px;min-height:30px;background:linear-gradient(transparent,var(--bronze),transparent)}.when-where{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;padding:20px;border-radius:14px;background:#ede0ca8c;border:1px solid rgba(154,121,86,.4);align-items:center}.when-where .date-block{border:0;padding:0}.when-where .address-block{border-left:1px solid rgba(154,121,86,.45);padding-left:20px}.inviters{display:grid;gap:2px}.inviter-names{font-family:var(--deva-serif);font-weight:700;color:var(--maroon);font-size:1.35rem}.family{color:var(--charcoal)}.seal{font-family:var(--deva-serif);font-weight:600;color:var(--burgundy);font-size:1.25rem;letter-spacing:.04em}.card--venue .cartouche{width:min(100%,300px);height:auto;display:block}.venue-address{font-family:var(--deva-serif);font-size:1.15rem}.card--closing .card-title{font-size:clamp(1.7rem,6vw,2.5rem)}.sign{font-family:var(--deva-serif);color:var(--maroon);font-weight:600;font-size:1.1rem}.blessings{display:grid;gap:2px;font-family:var(--deva-serif);color:var(--burgundy);font-size:1.15rem}@media (max-width: 720px){.couple{grid-template-columns:minmax(0,1fr);gap:10px}.kalash-col{grid-template-rows:none;grid-template-columns:1fr auto 1fr;height:auto;width:min(100%,300px);margin:0 auto;align-items:center}.kalash-line{width:auto;min-height:0;height:1px;background:linear-gradient(90deg,transparent,var(--bronze),transparent)}.when-where{grid-template-columns:minmax(0,1fr);padding:16px;gap:14px}.when-where .address-block{border-left:0;padding-left:0;border-top:1px solid rgba(154,121,86,.45);padding-top:14px}.card--arch{border-radius:200px 200px 14px 14px/90px 90px 14px 14px}}@media (max-width: 420px){body{font-size:16px}.tiles{grid-template-columns:minmax(0,1fr)}.card-inner{gap:16px}}.fallback{position:fixed;inset:0;z-index:0;overflow:hidden;background:linear-gradient(#161226,#3b1f33 55%,#9a5a45 78%,#4a3d33 78.2%,#2a211c);perspective:1000px}.fb-court{position:absolute;inset:0;background:radial-gradient(circle at 50% 70%,rgba(255,170,100,.45),transparent 45%),repeating-linear-gradient(90deg,rgba(0,0,0,.25) 0 2px,transparent 2px 12%),linear-gradient(#5a3a2c,#2e1f19);opacity:0;transition:opacity 1.4s ease .8s}.fb-facade{position:absolute;left:50%;bottom:22%;width:min(92vw,640px);height:min(70vh,520px);transform:translate(-50%);background:linear-gradient(#c49e74,#a7825d);border-top:14px solid #b88d63;transition:transform 2.2s cubic-bezier(.5,0,.3,1),opacity 1s ease 1.4s}.fb-arch{position:absolute;left:50%;bottom:0;width:36%;height:72%;transform:translate(-50%);border-radius:999px 999px 0 0;background:radial-gradient(circle at 50% 80%,#ffcf96,#b8643a 70%);border:10px solid #8f4d3c;border-bottom:0;overflow:hidden;display:flex;perspective:600px}.fb-door{flex:1;margin-top:28%;background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0 2px,transparent 2px 9px),linear-gradient(#5b2e1c,#3d1d12);box-shadow:inset 0 0 0 6px #4a2416,inset 0 0 0 9px #8a4f30;transition:transform 2s cubic-bezier(.5,0,.3,1) .3s}.fb-door--l{transform-origin:0 50%}.fb-door--r{transform-origin:100% 50%}.fb-lamp{position:absolute;bottom:48%;width:16px;height:22px;border-radius:40%;background:#ffd9a0;box-shadow:0 0 30px 14px #ffa0508c}.fb-lamp--l{left:22%}.fb-lamp--r{right:22%}.fallback--open .fb-door--l{transform:rotateY(-100deg)}.fallback--open .fb-door--r{transform:rotateY(100deg)}.fallback--open .fb-facade{transform:translate(-50%) scale(2.6);opacity:0}.fallback--open .fb-court{opacity:1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}html{scroll-behavior:auto}}

/* Ganesh ji motif above Shri Ganeshaya Namah */
.card-inner .invocation::before,.gate-invocation::before{content:"";display:block;width:84px;height:89px;margin:0 auto 6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 212'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23f8dc84'/%3E%3Cstop offset='.55' stop-color='%23dba336'/%3E%3Cstop offset='1' stop-color='%23a9691c'/%3E%3C/linearGradient%3E%3ClinearGradient id='t' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23f3cf6c'/%3E%3Cstop offset='1' stop-color='%23b8771f'/%3E%3C/linearGradient%3E%3CradialGradient id='h' cx='.5' cy='.5' r='.5'%3E%3Cstop offset='0' stop-color='%23ffd76a' stop-opacity='.5'/%3E%3Cstop offset='1' stop-color='%23ffd76a' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='100' cy='106' r='100' fill='url(%23h)'/%3E%3Cg stroke='%237a2a12' stroke-width='2.2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath fill='url(%23g)' d='M68 82 C38 62 12 76 10 106 C8 132 24 152 46 150 C40 142 44 132 52 130 C44 122 48 112 58 112 C54 102 62 94 72 98 Z'/%3E%3Cpath fill='url(%23g)' d='M132 82 C162 62 188 76 190 106 C192 132 176 152 154 150 C160 142 156 132 148 130 C156 122 152 112 142 112 C146 102 138 94 128 98 Z'/%3E%3Cpath fill='url(%23g)' d='M64 68 L68 42 L80 52 L88 24 L100 6 L112 24 L120 52 L132 42 L136 68 Z'/%3E%3Cpath fill='url(%23g)' d='M62 70 Q100 58 138 70 C144 92 140 116 128 128 C118 138 82 138 72 128 C60 116 56 92 62 70 Z'/%3E%3Cpath fill='url(%23t)' d='M88 104 C90 100 110 100 112 104 C114 122 114 140 120 156 C126 170 136 174 142 168 C148 162 144 154 138 156 C134 158 134 164 138 165 C128 170 116 166 110 154 C102 140 90 124 88 104 Z'/%3E%3Cpath fill='%23fff8e6' d='M76 124 C72 136 66 144 58 148 C70 150 80 142 84 130 Z'/%3E%3Cpath fill='url(%23g)' d='M100 210 C86 200 84 188 100 176 C116 188 114 200 100 210 Z'/%3E%3Cpath fill='url(%23g)' d='M98 210 C78 208 66 198 70 186 C84 188 94 198 98 210 Z'/%3E%3Cpath fill='url(%23g)' d='M102 210 C122 208 134 198 130 186 C116 188 106 198 102 210 Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%237a2a12' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M64 68 Q100 58 136 68'/%3E%3Cpath d='M72 61 Q100 53 128 61'/%3E%3Cpath d='M94 116 Q101 119 108 115'/%3E%3Cpath d='M96 128 Q103 131 110 127'/%3E%3Cpath d='M100 140 Q107 143 114 138'/%3E%3Cpath d='M106 152 Q113 155 119 150'/%3E%3C/g%3E%3Ccircle cx='100' cy='36' r='5' fill='%23b3202c' stroke='%237a2a12' stroke-width='1.5'/%3E%3Ccircle cx='100' cy='63' r='3.5' fill='%23b3202c'/%3E%3Cpath d='M92 74 Q100 94 108 74' fill='none' stroke='%23b3202c' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M100 78 L100 90' stroke='%23b3202c' stroke-width='3' stroke-linecap='round'/%3E%3Cg fill='%23fff4d6' stroke='%235a1e0c' stroke-width='1.8'%3E%3Cpath d='M74 98 Q82 90 90 98 Q82 104 74 98 Z'/%3E%3Cpath d='M110 98 Q118 90 126 98 Q118 104 110 98 Z'/%3E%3C/g%3E%3Ccircle cx='83' cy='97.5' r='2.6' fill='%233a1206'/%3E%3Ccircle cx='117' cy='97.5' r='2.6' fill='%233a1206'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 2px 4px rgba(122,42,18,.25))}
.gate-invocation::before{width:96px;height:102px;margin-bottom:8px;filter:drop-shadow(0 0 14px rgba(255,200,90,.55))}
@media (max-width:600px){.card-inner .invocation::before{width:66px;height:70px}.gate-invocation::before{width:76px;height:81px}}
