:root{--mint:#eaf1e8;--sage:#d8e6d8;--ivory:#fffdf7;--paper:#f7f4ea;--gold:#a98752;--gold-light:#d5c393;--ink:#405449;--muted:#718076;--rose:#bd8d80;--serif:'Palatino Linotype',Palatino,Georgia,serif;--sans:'Trebuchet MS',Arial,sans-serif}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:var(--sans)}button,a{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.stage{min-height:100svh}.intro{position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;padding:30px 18px;background:radial-gradient(ellipse at 50% 40%,#f8f6eb 0%,var(--mint) 65%,#dfeade 100%)}.intro:before,.intro:after{position:absolute;content:"";inset:13px;border:1px solid #a9875245;pointer-events:none;z-index:-1}.intro:after{inset:20px;border-color:#a9875222}.intro-inner{width:min(100%,500px);text-align:center;animation:soft-in .8s ease both}.brand-mark,.monogram{font:500 1.1rem var(--serif);letter-spacing:.1em;color:var(--gold)}.brand-mark{margin:0 0 10px}.brand-mark span,.monogram i{color:var(--rose);font-style:normal;font-size:.88em}.ornament{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto 18px;color:var(--gold);font-size:1.3rem}.ornament span{font-size:1.85rem;transform:rotate(-20deg)}.ornament span:last-child{transform:scaleX(-1) rotate(-20deg)}.eyebrow{margin:0 0 13px;color:#92774c;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.intro h1{margin:0;color:#43594c;font:500 clamp(2.5rem,8vw,3.7rem)/1.12 var(--serif);letter-spacing:-.02em}.gold-dot{color:var(--gold)}.instruction{margin:13px 0 22px;color:#66776b;font:1rem var(--serif)}.scratch-frame{position:relative;isolation:isolate;width:min(100%,388px);height:202px;margin:0 auto;border:1px solid #b49a68;border-radius:3px;background:linear-gradient(135deg,#fffdf7,#f2ecd9 50%,#fffdf7);box-shadow:0 14px 34px #52664d1a,inset 0 0 0 5px #fffdf7,inset 0 0 0 6px #d7c89e}.scratch-frame:before{position:absolute;z-index:1;inset:10px;border:1px solid #cbb987;content:"";pointer-events:none}.scratch-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.revealed-label{margin:0 0 7px;color:#9c7c43;font-size:.61rem;letter-spacing:.2em;text-transform:uppercase}.revealed-date{margin:0;font:1.22rem/1.35 var(--serif)}.revealed-date strong{color:#80683f;font-size:1.65rem;font-weight:500}.revealed-time{margin:8px 0 0;color:#657468;font-size:.68rem;letter-spacing:.04em}.scratch-frame canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;border-radius:2px;touch-action:none;cursor:crosshair}.corner{position:absolute;z-index:3;color:#b2955d;font-size:17px;pointer-events:none}.corner-tl{top:13px;left:14px}.corner-tr{top:13px;right:14px}.corner-bl{bottom:13px;left:14px}.corner-br{right:14px;bottom:13px}.scratch-hint{margin:12px 0 11px;color:#7b887d;font-size:.69rem}.reveal-button,.open-button,.directions-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:10px;padding:0 23px;border:1px solid var(--gold);border-radius:2px;background:#fffdf4;color:#79623c;text-decoration:none;font-size:.73rem;font-weight:600;letter-spacing:.075em;transition:background .2s,transform .2s}.reveal-button:hover,.open-button:hover,.directions-button:hover{background:#f2ead7;transform:translateY(-1px)}.open-button{margin-top:4px;background:#a98752;color:white}.open-button:hover,.directions-button:hover{background:#8d7046}.bottom-ornament{margin:22px auto 0;opacity:.62}.petal-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.petal-field i{position:absolute;color:#b89e6c55;font-style:normal;animation:float 13s ease-in-out infinite}.petal-field i:nth-child(1){top:18%;left:8%;font-size:32px}.petal-field i:nth-child(2){top:26%;right:9%;font-size:24px;animation-delay:-3s}.petal-field i:nth-child(3){bottom:15%;left:13%;font-size:22px;animation-delay:-7s}.petal-field i:nth-child(4){right:12%;bottom:15%;font-size:35px;animation-delay:-2s}.petal-field i:nth-child(5){top:9%;left:47%;font-size:16px;animation-delay:-5s}.celebration-particles{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none}.celebration-particles span{position:absolute;top:-20px;color:#bd995b;animation:fall 2.7s ease-in forwards}
.invitation{min-height:100vh;padding:0 20px 24px;background:radial-gradient(ellipse at 15% 5%,#f5f5e9 0%,#eff3e9 38%,var(--paper) 78%);animation:soft-in .65s ease both}.invitation-header{display:flex;max-width:1120px;align-items:center;justify-content:space-between;margin:auto;padding:21px 5px 12px;border-bottom:1px solid #b59a693d}.monogram{font-size:1.05rem;text-decoration:none}.header-note{color:#8f7955;font:italic .96rem var(--serif)}.invitation-wrap{width:min(100%,1050px);margin:0 auto}.welcome{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:clamp(30px,7vw,82px);padding:clamp(42px,8vw,92px) 4px 75px}.welcome-copy{text-align:center}.welcome-copy h2{margin:0;color:#40564a;font:500 clamp(2.45rem,5.5vw,4.1rem)/1.1 var(--serif);letter-spacing:-.025em}.welcome-copy h2 em,.section-heading h2 em{color:#9a7b4b;font-weight:400}.tiny-flower{padding:0 7px;color:#b29660}.welcome-intro{max-width:355px;margin:17px auto 8px;color:#65756b;font:1rem/1.65 var(--serif)}.couple-names{margin:0;color:#44594d;font:500 clamp(1.75rem,4vw,2.35rem) var(--serif)}.couple-names span{color:#b58c68;font-style:italic;font-size:.75em}.rule-flower{display:flex;align-items:center;justify-content:center;gap:11px;margin:14px 0;color:#ac8b57;font-size:.9rem}.rule-flower span{width:40px;height:1px;background:#c7b58e}.occasion{margin:0;color:#806b47;font:italic 1.08rem var(--serif)}.hero-when{margin:14px 0 0;color:#627367;font-size:.78rem;letter-spacing:.045em}.hero-when span{padding:0 5px;color:#ad8e5e}.couple-portrait{position:relative;width:min(100%,390px);margin:0 auto}.portrait-frame{position:relative;padding:9px;border:1px solid #bba472;background:#fffdf7;box-shadow:0 15px 34px #4054491a}.portrait-frame:before{position:absolute;z-index:1;inset:6px;border:1px solid #bca97677;content:"";pointer-events:none}.portrait-frame img{display:block;width:100%;height:auto;max-height:530px;object-fit:cover;object-position:center}.couple-portrait figcaption{margin:13px 0 0;color:#82704e;text-align:center;font:italic .92rem var(--serif)}.couple-portrait figcaption span{padding:0 7px;color:#bd9d62}.portrait-flower{position:absolute;color:#a88a55}.flower-one{top:-21px;left:-23px;font-size:31px}.flower-two{right:-22px;bottom:33px;font-size:28px}.celebration-section{position:relative;padding:50px 0 64px;background:#e8eee4aa}.celebration-section:before{position:absolute;inset:12px 0;border-top:1px solid #b69b6945;border-bottom:1px solid #b69b6945;content:"";pointer-events:none}.section-heading{position:relative;padding:0 14px;text-align:center}.section-heading h2{margin:0;color:#40564a;font:500 clamp(2rem,5vw,3.1rem)/1.2 var(--serif)}.section-intro{margin:12px auto 0;color:#6b7a6e;font:1rem/1.6 var(--serif)}.details-layout{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(22px,5vw,60px);width:min(100%,860px);align-items:center;margin:32px auto 0;padding:0 12px}.krishna-note{display:flex;min-height:330px;flex-direction:column;align-items:center;justify-content:center;padding:18px 23px;border:1px solid #c1b187;background:#f9f7edcc;text-align:center;box-shadow:inset 0 0 0 5px #fffdf788}.krishna-art{width:142px;height:154px;margin:-3px auto 0}.krishna-art svg{width:100%;height:100%;overflow:visible}.blessing-label{margin:6px 0 8px;color:#9b7e4d;font-size:.62rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase}.blessing{max-width:265px;margin:0;color:#596c5e;font:1.08rem/1.5 var(--serif)}.blessing-flourish{margin-top:10px;color:#aa8b56;font-size:1.5rem}.event-panel{padding:22px clamp(18px,4vw,40px);border:1px solid #c7b68e;background:#fffdf6d9;box-shadow:inset 0 0 0 5px #fffdf8,inset 0 0 0 6px #e3d6b8}.countdown-block{text-align:center}.countdown-block .eyebrow{margin-bottom:14px}.countdown{display:flex;justify-content:center;gap:clamp(12px,3.3vw,28px)}.countdown div{display:flex;min-width:53px;flex-direction:column;gap:4px}.countdown strong{color:#8b7348;font:500 clamp(1.6rem,5vw,2.25rem) var(--serif);font-variant-numeric:tabular-nums}.countdown span{color:#758077;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}.event-info{display:grid;gap:16px;margin:22px auto 19px;padding-top:19px;border-top:1px solid #d6c9a9}.info-row{display:grid;grid-template-columns:28px 1fr;gap:11px;align-items:start}.info-icon{padding-top:1px;color:#a68752;font:1.5rem var(--serif);text-align:center}.info-row div{display:flex;flex-direction:column;gap:3px}.info-label{color:#9b7d4b;font-size:.59rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.info-row strong{color:#4d5e51;font:500 1.08rem var(--serif)}.info-row div>span:last-child{color:#738076;font-size:.78rem;line-height:1.5}.directions-button{display:flex;width:max-content;min-width:175px;margin:0 auto;background:#a98752;color:white}.site-footer{display:flex;flex-direction:column;align-items:center;gap:5px;padding:32px 10px 13px;text-align:center}.site-footer>span{color:#a98955}.site-footer p{margin:3px 0;color:#5a695c;font:italic 1.17rem var(--serif)}.site-footer i{color:#b98d7d;font-style:normal}.site-footer small{color:#8b8872;font-size:.69rem;letter-spacing:.035em}.passed-message{grid-column:1/-1;margin:3px 0;color:#806a45;font:1rem/1.55 var(--serif)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes soft-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(11deg)}}@keyframes fall{0%{transform:translateY(-5vh) rotate(0);opacity:0}15%{opacity:.8}100%{transform:translateY(108vh) rotate(230deg);opacity:0}}
@media(max-width:760px){.invitation{padding:0 14px 18px}.welcome{grid-template-columns:1fr;gap:32px;padding:48px 2px 50px}.welcome-copy{order:0}.couple-portrait{order:1;width:min(87%,390px)}.portrait-frame img{max-height:none}.celebration-section{margin:0 -14px;padding:45px 10px 49px}.details-layout{grid-template-columns:1fr;width:min(100%,480px);gap:18px;padding:0 8px}.krishna-note{min-height:0;padding:13px 20px 15px}.krishna-art{width:120px;height:132px}.blessing{font-size:1rem}.event-panel{padding:22px 18px}.section-intro{max-width:360px}.header-note{font-size:.85rem}}
@media(max-width:420px){.intro{padding:25px 15px}.intro:before{inset:9px}.intro:after{inset:14px}.scratch-frame{height:190px}.intro h1{font-size:2.48rem}.instruction{margin-bottom:17px}.brand-mark{margin-bottom:4px}.ornament{margin-bottom:13px}.bottom-ornament{margin-top:17px}.invitation-header{padding:16px 2px 10px}.welcome{padding-top:42px}.welcome-copy h2{font-size:2.45rem}.welcome-intro{max-width:310px;font-size:.94rem}.couple-portrait{width:91%}.countdown{gap:10px}.countdown div{min-width:47px}.event-panel{padding:21px 13px}.info-row strong{font-size:1rem}.info-row div>span:last-child{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.invitation-header{justify-content:center}.gujarati-welcome{margin:14px 0 7px;color:#667f69;font-family:'Noto Sans Gujarati','Nirmala UI',Shruti,sans-serif;font-size:clamp(1.05rem,2.2vw,1.25rem);font-weight:600;line-height:1.65}.welcome-invite{margin:8px auto 13px;color:#69796c;font:clamp(.95rem,2vw,1.08rem)/1.6 var(--serif)}.occasion-title{margin:0;color:#49604f!important;font:500 clamp(3rem,6.8vw,5rem)/.99 var(--serif)!important;letter-spacing:-.035em}.occasion-title em{display:inline-block;margin-top:4px;color:#a17e4d!important;font-size:.82em}.couple-names{margin-top:14px}.site-footer{gap:7px;padding:22px 0 16px}.footer-illustration{display:block;width:min(100%,980px);height:auto;margin:0 auto -5px}.site-footer p{margin:0}.site-footer small{font-size:.72rem}
@media(max-width:760px){.welcome-invite{max-width:330px}.footer-illustration{width:min(112%,700px);max-width:none;margin-left:50%;transform:translateX(-50%)}}
.gujarati-greeting{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,17px);margin:15px auto 9px}.gujarati-welcome{margin:0;color:#627c66;font-family:'Noto Sans Gujarati','Nirmala UI',Shruti,sans-serif;font-size:clamp(1.22rem,2.8vw,1.52rem);font-weight:600;line-height:1.8;letter-spacing:.01em;text-shadow:0 1px 0 #fffdf7}.greeting-diya{display:block;width:35px;height:43px;flex:0 0 auto;filter:drop-shadow(0 2px 2px #8c714622)}.greeting-diya:first-child{transform:rotate(-5deg)}.greeting-diya:last-child{transform:rotate(5deg)}.couple-caption-names{display:block;margin-top:5px;color:inherit;font:inherit;font-weight:400;letter-spacing:inherit}
@media(max-width:420px){.gujarati-greeting{gap:6px}.gujarati-welcome{font-size:1.18rem}.greeting-diya{width:27px;height:35px}}
@keyframes krishna-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes feather-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes fall{0%{transform:translate(0,-5vh) rotate(0);opacity:0}15%{opacity:.9}55%{transform:translate(13px,48vh) rotate(125deg);opacity:.9}100%{transform:translate(-12px,108vh) rotate(260deg);opacity:0}}.krishna-art svg{animation:krishna-bob 4.8s ease-in-out infinite;transform-origin:50% 60%}.krishna-feather{transform-box:fill-box;transform-origin:50% 95%;animation:feather-sway 4.1s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.krishna-art svg,.krishna-feather{animation:none!important}}
@keyframes diya-drift-left{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(-2deg)}}@keyframes diya-drift-right{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes halo-shimmer{0%,100%{opacity:.3;transform:scale(.98)}50%{opacity:.62;transform:scale(1.07)}}@keyframes little-blink{0%,45%,48%,100%{transform:scaleY(1)}46%,47%{transform:scaleY(.08)}}@keyframes sparkle-twinkle{0%,100%{opacity:.45}40%{opacity:1}65%{opacity:.65}}
.greeting-diya:first-child{animation:diya-drift-left 4.1s ease-in-out infinite}.greeting-diya:last-child{animation:diya-drift-right 4.1s ease-in-out -1.4s infinite}.krishna-art svg{animation-duration:4.2s}.krishna-halo{transform-box:fill-box;transform-origin:center;animation:halo-shimmer 5.2s ease-in-out infinite}.krishna-blink{transform-box:fill-box;transform-origin:center;animation:little-blink 6.4s steps(1,end) infinite}.krishna-sparkles{transform-box:fill-box;transform-origin:center;animation:sparkle-twinkle 3.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.greeting-diya,.krishna-art svg,.krishna-feather,.krishna-halo,.krishna-blink,.krishna-sparkles{animation:none!important}}
@keyframes krishna-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(.6deg)}}@keyframes feather-sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}@keyframes halo-shimmer{0%,100%{opacity:.28;transform:scale(.94)}50%{opacity:.72;transform:scale(1.12)}}@keyframes sparkle-twinkle{0%,100%{opacity:.35;transform:scale(.8) rotate(-8deg)}45%{opacity:1;transform:scale(1.35) rotate(18deg)}75%{opacity:.65;transform:scale(1) rotate(4deg)}}@keyframes orbit-sparkle{0%,100%{opacity:.45;transform:translateY(0) scale(.78) rotate(-12deg)}50%{opacity:1;transform:translateY(-7px) scale(1.18) rotate(22deg)}}
.krishna-art{position:relative}.krishna-art svg{animation-duration:3.5s}.krishna-feather{animation-duration:3.2s}.krishna-halo{animation-duration:4s}.krishna-sparkles{animation-duration:2.5s}.krishna-art::before,.krishna-art::after{position:absolute;z-index:2;color:#bb9b5e;font:1.3rem/1 var(--serif);pointer-events:none;animation:orbit-sparkle 2.8s ease-in-out infinite}.krishna-art::before{top:9px;left:-10px;content:'✦'}.krishna-art::after{top:57px;right:-12px;content:'✧';animation-delay:-1.2s;color:#c28f83}.site-credit{margin-top:4px;color:#9b8e73;font-size:.66rem;letter-spacing:.04em}.site-credit span{color:#b98478;font-size:.95em}
@media(prefers-reduced-motion:reduce){.greeting-diya,.krishna-art svg,.krishna-feather,.krishna-halo,.krishna-blink,.krishna-sparkles,.krishna-art::before,.krishna-art::after{animation:none!important}}
.gujarati-welcome{font-family:'Noto Serif Gujarati','Noto Sans Gujarati','Nirmala UI',Shruti,serif;font-size:clamp(1.32rem,3vw,1.62rem);font-weight:600;line-height:1.85;letter-spacing:0}
@media(max-width:420px){.gujarati-welcome{font-size:1.28rem}}
.gujarati-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 10px;color:#aa8b58;font-size:.93rem}.gujarati-divider span{font-size:1.3rem;transform:rotate(-18deg)}.gujarati-divider span:last-child{transform:scaleX(-1) rotate(-18deg)}.gujarati-divider b{font-weight:400;font-size:.75rem}
@keyframes flower-drop{0%{transform:translate3d(0,-40px,0) rotate(0);opacity:0}10%{opacity:.9}45%{transform:translate3d(13px,var(--drop-mid),0) rotate(155deg);opacity:.86}76%{transform:translate3d(-11px,var(--drop-late),0) rotate(275deg);opacity:.7}100%{transform:translate3d(8px,var(--drop),0) rotate(390deg);opacity:0}}.celebration-particles span{top:-20px;will-change:transform;animation:flower-drop 3.2s linear forwards}

