@font-face{font-family:Gujarati;src:url('assets/NotoSerifGujarati.ttf') format('truetype');font-display:swap}@font-face{font-family:Cormorant;src:url('assets/CormorantGaramond.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#2b1a14;background:#e9e1d6;font-family:Gujarati,serif;font-size:16px;line-height:1.9}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #bf963f;outline-offset:5px}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h2{font-size:31px;color:#a8182e;line-height:1.6}h3{font-size:21px}p+p{margin-top:17px}small,.small{font-size:13px}main{max-width:480px;margin:auto;background:#fbf6ec;box-shadow:0 0 100px #6141251a;overflow:clip;position:relative;min-height:100svh}.topbar{max-width:480px;position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;z-index:20;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;background:#fbf6eced;backdrop-filter:blur(12px);border-bottom:1px solid #c9a24b44;height:55px;font-family:Cormorant,serif}.sample{font-size:11px;letter-spacing:1.6px;color:#855e3c}.topbar>div{display:flex;gap:9px}.topbar button{font-size:14px;min-width:39px;min-height:32px;border:1px solid #c9a24b66;border-radius:20px;padding:0 9px}.topbar #music{font-family:Gujarati;font-size:11px}.eyebrow{display:block;font-family:Cormorant,Gujarati,serif;font-size:12px;letter-spacing:2.2px;color:#986d32;font-weight:600}.cover{position:relative;min-height:100svh;padding:90px 20px 28px;background:#fbf6ec;text-align:center;display:flex;flex-direction:column;justify-content:center}.cover-title{position:relative;z-index:2}.cover h1{display:flex;align-items:center;justify-content:center;gap:16px;font-size:40px;color:#a8182e;line-height:1.8;margin:10px 0}.cover h1 em{font:italic 33px Cormorant;color:#ad853b}.cover-title p{font-size:13px}.envelope{width:100%;position:relative;aspect-ratio:9/12;display:block;padding:0;margin:-10px auto -10px;max-height:65svh}.envelope img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .6s,transform 1s}.envelope .opened{opacity:0}.envelope.is-opening .closed{opacity:0;transform:scale(1.015)}.envelope.is-opening .opened{opacity:1}.tap{position:absolute;left:50%;top:68%;transform:translateX(-50%);white-space:nowrap;font-size:12px;background:#fbf6ecf2;padding:8px 17px;border:1px solid #c9a24b;border-radius:30px;box-shadow:0 5px 22px #43230f12;animation:breathe 2.8s ease-in-out infinite}.is-opening .tap{opacity:0}.cover-foot{font:15px Cormorant;color:#895b3a;letter-spacing:1px}.cover-foot span{padding:0 10px}.section-nav{position:sticky;top:55px;display:flex;justify-content:center;gap:27px;background:#fbf6ecf5;backdrop-filter:blur(10px);z-index:15;padding:12px;font-size:12px;border-bottom:1px solid #c9a24b33}.panel{position:relative;background-image:var(--art);background-size:100% 100%;background-repeat:no-repeat;margin:12px 13px;aspect-ratio:9/16;display:flex;align-items:center;justify-content:center}.panel:after,.event-card:after{content:'GetDigitalKankotri';position:absolute;left:12%;top:77%;font:10px Cormorant;letter-spacing:1px;color:#6d481b45;pointer-events:none;transform:rotate(-22deg);text-shadow:95px -170px #6d481b25,30px -330px #6d481b20}.panel-inner{width:78%;text-align:center;padding:38px 0}.welcome .panel-inner{padding-top:70px}.blessing{font-size:14px;margin-top:25px}.couple{font-size:54px;line-height:1.6;margin-top:15px;display:flex;flex-direction:column}.couple em{font:italic 37px Cormorant;line-height:1;color:#b28739}.gold-rule{display:flex;align-items:center;justify-content:center;gap:12px;color:#b88f42;font-size:14px;margin:23px auto;width:125px}.gold-rule:before,.gold-rule:after{content:'';height:1px;flex:1;background:#c9a24b88}.date-line{font-size:21px;color:#a8182e;margin-top:25px}.micro{font:10px Cormorant;letter-spacing:1.7px;opacity:.6;margin-top:21px}.scroll-cue{display:block;margin-top:20px;color:#a8182e;font-size:23px}.family .panel-inner{padding-top:25px}.family h2{margin:18px 0}.family-block{margin-top:22px}.family-block small{font-size:11px;color:#9c783b;letter-spacing:1px}.family-block h3{font-size:19px;line-height:1.9;margin:6px 0}.family-block span{font-size:13px}.save-date{text-align:center;padding:70px 35px 55px}.save-date h2{margin:10px 0}.save-date>.small{margin-bottom:20px}.scratch-wrap{position:relative;width:100%;aspect-ratio:4/3}.scratch-wrap>img{width:100%;height:100%;display:block}.date-under{position:absolute;inset:17% 13%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fbf6ec;font-size:26px}.date-under strong{font:46px Cormorant}.scratch-wrap canvas{position:absolute;inset:17% 13%;width:74%;height:66%;touch-action:none;border-radius:10px;transition:opacity .5s}.scratch-wrap canvas.done{opacity:0;pointer-events:none}.text-button{display:block;margin:12px auto;color:#8c5c31;font-size:12px;text-decoration:underline;text-underline-offset:4px}.button{border-radius:40px;display:inline-flex;justify-content:center;align-items:center;font-size:13px;min-height:46px;padding:10px 24px;line-height:1.8;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.outline{border:1px solid #b18a45;color:#8e182a;background:#fbf6ec9e}.outline:hover{background:#f3e6ce}.count-label{margin-top:40px;font-size:15px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:20px}.countdown strong{display:block;font:35px Cormorant;color:#a8182e}.countdown small{font-size:10px;color:#926d42}.section-heading{text-align:center;padding:40px 26px 15px}.section-heading h2{margin:10px 0}.section-heading p{font-size:13px}.event-card{margin:18px 22px 30px;border:1px solid #bd954d88;outline:1px solid #bd954d55;outline-offset:5px;position:relative;overflow:hidden;background:#fbf6ec;border-radius:3px;box-shadow:0 5px 25px #73563108;min-height:395px;isolation:isolate}.event-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1}.event-info{text-align:center;padding:25px 25px 155px}.event-number{font:11px Cormorant;letter-spacing:2px;color:#937038}.event-info h3{font-size:26px;color:#a8182e;margin:9px 0 6px}.event-info .event-date{font-size:13px;color:#6d402c}.event-info .event-note{font-size:12px;margin:10px 0}.event-info button{font-size:11px;color:#92622b;text-decoration:underline;text-underline-offset:4px}.verse .panel-inner{padding-bottom:140px;padding-top:5px}.verse h2{margin:18px 0}.poem{white-space:pre-line;font-size:19px;line-height:2.3}.verse h3{font-size:18px;color:#a8182e}.verse small{font-size:11px}.venue .panel-inner{padding-bottom:195px}.venue h2{margin:16px 0 22px}.venue h3{font-size:21px}.venue p{margin:12px 0}.map-ornament{font:52px Cormorant;color:#b58e44;margin:10px}.venue .small{font-size:11px}.venue .button{margin-top:12px}.closing .panel-inner{color:#fbf6ec;width:76%}.closing .eyebrow{color:#e6c78b}.closing h2{display:flex;flex-direction:column;color:#fbf6ec;font-size:48px;margin:22px 0;line-height:1.7}.closing em{font:italic 33px Cormorant;color:#dbb762;line-height:1}.closing p{font-size:14px}.closing .button{width:100%;margin-top:12px}.ivory{color:#a8182e;background:#fbf6ec}.ghost{color:#fbf6ec;border:1px solid #e7c88977}.hashtag{font:16px Cormorant;display:block;margin-top:25px;letter-spacing:1px}.closing:after{color:#fbf6ec45;text-shadow:95px -170px #fbf6ec25,30px -330px #fbf6ec20}footer{text-align:center;padding:35px 22px 45px}footer img{width:44px;height:50px;object-fit:contain}footer p{font:17px Cormorant;margin:9px 0}footer small{font:11px/1.9 Cormorant;color:#89684f}.desktop-note{position:fixed;top:50%;left:max(30px,calc(50% - 650px));width:300px;transform:translateY(-50%);text-align:center;display:none}.desktop-note img{width:76px;height:86px}.desktop-note p{font:16px Cormorant;letter-spacing:3px;margin:22px 0}.desktop-note h2{font:42px/1.3 Cormorant;color:#8b6549}.desktop-note span{display:block;font:11px Cormorant;letter-spacing:2px;margin:30px 0}.desktop-note i{font:italic 17px Cormorant;color:#97775b}#particles{position:fixed;inset:55px max(0px,calc((100vw - 480px)/2)) 0;z-index:18;pointer-events:none;overflow:hidden}.particle{position:absolute;top:-40px;opacity:.8;will-change:transform;animation:fall linear infinite}.particle img{display:block;width:100%;height:auto}.butterfly{position:fixed;width:36px;top:42%;left:calc(50% + 160px);z-index:19;pointer-events:none;animation:butterfly 13s ease-in-out infinite}.butterfly img{width:100%;animation:flutter .7s ease-in-out infinite alternate}.scroll-progress{position:fixed;z-index:30;top:0;left:calc(50% - min(240px,50vw));height:2px;width:min(480px,100vw)}.scroll-progress span{display:block;background:#a8182e;height:100%;width:0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:11px 22px;background:#2b1a14;color:#fbf6ec;z-index:50;opacity:0;transition:.3s;font-size:13px;pointer-events:none;border-radius:30px;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(23px)}.reveal{transition:opacity .8s ease,transform .8s ease}body.en h1,body.en h2,body.en h3{font-family:Cormorant,serif}body.en .couple{font-size:64px}body.en .closing h2{font-size:58px}body.en .event-info h3{font-size:30px}body.en .poem{font-family:Cormorant;font-size:25px;line-height:1.8}body.en .family-block h3{font-size:25px}@keyframes fall{from{transform:translate3d(0,-30px,0) rotate(0)}to{transform:translate3d(55px,105vh,0) rotate(330deg)}}@keyframes breathe{50%{box-shadow:0 0 0 9px #fbf6ec26}}@keyframes flutter{to{transform:scaleX(.5) rotate(5deg)}}@keyframes butterfly{0%,100%{transform:translate(0,0) rotate(-15deg)}35%{transform:translate(-70px,-90px) rotate(10deg)}70%{transform:translate(-30px,100px) rotate(-20deg)}}@media(min-width:1150px){.desktop-note{display:block}body:after{content:'18 · 01 · 2027';position:fixed;right:calc(50% - 540px);top:45%;writing-mode:vertical-rl;font:28px Cormorant;letter-spacing:8px;color:#a686633f}}@media(max-width:380px){h2{font-size:26px}.couple{font-size:43px}.welcome .panel-inner{padding-top:45px}.panel-inner{font-size:13px}.date-line{font-size:18px}.family-block h3{font-size:16px}.family-block{margin-top:10px}.gold-rule{margin:14px auto}.poem{font-size:16px}.event-info h3{font-size:22px}.event-card{min-height:370px}.closing h2{font-size:40px}.venue .panel-inner{padding-bottom:150px}.venue h2{margin-bottom:10px}.venue .map-ornament{margin:0}.verse .panel-inner{padding-bottom:110px}.cover h1{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.particle,.butterfly{display:none}.motion-ready .reveal:not(.visible){opacity:1;transform:none}}
/* Keep source illustration proportions intact. */
.envelope{margin:8px auto 12px}
.event-card img{top:auto;bottom:0;height:auto;aspect-ratio:4/3;object-fit:contain}
[hidden]{display:none!important}
/* Anchor the opening control to the artwork's own proportions. */
.envelope{width:min(100%,45.66svh);aspect-ratio:1051/1496;max-height:none}
.tap{top:76%;max-width:calc(100% - 24px);line-height:1.7}
/* One continuous envelope-to-card scene. */
.opening-stage{width:min(100%,45.66svh);aspect-ratio:1051/1496;position:relative;margin:8px auto 12px;isolation:isolate;perspective:1200px}
.layer-defs{position:absolute;pointer-events:none}
.opening-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.scene-paper{clip-path:url(#paper-cutout);z-index:0}
.envelope-liner{position:absolute;left:7%;right:7%;top:32%;height:39%;background:#a8182e;border:1px solid #c9a24b;z-index:1}
.card-slot{position:absolute;inset:0;z-index:2;clip-path:inset(0 0 28.7% 0);pointer-events:none;overflow:visible}
.envelope-pocket{clip-path:polygon(7% 35%,10% 39%,22% 43%,35% 47%,50% 51.5%,65% 47%,78% 43%,90% 39%,93% 35%,93% 71.3%,7% 71.3%);z-index:3}
.envelope-flap{clip-path:polygon(7% 31.8%,93% 31.8%,92% 39%,85% 43%,70% 48%,50% 54%,30% 48%,15% 43%,8% 39%);transform-origin:50% 31.8%;transition:transform 850ms cubic-bezier(.3,.1,.3,1);z-index:4;backface-visibility:visible}
.envelope-seal{clip-path:ellipse(7.5% 5.7% at 50% 52.6%);transition:opacity .3s,transform .4s;z-index:5}
.envelope-trigger{position:absolute;inset:0;width:100%;height:100%;z-index:6;padding:0}
.envelope-trigger .tap{top:76%;transition:opacity .25s}
.unsealing .envelope-seal{opacity:0;transform:translateY(5px) scale(1.06)}
.unsealing .tap{opacity:0}
.flap-open .envelope-flap{transform:rotateX(-178deg);z-index:1}
.enclosed-card.panel{position:absolute;left:8%;top:34%;width:84%;margin:0;opacity:0;transform-origin:50% 0;pointer-events:none;box-shadow:0 3px 14px #46250c33}
.enclosed-card .panel-inner{font-size:10px;padding:55px 0 20px}
.enclosed-card .couple{font-size:36px}.enclosed-card .date-line{font-size:15px}.enclosed-card .blessing{font-size:11px}.enclosed-card .eyebrow{font-size:8px}.enclosed-card .gold-rule{margin:12px auto}.enclosed-card .micro{font-size:7px}.enclosed-card .scroll-cue{visibility:hidden}
.opening-locked{overflow:hidden}
.cover-title,.cover-foot{transition:opacity .5s}
.invitation-open.cover{display:block;padding:68px 0 14px;min-height:100svh}
.invitation-open>.cover-title,.invitation-open>.cover-foot{display:none}
.invitation-open .opening-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;pointer-events:none;z-index:1}
.departing{opacity:0;transition:opacity .65s}
.expanded-card.panel{position:relative;width:calc(100% - 26px);margin:0 13px;transform-origin:0 0;z-index:2}
.expanded-card .panel-inner{padding-top:70px}
@media(max-width:380px){.enclosed-card .couple{font-size:28px}.enclosed-card .panel-inner{font-size:8px;padding-top:35px}.enclosed-card .blessing{margin-top:12px}.expanded-card .panel-inner{padding-top:45px}}
html{scrollbar-gutter:stable}
.card-slot{clip-path:inset(-80% -2% 28.7% -2%)}
.envelope-flap{clip-path:url(#flap-cutout)}
.cover:has(.card-rising)>.cover-title,.cover:has(.card-rising)>.cover-foot{opacity:0}
/* Fit the completed family invitation while retaining the original separate panels. */
.family{min-height:790px}
.family .panel-inner{padding:90px 0 100px;width:77%}
.family h2{font-size:28px;margin:13px 0}
.family .panel-inner>p:not(.micro){font-size:13px;line-height:2}
.family .family-block{margin-top:20px}
.family .family-block h3{font-size:18px;line-height:1.9}
.family .family-block span{font-size:13px}
.family-connection{font-size:14px;color:#a8182e;margin:17px 0 -5px}
.family .family-invitation{margin-top:24px;text-wrap:pretty}
.family .micro{margin-top:18px}
@media(max-width:380px){.family{min-height:760px}.family .panel-inner{padding:80px 0;width:78%}.family h2{font-size:23px}.family .family-block h3{font-size:16px}.family .panel-inner>p:not(.micro){font-size:12px}}
/* A standalone date card, without reconnecting it to the family frame. */
.save-date{position:relative;isolation:isolate;margin:24px 19px 38px;padding:46px 25px 38px;border:1px solid #c9a24b;border-radius:8px;background:linear-gradient(145deg,#fff8ed,#f8eddc);box-shadow:0 8px 28px #6d422710;outline:1px solid #c9a24b66;outline-offset:5px}
.save-date:before{content:'';position:absolute;inset:7px;border:1px solid #c9a24b55;border-radius:4px;pointer-events:none;z-index:-1}
.save-date>.eyebrow:before,.save-date>.eyebrow:after{content:'✦';font-size:10px;color:#b58b3f;padding:0 10px}
.save-date>.small{margin:8px auto 20px;max-width:95%}
.save-date .scratch-wrap{margin:0 auto 16px}
.save-date #reveal-date{margin:0 auto 16px;min-height:34px;padding:4px 12px}
.save-date #calendar{display:flex;width:100%;max-width:270px;min-height:48px;margin:8px auto 0;border:1px solid #bb9148;background:#a8182e;color:#fff7e9;box-shadow:0 4px 12px #a8182e18;font-size:14px;gap:9px}
.save-date #calendar:before{content:'+';font-family:Cormorant;font-size:23px;line-height:1}
.save-date #calendar:hover{background:#8f1427}
.save-date .count-label{font-size:14px;margin-top:32px;margin-bottom:19px}
/* Compact illustrated tabs with an unmistakable selected state. */
.section-nav{gap:7px;padding:10px 14px;border-bottom:1px solid #c9a24b55;background:#fbf6ecf5;box-shadow:0 4px 16px #57391c06}
.section-nav a{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;border:1px solid #c9a24b66;border-radius:25px;padding:8px 9px;min-height:40px;color:#81552c;background:#fffaf1;transition:color .25s,background .25s,box-shadow .25s,transform .25s;font-size:12px;line-height:1.7}
.section-nav a svg{width:17px;height:17px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.section-nav a:hover{background:#f4e7d2;transform:translateY(-1px)}
.section-nav a.is-active{background:#a8182e;color:#fff4dd;border-color:#a8182e;box-shadow:0 3px 9px #a8182e20}
/* Original split-flap countdown, only the changing unit animates. */
.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 auto;max-width:360px}
.count-unit{min-width:0;text-align:center}
.flip-number{position:relative;height:76px;perspective:500px;border-radius:8px;background:#94172b;box-shadow:0 5px 11px #642b2217,0 0 0 1px #c9a24b70;margin-bottom:10px;font-family:Cormorant,Gujarati,serif;font-variant-numeric:tabular-nums;font-size:43px;line-height:76px;color:#fff1d1}
.flip-number:after{content:'';position:absolute;top:50%;height:1px;left:0;right:0;background:#58201f77;z-index:6;box-shadow:0 1px 0 #f9d88b22;pointer-events:none}
.flip-half{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:#a8182e;backface-visibility:hidden}
.flip-half>span{display:block;position:absolute;left:0;right:0;height:76px;line-height:76px;text-align:center;white-space:nowrap}
.value-top,.fold-top{top:0;border-radius:8px 8px 0 0;background:linear-gradient(#aa2035,#a0192e)}
.value-bottom,.fold-bottom{top:50%;border-radius:0 0 8px 8px;background:linear-gradient(#94172b,#a8182e)}
.value-bottom>span,.fold-bottom>span{top:-100%}
.fold-top{z-index:4;transform-origin:center bottom;visibility:hidden}
.fold-bottom{z-index:5;transform-origin:center top;transform:rotateX(90deg);visibility:hidden}
.is-flipping .fold-top{visibility:visible;animation:foldTop .32s cubic-bezier(.45,0,.8,.5) forwards}
.is-flipping .fold-bottom{visibility:visible;animation:foldBottom .32s .30s cubic-bezier(.2,.5,.45,1) forwards}
.hinge{position:absolute;top:calc(50% - 4px);height:8px;width:3px;border-radius:2px;background:#d5b067;z-index:7;box-shadow:0 0 0 1px #845823}
.hinge.left{left:2px}.hinge.right{right:2px}
.count-unit small{display:block;font-size:10px;line-height:1.7;color:#8b653b;letter-spacing:.3px}
@keyframes foldTop{to{transform:rotateX(-90deg)}}
@keyframes foldBottom{to{transform:rotateX(0)}}
@media(max-width:380px){.save-date{margin-left:17px;margin-right:17px;padding:38px 19px 30px}.section-nav{gap:5px;padding:9px 10px}.section-nav a{font-size:11px;gap:5px;padding:7px 5px}.section-nav a svg{width:15px;height:15px}.countdown{gap:7px}.flip-number{height:66px;font-size:35px;line-height:66px}.flip-half>span{height:66px;line-height:66px}.count-unit small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.fold-top,.fold-bottom{display:none!important}.section-nav a:hover{transform:none}}
/* Shared event layout: one clear text area above the ceremonial illustration. */
.save-date{margin-bottom:22px}
.events .section-heading{padding:12px 24px 6px}
.events .section-heading h2{margin:6px 0}
.events .section-heading .gold-rule{margin:11px auto;width:105px}
.event-card{margin:17px 22px 25px;min-height:0;background:linear-gradient(145deg,#fff5e3,#fbefdb);border:1px solid #bd954d99;outline-offset:4px;box-shadow:0 5px 22px #73563108;border-radius:6px}
.event-card:before{content:'';position:absolute;inset:7px;border:1px solid #c9a24b66;border-radius:3px;pointer-events:none;z-index:2}
.event-card>img{z-index:0;inset:auto 0 0;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;mask-image:linear-gradient(to bottom,transparent 0%,transparent 44%,#000 63%,#000 100%);pointer-events:none}
.event-info{position:relative;z-index:1;padding:22px 23px 153px;display:grid;justify-items:center;grid-template-columns:minmax(0,1fr);row-gap:7px;text-align:center}
.event-number{display:block;font-size:10px;line-height:1.6;letter-spacing:1.5px;max-width:100%}
.event-info h3{display:flex;justify-content:center;align-items:center;min-height:66px;margin:0;max-width:100%;width:100%;font-size:24px;line-height:1.45;text-wrap:balance;overflow-wrap:break-word}
.event-info .event-date{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin:0;min-height:25px;max-width:100%;font-size:13px;line-height:1.8}
.event-date i{font-style:normal;color:#b18a45}.event-date time{white-space:nowrap;font-family:Cormorant,serif;font-size:16px}
.event-info .event-note{display:flex;align-items:center;justify-content:center;min-height:42px;max-width:100%;margin:0;font-size:12px;line-height:1.8;text-wrap:pretty}
.event-info button{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:5px 16px;max-width:100%;font-size:11px;line-height:1.8;border:1px solid #c9a24b88;border-radius:22px;background:#fff8eccc;text-decoration:none;margin:0}
.event-info button:hover{background:#f2e3c9}
.event-card:after{z-index:1;top:60%;left:12%;font-size:9px;opacity:.65;text-shadow:85px -110px #6d481b25}
body.en .event-info h3{font-size:29px;line-height:1.15;min-height:66px}
@media(max-width:380px){.events .section-heading{padding-top:8px}.events .section-heading h2{font-size:27px}.event-card{margin-left:19px;margin-right:19px}.event-info{padding:20px 18px 130px;row-gap:6px}.event-info h3{font-size:21px;min-height:62px}.event-info .event-date{font-size:11px;gap:6px}.event-date time{font-size:14px}.event-info .event-note{font-size:11px;min-height:40px}.event-number{font-size:9px;letter-spacing:1px}body.en .event-info h3{font-size:26px;min-height:62px}}
/* Closing-card typography: expressive names, clear supporting copy. */
@font-face{font-family:Rasa;src:url('assets/Rasa.woff') format('woff');font-weight:300 700;font-display:swap}
@font-face{font-family:GreatVibes;src:url('assets/GreatVibes.woff') format('woff');font-weight:400;font-display:swap}
.closing .panel-inner{width:78%;padding:48px 0}
.closing .eyebrow{font-family:Cormorant,serif;letter-spacing:3px;font-weight:500;color:#e9ce94}
.closing h2{font-family:Rasa,Gujarati,serif;font-weight:350;font-size:76px;line-height:1.1;margin:28px 0 26px;gap:8px;font-synthesis:none}
.closing h2>span{display:block;padding:5px 0;text-shadow:0 2px 8px #65101f18}
.closing h2 em{position:relative;font-family:GreatVibes,Cormorant,serif;font-style:normal;font-size:48px;line-height:1.2;color:#e2bf76;margin:0 auto;width:150px}
.closing h2 em:before,.closing h2 em:after{content:'';position:absolute;top:56%;width:38px;height:1px;background:linear-gradient(90deg,transparent,#e2bf7699)}
.closing h2 em:before{left:0}.closing h2 em:after{right:0;transform:rotate(180deg)}
.closing .panel-inner>p{font-weight:400;font-size:13px;line-height:1.9}
.closing .gold-rule{margin:20px auto}
.closing .hashtag{font-family:Cormorant,serif;font-style:italic;font-size:19px;letter-spacing:.6px;margin-top:23px}
body.en .closing h2{font-family:GreatVibes,Cormorant,serif;font-size:83px;font-weight:400;line-height:1.15;gap:6px}
body.en .closing h2>span{padding:7px 10px}
@media(max-width:380px){.closing .panel-inner{padding:34px 0;width:77%}.closing h2{font-size:62px;gap:5px;margin:22px 0}.closing h2 em{font-size:40px;width:130px}.closing h2 em:before,.closing h2 em:after{width:30px}.closing .panel-inner>p{font-size:12px}.closing .gold-rule{margin:15px auto}.closing .hashtag{font-size:17px;margin-top:18px}.closing .button{font-size:12px;min-height:43px;margin-top:10px}body.en .closing h2{font-size:68px}}
/* Responsive audit: explicit panel widths prevent aspect-ratio minimums clipping on phones. */
.panel{width:calc(100% - 26px);min-width:0}
.cover{padding:76px 20px 20px;overflow-anchor:none}
.opening-stage{width:min(100%,45.66svh,calc((100svh - 285px)*.70254))}
html{scroll-padding-top:132px}
.topbar{padding:5px 14px}
.topbar button{min-height:44px;min-width:44px}
.topbar #music{font-size:12px;min-width:76px}
.section-nav a{min-height:44px}
.event-info button{min-height:44px}
.save-date #reveal-date,footer .text-button{min-height:44px;display:flex;align-items:center;justify-content:center}
.scroll-cue{min-height:44px;min-width:44px;width:44px;margin:14px auto 0}
.topbar button:disabled{opacity:.55;cursor:default}
/* Nine-slice framing preserves the approved decorative artwork on taller text panels. */
.welcome,.family,.verse,.venue,.closing{border:0 solid transparent;border-image-source:var(--art);border-image-repeat:stretch;background-image:none}
.welcome{border-image-slice:240 100 240 100 fill;border-image-width:clamp(65px,22vw,115px) clamp(26px,9vw,48px)}
.family{border-image-slice:300 110 220 110 fill;border-image-width:clamp(88px,28vw,144px) clamp(32px,10vw,53px) clamp(65px,21vw,106px);min-height:0}
.verse{border-image-slice:200 90 430 90 fill;border-image-width:clamp(60px,18vw,96px) clamp(26px,8vw,43px) clamp(130px,40vw,208px)}
.venue{border-image-slice:210 80 550 80 fill;border-image-width:clamp(60px,20vw,100px) clamp(24px,8vw,38px) clamp(158px,51vw,265px)}
.closing{border-image-slice:280 100 240 100 fill;border-image-width:clamp(82px,26vw,135px) clamp(29px,9vw,48px) clamp(70px,22vw,116px)}
.welcome .panel-inner{font-size:clamp(13px,3.6vw,16px);padding:76px 0 68px}
.welcome .couple{font-size:clamp(42px,12vw,54px);line-height:1.45;gap:3px}
.welcome .blessing{margin-top:20px}
.family .family-block h3{line-height:1.7}
body.en .family .family-block h3{font-size:clamp(20px,5.5vw,25px);line-height:1.55}
.closing h2{font-size:clamp(58px,17vw,76px)}
body.en .closing h2{font-size:clamp(64px,18.5vw,83px)}
.enclosed-card.welcome{width:84%;border-image-width:55px 23px}
.enclosed-card.welcome .panel-inner{padding:55px 0 20px;font-size:10px}
.enclosed-card.welcome .couple{font-size:36px;line-height:1.6}
@media(max-width:380px){.sample{font-size:10px;letter-spacing:1.1px}.topbar{padding-left:11px;padding-right:11px}.topbar>div{gap:6px}.welcome .panel-inner{padding:72px 0 62px}.family .panel-inner{padding:92px 0 72px}.family{min-height:0}.closing .panel-inner{padding:68px 0}.enclosed-card.welcome .panel-inner{padding-top:35px;font-size:8px}.enclosed-card.welcome .couple{font-size:28px}}
@media(max-height:600px) and (orientation:landscape){.cover{padding-top:70px}.cover h1{font-size:30px;margin:2px 0}.cover-title .eyebrow{font-size:10px}.cover-title p{font-size:11px}.opening-stage{width:min(68%,calc((100svh - 225px)*.70254));margin-top:5px}.cover-foot{font-size:12px}}
main{container-type:inline-size}
.panel{aspect-ratio:auto;min-height:calc((100cqw - 26px)*16/9)}
.panel.family{min-height:calc((100cqw - 26px)*16/9)}
.enclosed-card.panel{min-height:0;aspect-ratio:9/16}
.flip-number{overflow:hidden}
.event-info .event-note{min-height:44px}

/* Welcoming family stands in the illustrated gateway below the venue details. */
.venue .welcoming-family{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:66%;height:auto;max-height:25%;object-fit:contain;object-position:bottom;pointer-events:none;z-index:1}
.venue .panel-inner{padding-bottom:clamp(180px,57vw,285px)}

/* A compact map card keeps the sample location and its action together. */
.venue .panel-inner{width:82%;padding-top:72px;padding-bottom:clamp(180px,57vw,285px)}
.venue h2{margin:10px 0 22px}
.venue-map-card{overflow:hidden;background:#fbf6ec;border:1px solid #c9a24b88;border-radius:18px;box-shadow:0 8px 25px #7b4e1810}
.venue-map-window{position:relative;aspect-ratio:16/10;background:#f3ead8;border-bottom:1px solid #c9a24b55}
.venue-map-window iframe{display:block;width:100%;height:100%;position:absolute;inset:0;border:0;filter:saturate(.65)}
.venue-map-details{padding:17px 15px 20px}
.venue-map-details #venue-name{font-size:19px;line-height:1.7}
.venue-map-details #venue-note{font-size:11px;margin:5px 0 13px;color:#80633f}
.venue .venue-map-details .button{margin:0;width:100%;min-height:46px;background:#a8182e;color:#fbf6ec;border-color:#a8182e;box-shadow:0 4px 12px #a8182e18}
/* Expressive names, with Gujarati shaping retained as live accessible type. */
.welcome .couple{font-family:Rasa,Gujarati,serif;font-weight:350;font-size:clamp(56px,16vw,72px);line-height:1.25;gap:2px;margin:18px 0}
.welcome .couple>span{padding:5px 7px}
.welcome .couple em{font-family:GreatVibes,Cormorant,serif;font-size:35px;line-height:1.2}
body.en .welcome .couple{font-family:GreatVibes,Cormorant,serif;font-weight:400;font-size:clamp(58px,17vw,78px);line-height:1.2;gap:3px}
.enclosed-card.welcome .couple,body.en .enclosed-card.welcome .couple{font-size:36px;line-height:1.25;margin:8px 0}
.enclosed-card.welcome .couple>span{padding:0 4px}
.enclosed-card.welcome .couple em{font-size:24px}
@media(max-width:380px){.venue .panel-inner{padding-top:65px}.venue-map-details{padding:14px 11px 16px}.venue-map-details #venue-name{font-size:17px}.enclosed-card.welcome .couple,body.en .enclosed-card.welcome .couple{font-size:28px}}

.welcome .wedding-couple{display:block;width:64%;max-width:210px;height:auto;margin:18px auto 6px;object-fit:contain}
.welcome .couple{margin-top:6px}
.enclosed-card.welcome .wedding-couple{width:47%;max-height:120px;margin:6px auto 0}
.enclosed-card.welcome .blessing{margin-top:8px}
.enclosed-card.welcome .panel-inner{padding-top:40px;padding-bottom:20px}
@media(max-width:380px){.enclosed-card.welcome .wedding-couple{max-height:80px}.enclosed-card.welcome .panel-inner{padding-top:30px}}

/* Visible demo attribution; pointer events pass through to all invitation controls. */
.panel:after,.event-card:after,.save-date:after{content:"";position:absolute;inset:0;z-index:8;background:url('assets/sample-watermark.svg') repeat;background-size:240px 190px;pointer-events:none;transform:none;opacity:1;text-shadow:none;border-radius:inherit}
.art-watermark{position:relative;isolation:isolate}
.art-watermark>img{display:block;width:100%;height:auto;max-height:inherit;object-fit:contain}
.art-brand{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%) rotate(-18deg);width:94%;text-align:center;font:600 8px/1.5 Georgia,serif;letter-spacing:1px;color:#fff4dccc;text-shadow:0 1px 2px #542411;pointer-events:none;z-index:2}
.venue .welcoming-family{display:block}
.enclosed-card .art-brand{font-size:5px;letter-spacing:.3px}
@media print{.panel:after,.event-card:after,.save-date:after{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.venue .welcoming-family{height:clamp(125px,44vw,210px);max-height:none}
.venue .welcoming-family>img{height:100%;max-height:100%;object-position:bottom}
