:root{--ivory:#f7f0e3;--paper:#fffaf0;--burgundy:#651d2c;--dark:#351018;--gold:#b9924f;--light-gold:#dfc58d;--ink:#34251f;--muted:#79675c;--serif:Georgia,"Times New Roman","Noto Serif Devanagari",serif;--sans:"Segoe UI","Noto Sans Devanagari",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ivory)}body{color:var(--ink);background:var(--ivory);font-family:var(--sans);margin:0;overflow-x:hidden}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--light-gold);outline-offset:4px}.lotus-mark{fill:none;width:62px;height:auto;stroke:var(--gold);stroke-width:1.35px}.lotus-mark.light{stroke:var(--light-gold)}.eyebrow{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;margin:0 0 1rem;font-size:.7rem;font-weight:700;line-height:1.5}mark{color:#705326;font:600 .55rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;background:#f8edd0;border:1px solid #b9924f66;border-radius:999px;margin-left:.35rem;padding:.12rem .38rem;display:inline-block}.message-page{text-align:center;background:radial-gradient(circle at 50% 35%,#fffdf7 0 8%,transparent 38%),var(--ivory);place-items:center;min-height:100svh;padding:2rem;display:grid;position:relative;overflow:hidden}.message-page:before,.message-page:after{content:"";border:1px solid #b9924f38;border-radius:50%;width:340px;height:340px;position:absolute;box-shadow:0 0 0 28px #b9924f0d,0 0 0 56px #b9924f0a}.message-page:before{top:-160px;left:-220px}.message-page:after{bottom:-160px;right:-220px}.message-frame{pointer-events:none;border:1px solid #b9924f61;position:absolute;inset:18px}.message-card{z-index:1;width:min(620px,100%);padding:clamp(2rem,7vw,5rem);position:relative}.message-card h1{color:var(--burgundy);font:400 clamp(2.3rem,7vw,4.8rem)/.98 var(--serif);margin:1.2rem 0 1.5rem}.message-card p:last-child{max-width:520px;color:var(--muted);margin:auto;line-height:1.7}.opening{z-index:100;cursor:pointer;position:fixed;inset:0;overflow:hidden}.opening-bride{background:radial-gradient(circle at 50% 35%,#fff9ed,#f2e5cf 50%,#dfc6a6)}.opening-groom{color:#f8edd7;background:radial-gradient(circle at 50% 55%,#7d3441,#4c1722 45%,#270c12)}.opening:before{content:"";pointer-events:none;border:1px solid #b9924f99;position:absolute;inset:16px}.opening-glow{pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff2b 47%,#0000 62%);animation:5s ease-in-out infinite lightSweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes lightSweep{0%,30%{transform:translate(-100%)}65%,to{transform:translate(100%)}}.opening-language,.skip-intro{z-index:9;top:max(1.5rem,env(safe-area-inset-top));color:inherit;cursor:pointer;letter-spacing:.08em;background:0 0;border:0;border-bottom:1px solid;padding:.65rem .9rem;font-size:.72rem;position:absolute}.opening-language{left:1.5rem}.skip-intro{right:1.5rem}.opening-heading{text-align:center;position:absolute;top:max(3.8rem,9vh);left:0;right:0}.opening-heading .lotus-mark{width:42px}.opening-heading p{font:italic .86rem var(--serif);letter-spacing:.08em;margin:.7rem 0 0}.opening-heading h1{color:var(--burgundy);font:400 clamp(1.7rem,5vw,2.6rem)/1 var(--serif);margin:.35rem 0}.opening-prompt{z-index:5;white-space:nowrap;color:inherit;cursor:pointer;letter-spacing:.13em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:.75rem;font-size:.72rem;display:flex;position:absolute;bottom:max(3rem,7vh);left:50%;transform:translate(-50%)}.opening-prompt span{background:var(--gold);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}@keyframes pulse{60%{box-shadow:0 0 0 9px #b9924f00}}.opening-bride .opening-heading+button{aspect-ratio:1.48;cursor:pointer;background:0 0;border:0;width:min(78vw,430px);padding:0;transition:transform 1.1s ease-in .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-40%)}.envelope-body,.envelope-flap{position:absolute;inset:0}.envelope-body{background:#ead5b7;border:1px solid #c8a878;overflow:hidden;box-shadow:0 24px 60px #4b28143d}.envelope-body:before,.envelope-body:after{content:"";position:absolute;inset:0}.envelope-body:before{clip-path:polygon(0 0,51% 52%,0 100%);background:#f0ddc0}.envelope-body:after{clip-path:polygon(100% 0,49% 52%,100% 100%);background:#e3c8a5}.envelope-flap{z-index:2;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 56%);background:#f4e3ca;transition:transform 1s}.wax-seal{z-index:4;background:radial-gradient(circle at 32% 27%,#a84b59,#6b1e2d 65%);border-radius:50%;place-items:center;width:66px;height:66px;transition:transform .45s,opacity .4s;display:grid;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 12px #50141e59,inset 0 0 0 4px #ffd2aa1f}.wax-seal .lotus-mark{stroke:#dcb875;width:34px}.opening-bride .opening-prompt{color:var(--burgundy)}.opening-bride.is-opening .envelope-flap{z-index:0;transform:rotateX(178deg)}.opening-bride.is-opening .wax-seal{opacity:0;transform:translate(-50%,-75%)scale(.4)rotate(-22deg)}.opening-bride.is-opening .opening-heading+button{transform:translate(-50%,40vh)scale(.94)}.door-button{cursor:pointer;perspective:1100px;background:0 0;border:0;width:min(76vw,390px);height:min(55vh,520px);padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-42%)}.door-frame{background:#12070a;border:15px solid #a77a3f;border-bottom-width:20px;border-radius:190px 190px 3px 3px;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 3px #e1c27f,0 28px 65px #0008}.door{z-index:2;transform-origin:0;background:linear-gradient(90deg,#41151c,#7b2b36 50%,#46131b);border:1px solid #a47842;width:50%;height:100%;transition:transform 1.15s cubic-bezier(.65,0,.3,1);position:relative}.door-right{transform-origin:100%;background:linear-gradient(90deg,#46131b,#7b2b36 50%,#41151c)}.door i{background:#d8b56f;border-radius:50%;width:8px;height:8px;position:absolute;top:47%;right:10%;box-shadow:0 0 12px #f4d99b}.door-right i{left:10%;right:auto}.door-lotus{z-index:3;transition:opacity .35s;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.door-lotus .lotus-mark{filter:drop-shadow(0 0 8px #ffda9680);width:58px}.arch-light{opacity:.15;background:radial-gradient(circle at 50% 45%,#fff1ba,#c98e44 25%,#0000 70%);transition:opacity .8s .25s;position:absolute;inset:8% 10% 0}.opening-groom.is-opening .door-left{transform:rotateY(-105deg)}.opening-groom.is-opening .door-right{transform:rotateY(105deg)}.opening-groom.is-opening .door-lotus{opacity:0}.opening-groom.is-opening .arch-light{opacity:1}.invitation{background:var(--ivory);position:relative;overflow:hidden}.utility-bar{z-index:50;top:max(.8rem,env(safe-area-inset-top));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf0e0;border:1px solid #b9924f47;border-radius:999px;gap:.35rem;padding:.3rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #46281414}.utility-bar button{min-width:70px;color:var(--burgundy);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.48rem .75rem;font-size:.7rem;font-weight:700}.petals{z-index:3;pointer-events:none;position:absolute;inset:0}.petals i{background:#842b392e;border-radius:90% 10% 80% 20%;width:10px;height:17px;animation:14s linear infinite petalFall;position:absolute;top:-20px}.petals i:first-child{animation-delay:-2s;left:8%}.petals i:nth-child(2){animation-delay:-9s;left:28%}.petals i:nth-child(3){animation-delay:-5s;left:48%}.petals i:nth-child(4){animation-delay:-12s;left:68%}.petals i:nth-child(5){animation-delay:-7s;left:84%}.petals i:nth-child(6){animation-delay:-1s;left:94%}@keyframes petalFall{to{transform:translate(80px,400vh)rotate(720deg)}}.section-pad{padding:clamp(5.5rem,12vw,9rem) max(1.4rem,50vw - 530px)}.hero-section{text-align:center;background:radial-gradient(circle at 50% 35%,#fffdf8,#f7f0e3 68%);place-items:center;min-height:100svh;padding:7rem 1.5rem 4rem;display:grid;position:relative}.hero-arch{border:1px solid #b9924f3b;border-bottom:0;border-radius:310px 310px 0 0;width:min(620px,88vw);position:absolute;top:8%;bottom:0;left:50%;transform:translate(-50%)}.hero-arch:before,.hero-arch:after{content:"";border-radius:inherit;border:1px solid #b9924f29;border-bottom:0;position:absolute;inset:16px}.hero-arch:after{inset:35px}.hero-copy{z-index:1;width:min(680px,100%);position:relative}.hero-copy .lotus-mark{margin-bottom:1.3rem}.hero-greeting{color:var(--muted);font:italic clamp(1rem,2.2vw,1.25rem) var(--serif);margin:0 0 1.2rem}.hero-copy h1{color:var(--burgundy);font:400 clamp(3.7rem,12vw,7.4rem)/.78 var(--serif);letter-spacing:-.055em;flex-direction:column;align-items:center;margin:0;display:flex}.hero-copy h1 i{color:var(--gold);margin:.36em 0 .28em;font-size:.42em;font-weight:400;line-height:.5}.hero-date{color:var(--burgundy);font:400 1.1rem var(--serif);justify-content:center;align-items:center;gap:.7rem;margin:2.2rem 0 1.8rem;display:flex}.hero-date b{color:var(--gold)}.hero-date small{font:700 .65rem var(--sans);letter-spacing:.18em;text-transform:uppercase}.invitation-copy{color:#5d4d43;max-width:610px;font:400 clamp(1rem,2vw,1.15rem)/1.9 var(--serif);margin:auto}.family-name{color:var(--burgundy);font:italic 1rem var(--serif);margin:1.3rem 0 0}.scroll-cue{background:linear-gradient(var(--gold),transparent);width:1px;height:34px;animation:2s infinite scrollCue;position:absolute;bottom:2.2rem}@keyframes scrollCue{50%{opacity:.4;transform:translateY(8px)}}.countdown-section{text-align:center;color:#f8efdf;background:var(--dark)}.countdown-section h2,.section-heading h2{font:400 clamp(2.3rem,6vw,4rem)/1.08 var(--serif);margin:0 0 2.5rem}.countdown-section h2{color:var(--light-gold)}.countdown{border-block:1px solid #dfc58d59;grid-template-columns:repeat(4,1fr);max-width:680px;margin:auto;display:grid}.countdown>div{border-right:1px solid #dfc58d38;padding:1.6rem .25rem}.countdown>div:last-child{border:0}.countdown strong{color:#fff;font:400 clamp(2rem,7vw,3.8rem)/1 var(--serif);font-variant-numeric:tabular-nums;display:block}.countdown span{color:#eadfc9;letter-spacing:.08em;margin-top:.6rem;font-size:.65rem;display:block}.countdown-note,.celebrations-begun{color:#d9c9ae;font:italic .9rem var(--serif)}.events-section{background:var(--paper);position:relative}.section-heading{text-align:center}.section-heading h2{color:var(--burgundy)}.section-flourish{justify-content:center;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.section-flourish span{background:var(--light-gold);width:50px;height:1px}.section-flourish .lotus-mark{width:38px}.event-row{border-top:1px solid #b9924f59;grid-template-columns:70px 160px 1fr;gap:2.5rem;max-width:900px;margin:auto;padding:2.5rem 0;display:grid}.event-row:last-child{border-bottom:1px solid #b9924f59}.event-no{color:var(--gold);font:italic 1rem var(--serif);padding-top:1rem}.event-date{color:var(--burgundy);text-align:center;align-self:center}.event-date span{font:400 4.5rem/.85 var(--serif);display:block}.event-date b{font:400 1.25rem var(--serif);margin-top:.7rem;display:block}.event-date small{letter-spacing:.15em;font-size:.62rem}.event-details{align-self:center;padding:2rem 0 2rem 1rem;position:relative}.event-details:before{content:"";background:#b9924f47;width:1px;position:absolute;top:2rem;bottom:2rem;left:-2.5rem}.event-details>p{color:var(--gold);font:italic .9rem var(--serif);margin:0 0 .6rem}.event-details h3{color:var(--burgundy);font:400 clamp(2.1rem,5vw,3.5rem)/1 var(--serif);margin:0 0 .8rem}.event-details address,.event-details>div:not(.event-actions){color:var(--muted);margin:.4rem 0;font-size:.9rem;font-style:normal;line-height:1.5}.event-details address{color:var(--ink);font-weight:600}.sample-address{opacity:.8}.event-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;display:flex}.event-actions button,.event-actions a,.share-actions button{border:1px solid var(--gold);color:var(--burgundy);cursor:pointer;letter-spacing:.07em;text-transform:uppercase;background:0 0;justify-content:center;align-items:center;padding:.72rem 1rem;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-flex}.event-actions button:hover,.event-actions a:hover{color:#fff;background:var(--burgundy);border-color:var(--burgundy)}.gallery-section{background:#e9dcc8}.gallery-grid{grid-template-rows:240px 240px;grid-template-columns:1.15fr .85fr;gap:1rem;max-width:920px;margin:auto;display:grid}.photo-placeholder{background:radial-gradient(circle,#d9c5a8,#a78564);border:8px solid #f8f0e2;place-items:center;margin:0;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 35px #41231424}.photo-placeholder:before{content:"";border:1px solid #fff8e67a;position:absolute;inset:12px}.photo-placeholder span{opacity:.45;transform:scale(1.8)}.photo-placeholder .lotus-mark{stroke:#fff2d2}.photo-placeholder figcaption{color:#fff8e9;font:italic 1rem var(--serif);background:linear-gradient(#0000,#32190fbf);padding:1.2rem;position:absolute;inset:auto 0 0}.photo-1{grid-row:1/3}.photo-2{background:radial-gradient(circle,#d5bda0,#775348)}.photo-3{background:radial-gradient(circle,#ccb991,#7d6b43)}.closing-section{text-align:center;color:#f7edd9;background:var(--burgundy)}.closing-section>div{max-width:720px;margin:auto}.closing-section h2{color:#fffaf0;font:400 clamp(2.2rem,6vw,4.4rem)/1.12 var(--serif);margin:1.2rem 0 2rem}.contact{color:#e7d6bd;font-size:.82rem}.share-section{text-align:center;background:var(--paper);position:relative}.share-section:before{content:"";pointer-events:none;border:1px solid #b9924f4d;position:absolute;inset:18px}.share-section h2{color:var(--burgundy);font:400 clamp(2.5rem,7vw,5.2rem)/1 var(--serif);margin:0 0 2rem}.share-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.share-actions button{min-width:170px}.share-actions button:last-child{color:#fff;background:var(--burgundy);border-color:var(--burgundy)}.share-date{color:var(--gold);font:400 1rem var(--serif);letter-spacing:.28em;margin:2.6rem 0 0}@media (max-width:700px){.hero-copy h1{font-size:clamp(3.5rem,17vw,5.8rem)}.event-row{grid-template-columns:58px 1fr;gap:1rem;padding:2rem 0}.event-no{grid-column:1}.event-date{text-align:left;grid-column:2}.event-date span{margin-right:.5rem;font-size:3.8rem;display:inline}.event-date b{font-size:1rem;display:inline}.event-date small{margin-top:.35rem;display:block}.event-details{grid-column:2;padding:1.2rem 0}.event-details:before{top:1rem;left:-1.55rem}.gallery-grid{grid-template-rows:380px 240px 240px;grid-template-columns:1fr}.photo-1{grid-row:auto}.countdown>div{padding:1.3rem .15rem}.countdown span{font-size:.5rem}.opening-heading{top:8vh}.opening-heading h1{font-size:1.6rem}.door-button{width:min(82vw,360px);height:min(52vh,460px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.petals{display:none}}.opening-heading h1{justify-content:center;align-items:center;gap:.45rem;display:flex}.opening-heading h1 i{color:var(--gold);font-size:.7em;font-weight:400}.envelope-shadow{filter:blur(22px);background:#5f311f33;position:absolute;inset:12% 3% -8%}.envelope-card{z-index:1;height:84%;color:var(--burgundy);background:#fff9ed;border:1px solid #b9924f80;flex-direction:column;justify-content:center;align-items:center;gap:1rem;transition:transform 1s .15s;display:flex;position:absolute;top:8%;left:8%;right:8%;box-shadow:0 4px 18px #54321a1f}.envelope-card b{font:400 1.6rem var(--serif)}.envelope-card small{color:var(--gold);letter-spacing:.2em;font-size:.65rem}.opening-bride.is-opening .envelope-card{transform:translateY(-45%)}.event-number{color:var(--gold);font:italic 1rem var(--serif);padding-top:1rem}.event-date strong{font:400 4.5rem/.85 var(--serif);display:block}.event-date span{font:400 1.25rem var(--serif);margin-top:.7rem;display:block}@media (max-width:700px){.event-number{grid-column:1}.event-date strong{margin-right:.5rem;font-size:3.8rem;display:inline}.event-date span{font-size:1rem;display:inline}}.lang-hi{--hindi-serif:"Nirmala UI","Noto Serif Devanagari","Kohinoor Devanagari",serif}.lang-hi .hero-greeting,.lang-hi .invitation-copy,.lang-hi .family-name,.lang-hi .event-details>p,.lang-hi .photo-placeholder figcaption,.lang-hi .countdown-note{font-family:var(--hindi-serif)}.lang-hi .hero-copy h1{font-family:var(--hindi-serif);letter-spacing:0;gap:.08em;font-size:clamp(3.25rem,9vw,6.1rem);font-weight:400;line-height:1.08}.lang-hi .hero-copy h1 i{color:var(--gold);font-family:var(--serif);margin:.02em 0;font-size:.5em;line-height:1}.lang-hi .hero-greeting{margin-bottom:1.5rem;font-size:clamp(1rem,2vw,1.2rem);line-height:1.6}.lang-hi .hero-date{margin:1.65rem 0 1.5rem}.lang-hi .invitation-copy{font-size:clamp(1rem,1.8vw,1.12rem);line-height:2}.lang-hi .opening-heading h1{font-family:var(--hindi-serif);letter-spacing:0;font-size:clamp(1.45rem,4vw,2.15rem);line-height:1.35}.lang-hi .opening-heading h1 i{font-family:var(--serif)}.lang-hi .closing-section h2,.lang-hi .share-section h2,.lang-hi .event-details h3,.lang-hi .countdown-section h2,.lang-hi .section-heading h2{font-family:var(--hindi-serif);letter-spacing:0;line-height:1.35}@media (max-width:700px){.lang-hi .hero-section{padding-top:7.5rem;padding-bottom:4.5rem}.lang-hi .hero-copy h1{font-size:clamp(3rem,14vw,4.75rem);line-height:1.12}.lang-hi .hero-greeting{margin-bottom:1.2rem}.lang-hi .hero-date{margin:1.35rem 0}.lang-hi .invitation-copy{line-height:1.85}.lang-hi .opening-heading h1{font-size:1.4rem}}.hero-date>span{align-items:center;gap:.7rem;display:inline-flex}.hero-date>span+span{margin-left:0}.hero-date>span b{font-weight:700}.opening-bride,.opening-groom{color:var(--burgundy);background:radial-gradient(circle at 50% 35%,#fffaf2 0,#f3e7d2 52%,#dfc7a8 100%)}.opening-heading{z-index:4}.opening-groom .opening-heading h1,.opening-groom .opening-prompt{color:var(--burgundy)}.opening-groom .door-button{width:min(72vw,400px);height:min(48vh,430px);transform:translate(-50%,-40%)}.opening-groom .door-button:before{content:"";filter:blur(9px);opacity:.7;background:radial-gradient(circle at 50% 48%,#fffaf0 0,#f2dec0 48%,#0000 72%);border-radius:50% 50% 4px 4px;position:absolute;inset:-7%}.opening-groom .door-frame{box-shadow:0 0 0 3px #e1c27f,0 26px 60px #4b28144a}.opening-groom .arch-light{background:radial-gradient(circle at 50% 45%,#fff8dc,#d8a854 28%,#0000 72%)}@media (max-width:700px){.opening-groom .door-button{width:min(78vw,350px);height:min(46vh,420px)}}.opening:before{inset:1px}.opening-heading{top:max(3.5rem,7vh)}.opening-prompt{bottom:max(2.5rem,5vh)}@media (min-width:701px){.opening-bride .opening-heading+button{width:min(72vw,540px);top:52%;transform:translate(-50%,-38%)}.opening-groom .door-button{width:min(58vw,430px);height:min(50vh,445px);top:52%;transform:translate(-50%,-40%)}.opening-groom .door-button:before{opacity:.5;inset:-5%}}@media (max-width:700px){.opening:before{inset:1px}.opening-heading{top:max(3.25rem,7vh)}.opening-prompt{bottom:max(2rem,5vh)}}.falling-rose{--rose-drift:70px;--rose-spin:620deg;opacity:.68;filter:drop-shadow(0 3px 3px #54121d24);will-change:transform;width:32px;height:32px;animation:24s linear infinite roseFall;position:absolute;top:-42px;left:8%;overflow:visible}.falling-rose .rose-outer{fill:#8d1e31}.falling-rose .rose-petal{fill:#bd3b50}.falling-rose .rose-heart{fill:#681323}.falling-rose .rose-line{fill:none;stroke:#e5bd78;stroke-width:1px;stroke-linecap:round}.falling-rose:nth-child(2){--rose-drift:-85px;--rose-spin:-740deg;width:22px;height:22px;animation-duration:27s;animation-delay:-15s;left:22%}.falling-rose:nth-child(3){--rose-drift:105px;width:28px;height:28px;animation-duration:29s;animation-delay:-7s;left:37%}.falling-rose:nth-child(4){--rose-drift:-60px;--rose-spin:-580deg;width:20px;height:20px;animation-duration:25s;animation-delay:-21s;left:52%}.falling-rose:nth-child(5){--rose-drift:90px;width:30px;height:30px;animation-duration:31s;animation-delay:-11s;left:66%}.falling-rose:nth-child(6){--rose-drift:-100px;--rose-spin:-690deg;width:24px;height:24px;animation-duration:26s;animation-delay:-4s;left:79%}.falling-rose:nth-child(7){--rose-drift:55px;width:27px;height:27px;animation-duration:28s;animation-delay:-18s;left:90%}.falling-rose:nth-child(8){--rose-drift:-45px;--rose-spin:-520deg;width:19px;height:19px;animation-duration:32s;animation-delay:-24s;left:96%}@keyframes roseFall{0%{transform:translateY(-5vh)rotate(0)}to{transform:translate3d(var(--rose-drift),650vh,0) rotate(var(--rose-spin))}}
