:root{--ivory:#fff7e9;--ink:#775541;--red:#a63b38;--gold:#b89453;--serif:'Cormorant Garamond',Georgia,serif;--hindi:'Noto Serif Devanagari',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1e7d3;color:var(--ink);font-family:'DM Sans',sans-serif}.is-sealed{overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b77730;outline-offset:5px}.invitation{max-width:650px;margin:auto;background:var(--ivory);overflow:hidden;box-shadow:0 0 100px #77554116}.opening{position:fixed;inset:0;z-index:30;background:transparent;overflow:hidden;color:#ffe6ab;transition:visibility 2.4s}.curtain{position:absolute;inset:0 50% 0 0;background-image:url('assets/ceremonial-curtain.webp');background-size:200% 100%;background-position:left center;filter:brightness(1.4) saturate(1.3);transition:transform 2.3s cubic-bezier(.65,.01,.2,1);box-shadow:6px 0 35px #2b030b55}.curtain-right{inset:0 0 0 50%;background-position:right center;box-shadow:-6px 0 35px #2b030b55}.opening-content{position:relative;height:100%;display:flex;align-items:center;flex-direction:column;padding:17vh 18px 7vh;transition:opacity .5s}.invocation{font:500 clamp(18px,3vw,25px)/1.5 var(--hindi);background:#350e13e8;border:1px solid #bd965b;padding:12px 23px;text-align:center;box-shadow:0 5px 20px #21030b22;margin:0}.bell-button{border:0;background:none;color:#ffe6ab;position:absolute;inset:32% 0 17%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bell-hit-area{position:absolute;inset:0 25% 20%}.open-label{display:flex;flex-direction:column;padding:15px 27px;background:#3b0b11de;border:1px solid #bc995f;box-shadow:0 8px 30px #37031030;transition:background .3s}.bell-button:hover .open-label{background:#6c171ce8}.open-label>span{font:500 25px var(--hindi)}.open-label small{font-size:12px;letter-spacing:3px;margin-top:9px}.opening-foot{margin-top:auto;font:italic 20px var(--serif);text-shadow:0 2px 5px #38070a}.opening-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,#fff3bc 0%,transparent 60%);opacity:0;pointer-events:none}.opening.opened{visibility:hidden;pointer-events:none}.opened .curtain-left{transform:translateX(-104%)}.opened .curtain-right{transform:translateX(104%)}.opened .opening-content{opacity:0}.opened .opening-glow{animation:opening-light 2s ease-out}.opening[hidden]{display:none}@keyframes opening-light{0%{opacity:0}30%{opacity:.85}100%{opacity:0}}
.hero{height:970px;min-height:760px;position:relative;text-align:center;isolation:isolate}.garden-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1}.hero-copy{position:absolute;left:15%;right:15%;top:29%;}.brand{display:inline-grid;place-items:center;height:82px;width:82px;border:1px solid #d5b57280;outline:1px solid #d5b57240;outline-offset:7px;border-radius:50%;color:#c6a260;margin-bottom:22px}.brand span{font:40px var(--hindi);padding-top:10px}.family-line{font-size:12px;letter-spacing:2px;line-height:1.8;margin:0 auto 17px;max-width:340px;overflow-wrap:anywhere}.hero-prelude{font:italic 21px var(--serif);margin:0 0 13px}.hero h1{font:400 clamp(66px,8vw,88px)/1.1 'Great Vibes',cursive;color:var(--red);margin:0 0 22px}.hero h1 span{padding-left:9px}.hero-wish{font:20px/1.5 var(--serif);margin:0 0 18px}.marathi{font:15px var(--hindi);color:#ad793c;margin:0}.bell-canopy{position:absolute;top:12%;left:12%;width:76%;height:190px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.bell-canopy img{width:16%;height:100%;object-fit:fill;transform-origin:50% 0;animation:bell-sway 5s ease-in-out infinite alternate}.bell-canopy img:nth-child(2),.bell-canopy img:nth-child(4){height:72%;animation-delay:-2s}.bell-canopy img:nth-child(3){height:50%;animation-delay:-3s}.bell-canopy img:nth-child(5){animation-delay:-1s}@keyframes bell-sway{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.hero-copy>*{opacity:0;transform:translateY(20px);transition:opacity 1.4s,transform 1.4s}.is-open .hero-copy>*{opacity:1;transform:none}.is-open .hero-copy>:nth-child(1){transition-delay:.7s}.is-open .hero-copy>:nth-child(2){transition-delay:1s}.is-open .hero-copy>:nth-child(3){transition-delay:1.2s}.is-open .hero-copy>:nth-child(4){transition-delay:1.4s}.is-open .hero-copy>:nth-child(5){transition-delay:1.7s}.is-open .hero-copy>:nth-child(6){transition-delay:1.9s}.bell-canopy{opacity:0;transform:translateY(-35px);transition:opacity 1.4s 1s,transform 1.4s 1s}.is-open .bell-canopy{opacity:1;transform:none}.scroll-link{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);background:#fff7e9ed;border:1px solid #c6a56780;border-radius:40px;padding:12px 22px;display:flex;gap:15px;align-items:center;font-size:10px;letter-spacing:1.4px;line-height:1.5;white-space:nowrap}.scroll-link b{font-size:22px;font-weight:400;animation:scroll-hint 2s infinite}@keyframes scroll-hint{50%{transform:translateY(4px)}}.prayer{padding-bottom:60px;text-align:center}.sacred-scene{margin:-30px 0 -90px;position:relative}.sacred-scene img{width:100%;height:auto;display:block;mix-blend-mode:multiply}.prayer-copy{position:relative;padding:0 25px}.shloka{font:500 28px/1.8 var(--hindi);color:var(--red);margin:0 0 25px}.shloka span{display:inline-block;margin-top:15px}.divider{display:block;color:var(--gold);font-size:28px;margin:24px auto}.translation{font:italic 19px/1.65 var(--serif);color:#846d55}.blessings{text-align:center;padding:20px 35px 50px}.eyebrow{font-size:12px;letter-spacing:2.5px;line-height:1.8;color:#b47a44}.eyebrow[lang]{font:18px var(--hindi);letter-spacing:0}h2{font:400 44px/1.12 var(--serif);margin:22px 0}h2 em{font-weight:400;color:#a75146}.blessing-note{padding:45px 0 15px;position:relative;max-width:460px;margin:auto}.blessing-note+.blessing-note:before{content:'';display:block;width:60px;height:1px;background:#ceb789;margin:-5px auto 35px}.note-number{font:italic 16px var(--serif);color:#b49a6d}.blessing-note h3{font:500 29px var(--hindi);color:var(--red);margin:14px 0 7px}.note-title{font:italic 29px var(--serif);margin:0 0 19px}.blessing-note p:last-child{font:18px/1.8 var(--serif);margin:0}.love-section{text-align:center;padding:15px 35px 45px}.art-window{overflow:hidden;border-radius:46% 46% 0 0 / 30% 30% 0 0;border:1px solid #d3b273;padding:6px;margin:20px auto 40px;max-width:440px}.art-window img{display:block;width:100%;height:440px;object-fit:cover;border-radius:46% 46% 0 0 / 30% 30% 0 0}.love-section h2{font-size:40px}.signature{font:italic 27px/1.4 var(--serif);overflow-wrap:anywhere;margin:30px 0}.wish-section{margin:0 25px 60px;padding:35px 24px;text-align:center;border:1px solid #c7aa764d;outline:1px solid #c7aa762e;outline-offset:6px}.wish-section h2{font-size:39px}.form-intro{font:19px/1.6 var(--serif)}form{max-width:365px;margin:30px auto 0;text-align:left}label{display:block;font-size:14px;margin-bottom:12px}input{width:100%;padding:17px 16px;border:1px solid #d0b894;background:#fffcf5;color:var(--ink);font:16px 'DM Sans',sans-serif;border-radius:0}input::placeholder{color:#a18a77}.primary-button{display:flex;width:100%;align-items:center;justify-content:space-between;background:var(--red);border:1px solid var(--red);color:#fff7e9;padding:17px 20px;margin-top:12px;font-size:14px}.primary-button:hover{background:#8c292d}.primary-button span{font-size:21px}.form-status{font-size:12px;color:#846951;line-height:1.7;min-height:20px;text-align:center}.share-actions{display:flex;gap:8px;margin-top:12px}.share-actions[hidden]{display:none}.share-actions button{flex:1;padding:12px;background:transparent;border:1px solid #aa8252;color:#944136;font-size:14px}footer{text-align:center;background:#a43436;color:#ffe9c2;padding:46px 20px 38px;border-top:5px double #e8c280}footer>p:first-child{font:24px var(--hindi);margin:0}footer h2{font:42px 'Great Vibes',cursive;margin:22px 0 16px}.footer-wish{font:italic 19px var(--serif)}footer a{display:inline-block;font-size:11px;letter-spacing:1.5px;margin-top:22px}.sound-button{position:fixed;bottom:20px;right:max(20px,calc((100vw - 650px)/2 + 15px));z-index:15;border:1px solid #d7a665;background:#ac3539;color:#fff4d8;border-radius:50%;width:48px;height:48px;box-shadow:0 3px 15px #753f2624;display:grid;place-items:center}.sound-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sound-bars{height:19px;display:flex;gap:3px;align-items:center}.sound-bars i{width:2px;height:8px;background:#f2d4a0}.sound-bars i:nth-child(2){height:18px}.sound-bars i:nth-child(3){height:12px}.sound-bars i:nth-child(4){height:15px}[aria-pressed=true] .sound-bars i{animation:equalizer .8s infinite alternate}[aria-pressed=true] .sound-bars i:nth-child(2n){animation-delay:-.4s}@keyframes equalizer{to{transform:scaleY(.4)}}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.65,.3,1)}.motion-ready .reveal.visible{opacity:1;transform:none}.festival-dust{position:fixed;inset:0;pointer-events:none;z-index:10;overflow:hidden}.festival-dust i{position:absolute;top:-20px;width:3px;height:3px;background:#dba85a;border-radius:50%;opacity:0;animation:dust-fall 16s linear infinite;box-shadow:0 0 4px #e2b67555}@keyframes dust-fall{0%{opacity:0;transform:translate(0,-20px)}10%{opacity:.65}85%{opacity:.55}100%{opacity:0;transform:translate(65px,105vh)}}@media(min-width:800px){.opening{left:calc(50% - 325px);right:calc(50% - 325px)}body.is-sealed{background:#5e191f}.opening-content{padding-top:18vh}}@media(max-width:650px){.hero{height:100svh;min-height:800px;max-height:1040px}.hero-copy{top:29%;left:13%;right:13%}.brand{width:61px;height:61px;margin-bottom:18px}.brand span{font-size:32px}.family-line{font-size:10px;letter-spacing:1.5px;margin-bottom:12px}.hero h1{font-size:70px;margin-bottom:17px}.hero-prelude{font-size:19px}.hero-wish{font-size:18px;margin-bottom:15px}.marathi{font-size:14px}.bell-canopy{top:12%;height:160px}.sacred-scene{margin-top:0;margin-bottom:-40px}.shloka{font-size:25px}.translation{font-size:18px}.blessings{padding:15px 24px 35px}h2{font-size:39px}.love-section{padding:15px 22px 35px}.love-section h2{font-size:35px}.art-window img{height:350px}.wish-section{padding:30px 18px;margin:0 20px 50px}.wish-section h2{font-size:36px}.opening .invocation{font-size:20px}.opening-foot{font-size:19px}.open-label small{font-size:11px;letter-spacing:2px}.open-label>span{font-size:23px}}@media(max-width:360px){.hero h1{font-size:62px}.hero-copy{left:12%;right:12%}.family-line{font-size:10px}.shloka{font-size:22px}.wish-section{margin-left:15px;margin-right:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-copy>*,.bell-canopy{opacity:1;transform:none}.motion-ready .reveal{opacity:1;transform:none}.festival-dust{display:none}}
.family-line{font-size:12px}.scroll-link{font-size:12px;letter-spacing:1px}footer a{font-size:12px}@media(max-width:650px){.hero-copy{top:27%}.family-line{font-size:12px;letter-spacing:1px}.hero h1{font-size:66px}.brand{margin-bottom:14px}}
/* Recording-led invitation composition. */
:root{--ivory:#fff6dc;--ink:#756348;--red:#a0442d;--gold:#b09b4f}.invitation{max-width:546px}.hero{height:100svh;min-height:780px;max-height:1100px}.hero-copy{top:32%;left:14%;right:14%}.hero h1{font-size:79px;line-height:1.15;margin-top:21px}.brand{width:76px;height:76px;margin-bottom:28px;color:#b4a36c}.brand span{font-size:37px}.family-line{font-family:var(--serif);font-weight:600;letter-spacing:2px;font-size:13px}.bell-canopy{height:205px;top:12%;left:11%;width:78%}.scroll-link{padding:9px 22px;bottom:2.2%;font-family:var(--serif);font-weight:600}.curtain{background-size:300% 100%;background-position:left center;filter:brightness(1.18) saturate(1.08)}.curtain-right{background-position:right center}.opening-content{padding-top:22vh}.opening .invocation{font-size:20px;opacity:.94}.bell-button{inset:0;width:100%;justify-content:flex-end;padding-bottom:18vh}.opening-bell{position:absolute;top:0;height:65vh;width:235px;object-fit:fill;transform-origin:50% 0;animation:bell-sway 3.5s ease-in-out infinite alternate}.open-label{position:relative;z-index:1;background:#3c0d16c9}.opening-foot{font-size:18px}.opening.opened .opening-bell{animation:bell-exit 1.2s forwards}@keyframes bell-exit{35%{transform:rotate(-12deg)}100%{transform:translateY(-80px);opacity:0}}.opening-glow{z-index:1}.hero h1{color:#a6422f}.programme-heading{text-align:center;padding:25px 35px 70px}.programme-heading h2{font-size:37px}.programme-heading>p:last-child{font:18px/1.7 var(--serif);margin-top:26px}.event-section{text-align:center;padding:0 0 60px}.event-copy{padding:0 40px}.event-copy h3{font:500 28px/1.6 var(--hindi);color:var(--red);margin:0}.event-name{font:22px var(--serif);margin:4px 0 14px}.event-date{display:inline-flex;flex-direction:column;min-width:240px;max-width:100%;padding:12px 18px;border-top:1px solid #b49b6380;border-bottom:1px solid #b49b6380;background:#fffdf166;box-shadow:0 7px 15px #a68a3220;font:600 16px/1.5 var(--serif);letter-spacing:1.4px;text-transform:uppercase}.event-date span{color:#ae512d;font-size:18px;letter-spacing:.5px}.event-description{font:18px/1.65 var(--serif);max-width:310px;margin:28px auto 0}.event-art{margin:20px 0 0}.event-art img{width:100%;height:auto;display:block;mix-blend-mode:multiply}.event-section:nth-child(2) .event-art{max-height:660px;overflow:hidden}.event-section:nth-child(3) .event-art{margin:30px 20px 0;border-radius:50% 50% 0 0 / 20% 20% 0 0;overflow:hidden}.event-section:nth-child(3) .event-art img{height:450px;object-fit:cover}.event-section:nth-child(4) .event-art img{transform:scaleX(-1)}.prayer{padding-bottom:45px}.shloka{font-size:26px}.sacred-scene{margin:0 0 -15px}.programme-heading .eyebrow{margin-top:10px}.venue-section,.rsvp-section{text-align:center;padding:10px 30px 60px}.venue-section h2,.rsvp-section h2{font:49px 'Great Vibes',cursive;margin:10px 0 25px;color:#625232}.venue-section h3{font:30px var(--serif);margin:20px 0 10px}.venue-section>p:not(.eyebrow),.rsvp-section>p:not(.eyebrow){font:18px/1.65 var(--serif)}.venue-art{max-height:440px;overflow:hidden;margin:0 -30px 20px}.venue-art img{width:100%;height:550px;object-fit:cover;object-position:center 65%;mix-blend-mode:multiply}.gold-button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(110deg,#c4ae61,#e0cf83,#b39a48);border:1px solid #aa9346;color:#52421e;padding:14px 24px;font:600 14px var(--serif);letter-spacing:1.5px;min-height:48px;cursor:pointer}.gold-button[hidden]{display:none}.gold-button:disabled{cursor:default;opacity:.65}.rsvp-section form{background:#70212a;color:#fff1cc;padding:26px 22px;outline:1px solid #d8bb754d;outline-offset:-8px;max-width:430px}.rsvp-section label,.rsvp-section legend{font:16px var(--serif)}.rsvp-section input{font-size:16px}.rsvp-section fieldset{border:0;padding:0;margin:24px 0}.rsvp-section fieldset label{display:flex;align-items:center;gap:10px;margin:14px 0}.rsvp-section input[type=radio]{width:17px;height:17px;accent-color:#c9ab52}.rsvp-section .gold-button{width:100%;margin-top:20px}.rsvp-section .form-status{color:#e0c59b}.love-section{padding:0 25px 45px}.closing-art{margin:0 -25px 40px}.closing-art img{width:100%;height:auto;display:block;mix-blend-mode:multiply}.love-section .eyebrow{font:500 25px var(--hindi);color:var(--red)}.love-section h2{font:34px/1.4 'Great Vibes',cursive;color:#b7643b;margin-top:28px}.love-section h2 em{font-style:normal;color:inherit}.closing-message{font:18px/1.6 var(--serif)}.signature{font:600 13px/1.8 var(--serif);text-transform:uppercase;letter-spacing:2px}.wish-section{background:#fff9e899}.floating-wish{position:fixed;bottom:22px;left:max(14px,calc((100vw - 546px)/2 + 14px));z-index:14;background:linear-gradient(100deg,#d2b95e,#f0e0a0,#b5993e);border:1px solid #b99d49;color:#5d481d;border-radius:30px;font:600 11px var(--serif);letter-spacing:1px;padding:12px 17px;box-shadow:0 4px 14px #86652124}.sound-button{right:max(14px,calc((100vw - 546px)/2 + 14px));width:42px;height:42px;bottom:20px;background:#711b2a}.festival-dust{max-width:546px;left:50%;transform:translateX(-50%);width:100%}.festival-dust .petal{position:absolute;top:-35px;width:17px;height:24px;object-fit:contain;opacity:0;animation:petal-drift 16s linear infinite}@keyframes petal-drift{0%{opacity:0;transform:translate3d(0,-30px,0) rotate(0deg)}10%{opacity:.7}50%{transform:translate3d(40px,50vh,0) rotate(130deg)}90%{opacity:.65}100%{opacity:0;transform:translate3d(-20px,105vh,0) rotate(280deg)}}footer{background:#661625;border-color:#bda052;padding-bottom:95px}footer h2{font-size:39px;color:#e2c17e}.translation{font-size:18px}@media(min-width:800px){.opening{left:calc(50% - 273px);right:calc(50% - 273px)}}@media(max-width:650px){.hero-copy{top:33%}.hero h1{font-size:76px}.brand{height:66px;width:66px;margin-bottom:25px}.brand span{font-size:34px}.family-line{font-size:12px}.bell-canopy{height:185px;top:13%}.hero{min-height:780px}.opening-content{padding-top:23vh}.opening-bell{height:64vh;width:220px}.event-copy{padding:0 25px}.event-date{min-width:230px}.programme-heading{padding-bottom:65px}.sacred-scene{margin-bottom:0}.floating-wish{font-size:10px}.art-window img{height:auto}}@media(max-width:360px){.hero h1{font-size:67px}.hero-copy{left:12%;right:12%}.family-line{font-size:11px}.event-copy h3{font-size:25px}.opening-bell{width:200px}}
#customize-dialog{width:min(560px,calc(100% - 28px));max-height:90svh;border:1px solid #baa263;background:#fff7e4;color:var(--ink);padding:35px 28px;overflow-y:auto;box-shadow:0 25px 100px #25091666}#customize-dialog::backdrop{background:#280f1bbf;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:none;color:#854335;font-size:30px;width:40px;height:40px}.dialog-intro{font:18px/1.5 var(--serif)}#customize-dialog h2{margin:15px 0;font-size:47px}#customize-form{max-width:none;margin:24px 0 0}#customize-form>label{margin-top:20px}#customize-form label span{font-size:12px;opacity:.7}textarea{display:block;width:100%;padding:14px;border:1px solid #d0b894;background:#fffcf5;color:var(--ink);font:16px 'DM Sans',sans-serif;resize:vertical}.form-divider{font:600 13px var(--serif);letter-spacing:2px;margin:32px 0 18px;border-bottom:1px solid #c8b481;padding-bottom:10px}.event-field{border:1px solid #c8b48166;padding:17px;margin:0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.event-field legend{font:italic 24px var(--serif);padding:0 8px}.event-field label{margin:0;grid-row:1}.event-field input{min-width:0;font-size:14px;padding:12px}.field-help{font-size:12px;line-height:1.5}.wish-section>.primary-button{max-width:365px;margin:25px auto 12px}.wish-section>.share-actions{max-width:365px;margin:12px auto}.floating-wish{cursor:pointer}.event-field input:first-of-type{grid-column:1;grid-row:2}.event-field input:last-of-type{grid-column:2;grid-row:2}.event-field label:last-of-type{grid-column:2}@media(prefers-reduced-motion:reduce){.festival-dust{display:none!important}}body:has(dialog[open]){overflow:hidden}
.preview-watermark{position:fixed;inset:0;z-index:25;pointer-events:none;display:grid;grid-template-columns:repeat(4,1fr);gap:44px 12px;overflow:hidden;opacity:.16;max-width:546px;margin:auto}.preview-watermark span{font:600 12px Georgia,serif;letter-spacing:1px;color:#7b672f;white-space:nowrap;transform:rotate(-27deg)}.floating-wish[hidden],.customize-trigger[hidden]{display:none!important}#customize-dialog{display:none}
.whatsapp-share{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:max(14px,calc((100vw - 546px)/2 + 14px));z-index:20;display:flex;align-items:center;justify-content:center;gap:10px;width:min(440px,calc(100% - 88px));min-height:46px;padding:12px 18px;border-radius:30px;background:#176b43;color:#fff;border:1px solid #3e9464;box-shadow:0 5px 22px #153f332b;font:500 14px 'DM Sans',sans-serif}.whatsapp-share:hover{background:#125936}.whatsapp-share[hidden]{display:none!important}.whatsapp-share svg{flex:none}.sound-button{bottom:calc(20px + env(safe-area-inset-bottom,0px))}footer{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}
