:root{--cream:#fff6e6;--ink:#642d24;--muted:#845e46;--gold:#ae8545;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--number:'Playfair Display',Georgia,serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}body{margin:0;color:var(--ink);background:#e9d5b9;font-family:var(--serif);font-weight:400}body.invite-closed{overflow:hidden}body:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(#f5e6d9aa,#ebd1bbaa),url('assets/temple-dawn.webp') center/cover;filter:blur(18px);transform:scale(1.1)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ad743b;outline-offset:4px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.invitation-shell{position:relative;max-width:480px;min-height:100svh;margin:auto;background:#f8ead7;box-shadow:0 0 100px #61462e25}.eyebrow,.small-label{font:500 9px/1.7 var(--sans);letter-spacing:1.6px;text-transform:uppercase}.eyebrow{margin:0 0 15px}
.opening-cover{height:100svh;min-height:600px;position:relative;isolation:isolate;text-align:center;overflow:hidden;background:#f7dfb9}.cover-art{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;animation:cover-zoom 3s var(--ease) both}.opening-cover:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(#fae9d0b0,#fff0d466 44%,transparent 67%)}.cover-flap{position:absolute;z-index:2;top:0;bottom:0;width:50%;background:linear-gradient(135deg,#f5e0b50f,#f9e9cbaa);backdrop-filter:blur(1px);transition:transform 1.2s var(--ease);border:1px solid #b68b4555;pointer-events:none}.flap-left{left:0;transform-origin:left center;border-radius:0 60% 50% 0}.flap-right{right:0;transform-origin:right center;border-radius:60% 0 0 50%}.cover-copy{position:relative;z-index:3;padding:clamp(100px,15svh,150px) 22px 0;transition:opacity .5s,transform .8s var(--ease)}.cover-copy .eyebrow{font-size:8px;letter-spacing:1.4px}.cover-copy h1{font-size:clamp(66px,17vw,90px);font-weight:400;line-height:.86;letter-spacing:-1.8px;margin:28px 0 20px}.cover-copy h1 em{display:block;font-size:.36em;font-weight:400;line-height:1.1;margin:14px 0}.cover-hashtag{font-size:23px;font-style:italic;margin:0 0 28px;color:#8f6035}.seal-button{width:100px;height:100px;border-radius:50%;padding:0;border:1px solid #fff3c5;color:#5f3c18;background:radial-gradient(circle at 34% 25%,#fff4ce,#dcba6b 46%,#aa7630);box-shadow:0 0 0 6px #c1974166,0 0 0 7px #f9edc299,0 10px 30px #71431b55;display:grid;place-items:center;margin:0 auto;font-size:47px;animation:seal-glow 3.5s ease-in-out infinite}.seal-amp{font-size:21px;font-style:italic;margin:0 -3px}.tap-hint{font:400 8px/1.5 var(--sans);letter-spacing:1.3px;text-transform:uppercase;margin:22px 0 9px}.cover-continue{background:none;border:0;border-bottom:1px solid #94682e77;padding:10px 4px;font:500 10px/1.5 var(--sans)}.cover-continue span{padding-left:15px}.cover-date{position:absolute;bottom:30px;left:12px;right:12px;z-index:3;font:500 8px/1.6 var(--sans);letter-spacing:1.4px;color:#fff8e8;text-shadow:0 1px 5px #48280a;margin:0}.cover-opening .flap-left{transform:perspective(1000px) rotateY(-105deg)}.cover-opening .flap-right{transform:perspective(1000px) rotateY(105deg)}.cover-opening .cover-copy,.cover-opening .cover-date{opacity:0;transform:translateY(-12px);pointer-events:none}
.introductions{position:relative;min-height:100svh;height:100svh;overflow:hidden;background:#f8e9d2}.intro-page{position:absolute;inset:0;padding:85px 22px 125px;display:flex;align-items:center;justify-content:center;isolation:isolate}.intro-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center bottom}.intro-page:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(#f9e9cda6,#f9e9cdcc 70%,#d4af7777)}.intro-card{text-align:center;width:100%;padding:28px 18px;border:1px solid #b28d5055;border-radius:120px 120px 20px 20px;background:#fff7e8f2;box-shadow:0 16px 40px #61462e15;animation:intro-appear .8s var(--ease) both}.blessing-symbol{position:relative;width:65px;height:65px;display:grid;place-items:center;border:1px solid #b28d5066;border-radius:50%;margin:0 auto 20px;color:var(--gold);font-size:35px;animation:blessing-breathe 4s ease-in-out infinite}.blessing-symbol:before{content:'';position:absolute;inset:6px;border:1px dashed #b28d5088;border-radius:50%}.intro-card .eyebrow{font-size:8px;letter-spacing:1px;margin:0 0 12px}.intro-card h2{font-weight:400;font-size:33px;line-height:1.02;margin:0 0 18px}.intro-message{font-size:19px;line-height:1.4;margin:0 auto 16px;max-width:310px}.intro-couple{font-size:35px;font-style:italic;line-height:1.1;margin:0 0 20px}.intro-couple em{font-size:.7em;padding:0 4px}.parents-block .small-label{font-size:7px;letter-spacing:1.2px;margin:0 0 5px;color:var(--muted)}.parents-block strong{font-size:21px;font-weight:500;line-height:1.2}.mini-rule{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin:17px auto;font-size:17px}.mini-rule:before,.mini-rule:after{content:'';display:block;width:53px;height:1px;background:#b28d5080}.intro-dots{position:absolute;top:26px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px}.intro-dots button{width:6px;height:6px;border:0;padding:0;border-radius:50%;background:#ac83446b;box-shadow:0 0 0 6px #fff5e200}.intro-dots [aria-current]{background:var(--ink);box-shadow:0 0 0 3px #fff3d988}.intro-navigation{position:absolute;bottom:50px;left:20px;right:20px;z-index:5;display:flex;gap:10px}.intro-next{position:relative;flex:1;border:1px solid #fff7e6;background:#f7ebd5f5;border-radius:34px;min-height:66px;padding:10px 35px;display:flex;flex-direction:column;justify-content:center;gap:5px;box-shadow:0 6px 24px #62452d18}.intro-next small{font:400 8px/1.3 var(--sans);color:var(--muted)}.intro-next>span{font:500 11px/1.4 var(--sans)}.intro-next b{position:absolute;right:22px;top:18px;font-size:27px;font-weight:400}.intro-back{width:53px;border-radius:30px;border:1px solid #fff7e6;background:#f7ebd5ee;font-size:29px}.skip-intro{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:5;border:0;border-bottom:1px solid #6b462455;background:none;font:400 9px/1.5 var(--sans);padding:5px}.intro-couple-page .intro-card{border-radius:140px 140px 20px 20px;padding:55px 15px 35px}.intro-couple-page:after{background:#361a1838}.couple-title>span{display:block;font-size:43px;line-height:1.1;font-style:italic}.couple-title>span em{display:block;font-size:.65em;font-weight:400}.couple-title i{display:block;margin:12px 0;font-size:24px;color:var(--gold)}.intro-dates{font-size:23px;line-height:1.4;margin:24px 0 18px}.intro-dates span{font:400 10px/1.5 var(--sans);color:var(--muted)}.intro-hashtag{font-size:29px;font-style:italic;color:#a66a36;margin:0}
.bell-button{position:fixed;top:16px;right:max(16px,calc((100vw - 480px)/2 + 16px));z-index:30;width:42px;height:42px;border-radius:50%;border:1px solid #fff9e899;background:#fff6e5de;display:grid;place-items:center;box-shadow:0 4px 20px #61462e12}.bell-button svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.3;fill:none}.bell-button.ringing svg{animation:ring-bell .8s ease-in-out}.floating-petals{position:fixed;top:0;bottom:0;left:max(0px,calc((100vw - 480px)/2));width:min(100%,480px);pointer-events:none;overflow:hidden;z-index:2}.floating-petals i{position:absolute;top:-20px;width:8px;height:13px;border-radius:80% 0 80% 25%;background:#e5b58c77;left:var(--x);animation:petal-fall var(--duration) linear var(--delay) infinite}.invite-closed .floating-petals{display:none}main{animation:main-enter .8s ease both}.invite-page,.event{position:relative;scroll-snap-align:start;min-height:max(100svh,740px);isolation:isolate;overflow:hidden}.save-date-page{background:radial-gradient(ellipse at 50% 15%,#fff8e9,#eddbba);text-align:center;padding:100px 25px 110px}.page-frame{position:absolute;inset:18px 14px;border:1px solid #b68a4140;border-radius:160px 160px 18px 18px;pointer-events:none}.save-date-content{position:relative;z-index:4}.save-date-content>.eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:20px}.save-date-content h2{font:500 14px/1.5 var(--sans);letter-spacing:3px;text-transform:uppercase;margin:0 0 20px}.scratch-heart{position:relative;width:280px;max-width:100%;aspect-ratio:1;margin:0 auto;isolation:isolate}.heart-base,#scratch-canvas{position:absolute;inset:0;width:100%;height:100%}.heart-base{fill:#fff6de;stroke:#b58c49;stroke-width:1}.heart-date{position:absolute;z-index:1;inset:20% 5% 15%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#6b3e22;gap:6px}.heart-date small{font:500 7px/1.5 var(--sans);letter-spacing:1.6px}.heart-date strong{font:500 59px/1.05 var(--number);font-variant-numeric:lining-nums}.heart-date sup{font:400 17px/1 var(--serif);vertical-align:super}.heart-date>span{font:500 21px/1.3 var(--number)}.heart-date em{font-size:18px;line-height:1.3}.scratch-heart canvas{z-index:2;touch-action:none;transition:opacity .8s;cursor:crosshair}.scratch-heart.revealed canvas{opacity:0;pointer-events:none}.scratch-hint{font-size:14px;line-height:1.4;margin:13px auto 0;max-width:270px;color:var(--muted)}.reveal-date{font:400 9px/1.5 var(--sans);background:none;border:0;border-bottom:1px solid #8e6b42;padding:7px 0;margin:4px 0 15px}.save-couple{font-size:25px;line-height:1.15;margin:12px 0 25px}.save-couple em{display:block;margin:6px 0;font-size:19px;color:#a47d44}.countdown-label{font-size:18px;font-style:italic;margin:0 0 13px}.countdown{display:flex;align-items:center;justify-content:center;gap:18px}.countdown>div{display:grid;gap:8px;min-width:43px}.countdown strong{font:500 30px/1.1 var(--number);font-variant-numeric:lining-nums tabular-nums}.countdown span{font:500 7px/1.4 var(--sans);letter-spacing:1px}.countdown-caption{font-size:13px;color:var(--muted);margin:16px 0 0}
.event{background:var(--event-bg);text-align:center;min-height:max(100svh,760px);padding:78px 25px 280px}.event-art{position:absolute;inset:0;z-index:-3;overflow:hidden}.event-art img{position:absolute;bottom:0;width:100%;height:65%;object-fit:cover;object-position:center;animation:cover-zoom 3s var(--ease) both}.event-art:after{content:'';position:absolute;inset:0;background:linear-gradient(var(--event-bg) 0%,var(--event-bg) 28%,var(--event-wash) 45%,transparent 68%)}.event-art-label,.event-index{display:none}.event-copy{position:relative;z-index:4;max-width:390px;margin:auto;text-shadow:0 1px 5px #fff4da99}.event .eyebrow{font-size:8px;letter-spacing:1.4px;margin:0 0 12px;color:var(--event-accent)}.event h3{font-size:clamp(45px,12vw,62px);font-style:italic;font-weight:400;line-height:1;margin:0 0 12px;letter-spacing:-.5px}.event-subtitle{font-size:24px;line-height:1.1;margin:0 0 15px;font-style:italic}.event-date{display:flex;justify-content:center;align-items:center;gap:13px;margin:0 auto 17px;padding:15px 0 13px;border-block:1px solid #a57d4340;max-width:290px}.event-day-number{font:500 40px/1 var(--number);font-variant-numeric:lining-nums}.event-day-details{display:grid;gap:3px;text-align:left}.event-day-details>span{font:500 7px/1.5 var(--sans);letter-spacing:1px;text-transform:uppercase}.event-day-details strong{font:500 18px/1.3 var(--number)}.event-time{font:500 23px/1.3 var(--number);margin-left:3px;white-space:nowrap}.event-time small{font:400 14px/1.4 var(--serif)}.event-venue{display:flex;justify-content:center;gap:8px;align-items:center;border:1px solid #a57d4366;border-radius:22px;padding:10px 14px;background:#fff7e6ee;margin:0 auto;font:500 11px/1.45 var(--sans);max-width:310px;text-align:center;box-shadow:0 3px 15px #78502b12}.event-venue svg{flex-shrink:0;width:15px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}.event-location{font:400 9px/1.5 var(--sans);margin:7px 0 16px;color:var(--muted)}.dress-code{margin:0 auto 16px;max-width:320px;background:#fff4dfed;padding:10px 12px 11px;border-radius:8px}.dress-code small{font:500 7px/1.5 var(--sans);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.dress-code strong{display:block;font-size:21px;font-weight:500;font-style:italic;margin:3px 0}.dress-code p{font:400 10px/1.5 var(--sans);margin:0;color:#70472e}.event-actions{display:flex;justify-content:center;align-items:center;gap:20px;margin:0 auto}.text-link{display:inline-flex;gap:14px;align-items:center;padding:8px 0;border:0;border-bottom:1px solid #9e783f88;background:none;font:500 9px/1.5 var(--sans)}.text-link span{font-size:16px}.event-calendar{border:0;border-bottom:1px solid #9e783f88;background:none;padding:8px 0;font:500 9px/1.5 var(--sans)}.event.haldi{--event-bg:#f8e4a7;--event-wash:#f8e4a7e0;--event-accent:#83581f}.event.sangeet{--event-bg:#f2deda;--event-wash:#f2dedad9;--event-accent:#8a4656}.event.sangeet .event-art img{filter:hue-rotate(320deg) saturate(.78);object-position:25% center}.event.mandap{--event-bg:#ece2cc;--event-wash:#ece2ccd9;--event-accent:#6c663e}.event.mandap .event-art img{height:70%;object-position:center bottom;filter:saturate(.75)}.event.wedding{--event-bg:#f0d8c4;--event-wash:#f0d8c4d9;--event-accent:#9b4c3c}.event.reception{--event-bg:#eee0cb;--event-wash:#eee0cbd9;--event-accent:#885e2d}.event.reception .event-art img{object-position:80% center;filter:saturate(.65)}
.scroll-next{position:fixed;z-index:15;left:50%;bottom:0;transform:translateX(-50%);width:min(calc(100% - 38px),430px);min-height:63px;border:1px solid #fff9ed;border-radius:28px 28px 0 0;background:linear-gradient(135deg,#fff8edee,#edddc4ee);backdrop-filter:blur(14px);box-shadow:0 -4px 25px #78502b12;display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 22px}.scroll-next span{display:flex;flex-direction:column;gap:5px}.scroll-next small{font:400 9px/1.4 var(--sans);color:var(--muted)}.scroll-next strong{font:500 12px/1.5 var(--sans)}.scroll-next svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.4}.family-page{padding:85px 22px 80px;text-align:center;background:#f9e8cf}.family-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.45}.family-card{position:relative;z-index:4;background:#fff7e9f7;border:1px solid #b8915255;border-radius:70px 70px 22px 22px;padding:40px 16px 26px;max-width:390px;margin:auto}.family-card .eyebrow{font-size:8px}.family-card h2{font-size:35px;line-height:1.05;font-weight:400;margin:18px 0 24px}.family-message{font-size:24px;line-height:1.25;font-style:italic;margin:0 0 20px}.family-heading{font-size:26px;margin:0 0 6px;font-weight:500}.family-parents{font-size:19px;line-height:1.25;margin:0 auto;max-width:290px}.family-and{display:block;font-size:22px;margin:10px 0;color:var(--gold)}.family-signoff{font-size:20px;line-height:1.3;font-style:italic;margin:25px 0 16px}.hashtag-button{background:none;border:0;font-size:33px;font-style:italic;color:#9d6139;margin:0 0 18px;padding:5px}.hashtag-button span{font-size:15px;padding-left:6px}.family-actions{display:flex;align-items:center;justify-content:center;gap:8px}.button{border:1px solid #926a3655;background:#e9d0a3;border-radius:24px;min-height:44px;padding:12px 16px;font:500 10px/1.5 var(--sans);display:inline-flex;justify-content:center;align-items:center}.button-secondary{background:#fff7e5}.replay-button{display:block;margin:22px auto 0;background:none;border:0;border-bottom:1px solid #a17a4577;padding:7px 0;font:400 9px/1.5 var(--sans);color:var(--muted)}.venue-dialog{width:min(calc(100% - 36px),390px);max-height:85svh;overflow:auto;border:1px solid #b38c51;border-radius:22px;padding:40px 25px 28px;background:var(--cream);color:var(--ink);box-shadow:0 20px 60px #321d1b66;text-align:center}.venue-dialog::backdrop{background:#3d211a88;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:6px;right:8px;width:38px;height:38px;border:0;background:none;font-size:29px}.venue-dialog .eyebrow{font-size:8px}.venue-dialog h2{font-size:33px;font-weight:500;line-height:1.1;margin:18px 0}.dialog-events{font:500 9px/1.8 var(--sans);color:#9c563e}.dialog-address{font-size:22px;line-height:1.5;margin:20px 0}.dialog-actions{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap}.toast{position:fixed;z-index:50;bottom:80px;left:50%;transform:translate(-50%,20px);opacity:0;transition:.3s;max-width:calc(100% - 30px);width:max-content;text-align:center;border-radius:25px;padding:12px 19px;background:#642d24;color:#fff5e4;box-shadow:0 8px 30px #321d1b30;font:400 10px/1.5 var(--sans);pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@keyframes cover-zoom{from{transform:scale(1.06);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes intro-appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes seal-glow{50%{box-shadow:0 0 0 9px #c1974133,0 0 0 10px #f9edc277,0 12px 35px #71431b44}}@keyframes blessing-breathe{50%{box-shadow:0 0 0 8px #d5b47211;transform:scale(1.04)}}@keyframes ring-bell{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(18deg)}40%,80%{transform:rotate(-14deg)}}@keyframes petal-fall{0%{transform:translate3d(0,-30px,0) rotate(0);opacity:0}10%{opacity:.55}90%{opacity:.4}100%{transform:translate3d(60px,1100px,0) rotate(300deg);opacity:0}}
@media(max-height:760px){.cover-copy{padding-top:80px}.cover-copy h1{font-size:73px}.cover-hashtag{margin-bottom:23px}.seal-button{width:86px;height:86px;font-size:42px}.cover-copy .eyebrow{font-size:7px}.tap-hint{font-size:7px}.intro-page{padding:65px 22px 115px}.intro-card{padding:22px 16px}.blessing-symbol{width:47px;height:47px;font-size:28px;margin-bottom:16px}.intro-card h2{font-size:30px;margin-bottom:14px}.intro-message{font-size:18px;margin-bottom:13px}.intro-couple{font-size:30px;margin-bottom:16px}.parents-block strong{font-size:20px}.parents-block .mini-rule{margin:12px auto}.intro-couple-page .intro-card{padding:35px 15px 28px}.couple-title>span{font-size:41px}.save-date-page{padding-top:75px}.save-date-content>.eyebrow{margin-bottom:16px}.scratch-heart{width:245px}.save-date-content h2{font-size:12px;margin-bottom:13px}.save-couple{font-size:23px;margin-bottom:20px}.countdown strong{font-size:28px}.event{padding-top:62px;min-height:max(100svh,720px)}.event h3{font-size:46px}.event-subtitle{font-size:22px;margin-bottom:13px}.event .eyebrow{font-size:7px}.event-date{padding:13px 0;margin-bottom:14px}.event-day-number{font-size:35px}.event-time{font-size:21px}.event-location{margin-bottom:12px}.dress-code{padding:8px 10px 9px;margin-bottom:12px}.family-page{padding-top:70px}.family-card{padding-top:32px}.family-card h2{font-size:32px}.family-message{font-size:22px}.family-heading{font-size:24px}.family-parents{font-size:18px}.family-signoff{font-size:19px}}
@media(max-width:360px){.intro-page{padding-inline:16px}.intro-card{padding-inline:12px}.intro-card .eyebrow{font-size:7px;letter-spacing:.9px}.intro-card h2{font-size:28px}.intro-message{font-size:17px}.intro-couple{font-size:28px}.parents-block strong{font-size:19px}.couple-title>span{font-size:37px}.save-date-page{padding-inline:20px}.save-date-content>.eyebrow{font-size:6px;letter-spacing:.8px}.save-couple{font-size:23px}.event{padding-inline:20px}.event h3{font-size:43px}.event-subtitle{font-size:21px}.event-day-details strong{font-size:16px}.event-time{font-size:19px}.event-venue{font-size:10px}.family-page{padding-inline:16px}.family-actions{gap:7px}.family-actions .button{font-size:9px;padding:12px}.family-parents{font-size:18px}}
@media(max-height:650px){.introductions{height:680px;min-height:680px;overflow:auto}.intro-page{min-height:680px}.intro-navigation{bottom:35px}.skip-intro{bottom:3px}.intro-page{padding-top:55px;padding-bottom:120px;align-items:flex-start}.intro-card{padding-top:20px}.intro-couple-page .intro-card{padding-top:35px}.intro-card .eyebrow{font-size:7px}.opening-cover{min-height:600px}.cover-copy{padding-top:62px}.cover-copy h1{font-size:66px;margin:20px 0 15px}.cover-hashtag{font-size:21px;margin-bottom:18px}.seal-button{width:74px;height:74px;font-size:36px}.tap-hint{margin-top:18px}.cover-date{bottom:22px}body.invite-closed{overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.floating-petals{display:none}}

@keyframes main-enter{from{opacity:0}to{opacity:1}}

.event-actions{width:fit-content;max-width:100%;padding:5px 14px;border-radius:24px;background:#fff6e8ed;box-shadow:0 2px 14px #62452d10}.event-art img{-webkit-mask-image:linear-gradient(transparent,#000 24%);mask-image:linear-gradient(transparent,#000 24%);animation:none}.event.visible .event-art img{animation:cover-zoom 2.5s var(--ease) both}
