/* A lively, locally drawn invitation; every scene can grow with its content. */
.hero{background-color:#fff2d6;background-image:radial-gradient(ellipse at 50% 44%,#fffdf2 0%,#fff5dc 43%,transparent 72%)}
.hero-art{filter:drop-shadow(0 8px 0 #c839320b);animation:medallion-breathe 9s ease-in-out infinite}
.hero-rule::before,.hero-rule::after{width:clamp(45px,8vw,90px)}
.invocation{background-color:#fff8e8}
.deity-art{position:relative;isolation:isolate}
.deity-art::before{content:"";position:absolute;inset:12% 10%;z-index:-1;border-radius:50%;background:radial-gradient(circle,#f4d78370,transparent 70%)}
.deity-art img{animation:blessing-breathe 10s ease-in-out infinite;transform-origin:center 80%}
.invitation{background-color:#fdf2d9}
.invitation-grid{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:clamp(34px,6vw,80px)}
.invitation-copy .tree-art{margin-bottom:14px}
.invitation-next{display:inline-flex;gap:12px;align-items:center;margin-top:22px;min-height:44px;text-decoration:none;border-bottom:1px solid #38714b99;color:#315f42;font-size:11px;text-transform:uppercase;letter-spacing:.11em}
.invitation-next span{font-size:19px}
.vows-inset{position:relative;text-align:center;padding:26px clamp(18px,3vw,36px);background:#fff7e4;border:2px solid #38714b;outline:1px solid #38714b;outline-offset:5px;box-shadow:10px 10px 0 #e5b13a30}
.vows-inset::before,.vows-inset::after{content:"✦";position:absolute;color:#c83932;font-size:16px;top:12px}.vows-inset::before{left:16px}.vows-inset::after{right:16px}
.vows-inset .eyebrow{font-size:9px;letter-spacing:.15em}
.vows-art{width:min(100%,355px);height:auto;margin:8px auto 0;animation:vows-sway 12s ease-in-out infinite;transform-origin:50% 60%}
.vows-quote{font:italic clamp(27px,2.8vw,34px)/1.13 var(--serif);color:#315f42;margin:2px 0 14px}
.vows-dots{display:flex;justify-content:center;align-items:center;gap:10px}.vows-dots i{width:6px;height:6px;background:#c83932;transform:rotate(45deg)}.vows-dots i:nth-child(2n){background:#e5b13a}.vows-dots i:nth-child(3n){background:#38714b}
.celebrations{background-color:#f8e8c6}.celebration-card{box-shadow:8px 8px 0 #cfaa5b24;transition:transform .25s ease,box-shadow .25s ease}
@media(hover:hover){.celebration-card:hover{transform:translateY(-4px);box-shadow:10px 13px 0 #cfaa5b24}}
.celebration-card .tableau img{animation:tableau-breathe 11s ease-in-out infinite}.celebration-card.mehendi .tableau img{animation-delay:-5s}
.wedding{background-color:#fff4df}.wedding-art{animation:tableau-breathe 14s ease-in-out infinite}
.wedding-events article{border-top:2px solid #c8393255;padding-top:18px}
.directions{background-color:#f6edda}.location-card{box-shadow:6px 6px 0 #283e7514}.map-surface{background-color:#f8efd9}
.blessing{background-color:#fff1d6}.closing-art{animation:tableau-breathe 14s ease-in-out infinite}
@keyframes medallion-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}
@keyframes blessing-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes vows-sway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}
@keyframes tableau-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:1000px){.invitation-grid{grid-template-columns:1fr;max-width:600px;gap:32px}.vows-inset{width:min(100%,400px);justify-self:center}.vows-art{width:min(100%,300px)}}
@media(max-width:700px){.vows-inset{padding:23px 18px;box-shadow:6px 6px 0 #e5b13a30}.vows-art{width:min(100%,270px)}.vows-quote{font-size:29px}.invitation-next{margin-top:15px}.celebration-card{box-shadow:5px 5px 0 #cfaa5b24}.wedding-events article{border-top:0}.wedding-events article+article{border-top:1px solid #c8393240}}
@media(prefers-reduced-motion:reduce){.hero-art,.deity-art img,.vows-art,.celebration-card .tableau img,.wedding-art,.closing-art{animation:none!important}.celebration-card{transition:none}}
/* Patterned parchment and the original medallion, now with peacock companions. */
.hero{background-color:#f4dfb4;background-image:url('assets/hero-paper.svg'),radial-gradient(ellipse at 50% 43%,#fff7df 0%,#f9e7c2 55%,#efd3a1 100%);background-size:180px 180px,cover}
.hero::before{content:"";position:absolute;inset:clamp(16px,2.4vw,32px) clamp(45px,5vw,78px);z-index:0;pointer-events:none;border:1px solid #ba744d60;outline:1px solid #ba744d32;outline-offset:6px}
.hero-content,.scene-footnote{z-index:1}
.masthead{justify-content:space-between}
@media(max-width:700px){.hero{background-size:140px 140px,cover}.hero::before{inset:18px 25px}}

.hero-art{width:min(610px,90vw);max-height:47svh}

/* A ceremonial textile turns behind the still blessing medallion. */
.invocation{overflow:hidden;background:radial-gradient(ellipse at 30% 48%,#fff8e9 0%,#faead0 58%,#f4e0c0 100%)}
.invocation-layout{width:100%;position:relative;z-index:1;gap:clamp(40px,7vw,90px)}
.deity-art{width:min(100%,520px);aspect-ratio:1;display:grid;place-items:center;margin:auto;padding:0}
.deity-art::before{inset:5%;background:radial-gradient(circle,#f3d79180,transparent 70%)}
.blessing-tableau{position:absolute;inset:0;pointer-events:none}
.blessing-sash{position:absolute;inset:-25%;width:150%;height:150%;animation:blessing-orbit 70s linear infinite}
.blessing-disc{position:absolute;inset:17%;border-radius:50%;background:#fff3d9;border:3px solid #a74a35;box-shadow:0 0 0 5px #f3cb72,0 0 0 7px #a94a34,0 0 0 12px #fff1d4,0 4px 22px #87472622}
.blessing-disc::after{content:"";position:absolute;inset:9px;border:2px dotted #ba653c;border-radius:50%}
.deity-art img{position:relative;z-index:1;width:88%;max-height:none;animation:blessing-breathe 10s ease-in-out infinite}
.blessing-motif{position:absolute;width:16%;height:auto;filter:drop-shadow(0 5px 3px #8a4c2c20);animation:blessing-float 6s ease-in-out infinite}
.motif-diya{top:4%;left:2%}.motif-lotus{right:0;top:13%;animation-delay:-2s}.motif-kalash{left:3%;bottom:3%;animation-delay:-4s}
.invocation-copy{position:relative;z-index:2;padding:clamp(18px,2.5vw,32px);background:#fff8ebd9;border:1px solid #bb87553b;box-shadow:0 8px 36px #a8734020}
@keyframes blessing-orbit{to{transform:rotate(360deg)}}
@keyframes blessing-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(3deg)}}
@media(max-width:700px){.invocation{padding-top:62px;padding-bottom:65px}.invocation-layout{gap:8px}.deity-art{width:min(100%,360px)}.blessing-sash{inset:-13%;width:126%;height:126%}.blessing-motif{width:15%}.invocation-copy{padding:18px 16px}.invocation h2{margin-top:7px}.translation{margin-top:15px}.divider{margin:14px auto}}
@media(prefers-reduced-motion:reduce){.blessing-sash,.blessing-motif{animation:none!important}}

/* The cloth extends beyond every edge while its centre turns behind the medallion. */
.invocation{background-color:#f8e8ca;background-image:linear-gradient(110deg,#fff8eaed,#faeacfdc),url('assets/blessing-paper.svg');background-size:auto,160px 160px}
.invocation::before{opacity:.55!important}
.blessing-sash{width:max(230vw,230vh);height:max(230vw,230vh);inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);animation:blessing-full-orbit 90s linear infinite;opacity:.88}
@keyframes blessing-full-orbit{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.invocation-copy{background:#fff8ebed;border:1px solid #ad79544a;box-shadow:0 8px 36px #a8734020,0 0 0 7px #fff4dfb3}
@media(max-width:700px){.blessing-sash{width:max(230vw,230vh);height:max(230vw,230vh);inset:auto;left:50%;top:50%}.invocation-copy{background:#fff8ebf5}}
.deity-art img{width:73%;filter:drop-shadow(0 5px 5px #73472b25)}

/* The blessing is arranged as a centred shrine, with offerings in the margins. */
.invocation{padding:clamp(38px,5vh,60px) max(6vw,28px) 65px;justify-content:center}
.invocation-layout{display:flex;flex-direction:column;align-items:center;gap:0;max-width:900px}
.deity-art{width:clamp(330px,39vh,400px);max-width:100%;flex:none}
.blessing-disc{inset:0;border:0;border-radius:0;background:transparent url('assets/blessing-temple-medallion.svg') center/contain no-repeat;box-shadow:none}
.blessing-disc::after{display:none}
.deity-art img{width:61%;animation:blessing-breathe 10s ease-in-out infinite}
.blessing-sash{width:max(170vw,210vh);height:max(170vw,210vh);opacity:.8}
.blessing-motif{width:17%;z-index:2}
.motif-diya{top:14%;left:-40%;animation-delay:-1s}
.motif-kalash{bottom:5%;left:-34%;animation-delay:-4s}
.motif-modak{top:45%;left:-55%;animation-delay:-3s}
.motif-lotus{top:14%;right:-40%;animation-delay:-2s}
.motif-coconut{bottom:5%;right:-34%;animation-delay:-5s}
.motif-bell{top:45%;right:-55%;animation-delay:-1.5s}
.invocation-copy{width:min(100%,720px);padding:14px 24px 17px;background:#fff9edee;border-color:#c99f6d66;border-radius:45% 45% 3px 3px / 20px 20px 3px 3px}
.invocation h2{font-size:clamp(30px,3.1vw,43px);margin-top:2px;line-height:1.5}
.invocation .transliteration{font-size:22px}
.invocation .divider{margin:8px auto;max-height:22px}
.invocation .mantra{font-size:clamp(16px,1.3vw,19px);line-height:1.9!important}
.invocation .translation{max-width:600px;margin-top:10px;font-size:19px;line-height:1.35}
@media(max-width:700px){.invocation{padding:42px 27px 65px}.invocation-layout{gap:8px}.deity-art{width:min(70vw,320px)}.blessing-sash{width:max(170vw,210vh);height:max(170vw,210vh)}.blessing-motif{width:16%}.motif-diya{left:-20%;top:12%}.motif-modak{left:-25%;top:45%}.motif-kalash{left:-18%;bottom:5%}.motif-lotus{right:-20%;top:12%}.motif-bell{right:-25%;top:45%}.motif-coconut{right:-18%;bottom:5%}.invocation-copy{padding:16px 15px}.invocation h2{font-size:30px}.invocation .translation{font-size:19px}}
@media(prefers-reduced-motion:reduce){.blessing-sash,.blessing-motif{animation:none!important}}
@media(max-width:700px){.motif-diya,.motif-modak,.motif-kalash{left:-7%}.motif-lotus,.motif-bell,.motif-coconut{right:-7%}}

/* Equal space above and below keeps the medallion at the card's centre. */
.invocation{padding:32px max(6vw,28px);justify-content:center}
.invocation-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto 1fr;justify-items:center;align-items:center;gap:0;min-height:calc(100svh - 64px)}
.invocation-intro{align-self:end;text-align:center;position:relative;z-index:2;padding:15px 18px 8px;max-width:100%;background:#fff8e9e8;border-radius:14px}
.invocation-intro h2{margin:0;line-height:1.45}
.invocation-intro .transliteration{font-size:22px}
.deity-art{width:clamp(330px,37vh,390px)}
.invocation-copy{align-self:start;margin-top:4px;padding:12px 24px 16px;border-radius:16px;background:#fff9edf2}
.motif-diya{top:4%;left:-42%}.motif-modak{top:40%;left:-63%}.motif-kalash{bottom:1%;left:-30%}.motif-lotus{top:16%;right:-45%}.motif-bell{top:51%;right:-59%}.motif-coconut{bottom:-5%;right:-25%}
@media(max-width:700px){.invocation{padding:30px 26px}.invocation-layout{min-height:calc(100svh - 60px)}.deity-art{width:min(70vw,310px)}.invocation-intro{padding:12px 10px 5px}.invocation-copy{padding:12px 15px 15px}.motif-diya{left:-7%;top:1%}.motif-modak{left:-9%;top:43%}.motif-kalash{left:0;bottom:-4%}.motif-lotus{right:-4%;top:13%}.motif-bell{right:-9%;top:52%}.motif-coconut{right:2%;bottom:-6%}}
.motif-coconut{bottom:2%}
@media(max-width:700px){.motif-kalash{bottom:1%}.motif-coconut{bottom:2%}}

/* Warm hand-drawn parchment continues the invitation's painted palette. */
.invocation{background-color:#f2ddb8;background-image:url('assets/blessing-paper.svg'),radial-gradient(ellipse at 50% 48%,#fff8e8 0%,#f9e9cd 43%,transparent 78%),linear-gradient(135deg,#efcf9d 0%,#f8e9cb 42%,#eac99c 100%);background-size:180px 180px,cover,cover;background-position:center,center,center}
@media(max-width:700px){.invocation{background-size:140px 140px,cover,cover}}
/* An open square lattice and a quiet kalasha behind the blessing. */
.invocation{background-image:url('assets/blessing-kalash-watermark.svg'),url('assets/blessing-square-lattice.svg'),radial-gradient(ellipse at 50% 48%,#fff8e8 0%,#f9e9cd 43%,transparent 78%),linear-gradient(135deg,#efcf9d 0%,#f8e9cb 42%,#eac99c 100%);background-size:min(85vw,760px) auto,180px 180px,cover,cover;background-position:center center,center,center,center;background-repeat:no-repeat,repeat,no-repeat,no-repeat}
@media(max-width:700px){.invocation{background-size:115vw auto,140px 140px,cover,cover}}
.invocation{background-position:right 4% center,center,center,center;background-size:min(55vw,650px) auto,180px 180px,cover,cover}
@media(max-width:700px){.invocation{background-position:right -20vw center,center,center,center;background-size:115vw auto,140px 140px,cover,cover}}
/* A gentle Mount Kailash-inspired mountain replaces the earlier vessel. */
.invocation{background-image:url('assets/mount-kailash-watermark.svg'),url('assets/blessing-square-lattice.svg'),radial-gradient(ellipse at 50% 48%,#fff8e8 0%,#f9e9cd 43%,transparent 78%),linear-gradient(135deg,#efcf9d 0%,#f8e9cb 42%,#eac99c 100%);background-position:center 65%,center,center,center;background-size:100% auto,180px 180px,cover,cover}
@media(max-width:700px){.invocation{background-position:center 53%,center,center,center;background-size:auto 70%,140px 140px,cover,cover}}
.invocation{background-position:right 4% top 12%,center,center,center;background-size:min(75vw,1100px) auto,180px 180px,cover,cover}
@media(max-width:700px){.invocation{background-position:58% 12%,center,center,center;background-size:auto 58%,140px 140px,cover,cover}}
/* Auspicious words sit like painted seals at the edges of a wide screen. */
.blessing-word{display:none}
@media(min-width:1100px){.blessing-word{display:grid;place-items:center;position:absolute;top:50%;width:clamp(110px,10vw,140px);aspect-ratio:1;border:2px solid #a95e3b;border-radius:50%;color:#963d32;background:#fff2d9e8;box-shadow:0 0 0 5px #e8c895,0 0 0 7px #a95e3b,0 8px 22px #8f623b18;z-index:2;font:500 clamp(26px,2.4vw,34px)/1 'Noto Serif Devanagari',serif}.blessing-word::before{content:"";position:absolute;inset:7px;border:1px dashed #b57949;border-radius:50%}.blessing-word::after{content:"✧  ❀  ✧";position:absolute;bottom:15%;font:12px/1 serif;color:#b7793f;letter-spacing:2px}.blessing-word-shubh{left:-17%;transform:translateY(-69%)}.blessing-word-labh{right:-17%;transform:translateY(-35%)}}
/* Kailash sits softly behind the invitation rather than competing with it. */
.invocation{background-color:#f4e0bd;background-image:url('assets/blessing-square-lattice.svg'),linear-gradient(#faeddaae,#faeddaae),url('assets/kailash-watercolor.png'),linear-gradient(135deg,#efcf9d,#f8e9cb,#eac99c);background-position:center,center,center,center;background-size:180px 180px,cover,cover,cover;background-repeat:repeat,no-repeat,no-repeat,no-repeat}
@media(max-width:700px){.invocation{background-size:140px 140px,cover,cover,cover}}

/* Painted auspicious seals, with a compact arrangement for small screens. */
.blessing-word{display:grid;place-items:center;position:absolute;z-index:3;top:50%;width:clamp(120px,11vw,155px);aspect-ratio:1;border:0;border-radius:0;box-shadow:none;background:transparent url('assets/auspicious-medallion.svg') center/contain no-repeat;color:#8f392f;font:500 clamp(26px,2.4vw,34px)/1 'Noto Serif Devanagari',serif}
.blessing-word::before,.blessing-word::after{display:none}
.blessing-word-shubh{left:-17%;transform:translateY(-69%)}
.blessing-word-labh{right:-17%;transform:translateY(-35%)}
@media(max-width:1099px){.blessing-word{width:clamp(76px,13vw,120px);font-size:clamp(20px,3.2vw,27px);top:5%;transform:none}.blessing-word-shubh{left:4%}.blessing-word-labh{right:4%}}
@media(max-width:700px){.blessing-word{width:76px;font-size:20px;top:5px}.blessing-word-shubh{left:0}.blessing-word-labh{right:0}}
@media(min-width:701px) and (max-width:1099px){.motif-modak{left:-40%}.motif-bell{right:-40%}.motif-diya{left:-34%}.motif-lotus{right:-34%}}

/* A seven-petalled story: two threads meet around a shared flame. */
.invitation{display:flex;align-items:center;overflow:hidden;background-color:#f8e9cc;background-image:url('assets/blessing-square-lattice.svg'),radial-gradient(ellipse at 50% 48%,#fff9eb 4%,#f8e9cb 65%,#ebd1a6 100%);background-size:180px 180px,cover;background-position:center}
.vows-story{width:min(100%,1280px);margin:auto;position:relative;z-index:1;text-align:center}
.vows-story-header{max-width:720px;margin:0 auto clamp(16px,3vh,30px)}
.vows-story-header .eyebrow{color:#637953;margin-bottom:12px}
.vows-story-header h2{font-size:clamp(38px,4.3vw,66px);line-height:1.06;color:#9c4134}
.vows-story-header h2 em{color:#476f4d;font-weight:500}
.vows-story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1.2fr) minmax(0,1fr);gap:clamp(12px,2vw,35px);align-items:center}
.vows-story-copy,.vows-story-details{position:relative;z-index:1;padding:24px 18px}
.vows-story-copy::before,.vows-story-details::before{content:"";display:block;width:70px;height:6px;margin:0 auto 25px;border-block:1px solid #b87942;background:repeating-linear-gradient(90deg,transparent 0 6px,#bd7950 6px 7px)}
.vows-story-copy .invitation-lead{font-size:clamp(20px,2vw,25px);line-height:1.5;color:#594338}
.vows-names{font:500 clamp(35px,3.2vw,49px)/1.12 var(--serif);color:#ac4436;margin-top:20px}.vows-names span{display:inline;color:#497150;font-style:italic}
.vows-story-art{position:relative;isolation:isolate;display:grid;place-items:center}.vows-story-art img{width:min(100%,420px);height:auto;filter:drop-shadow(0 9px 12px #a57e4324);position:relative;z-index:1;animation:vows-sway 14s ease-in-out infinite}
.vows-threads{position:absolute;width:220%;height:auto;max-width:none;overflow:visible;z-index:-1;pointer-events:none}.vows-threads path{fill:none;stroke:#b9804d;stroke-width:1.4;opacity:.38}.vows-threads path+path{stroke:#66805b}
.vows-detail-label{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#547352}.vows-date{font:italic 23px/1.3 var(--serif);color:#725b46;margin-top:15px}.vows-date strong{font-size:26px;font-style:normal;font-weight:500;color:#8d3d34}.vows-detail-divider{font-size:19px;color:#be8b3d;margin:12px 0}.vows-story-details .venue-name{font-size:29px;margin:0}.vows-address{font-size:13px;line-height:1.7;margin-top:6px}.vows-story-details .invitation-next{margin-top:20px}
.vows-story-footer{margin-top:clamp(18px,4vh,38px);font-size:13px;color:#aa5e3c;letter-spacing:.14em}.vows-story-footer span:nth-child(even){color:#a9853c}
@media(max-width:850px){.invitation{padding-top:65px;padding-bottom:65px}.vows-story{max-width:580px}.vows-story-layout{grid-template-columns:1fr;gap:6px}.vows-story-art{grid-row:1}.vows-story-art img{width:min(72vw,330px)}.vows-story-copy,.vows-story-details{padding:8px 12px}.vows-story-copy::before,.vows-story-details::before{margin-bottom:12px}.vows-story-copy .invitation-lead{font-size:21px}.vows-names{font-size:42px;margin-top:8px}.vows-story-details .invitation-next{margin-top:16px}.vows-story-footer{margin-top:20px}.vows-threads{width:160%}}
@media(max-width:380px){.vows-story-header h2{font-size:36px}.vows-names{font-size:37px}}
@media(prefers-reduced-motion:reduce){.vows-story-art img{animation:none!important}}

/* A painted palace arch frames the couple at the heart of their story. */
.invitation{background-image:url('assets/vows-palace-watermark.svg'),url('assets/blessing-square-lattice.svg'),radial-gradient(ellipse at 50% 45%,#fff8e9 5%,#f8e8ca 64%,#ead1a8 100%);background-size:100% auto,180px 180px,cover;background-position:center bottom,center,center;background-repeat:no-repeat,repeat,no-repeat}
.royal-stage{position:relative;z-index:1;width:min(100%,400px);aspect-ratio:600/680;background:url('assets/royal-vows-arch.svg') center/contain no-repeat;display:flex;align-items:flex-end;justify-content:center}
.vows-story-art .royal-couple{width:64%;height:78%;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 3px #865f3626);animation:none;margin-bottom:8%}
.vows-story-footer{position:relative;z-index:2}
@media(max-width:850px){.invitation{background-size:auto 78%,140px 140px,cover}.royal-stage{width:min(82vw,330px)}.vows-story-art .royal-couple{width:64%;height:78%;margin-bottom:8%}}

/* Seven blossoms echo the promises in the central artwork. */
.vows-story-footer{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1vw,15px);margin-top:clamp(12px,2vh,22px);letter-spacing:normal}
.vows-story-footer span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #bd8b52;border-radius:50%;background:#fff5e2;color:#ab4d36;font-size:15px;line-height:1}
.vows-story-footer span:nth-child(even){color:#9a813e}
/* A single painted scene ties the couple and seven lotus motifs together. */
.invitation{background-image:url('assets/blessing-square-lattice.svg'),radial-gradient(ellipse at 50% 45%,#fff8e9 5%,#f8e8ca 64%,#ead1a8 100%);background-size:180px 180px,cover;background-position:center,center;background-repeat:repeat,no-repeat}
.royal-stage{width:min(100%,350px);aspect-ratio:auto;background:none;display:block}
.vows-story-art .royal-couple{display:block;width:100%;height:auto;max-width:100%;margin:0;object-fit:contain;filter:drop-shadow(0 7px 12px #86603928)}
.vows-threads{opacity:.55}
@media(max-width:850px){.invitation{background-size:140px 140px,cover}.royal-stage{width:min(78vw,320px)}.vows-story-art .royal-couple{width:100%;height:auto;margin:0}}
/* The seven lotus emblems are drawn separately to remain evenly spaced. */
.royal-stage{width:min(100%,410px);aspect-ratio:1}
.vows-story-art .seven-lotus-frame{position:absolute;inset:0;width:100%;height:100%;max-width:none;filter:none;animation:none;pointer-events:none}
@media(max-width:850px){.royal-stage{width:min(82vw,350px)}}
.invitation{background-color:#f8e9cb;background-image:url('assets/blessing-square-lattice.svg');background-size:180px 180px;background-position:center;background-repeat:repeat}
.vows-story-art .royal-couple{filter:none}
@media(max-width:850px){.invitation{background-size:140px 140px}}

/* Seven quiet wishes surround the unaltered wedding portrait. */
.invitation{background:#f9edda url('assets/vows-folk-pattern.svg') center/240px 240px repeat}
.vows-story-layout{grid-template-columns:minmax(0,.9fr) minmax(340px,1.35fr) minmax(0,.9fr)}
.vows-story-art{min-width:0;aspect-ratio:1}
.royal-stage{width:72%;max-width:410px}
.vow-accents{position:absolute;inset:0;list-style:none;margin:0;padding:0;pointer-events:none;z-index:3}
.vow-accents li{position:absolute;max-width:95px;padding:3px 5px;color:#70463b;background:#fff6e9ed;border:1px solid #b98b66a8;border-radius:12px;text-align:center;font:italic 13px/1.15 var(--serif);transform:translate(-50%,-50%)}
.vow-accents li:nth-child(1){left:50%;top:3%}.vow-accents li:nth-child(2){left:86%;top:21%}.vow-accents li:nth-child(3){left:94%;top:56%}.vow-accents li:nth-child(4){left:73%;top:89%}.vow-accents li:nth-child(5){left:27%;top:89%}.vow-accents li:nth-child(6){left:6%;top:56%}.vow-accents li:nth-child(7){left:14%;top:21%}
.vows-story-copy,.vows-story-details{background:#fff8e9e8;border:1px solid #b9896045;border-radius:50% 50% 6px 6px / 20px 20px 6px 6px}
@media(max-width:850px){.vows-story-layout{grid-template-columns:minmax(0,1fr)}.vows-story-art{width:min(100%,440px);justify-self:center}.royal-stage{width:72%}.vows-story-copy,.vows-story-details{width:min(100%,450px);justify-self:center;margin-top:10px}}
@media(max-width:480px){.invitation{background-size:190px 190px}.vows-story-art{width:100%}.royal-stage{width:72%}.vow-accents li{max-width:78px;font-size:12px;padding:3px 4px}.vow-accents li:nth-child(2){left:86%}.vow-accents li:nth-child(3){left:92%}.vow-accents li:nth-child(6){left:8%}.vow-accents li:nth-child(7){left:14%}}
.vow-accents li{width:92px;max-width:none;font-size:14px}
.vow-accents li:nth-child(3){left:89%}.vow-accents li:nth-child(6){left:11%}
@media(max-width:480px){.vow-accents li{width:78px;font-size:13px}.vow-accents li:nth-child(3){left:88%}.vow-accents li:nth-child(6){left:12%}}

/* A clear ivory field and a painted edge frame the larger wedding story. */
.invitation{background:#fff4df;padding-block:clamp(42px,5vh,55px)}
.invitation:before{background-image:url('assets/botanical-edge.svg'),url('assets/botanical-edge.svg'),url('assets/vows-border-horizontal.svg'),url('assets/vows-border-horizontal.svg')!important;background-position:left top,right top,left top,left bottom!important;background-size:26px auto,26px auto,160px 28px,160px 28px!important;background-repeat:repeat-y,repeat-y,repeat-x,repeat-x!important;opacity:.72!important}
.invitation:after{display:none}
.vows-story{width:min(100%,1360px)}
.vows-story-header{margin:0 auto 8px}
.vows-story-header .eyebrow{margin-bottom:5px}
.vows-story-header h2{font-size:clamp(38px,3.55vw,53px);line-height:1.02}
.vows-story-layout{grid-template-columns:minmax(0,1fr) minmax(420px,1.65fr) minmax(0,1fr);gap:clamp(18px,2vw,32px)}
.vows-story-copy,.vows-story-details{padding:clamp(24px,2.5vw,35px) clamp(20px,2vw,30px);background:#fff9ed;border:1px solid #b9896060}
.vows-story-copy .invitation-lead{font-size:clamp(21px,1.85vw,27px)}
.vows-names{font-size:clamp(37px,3.15vw,50px)}
.vows-address{font-size:15px}.vows-date{font-size:25px}.vows-date strong{font-size:28px}
.royal-stage{width:73%;max-width:460px}
.vow-accents{counter-reset:vow}
.vow-accents li{counter-increment:vow;display:flex;flex-direction:column;align-items:center;gap:2px;width:120px;max-width:none;border:0;border-radius:0;padding:0;background:none;color:#663b32;font:500 16px/1.05 var(--serif);font-style:normal;text-wrap:balance}
.vow-accents li::before{content:counter(vow);display:grid;place-items:center;width:26px;height:26px;font:600 11px/1 var(--sans);color:#8a3c2f;background:#fff1d6 url('assets/auspicious-medallion.svg') center/contain no-repeat;border:0}
.vow-accents li:nth-child(1){left:50%;top:2%}.vow-accents li:nth-child(2){left:88%;top:22%}.vow-accents li:nth-child(3){left:93%;top:57%}.vow-accents li:nth-child(4){left:73%;top:94%}.vow-accents li:nth-child(5){left:27%;top:94%}.vow-accents li:nth-child(6){left:7%;top:57%}.vow-accents li:nth-child(7){left:12%;top:22%}
.vows-story-footer{display:none}
@media(max-width:1000px){.vows-story-layout{grid-template-columns:minmax(0,1fr);gap:8px}.vows-story-art{width:min(100%,520px)}.royal-stage{width:73%}.vows-story-copy,.vows-story-details{width:min(100%,500px)}.invitation{padding-block:60px}.vows-story-header{margin-bottom:14px}}
@media(max-width:700px){.invitation:before{background-size:12px auto,12px auto,120px 22px,120px 22px!important}.vows-story-layout{gap:8px}.vows-story-art{width:min(100%,440px)}.royal-stage{width:68%}.vow-accents li{width:84px;font-size:14px}.vow-accents li::before{width:24px;height:24px;font-size:10px}.vow-accents li:nth-child(2){left:87%}.vow-accents li:nth-child(3){left:91%}.vow-accents li:nth-child(6){left:9%}.vow-accents li:nth-child(7){left:13%}.vows-story-header h2{font-size:clamp(35px,8.5vw,48px)}.vows-story-copy,.vows-story-details{padding:22px 20px}}
.vow-accents li{width:94px}
.vow-accents li:nth-child(3){left:96%}.vow-accents li:nth-child(6){left:4%}
@media(max-width:700px){.royal-stage{width:62%}.vow-accents li{width:72px}.vow-accents li:nth-child(2){left:89%}.vow-accents li:nth-child(3){left:94%}.vow-accents li:nth-child(6){left:6%}.vow-accents li:nth-child(7){left:11%}}
/* A softly embossed folk garden enriches the invitation's ivory field. */
.invitation{background-color:#fff4df;background-image:url('assets/vows-embossed-garden.svg');background-position:center center;background-size:cover;background-repeat:no-repeat}
@media(max-width:700px){.invitation{background-size:auto 100%;background-position:center center}}
@media(max-width:700px){.invitation{background-size:100% auto;background-position:center 34%}}
/* The vows share a single, quiet circular journey around the portrait. */
.vows-circle-path{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.vows-circle-path circle{fill:none;stroke:#b18150;stroke-width:2;stroke-dasharray:4 9;opacity:.55}
.vows-story-art .vows-walking-couple{position:absolute;z-index:2;left:82%;top:78%;width:47px;height:auto;max-width:none;transform:translate(-50%,-50%);filter:none;animation:none;pointer-events:none}
.vow-accents li{z-index:3}
@media(max-width:700px){.vows-story-art .vows-walking-couple{width:35px;left:82%;top:79%}}
/* Two quiet lights follow the same circular path as the vows. */
.vow-orbit{position:absolute;inset:4.5%;z-index:2;border-radius:50%;pointer-events:none;animation:vow-orbit-clockwise 32s linear infinite}
.vow-orbit span{position:absolute;left:50%;width:6px;height:6px;border-radius:50%;background:#dcae6f;box-shadow:0 0 5px 2px #e4bd7e70;transform:translate(-50%,-50%)}
.vow-orbit span:first-child{top:0}.vow-orbit span:last-child{top:100%}
@keyframes vow-orbit-clockwise{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.vow-orbit{animation:none!important}}
/* The paired lights travel together, like two companions. */
.vow-orbit span{top:0!important;width:5px;height:5px;opacity:.72;box-shadow:0 0 5px 1px currentColor}
.vow-orbit span:first-child{left:calc(50% - 5px);color:#a74842;background:#ba5e55}
.vow-orbit span:last-child{left:calc(50% + 5px);color:#657b9a;background:#7084a1}
.invitation{background-color:#fff4df;background-image:url('assets/vows-garden-canopy.svg');background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-width:700px){.invitation{background-size:100% auto;background-position:center 34%}}
/* A softer path and two companions gently turning together. */
.vows-circle-path circle{stroke:#ae835a;stroke-width:1.5;stroke-dasharray:none;opacity:.3}
.vow-orbit .vow-pair{position:absolute;top:0!important;left:50%!important;width:18px;height:18px;opacity:1;background:none;box-shadow:none;border-radius:0;transform:translate(-50%,-50%);animation:vow-pair-turn 8s linear infinite}
.vow-pair i{position:absolute;top:50%;width:5px;height:5px;border-radius:50%;opacity:.68;transform:translate(-50%,-50%);box-shadow:0 0 4px 1px currentColor}
.vow-pair i:first-child{left:calc(50% - 4px);background:#ba5e55;color:#a74842}.vow-pair i:last-child{left:calc(50% + 4px);background:#7084a1;color:#657b9a}
@keyframes vow-pair-turn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.vow-orbit .vow-pair{animation:none!important}}
@media(max-width:700px){.invitation{background-image:url('assets/vows-mobile-garden.svg'),url('assets/vows-mobile-garden.svg');background-size:100% auto,100% auto;background-position:center top,center bottom;background-repeat:no-repeat,no-repeat}}
.vow-orbit span.vow-pair{background:transparent!important;box-shadow:none!important;opacity:1}

/* Fine warm grain behind the third-card composition. */
.invitation{background-color:#f8ead2;background-image:url('assets/vows-sand-texture.svg');background-size:240px 240px;background-position:center;background-repeat:repeat}
.vow-pair i{opacity:.32;box-shadow:0 0 3px .5px currentColor}
@media(max-width:700px){.invitation{background-image:url('assets/vows-sand-texture.svg');background-size:240px 240px;background-position:center;background-repeat:repeat}.vows-story-copy,.vows-story-details{background-color:#fff9ed;background-image:url('assets/vows-panel-flourish.svg'),url('assets/vows-panel-flourish.svg');background-position:left 8px top 8px,right 8px bottom 8px;background-size:62px 62px;background-repeat:no-repeat;outline:1px solid #bb946c55;outline-offset:-8px;box-shadow:0 6px 18px #a2784714}}
@media(max-width:700px){.vows-story-copy,.vows-story-details{background-position:left 9px bottom 9px,right 9px bottom 9px;background-size:52px 52px}}
/* A soft woven shawl links the portrait and the two invitation panels. */
.vows-story-layout{position:relative}
.vows-shawl{position:absolute;left:0;top:25%;width:100%;height:50%;z-index:0;pointer-events:none;opacity:.31}
.vows-story-copy,.vows-story-details,.vows-story-art{z-index:1}
.invitation{background-color:#f8ead2;background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#f9edd9f2,#f9edd9f2),url('assets/vows-paisley-reference.png');background-size:240px 240px,auto,368px auto;background-position:center;background-repeat:repeat}
@media(max-width:1000px){.vows-shawl{display:none}}
@media(max-width:700px){.invitation{background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#f9edd9f2,#f9edd9f2),url('assets/vows-paisley-reference.png');background-size:240px 240px,auto,368px auto;background-position:center;background-repeat:repeat}}
/* The paisley pattern remains visible beneath a warm ivory veil. */
.invitation{background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#fff3ded9,#fff3ded9),url('assets/vows-paisley-reference.png')}
@media(max-width:700px){.invitation{background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#fff3ded9,#fff3ded9),url('assets/vows-paisley-reference.png')}}
/* A low-relief layer brings out the supplied paisley and folk motifs. */
.invitation{background-image:url('assets/vows-folk-pattern.svg'),url('assets/vows-sand-texture.svg'),linear-gradient(#fff3deba,#fff3deba),url('assets/vows-paisley-reference.png');background-size:240px 240px,240px 240px,auto,368px auto;background-position:center;background-repeat:repeat}
.wallpaper-filter-defs{position:absolute;pointer-events:none}
.vows-wallpaper-relief{position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/vows-paisley-reference.png') center/368px auto repeat;filter:url(#paisley-relief);opacity:.18;mix-blend-mode:multiply}
@media(max-width:700px){.invitation{background-image:url('assets/vows-folk-pattern.svg'),url('assets/vows-sand-texture.svg'),linear-gradient(#fff3deba,#fff3deba),url('assets/vows-paisley-reference.png');background-size:240px 240px,240px 240px,auto,368px auto;background-position:center;background-repeat:repeat}}
.vow-accents li::before{background-color:transparent}
/* Keep the paisley relief without the additional folk-art overlay. */
.invitation{background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#fff3deba,#fff3deba),url('assets/vows-paisley-reference.png');background-size:240px 240px,auto,368px auto}
@media(max-width:700px){.invitation{background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#fff3deba,#fff3deba),url('assets/vows-paisley-reference.png');background-size:240px 240px,auto,368px auto}}
/* The blessing is framed by softly woven drapes. */
.invocation{background-color:#f4e0bd;background-image:url('assets/blessing-drapes.svg'),linear-gradient(#faeddaae,#faeddaae),url('assets/kailash-watercolor.png'),linear-gradient(135deg,#efcf9d,#f8e9cb,#eac99c);background-position:center,center,center,center;background-size:100% 100%,cover,cover,cover;background-repeat:no-repeat}
@media(max-width:700px){.invocation{background-size:100% 100%,cover,cover,cover}}
/* Small painted floral motifs soften the blessing backdrop. */
.invocation{background-color:#f4e0bd;background-image:url('assets/blessing-floral-texture.svg'),linear-gradient(#faeddaae,#faeddaae),url('assets/kailash-watercolor.png'),linear-gradient(135deg,#efcf9d,#f8e9cb,#eac99c);background-position:center,center,center,center;background-size:180px 180px,cover,cover,cover;background-repeat:repeat,no-repeat,no-repeat,no-repeat}
@media(max-width:700px){.invocation{background-size:150px 150px,cover,cover,cover}}

/* Two festivities, painted in turmeric gold and henna green. */
.celebrations{display:flex;align-items:center;overflow:hidden;padding-block:clamp(60px,7vh,88px);background:#f7e9cb url('assets/vows-sand-texture.svg') center/240px 240px repeat}
.festive-inner{width:min(100%,1300px);margin:auto;position:relative;z-index:1}
.festive-heading{text-align:center;margin-bottom:clamp(22px,3vh,34px)}
.festive-heading .eyebrow{color:#526c4a;font-size:10px}.festive-heading h2{font-size:clamp(42px,4.1vw,62px);margin:9px 0 0;color:#a73e33}.festive-flourish{color:#ad7840;font-size:16px;margin-top:8px}
.festive-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.3vw,32px)}
.festive-event{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;position:relative;min-width:0;padding:clamp(18px,2vw,28px);background:#fff8e9;border:1px solid #b49361;outline:1px solid #b4936155;outline-offset:-7px}
.festive-event::before{content:"";position:absolute;left:12px;right:12px;top:10px;height:3px;background:repeating-linear-gradient(90deg,#b67937 0 12px,#e7c77b 12px 18px,#a84b38 18px 23px,#e7c77b 23px 29px)}
.festive-mehendi::before{background:repeating-linear-gradient(90deg,#527850 0 12px,#d5c389 12px 18px,#a84b38 18px 23px,#d5c389 23px 29px)}
.festive-haldi{background-color:#fff6df}.festive-mehendi{background-color:#f5f5e3}
.festive-art img{width:100%;height:auto;filter:drop-shadow(0 5px 4px #9a6e2b18);animation:tableau-breathe 12s ease-in-out infinite}.festive-mehendi .festive-art img{animation-delay:-6s}
.festive-copy{text-align:left;min-width:0}.festive-copy .event-hindi{font-size:16px;color:#a54535}.festive-copy h3{font-size:clamp(39px,3.5vw,52px);color:#98621c;margin:0 0 18px}.festive-mehendi h3{color:#3d6b46}
.festive-date{display:flex;flex-wrap:wrap;gap:5px 14px;align-items:baseline;font-family:var(--serif);font-size:21px;color:#5a4031;line-height:1.35}.festive-date strong{display:block;width:100%;font-size:27px;font-weight:600;color:#994634}
.festive-at{margin-top:15px;padding-top:10px;border-top:1px solid #b78e6255;font-size:13px;line-height:1.6;color:#6a5342}
.festive-residence{width:min(100%,820px);margin:24px auto 0;display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 22px;border-block:1px solid #b18e5a88;text-align:left;color:#614939}.festive-residence-icon{font-size:30px;color:#b4753f}.festive-residence p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#4f7049}.festive-residence address{font-size:13px;line-height:1.55;margin-top:4px}.festive-residence a{margin-left:auto;white-space:nowrap;color:#356346;font-size:12px;text-underline-offset:4px}
@media(max-width:1050px){.festive-event{grid-template-columns:minmax(0,1fr);text-align:center}.festive-art img{width:min(100%,240px);margin:auto}.festive-copy{text-align:center}.festive-date{justify-content:center}.festive-copy h3{margin-bottom:10px}}
@media(max-width:700px){.celebrations{padding:60px 27px 70px}.festive-heading h2{font-size:43px}.festive-heading .eyebrow{line-height:1.7}.festive-events{grid-template-columns:1fr;gap:18px}.festive-event{grid-template-columns:minmax(110px,.85fr) minmax(0,1fr);gap:6px;padding:22px 14px}.festive-copy{text-align:left}.festive-copy .event-hindi{font-size:14px}.festive-copy h3{font-size:38px}.festive-date{justify-content:flex-start;font-size:18px}.festive-date strong{font-size:24px}.festive-at{font-size:12px;margin-top:8px;padding-top:6px}.festive-residence{flex-wrap:wrap;justify-content:flex-start;gap:6px 12px;padding:14px 4px}.festive-residence-icon{font-size:23px}.festive-residence div{flex:1;min-width:0}.festive-residence a{margin-left:35px}.festive-residence address{font-size:12px}}
@media(max-width:360px){.festive-event{grid-template-columns:1fr}.festive-art img{width:180px}.festive-copy{text-align:center}.festive-date{justify-content:center}}
@media(prefers-reduced-motion:reduce){.festive-art img{animation:none!important}}
.celebrations{background-image:url('assets/vows-garden-canopy.svg'),url('assets/vows-sand-texture.svg');background-size:cover,240px 240px;background-position:center,center;background-repeat:no-repeat,repeat}
@media(max-width:700px){.celebrations{background-size:100% auto,240px 240px;background-position:center 13%,center}}

/* Continue the same paisley wallpaper into the celebration and wedding cards. */
.celebrations,.wedding{background-color:#f8ead2;background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#fff3deba,#fff3deba),url('assets/vows-paisley-reference.png');background-size:240px 240px,auto,368px auto;background-position:center;background-repeat:repeat}
@media(max-width:700px){.celebrations,.wedding{background-image:url('assets/vows-sand-texture.svg'),linear-gradient(#fff3deba,#fff3deba),url('assets/vows-paisley-reference.png');background-size:240px 240px,auto,368px auto;background-position:center;background-repeat:repeat}}
/* A quiet backing keeps practical details legible over the richer wallpaper. */
.festive-residence,.wedding-events{background-color:#fff9ede6}
/* Gold mandalas frame a quiet central watermark on warm paper. */
.invitation{background-color:#f9ecd7;background-image:url('assets/vows-mandala-gold.svg'),url('assets/vows-mandala-gold.svg'),url('assets/vows-mandala-watermark.svg'),url('assets/vows-sand-texture.svg');background-size:390px 390px,390px 390px,min(68vw,800px) auto,240px 240px;background-position:center -245px,center calc(100% + 245px),center center,center;background-repeat:no-repeat,no-repeat,no-repeat,repeat}
@media(max-width:700px){.invitation{background-image:url('assets/vows-mandala-gold.svg'),url('assets/vows-mandala-gold.svg'),url('assets/vows-mandala-watermark.svg'),url('assets/vows-sand-texture.svg');background-size:270px 270px,270px 270px,110% auto,240px 240px;background-position:center -170px,center calc(100% + 170px),center 35%,center;background-repeat:no-repeat,no-repeat,no-repeat,repeat}}
.invitation{background-position:center -300px,center calc(100% + 300px),center center,center}
@media(max-width:700px){.invitation{background-position:center -200px,center calc(100% + 200px),center 35%,center}}

/* Layered mandalas turn in place at the beginning and end of the card. */
.invitation{background-image:url('assets/vows-mandala-watermark.svg'),url('assets/vows-sand-texture.svg');background-size:min(68vw,800px) auto,240px 240px;background-position:center center,center;background-repeat:no-repeat,repeat}
.vows-mandala{position:absolute;left:50%;width:390px;aspect-ratio:1;transform:translateX(-50%);pointer-events:none;z-index:0}
.vows-mandala-top{top:-295px}.vows-mandala-bottom{bottom:-295px}
.vows-mandala img{width:100%;height:auto;animation:mandala-turn 80s linear infinite}.vows-mandala-bottom img{animation-direction:reverse}
@keyframes mandala-turn{to{transform:rotate(360deg)}}
.invocation-intro{margin-bottom:8px}.invocation-copy{margin-top:10px}
@media(max-width:700px){.invitation{background-image:url('assets/vows-mandala-watermark.svg'),url('assets/vows-sand-texture.svg');background-size:110% auto,240px 240px;background-position:center 35%,center;background-repeat:no-repeat,repeat}.vows-mandala{width:270px}.vows-mandala-top{top:-200px}.vows-mandala-bottom{bottom:-200px}.invocation-intro{margin-bottom:5px}.invocation-copy{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.vows-mandala img{animation:none!important}}
/* Fine paper fibres and painted folk-art mandalas. */
.invitation{background-color:#f8ead3;background-image:url('assets/vows-mandala-watermark.svg'),url('assets/vows-paper-fibres.svg');background-size:min(68vw,800px) auto,260px 260px;background-position:center center,center;background-repeat:no-repeat,repeat}
@media(max-width:700px){.invitation{background-image:url('assets/vows-mandala-watermark.svg'),url('assets/vows-paper-fibres.svg');background-size:110% auto,260px 260px;background-position:center 35%,center;background-repeat:no-repeat,repeat}}
/* Keep the rotating ornaments in the outer corners, away from the copy. */
.vows-mandala{left:auto;transform:none;width:340px}
.vows-mandala-top{top:-230px;left:-230px}
.vows-mandala-bottom{bottom:-230px;right:-230px}
@media(max-width:700px){.vows-mandala{width:190px}.vows-mandala-top{top:-125px;left:-150px}.vows-mandala-bottom{bottom:-125px;right:-150px}}
/* Seven painted blossoms add an auspicious, non-astrological backdrop. */
.invitation{background-image:url('assets/vows-seven-flowers.svg'),url('assets/vows-paper-fibres.svg');background-size:cover,260px 260px;background-position:center,center;background-repeat:no-repeat,repeat}
.vows-mandala{width:340px}.vows-mandala-top{left:-130px;top:-110px}.vows-mandala-bottom{right:-130px;bottom:-110px}
@media(max-width:700px){.invitation{padding-top:200px;padding-bottom:200px;background-image:url('assets/vows-seven-flowers-mobile.svg'),url('assets/vows-paper-fibres.svg');background-size:100% auto,260px 260px;background-position:center center,center;background-repeat:no-repeat,repeat}.vows-mandala{width:260px;left:50%;right:auto;transform:translateX(-50%)}.vows-mandala-top{top:-85px}.vows-mandala-bottom{bottom:-85px}}
/* Quiet, interweaving lines suggest paths coming together. */
.invitation{background-image:url('assets/vows-paths-of-fate.svg'),url('assets/vows-paper-fibres.svg');background-size:100% 100%,260px 260px;background-position:center;background-repeat:no-repeat,repeat}
@media(max-width:700px){.invitation{padding-top:270px;padding-bottom:270px;background-image:url('assets/vows-paths-of-fate.svg'),url('assets/vows-paper-fibres.svg');background-size:100% 100%,260px 260px;background-position:center;background-repeat:no-repeat,repeat}.vows-mandala{width:220px}.vows-mandala-top{top:24px}.vows-mandala-bottom{bottom:24px}}
/* A quiet veil lets the interwoven cloth remain visible behind the vows. */
.invitation{background-color:#f8ead3;background-image:linear-gradient(#fff3dea8,#fff3dea8),url('assets/vows-interwoven-drapes.png');background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}
@media(max-width:700px){.invitation{background-image:linear-gradient(#fff3dea8,#fff3dea8),url('assets/vows-interwoven-drapes.png');background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}}
.invitation{background-image:linear-gradient(#fff3debf,#fff3debf),url('assets/vows-interwoven-drapes.png')}
@media(max-width:700px){.invitation{background-image:linear-gradient(#fff3debf,#fff3debf),url('assets/vows-interwoven-drapes.png')}}
/* On phones the turning mandalas meet the card edges as half circles. */
@media(max-width:700px){.invitation{padding-top:150px;padding-bottom:150px}.vows-mandala-top{top:-110px}.vows-mandala-bottom{bottom:-110px}}
.invitation{background-image:linear-gradient(#fff3debf,#fff3debf),url('assets/vows-fate-threads.png')}
@media(max-width:700px){.invitation{background-image:linear-gradient(#fff3debf,#fff3debf),url('assets/vows-fate-threads.png')}}

/* Wedding-day information is grouped into three easy-to-scan panels. */
.wedding{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding-block:clamp(55px,6vh,72px)}
.wedding .section-heading{margin-bottom:clamp(10px,2vh,20px)}
.wedding-art{width:min(860px,100%);height:clamp(140px,22vh,205px);margin:0 auto clamp(12px,2vh,20px);object-fit:contain}
.wedding-events{width:min(100%,1180px);grid-template-columns:.85fr 1.15fr 1fr;gap:clamp(15px,2vw,26px);background:transparent;align-items:stretch}
.wedding-events article{padding:22px clamp(15px,2vw,26px);border:1px solid #b49361;border-top:4px solid #bb7049;outline:1px solid #b4936155;outline-offset:-7px;background:#fff9ed;text-align:center}
.wedding-events article+article{border-left:1px solid #b49361}.wedding-events article:nth-child(2){background:#fff4e6}.wedding-events article:nth-child(3){background:#f7f5e6}
.wedding-events h3{font-size:clamp(29px,2.5vw,37px);margin:4px 0 12px}.wedding-events address{font-size:13px;line-height:1.65}.wedding-events article>p:not(.event-hindi):not(.time-badge):not(.venue-name){font-size:14px}
@media(max-width:700px){.wedding{padding:60px 27px 70px}.wedding .section-heading h2{font-size:43px}.wedding-art{width:min(100%,420px);height:auto;max-height:200px;margin:0 auto 20px}.wedding-events{grid-template-columns:1fr;gap:16px}.wedding-events article{padding:21px 18px;border:1px solid #b49361;border-top:4px solid #bb7049}.wedding-events article+article{border-left:1px solid #b49361}.wedding-events h3{font-size:33px}}
.wedding-events{margin:0 auto}

/* Separate painted layers keep the procession moving over a still pavilion. */
.wedding-scene{position:relative;width:min(100%,1200px);height:clamp(190px,30vh,280px);margin:0 auto clamp(12px,2vh,20px);pointer-events:none}
.wedding-scene .baraat-backdrop,.baraat-foreground{position:absolute;bottom:0;height:100%}
.wedding-scene .baraat-backdrop{right:0;width:50%;object-fit:contain;object-position:right bottom}
.baraat-foreground{left:0;width:62%;z-index:1}
.baraat-foreground .baraat-still,.baraat-foreground .baraat-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left bottom}
.baraat-foreground .baraat-video{visibility:hidden}.wedding-scene.has-video .baraat-video{visibility:visible}.wedding-scene.has-video .baraat-still{visibility:hidden}
@media(max-width:700px){.wedding-scene{height:auto;aspect-ratio:2.1/1;margin-bottom:20px}.wedding-scene .baraat-backdrop{width:52%}.baraat-foreground{width:68%}}
@media(prefers-reduced-motion:reduce){.wedding-scene.has-video .baraat-video{visibility:hidden}.wedding-scene.has-video .baraat-still{visibility:visible}}
@media(min-width:701px){.wedding-scene{height:clamp(210px,34vh,315px)}}
/* The moving procession and stationary pavilion share one scene. */
.wedding-scene{width:min(100%,1000px);height:auto;aspect-ratio:1774/887}
.wedding-scene .baraat-backdrop{inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.baraat-foreground{left:0;bottom:0;width:72%;height:72%}
@media(max-width:700px){.wedding-scene{width:100%;height:auto;aspect-ratio:1774/887}.wedding-scene .baraat-backdrop{width:100%;height:100%}.baraat-foreground{width:72%;height:72%}}
/* Keep the scene shallow, with the moving procession in front of a softer pavilion. */
.wedding-scene .baraat-backdrop{opacity:.42}
@media(min-width:701px){.wedding-scene{width:min(100%,940px);height:clamp(180px,29vh,260px);aspect-ratio:auto}.wedding-scene .baraat-backdrop{inset:auto 0 0 auto;width:60%;height:100%;object-position:right bottom}.baraat-foreground{left:0;bottom:0;width:60%;height:100%}}
/* A continuous garden runs beneath the wider procession, which steps in place. */
.wedding-scene{width:min(100%,900px);height:auto;aspect-ratio:3/1}
.wedding-scene .baraat-backdrop{inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:.42}
.baraat-foreground{left:0;bottom:0;width:78%;height:78%}
@media(max-width:700px){.wedding-scene{width:100%;height:auto;aspect-ratio:3/1}.wedding-scene .baraat-backdrop{width:100%;height:100%}.baraat-foreground{width:78%;height:78%}}

/* A grounded procession, with two alternating illustrated walking poses. */
.wedding-scene .baraat-road{position:absolute;left:1.5%;right:1.5%;bottom:4%;height:clamp(3px,.38vw,5px);border-radius:50%;background:#5c5750;opacity:.68;z-index:0}
.baraat-foreground .baraat-step{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left bottom;clip-path:inset(77% 0 0);opacity:0;animation:baraat-steps 1.35s steps(1,end) infinite}
@keyframes baraat-steps{0%,49.99%,100%{opacity:0}50%,99.99%{opacity:1}}
/* The alternate pose replaces the lower legs, rather than overlaying them. */
.baraat-foreground .baraat-still{clip-path:inset(0);animation:baraat-base-step 1.35s steps(1,end) infinite}
@keyframes baraat-base-step{0%,49.99%,100%{clip-path:inset(0)}50%,99.99%{clip-path:inset(0 0 23% 0)}}
.baraat-birds{position:absolute;z-index:2;left:48%;top:0;width:clamp(85px,14%,145px);aspect-ratio:120/68;pointer-events:none}
.baraat-birds svg{display:block;width:100%;height:100%;overflow:visible}
.bird-one{animation:sparrow-flight-one 7s ease-in-out infinite}
.bird-two{animation:sparrow-flight-two 7s ease-in-out infinite}
.sparrow-wing{transform-origin:24px 30px;animation:sparrow-flap .32s ease-in-out infinite alternate}
.bird-two .sparrow-wing{animation-delay:-.15s}
@keyframes sparrow-flap{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@keyframes sparrow-flight-one{0%,100%{transform:translate(2px,9px) rotate(-5deg)}50%{transform:translate(17px,0) rotate(4deg)}}
@keyframes sparrow-flight-two{0%,100%{transform:translate(45px,23px) rotate(-7deg)}50%{transform:translate(57px,10px) rotate(5deg)}}
.motion-offscreen .baraat-step,.motion-offscreen .baraat-still,.motion-offscreen .bird-flight,.motion-offscreen .sparrow-wing{animation-play-state:paused}
@media(max-width:700px){.baraat-birds{left:48%;top:-4%;width:18%;min-width:58px}.wedding-scene .baraat-road{height:3px}}
@media(prefers-reduced-motion:reduce){.baraat-foreground .baraat-still{animation:none;clip-path:none}.baraat-foreground .baraat-step{animation:none;opacity:0}.bird-flight,.sparrow-wing{animation:none}}

/* A quiet marigold glow behind the celebration, with small floral box corners. */
.wedding{background-color:#f8ead2;background-image:linear-gradient(rgba(255,246,224,.83),rgba(255,240,215,.87)),url('assets/wedding-flower-background.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.wedding .vows-wallpaper-relief{display:none}
.wedding-events article{position:relative;padding-inline:clamp(35px,3vw,47px)}
.wedding-events article::before,.wedding-events article::after{content:"";position:absolute;top:7px;width:23px;height:86px;background:url('assets/marigold-string.svg') center top/contain no-repeat;pointer-events:none;opacity:.82}
.wedding-events article::before{left:8px}
.wedding-events article::after{right:8px;transform:scaleX(-1)}
@media(max-width:700px){.wedding{background-position:center;background-size:auto 100%;background-repeat:no-repeat}.wedding-events article{padding-inline:38px}.wedding-events article::before,.wedding-events article::after{width:21px;height:75px}}

/* Fine folk-art trim frames the event details without competing with them. */
.wedding-events article{padding-top:31px;padding-bottom:27px;background-image:url('assets/wedding-box-trim.svg');background-repeat:repeat-x;background-size:112px 18px;background-position:center 9px;box-shadow:0 3px 0 #b5784620,0 7px 18px #97602a12}
.wedding-events article::before,.wedding-events article::after{top:24px;width:27px;height:112px;opacity:.88}
.wedding-events h3::after{content:'';display:block;width:92px;height:13px;margin:9px auto 0;background:url('assets/wedding-box-divider.svg') center/contain no-repeat}
@media(max-width:700px){
 .wedding{background-image:linear-gradient(to bottom,rgba(255,246,225,.98) 0,rgba(255,246,225,.97) 30%,rgba(255,243,218,.89) 56%,rgba(255,240,215,.87) 100%),url('assets/wedding-flower-background.webp')}
 .wedding-events article{padding:32px 38px 27px}
 .wedding-events article::before,.wedding-events article::after{top:24px;width:24px;height:100px}
}
.wedding-events article:nth-child(n){background-image:url('assets/wedding-box-trim.svg');background-repeat:repeat-x;background-size:112px 18px;background-position:center 9px}

/* Peacock-feather folk art sits beneath the original directions layout. */
.directions{background-color:#f6edda;background-image:linear-gradient(rgba(255,247,228,.82),rgba(255,245,222,.82)),url('assets/directions-peacock-folk-background.webp');background-position:center 62%;background-size:cover;background-repeat:no-repeat}
@media(max-width:700px){.directions{background-image:linear-gradient(rgba(255,247,228,.88),rgba(255,245,222,.86)),url('assets/directions-peacock-folk-background.webp');background-position:center;background-size:cover}}
/* A calm title panel and a complete travel card over the peacock artwork. */
.directions .section-heading{width:min(100%,780px);margin:0 auto 28px;padding:16px 24px;background:rgba(255,247,230,.96);border:1px solid #bca67e;outline:1px solid #bca67e55;outline-offset:-6px;box-shadow:0 4px 15px #694b2910}
.directions .section-heading h2{margin-top:6px}
.directions .arrival{max-width:1170px;margin:24px auto 0;padding:22px 24px 20px;background:#fff5df;border:1px solid var(--indigo);outline:1px solid #283e7530;outline-offset:-6px;box-shadow:6px 6px 0 #283e7514}
.directions .arrival>h3{font-family:var(--serif);font-size:29px;color:var(--indigo);font-weight:500;text-align:center;margin:0 0 19px}
.directions .arrival-content{grid-template-columns:1.3fr 1fr 1fr;gap:22px;padding:0}
.directions .arrival-mode{display:flex;align-items:flex-start;gap:12px;min-width:0}
.directions .arrival-mode img{width:58px;height:58px;flex:none}
.directions .arrival-mode h4{font-family:var(--serif);font-size:23px;line-height:1.15;font-weight:500;color:var(--green);margin:0 0 6px}
.directions .arrival-mode p{font-size:13px;line-height:1.8}
.directions .arrival-note{margin:0;padding-top:13px;border-top:1px solid #bca67e66}
@media(max-width:850px){.directions .arrival-content{grid-template-columns:1fr}.directions .arrival-mode{align-items:center}.directions .arrival-mode+.arrival-mode{border-top:1px solid #bca67e55;padding-top:16px}.directions .arrival-note{grid-column:auto}}
@media(max-width:700px){.directions .section-heading{padding:16px 14px}.directions .arrival{padding:22px 18px}.directions .arrival>h3{font-size:27px}.directions .arrival-mode img{width:55px;height:55px}.directions .arrival-mode p{font-size:12px}}

/* A warm, illuminated closing blessing. */
.blessing{background-color:#f8ebd1;background-image:url('assets/blessing-paper.svg'),radial-gradient(ellipse at 50% 46%,#fff9eafa 0%,#f9e7c9ed 57%,#e6c696de 100%);background-size:180px 180px,cover;padding:clamp(55px,6vh,75px) max(7vw,35px) 30px;justify-content:center;overflow:hidden}
.blessing-copy{position:relative;width:min(100%,720px);max-width:720px;padding:clamp(24px,3vw,38px);background:#fff9ecdb;border:1px solid #bf915a;outline:1px solid #b9794a70;outline-offset:-8px;box-shadow:0 8px 28px #94652c17}
.blessing-copy::before,.blessing-copy::after{content:'❋';position:absolute;top:13px;color:#b9713c;font-size:18px;line-height:1}
.blessing-copy::before{left:17px}.blessing-copy::after{right:17px}
.blessing .closing-hindi{color:#416d48;margin-bottom:10px}
.blessing h2{font-size:clamp(42px,4.4vw,62px)}
.blessing .divider{margin:14px auto}
.blessing .hindi-blessing{margin:14px auto}
.blessing .closing-art{width:min(860px,100%);height:auto;max-height:260px;object-fit:contain;margin:12px auto 0;animation:none}
.blessing .signature{margin-top:5px;color:#973d35}
.blessing .art-credit{margin-top:4px}
@media(max-width:700px){.blessing{padding:55px 27px 30px}.blessing-copy{padding:28px 24px}.blessing h2{font-size:clamp(38px,10vw,46px)}.blessing .closing-art{width:100%;min-height:0;height:auto;margin-top:18px}.blessing .signature{margin-top:12px}}

/* The crescent portraits frame the final blessing and its diya illustration. */
.blessing{background-color:#fbf3db;background-image:linear-gradient(rgba(255,248,228,.25),rgba(255,248,228,.25)),url('assets/closing-crescents-folk.webp');background-size:100% auto;background-position:center top;background-repeat:no-repeat}
.blessing-copy{background:#fff9edf2}
@media(max-width:700px){.blessing{background-image:linear-gradient(rgba(255,248,228,.16),rgba(255,248,228,.16)),url('assets/closing-crescents-folk.webp');background-size:100% auto;background-position:center top;padding-top:clamp(150px,48vw,220px)}}

/* A single moonlit garden joins the portraits and lamps into one scene. */
.blessing{min-height:clamp(570px,41vw,850px);padding:32px max(7vw,35px) 24px;justify-content:center;background:#fbf2df url('assets/closing-moonlit-garden.webp') center top/100% auto no-repeat}
.blessing-copy{width:min(36vw,520px);padding:20px 24px;background:#fff9edeF;border-color:#c39a73;outline-color:#b9794a55}
.blessing h2{font-size:clamp(36px,3.3vw,51px)}
.blessing .divider{margin:8px auto}
.blessing .hindi-blessing{margin:10px auto}
.blessing .signature{margin-top:8px;background:#fff9eddf;padding:0 10px;line-height:1.25}
.blessing .art-credit{background:#fff9eddf;padding:0 7px}
@media(max-width:1000px) and (min-width:701px){.blessing-copy{width:43vw;padding:16px}.blessing h2{font-size:37px}}
@media(max-width:700px){.blessing{min-height:100svh;background-size:100% auto;padding:clamp(150px,42vw,215px) 27px 30px;justify-content:flex-start}.blessing-copy{width:100%;padding:26px 24px;background:#fff9edf5}.blessing h2{font-size:clamp(38px,10vw,46px)}.blessing .signature{margin-top:16px}}

/* Let the moonlit portraits recede into a quiet closing page. */
.blessing{min-height:100vh;min-height:100svh;padding:70px max(7vw,35px) 42px;background:radial-gradient(ellipse at center,#fffaf0 0%,#f8eedb 72%,#f3e3c9 100%)}
.blessing::before{content:'';position:absolute;z-index:-1;inset:auto 0;top:50%;transform:translateY(-50%);width:100%;aspect-ratio:1968/800;background:url('assets/closing-moonlit-garden.webp') center/100% 100% no-repeat;opacity:.32;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 70%,transparent);pointer-events:none}
.blessing-copy{width:min(46vw,620px);max-width:620px;padding:30px clamp(25px,3vw,45px);background:radial-gradient(ellipse,#fffaf0 50%,#fffaf0e8 70%,#fffaf000 100%);border:0;outline:0;box-shadow:none}
.blessing-copy::before,.blessing-copy::after{display:none}
.blessing h2{font-size:clamp(43px,4.1vw,58px)}
.blessing .divider{margin:15px auto}
.blessing .hindi-blessing{margin:17px auto}
.blessing .signature,.blessing .art-credit{background:none;padding:0}
.blessing .signature{margin-top:20px}
@media(max-width:1000px) and (min-width:701px){.blessing-copy{width:min(55vw,600px)}}
@media(max-width:700px){
 .blessing{padding:clamp(145px,40vw,190px) 27px 45px;justify-content:flex-start}
 .blessing::before{top:20px;transform:none;opacity:.4;mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 65%,transparent)}
 .blessing-copy{width:min(100%,420px);padding:20px 12px;background:none}
 .blessing h2{font-size:clamp(39px,10vw,46px)}
 .blessing .signature{margin-top:18px}
}
/* A soft floral hanging brings the open space above the final blessing into balance. */
.closing-garland{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(530px,40vw);height:auto;opacity:.52;pointer-events:none}
@media(max-width:700px){.closing-garland{width:min(230px,60vw);opacity:.38;z-index:1}}
@media(min-width:701px){.blessing::after{display:block;content:'';position:absolute;left:50%;right:auto;bottom:8px;width:190px;height:76px;transform:translateX(-50%);border:0;background:url('assets/closing-diya-folk.webp') center/contain no-repeat;opacity:.32;pointer-events:none}}

/* One continuous scene, fading inward towards the closing message. */
.closing-garland{display:none}
.blessing{background:#f9f0df;min-height:100vh;min-height:100svh}
.blessing::before,.blessing::after{content:'';display:block;position:absolute;z-index:-1;top:0;bottom:0;width:42%;height:100%;aspect-ratio:auto;transform:none;opacity:.3;pointer-events:none;border:0;background-image:url('assets/closing-moonlit-garden.webp');background-size:auto 100%;background-repeat:no-repeat}
.blessing::before{left:0;right:auto;background-position:left center;mask-image:linear-gradient(to right,#000 0%,#000 58%,transparent 100%)}
.blessing::after{right:0;left:auto;background-position:right center;mask-image:linear-gradient(to left,#000 0%,#000 58%,transparent 100%)}
.blessing-copy{background:none;width:min(48vw,650px);padding:30px 16px}
@media(max-width:1000px) and (min-width:701px){.blessing-copy{width:54vw}}
@media(max-width:700px){
 .blessing{padding:clamp(150px,41vw,190px) 27px 45px;justify-content:flex-start}
 .blessing::before{top:0;left:0;width:100%;height:auto;aspect-ratio:1968/800;background-size:100% auto;background-position:center top;opacity:.32;mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%)}
 .blessing::after{display:none}
 .blessing-copy{width:min(100%,420px);padding:20px 12px}
}
@media(max-width:700px){.blessing::before{bottom:auto;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 100%)}}
/* Continue the garden softly through the space behind the blessing. */
.closing-center-texture{position:absolute;z-index:-1;inset:0;pointer-events:none;background:url('assets/closing-moonlit-garden.webp') center/cover no-repeat;opacity:.12;mask-image:linear-gradient(to right,transparent 25%,#000 45%,#000 55%,transparent 75%)}
@media(max-width:700px){.closing-center-texture{opacity:.08;mask-image:linear-gradient(to bottom,transparent 15%,#000 40%,#000 80%,transparent)}}
.closing-diya-motif{width:min(270px,55vw);height:auto;margin:8px auto 0;opacity:.58;pointer-events:none}
@media(max-width:700px){.closing-diya-motif{width:min(220px,60vw);margin-top:12px;opacity:.6}}
/* A restrained moving glint across each name. */
.hero h1 .hero-name{font-size:1em;font-style:normal;color:#c83932}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
 .hero h1 .hero-name{color:transparent;background:linear-gradient(105deg,#b52e29 0%,#c83932 42%,#f4cf88 49%,#c83932 56%,#b52e29 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;animation:hero-name-sheen 9s ease-in-out infinite}
 .hero h1 .hero-name:last-child{animation-delay:.45s}
}
@keyframes hero-name-sheen{0%,15%{background-position:100% 0}55%,100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.hero h1 .hero-name{animation:none;background:none;color:#c83932}}
/* Soft folk-art garden framing the opening without covering the monogram. */
.hero{background:#f9edda}
.hero-garden{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-garden::before,.hero-garden::after{content:'';position:absolute;top:0;bottom:0;width:42%;background-image:url('assets/hero-floral-garden.webp');background-size:auto 100%;background-repeat:no-repeat;opacity:.3}
.hero-garden::before{left:0;background-position:left center;mask-image:linear-gradient(to right,#000 0%,#000 38%,transparent 100%)}
.hero-garden::after{right:0;background-position:right center;mask-image:linear-gradient(to left,#000 0%,#000 38%,transparent 100%)}
@media(max-width:700px){.hero-garden::before,.hero-garden::after{width:37%;opacity:.26}}

/* Mount Kailash and the auspicious seals in the invitation's folk-art palette. */
.invocation{background-color:#f8ebd4;background-image:linear-gradient(rgba(255,248,231,.70),rgba(255,247,228,.72)),url('assets/kailash-folk-background.webp');background-size:cover;background-position:center;background-repeat:no-repeat}
.invocation .blessing-word{background-image:url('assets/shubh-labh-folk-frame.svg');color:#913d2f;text-shadow:0 1px #fff8e7}
.invocation .blessing-word-labh{color:#326541}
@media(max-width:700px){.invocation{background-image:linear-gradient(rgba(255,248,231,.76),rgba(255,247,228,.74)),url('assets/kailash-folk-background.webp');background-size:cover;background-position:center}}
/* Floral offering medallions echo the colours of the painted shrine. */
.invocation .blessing-motif{box-sizing:border-box;padding:8px;background:url('assets/shubh-labh-folk-frame.svg') center/contain no-repeat;filter:drop-shadow(0 3px 3px #80552d24)}
@media(max-width:700px){.invocation .blessing-motif{padding:6px}}
.invocation .blessing-disc{display:none}
.invocation .deity-art>img{width:100%;max-height:none;filter:drop-shadow(0 5px 5px #73472b25)}
/* A light petal shower, clipped by script to the opening, invocation and closing cards. */
#invitation-petals{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:8;contain:strict}
@media(prefers-reduced-motion:reduce){#invitation-petals{display:none!important}}

