@font-face{font-family:WeddingSerif;src:url('../assets/cormorant.ttf') format('truetype');font-weight:400 700;font-display:swap}@font-face{font-family:WeddingHindi;src:url('../assets/noto-devanagari.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--type-caption:clamp(.875rem,.8rem + .3vw,1.0625rem);--type-label:clamp(.9375rem,.85rem + .35vw,1.125rem);--type-body:clamp(1rem,.9rem + .4vw,1.25rem);--paper:#ffffff;--yellow:#ffce00;--orange:#ff5a00;--wine:#bd123f;--olive:#006b45;--rose:#ff7b47;--border:#d3aa45;--ink:#233326;--move:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font:var(--type-body)/1.6 Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #bd4a20;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:WeddingSerif,Georgia,serif;font-weight:500}h2{font-size:64px;line-height:1.04}img{max-width:100%;display:block}button{border:0}button:disabled{cursor:default;opacity:.45}[lang=hi]{font-family:WeddingHindi,serif;line-height:1.85}.translation{display:block;font-size:max(var(--type-caption),.64em);line-height:1.8;margin-top:.4em;letter-spacing:0}.skip{position:fixed;top:-100px;left:18px;z-index:100;background:var(--wine);color:var(--paper);padding:14px}.skip:focus{top:15px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;z-index:50}.masthead{height:79px;position:sticky;top:0;z-index:20;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--border)}.monogram{text-decoration:none;font:36px WeddingSerif,serif;letter-spacing:-1px;color:var(--wine)}.monogram span{font:13px Arial,sans-serif;color:var(--orange);margin:0 8px;vertical-align:middle}nav{display:flex;gap:35px}nav a{text-decoration:none;font-size:var(--type-caption);text-transform:uppercase;letter-spacing:1.3px}nav .translation{font-size:var(--type-caption);margin:2px 0 0;text-transform:none}.language-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:30px}.language-switch button{background:none;color:var(--olive);font-size:var(--type-caption);min-height:34px;padding:8px 12px;border-radius:25px}.language-switch button[aria-pressed=true]{background:var(--olive);color:var(--paper)}.hero{background:var(--yellow);position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4%;padding:95px 9% 95px;min-height:900px;overflow:hidden;border-bottom:1px solid #c4ad66}.flower-strip{position:absolute;left:0;top:0;width:100%;height:19px;background:url('assets/stock/marigolds-pexels.jpg') center 35%/700px auto;box-shadow:0 3px 0 #d58431}.hero-copy{position:relative;z-index:2;align-self:center;padding-bottom:30px}.eyebrow{font-size:var(--type-caption);text-transform:uppercase;letter-spacing:2.3px;line-height:1.8}.eyebrow .translation{font-size:var(--type-caption)}.hero .eyebrow{color:var(--wine);margin-bottom:28px}.hero .couple-title{font-size:115px;line-height:.85;display:flex;flex-direction:column;align-items:flex-start;color:var(--wine);margin:20px 0 25px;letter-spacing:-3px}.hero .couple-title .translation{font-size:24px;line-height:1.6;margin-top:7px;letter-spacing:0}.hero .couple-title .name-join{font-size:40px;line-height:1;color:var(--orange);margin:8px 0 7px 75px;font-style:italic;letter-spacing:0}.hero-tagline{font:30px/1.18 WeddingSerif,serif;max-width:370px;margin-top:28px}.hero-tagline .translation{font-size:var(--type-body);line-height:1.9;margin-top:9px}.hero-date{font-size:var(--type-label);line-height:1.6;margin:25px 0}.hero-date .translation{font-size:var(--type-label);margin-top:6px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:48px;text-decoration:none;padding:15px 21px;background:var(--wine);color:var(--paper);font-size:var(--type-label);border:1px solid var(--wine);border-radius:2px;transition:background .2s,transform .2s}.button:hover{background:#940830;transform:translateY(-2px)}.button .translation{font-size:var(--type-caption);margin-top:4px}.scroll-note{display:flex;gap:20px;align-items:center;font-size:var(--type-caption);text-decoration:none;margin-top:25px;color:var(--olive)}.scroll-note .translation{font-size:var(--type-caption)}.hero-photos{align-self:center;position:relative;padding:0 0 30px 35px;min-width:0}.motion-photo{--photo-y:0px;--photo-rotation:0deg;transform:translate3d(0,var(--photo-y),0) rotate(var(--photo-rotation));will-change:transform}.main-photo{width:min(100%,380px);margin:0 0 0 auto;background:var(--paper);padding:12px 12px 18px;box-shadow:7px 13px 0 #a88c4d30;--photo-rotation:4deg}.main-photo .photo-button{width:100%;display:block;padding:0;background:none}.main-photo img{width:100%;height:auto;object-fit:contain}.main-photo p{font:italic 21px WeddingSerif,serif;text-align:center;margin-top:13px;color:var(--wine)}.main-photo p .translation{font-style:normal;font-size:var(--type-caption);margin-top:3px}.peek-photo{position:absolute;left:-42px;bottom:20px;width:145px;border:8px solid var(--paper);box-shadow:4px 6px 0 #a88c4d30;background:var(--paper);--photo-rotation:-8deg}.peek-photo img{width:100%;height:auto}.photo-button{cursor:zoom-in;padding:0;background:transparent;border:0}.photo-stamp{position:absolute;right:-24px;top:-37px;border:1px solid var(--wine);border-radius:50%;width:93px;height:93px;background:var(--rose);text-align:center;padding-top:14px;font:25px/.9 WeddingSerif,serif;color:var(--wine);transform:rotate(12deg)}.photo-stamp small{font-size:var(--type-label);line-height:1.6}.hero-end{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:var(--type-caption);letter-spacing:1.5px;text-transform:uppercase;color:#675d37}.hero-end .translation{font-size:var(--type-caption);text-transform:none;line-height:1.6}.invitation{max-width:1200px;margin:auto;padding:105px 70px;display:grid;grid-template-columns:230px 1fr;gap:85px;align-items:start}.ganesha-frame{padding:12px;border:1px solid #b59d66;background:#fff9df;transform:rotate(-3deg)}.ganesha-frame img{width:100%;height:auto}.ganesha-frame p{font:17px/1.5 WeddingSerif,serif;text-align:center;color:var(--wine);margin:16px 0 9px}.ganesha-frame p .translation{font-size:var(--type-label)}.invitation-copy .eyebrow{color:#ac4b2c;margin-bottom:20px}.invitation h2{font-size:58px;color:var(--olive);max-width:590px}.invitation h2 .translation{font-size:24px;line-height:1.7;margin-top:15px}.intro-text{font:23px/1.5 WeddingSerif,serif;margin-top:25px;color:#5d5b45}.intro-text .translation{font-size:var(--type-body);line-height:2;margin-top:16px}.invitation-letter{margin-top:30px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff4c2}.invitation-letter .letter-heading{display:flex;align-items:center;gap:18px;padding:20px;cursor:default;list-style:none;font-size:var(--type-label)}.letter-seal{display:grid;place-items:center;min-width:45px;height:45px;border-radius:50%;background:var(--wine);color:var(--paper);font:16px WeddingSerif,serif}.letter-inside{text-align:center;padding:15px 24px 30px;animation:paper-open .45s ease}.letter-greeting{font-size:var(--type-caption);text-transform:uppercase;letter-spacing:1.7px;color:#7c6e4f}.letter-greeting .translation{font-size:var(--type-caption);text-transform:none}.family h3{font-size:42px;color:var(--wine);margin:19px 0 6px}.family h3 .translation{font-size:19px;margin-top:2px}.family p{font:18px/1.4 WeddingSerif,serif}.family p .translation{font-size:var(--type-label);margin-top:8px}.family-join{font:italic 25px WeddingSerif,serif;color:var(--orange);display:block;margin:15px 0 -5px}.hosts{font:19px/1.6 WeddingSerif,serif;white-space:pre-line}.hosts .translation{font-size:var(--type-label);margin-top:12px}.letter-inside .hosts{border-top:1px solid var(--border);margin-top:28px;padding-top:20px;font-size:17px}.letter-inside .hosts .translation{font-size:var(--type-caption)}.memory-section{height:220vh;background:var(--olive);color:var(--paper);position:relative}.memory-sticky{position:sticky;top:79px;height:calc(100vh - 79px);min-height:660px;padding:45px 0 30px;overflow:hidden}.memory-header{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;padding:0 7% 30px}.memory-header .eyebrow{color:#ead6a2;margin-bottom:10px}.memory-header h2{font-size:58px}.memory-header h2 .translation{font-size:22px;line-height:1.8;margin-top:7px}.gallery-navigation{text-align:right;font-size:var(--type-caption);line-height:1.8;min-width:150px}.gallery-navigation .translation{font-size:var(--type-caption)}.gallery-navigation>div{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.circle-button{width:39px;height:39px;border:1px solid #fff7e870;background:none;color:var(--paper);border-radius:50%;font-size:18px}.circle-button:hover{background:var(--paper);color:var(--olive)}.gallery-viewport{width:100%;overflow-x:auto;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain}.gallery-viewport::-webkit-scrollbar{display:none}.gallery-viewport.dragging{cursor:grabbing;user-select:none}.gallery-track{display:flex;gap:32px;width:max-content;padding:18px 7vw 30px}.gallery-card{width:310px;flex-shrink:0;background:var(--paper);color:var(--ink);padding:9px 9px 13px;transform:rotate(var(--tilt));transition:transform .25s;box-shadow:0 8px 20px #19241140}.gallery-card:nth-child(even){margin-top:25px}.gallery-card button{width:100%;display:block;background:none;padding:0}.gallery-card img{width:100%;height:430px;object-fit:contain;background:#e7decc;user-select:none;-webkit-user-drag:none}.gallery-card figcaption{font:19px/1.3 WeddingSerif,serif;padding:12px 4px 0}.gallery-card figcaption .translation{font-size:var(--type-caption);line-height:1.8;margin-top:5px}.gallery-card:hover{transform:rotate(0deg) translateY(-6px)}.gallery-card figure{margin:0}.memory-footer{display:flex;align-items:center;gap:20px;padding:10px 7% 0;font-size:var(--type-caption);letter-spacing:1px}.memory-footer .translation{font-size:var(--type-caption);letter-spacing:0}.gallery-position{font-size:var(--type-label);min-width:55px}.gallery-meter{flex:1;max-width:350px;height:1px;background:#fff7e84d}.gallery-meter span{display:block;height:2px;background:var(--yellow);width:20%;transition:width .15s}.memory-footer>span:last-child{margin-left:auto;text-align:right}.flower-interlude{height:400px;position:relative;overflow:hidden;background:#ad4c1b;display:grid;place-items:center;text-align:center;color:var(--paper)}.interlude-photo{position:absolute;width:100%;height:135%;top:-17%;object-fit:cover;transform:translateY(var(--flower-y,0));will-change:transform}.flower-interlude:after{content:'';position:absolute;inset:0;background:#60291466}.interlude-copy{position:relative;z-index:1;padding:25px;max-width:850px}.interlude-copy .eyebrow{color:#fff3c9;margin-bottom:20px}.interlude-copy h2{font-size:65px;text-shadow:0 2px 4px #59280644}.interlude-copy h2 .translation{font-size:28px;margin-top:17px}.celebrations{padding:90px 7% 75px;background:#fff1b0}.section-top{text-align:center;max-width:800px;margin:0 auto 35px}.section-top .eyebrow{color:#9a482c;margin-bottom:16px}.section-top h2{color:var(--wine)}.section-top h2 .translation{font-size:26px;margin-top:18px}.section-note{font-size:var(--type-caption);line-height:1.8;margin-top:23px;color:#696149}.section-note .translation{font-size:var(--type-caption);margin-top:8px}.ceremony-tabs{display:flex;justify-content:center;margin:35px auto 30px;gap:10px;max-width:850px}.ceremony-tabs button{flex:1;padding:15px 14px;border:1px solid var(--border);background:none;max-width:185px;color:var(--olive);font-size:var(--type-label);line-height:1.4;transition:background .2s}.ceremony-tabs button .translation{font-size:var(--type-caption);margin-top:5px}.ceremony-tabs button[aria-selected=true]{background:var(--wine);color:var(--paper);border-color:var(--wine)}.ceremony-panels{max-width:1100px;margin:auto}.ceremony-panel{display:grid;grid-template-columns:280px 1fr;background:var(--paper);border:1px solid var(--border);min-height:370px;box-shadow:9px 9px 0 #a4895430;animation:paper-open .35s ease}.ceremony-panel[hidden]{display:none}.ceremony-date{background:var(--wine);color:var(--paper);padding:35px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.ceremony-panel[data-event="0"] .ceremony-date{background:var(--olive)}.ceremony-panel[data-event="1"] .ceremony-date{background:#c35b2c}.ceremony-panel[data-event="3"] .ceremony-date{background:#70545e}.ceremony-date .day{font-size:var(--type-caption);text-transform:uppercase;letter-spacing:1.6px;line-height:1.6}.ceremony-date .day .translation{font-size:var(--type-caption)}.date-number{font:125px/.9 WeddingSerif,serif;letter-spacing:-3px;margin:20px 0 10px;color:var(--yellow)}.ceremony-month{font:25px WeddingSerif,serif}.ceremony-month .translation{font-size:var(--type-body);margin-top:8px}.ceremony-year{font-size:var(--type-caption);letter-spacing:4px;margin-top:15px}.ceremony-date:after{content:'';position:absolute;inset:13px;border:1px solid #fff7e850;pointer-events:none}.ceremony-body{padding:32px 38px}.ceremony-body h3{font-size:34px;color:var(--wine);line-height:1.15;margin-bottom:25px}.ceremony-body h3 .translation{font-size:17px;line-height:1.8;margin-top:10px}.ceremony-body dl{margin:0}.ceremony-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:16px 0;font-size:var(--type-label);line-height:1.5}.ceremony-row .translation{font-size:var(--type-label);margin-top:5px}.ceremony-row dd{margin:0;text-align:right;font-size:var(--type-label);color:#776148}.ceremony-row dd .translation{font-size:var(--type-caption)}.ceremony-place{border-top:1px solid var(--border);font-size:var(--type-caption);letter-spacing:.5px;margin-top:24px;padding-top:16px;color:#845134}.ceremony-place .translation{font-size:var(--type-caption);margin-top:5px}.programme-actions{display:flex;justify-content:center;align-items:center;gap:40px;margin-top:36px}.all-events,.calendar-link{font-size:var(--type-caption);border-bottom:1px solid var(--wine);background:none;padding:0 0 7px;text-decoration:none;color:var(--wine);text-align:center;line-height:1.5}.all-events .translation,.calendar-link .translation{font-size:var(--type-caption);margin-top:4px}.ceremony-panels.all-visible{display:grid;gap:25px}.countdown-section{padding:65px 25px 70px;text-align:center;background:var(--rose);color:var(--wine)}.countdown-section .eyebrow{margin-bottom:18px}.countdown-section h2{font-size:51px}.countdown-section h2 .translation{font-size:24px;margin-top:13px}.countdown{display:flex;align-items:start;justify-content:center;gap:25px;margin-top:35px}.countdown>div{min-width:90px}.countdown [data-count]{font:80px/1 WeddingSerif,serif;font-variant-numeric:tabular-nums}.countdown p{font-size:var(--type-caption);text-transform:uppercase;letter-spacing:2px;margin-top:9px}.countdown p .translation{font-size:var(--type-caption);margin-top:5px;text-transform:none}.countdown-colon{font:50px WeddingSerif,serif;padding-top:9px;color:#a25253}.venue{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:var(--yellow);overflow:hidden}.venue-flower{position:relative;overflow:hidden;min-height:570px}.venue-flower img{width:100%;height:100%;object-fit:cover;position:absolute}.venue-flower:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#50351b99)}.venue-flower>span{position:absolute;bottom:28px;left:35px;z-index:1;color:var(--paper);font:italic 23px WeddingSerif,serif}.venue-flower .translation{font-size:var(--type-label);font-style:normal}.venue-copy{padding:75px 12% 65px;align-self:center}.venue .eyebrow{color:#92512d;margin-bottom:20px}.venue h2{font-size:60px;color:var(--wine);margin-bottom:25px}.venue h2 .translation{font-size:27px;line-height:1.7;margin-top:12px}.venue-address{font:24px/1.45 WeddingSerif,serif;white-space:pre-line}.venue-address .translation{font-size:var(--type-body);line-height:1.9;margin-top:17px}.venue .button{margin-top:28px}.privacy-note{font-size:var(--type-caption);line-height:1.9;margin-top:25px;max-width:350px}.privacy-note .translation{font-size:var(--type-caption);margin-top:8px}.closing{text-align:center;background:var(--wine);color:var(--paper);padding:70px 25px 25px}.closing>.eyebrow{color:#ffec73;margin-bottom:23px}.closing h2{font-size:64px;max-width:720px;margin:0 auto 28px;color:var(--yellow)}.closing h2 .translation{font-size:28px;color:var(--paper);line-height:1.8;margin-top:18px}.closing .hosts{font-size:21px}.closing .hosts .translation{font-size:var(--type-label);margin-top:14px}.signature{display:inline-block;text-decoration:none;font:italic 38px WeddingSerif,WeddingHindi,serif;color:var(--yellow);margin:35px auto 0}.signature span{font:20px Arial,sans-serif;margin-left:18px}.image-credits{max-width:900px;margin:45px auto 0;border-top:1px solid #fff7e830;padding-top:18px;font-size:var(--type-caption);line-height:1.9;color:#d5bab1}.image-credits summary{cursor:pointer;font-size:var(--type-caption);display:list-item;list-style-position:inside}.image-credits summary .translation{display:inline;font-size:var(--type-caption);margin-left:8px}.image-credits p{margin-top:12px}.photo-viewer{max-width:none;max-height:none;width:100vw;height:100dvh;background:#191e16f7;color:var(--paper);border:0;padding:60px 65px 55px;overflow:hidden}.photo-viewer::backdrop{background:#191e16}.photo-viewer[open]{display:grid;place-items:center}.viewer-top{position:absolute;top:16px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:var(--type-caption);letter-spacing:2px}.viewer-close{width:40px;height:40px;background:none;color:var(--paper);font-size:23px}.viewer-image{max-width:100%;max-height:calc(100dvh - 150px);height:auto;width:auto;object-fit:contain}.viewer-prev,.viewer-next{position:absolute;top:47%;width:45px;height:50px;background:#fff7e812;color:var(--paper);font-size:24px}.viewer-prev{left:10px}.viewer-next{right:10px}.viewer-caption{position:absolute;bottom:20px;text-align:center;font:19px WeddingSerif,serif;left:70px;right:70px}.viewer-caption .translation{font-size:var(--type-caption);margin-top:4px}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal.is-visible{opacity:1;transform:none}.motion-ready .ganesha-frame.is-visible{transform:rotate(-3deg)}[data-language=hi] .eyebrow{letter-spacing:0}[data-language=hi] .hero .couple-title{font-size:80px;line-height:1.3;letter-spacing:0}[data-language=hi] .hero .couple-title .name-join{font:17px WeddingHindi,serif;margin:4px 0 0 70px}[data-language=hi] h2{font-size:36px;line-height:1.65}[data-language=hi] .hero-tagline{font-size:22px;line-height:1.8}[data-language=hi] .family h3{font-size:30px}[data-language=hi] .ceremony-body h3{font-size:25px;line-height:1.7}[data-language=en] .hero .couple-title{font-size:137px;line-height:.83;margin:30px 0 32px}[data-language=en] .hero .couple-title .name-join{margin:13px 0 11px 90px}[data-language=en] .hero-tagline{font-size:34px}[data-language=en] .hero-date{font-size:var(--type-body)}
@keyframes paper-open{from{opacity:.4;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{padding-left:15%;padding-right:15%}.gallery-card{width:340px}.gallery-card img{height:460px}.memory-sticky{padding-top:55px}.gallery-track{gap:40px}}
@media(max-height:800px) and (min-width:801px){.memory-sticky{padding-top:25px;min-height:580px}.memory-header h2{font-size:45px}.memory-header{padding-bottom:15px}.gallery-card{width:260px}.gallery-card img{height:330px}.gallery-card figcaption{font-size:17px}.gallery-track{padding-top:10px;padding-bottom:22px}.memory-header h2 .translation{font-size:18px}}
@media(max-width:1050px){.hero{padding:90px 7% 90px;min-height:850px}.hero .couple-title{font-size:99px}[data-language=en] .hero .couple-title{font-size:112px}.hero-photos{padding-left:25px}.main-photo{max-width:320px}.peek-photo{width:115px;left:-23px}.photo-stamp{width:75px;height:75px;font-size:21px;right:-12px;top:-30px;padding-top:10px}.photo-stamp small{font-size:var(--type-caption)}.invitation{grid-template-columns:190px 1fr;gap:45px;padding:80px 45px}.invitation h2{font-size:49px}.intro-text{font-size:21px}.memory-header h2{font-size:50px}.memory-header h2 .translation{font-size:21px}.gallery-card{width:220px}.gallery-card img{height:310px}.ceremony-panel{grid-template-columns:225px 1fr}.ceremony-date{padding:30px}.ceremony-body{padding:30px}.venue-copy{padding:55px 9%}.venue h2{font-size:49px}.venue-address{font-size:22px}}
@media(max-width:800px){html{scroll-padding-top:72px}.masthead{height:70px;padding:0 21px}.masthead nav{display:none}.monogram{font-size:31px}.language-switch button{font-size:var(--type-caption);min-height:33px;padding:7px 10px}.hero{grid-template-columns:1fr;gap:45px;min-height:0;padding:60px 28px 80px}.hero-copy{padding:0;text-align:center}.hero .eyebrow{margin-bottom:23px}.hero .couple-title{font-size:100px;align-items:center;margin:21px 0 26px;line-height:.86}.hero .couple-title .translation{font-size:23px;margin-top:8px}.hero .couple-title .name-join{margin:9px 0 7px;font-size:33px}.hero-tagline{font-size:29px;margin:24px auto 0;max-width:320px}.hero-tagline .translation{font-size:var(--type-body);margin-top:10px}.hero-date{font-size:var(--type-label);margin:23px 0}.hero-date .translation{font-size:var(--type-label)}.button{font-size:var(--type-label)}.scroll-note{justify-content:center;margin-top:22px;font-size:var(--type-caption)}.hero-photos{width:100%;max-width:370px;padding:10px 20px 45px 37px;margin:0 auto}.main-photo{max-width:280px;width:100%;padding:10px 10px 15px}.main-photo p{font-size:21px}.peek-photo{width:111px;left:-2px;bottom:135px;border-width:6px}.photo-stamp{right:-2px;top:-10px;width:71px;height:71px;font-size:20px}.hero-end{bottom:21px;font-size:var(--type-caption);letter-spacing:1px;left:25px;right:25px;align-items:flex-end;gap:15px}.hero-end .translation{font-size:var(--type-caption)}.hero-end>span:last-child{min-width:100px;text-align:right}.invitation{grid-template-columns:1fr;gap:40px;padding:65px 28px}.ganesha-frame{width:188px;justify-self:center;padding:9px}.ganesha-frame p{font-size:var(--type-body);margin-top:12px}.ganesha-frame p .translation{font-size:var(--type-label)}.invitation-copy{text-align:center}.invitation h2{font-size:47px}.invitation h2 .translation{font-size:23px;line-height:1.8;margin-top:17px}.intro-text{font-size:23px;line-height:1.5}.intro-text .translation{font-size:var(--type-body);line-height:2;margin-top:19px}.invitation-letter{text-align:left}.invitation-letter .letter-heading{padding:15px;gap:12px;font-size:var(--type-label)}.letter-inside{padding:12px 17px 26px}.family p{font-size:18px}.family p .translation{font-size:var(--type-label)}.memory-section{height:auto}.memory-sticky{position:relative;top:auto;height:auto;min-height:0;padding:48px 0 30px}.memory-header{padding:0 28px 26px;align-items:center;gap:20px}.memory-header .eyebrow{font-size:var(--type-caption)}.memory-header h2{font-size:42px;max-width:265px}.memory-header h2 .translation{font-size:20px;line-height:1.8}.gallery-navigation{min-width:0}.gallery-navigation>p{display:none}.gallery-navigation>div{gap:6px;margin:0}.circle-button{height:34px;width:34px;font-size:17px}.gallery-track{padding:16px 30px 26px;gap:26px}.gallery-card{width:230px;padding:9px 9px 13px}.gallery-card img{height:326px}.gallery-card figcaption{font-size:20px}.gallery-card figcaption .translation{font-size:var(--type-caption)}.memory-footer{padding:12px 28px 0;gap:14px}.memory-footer>span:last-child{font-size:var(--type-caption);max-width:140px;letter-spacing:.2px}.memory-footer>span:last-child .translation{font-size:var(--type-caption)}.gallery-meter{max-width:180px}.flower-interlude{height:340px}.interlude-copy{padding:30px}.interlude-copy h2{font-size:47px;line-height:1.12}.interlude-copy h2 .translation{font-size:23px;line-height:1.8}.interlude-copy .eyebrow{font-size:var(--type-caption);margin-bottom:20px}.celebrations{padding:60px 24px 55px}.section-top h2{font-size:47px}.section-top h2 .translation{font-size:23px;line-height:1.8}.section-note{font-size:var(--type-caption);margin-top:22px}.section-note .translation{font-size:var(--type-caption)}.ceremony-tabs{gap:6px;margin:28px auto 25px}.ceremony-tabs button{font-size:var(--type-caption);min-width:0;padding:12px 6px}.ceremony-tabs button .translation{font-size:var(--type-caption);line-height:1.8}.ceremony-panel{grid-template-columns:1fr;min-height:0;box-shadow:6px 6px 0 #a4895425}.ceremony-date{padding:23px 25px;display:grid;grid-template-columns:80px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 19px}.ceremony-date .day{grid-column:2;grid-row:1;font-size:var(--type-caption);letter-spacing:1.2px;align-self:end}.ceremony-date .day .translation{display:inline-block;font-size:var(--type-caption);margin-left:8px;margin-top:0}.date-number{font-size:88px;grid-row:1/3;grid-column:1;margin:0;line-height:1}.ceremony-month{font-size:25px;grid-column:2;grid-row:2;align-self:start;margin-top:4px}.ceremony-month .translation{display:inline-block;font-size:var(--type-body);margin-top:0;margin-left:8px}.ceremony-year{position:absolute;right:27px;top:28px;font-size:var(--type-caption);letter-spacing:2px;margin-top:0}.ceremony-date:after{inset:9px}.ceremony-body{padding:25px 23px}.ceremony-body h3{font-size:31px;line-height:1.15;margin-bottom:23px}.ceremony-body h3 .translation{font-size:var(--type-body);margin-top:12px}.ceremony-row{font-size:var(--type-label);gap:15px;margin:18px 0;grid-template-columns:1fr 1fr}.ceremony-row dd{font-size:var(--type-caption);line-height:1.6}.ceremony-row .translation{font-size:var(--type-label)}.ceremony-row dd .translation{font-size:var(--type-caption)}.ceremony-place{font-size:var(--type-caption)}.ceremony-place .translation{font-size:var(--type-caption)}.programme-actions{gap:24px;align-items:start;margin-top:32px}.all-events,.calendar-link{font-size:var(--type-caption);flex:1;line-height:1.7}.all-events .translation,.calendar-link .translation{font-size:var(--type-caption)}.countdown-section{padding:55px 23px}.countdown-section h2{font-size:45px}.countdown-section h2 .translation{font-size:22px;line-height:1.8}.countdown{gap:12px;margin-top:30px}.countdown>div{min-width:70px}.countdown [data-count]{font-size:64px}.countdown-colon{font-size:40px;padding-top:8px}.countdown p{font-size:var(--type-caption);letter-spacing:1.3px}.countdown p .translation{font-size:var(--type-caption)}.venue{grid-template-columns:1fr;min-height:0}.venue-flower{min-height:265px;height:265px}.venue-flower img{object-position:center 45%}.venue-flower>span{left:27px;bottom:23px;font-size:22px}.venue-flower .translation{font-size:var(--type-label)}.venue-copy{padding:48px 29px 55px;text-align:center}.venue h2{font-size:49px}.venue h2 .translation{font-size:25px}.venue-address{font-size:23px}.venue-address .translation{font-size:var(--type-body);line-height:1.95}.privacy-note{margin:25px auto 0;font-size:var(--type-caption)}.closing{padding:55px 25px 23px}.closing h2{font-size:47px}.closing h2 .translation{font-size:23px;line-height:1.85}.closing .hosts{font-size:20px}.closing .hosts .translation{font-size:var(--type-label)}.signature{font-size:35px}.image-credits{font-size:var(--type-caption);margin-top:35px}.image-credits summary .translation{font-size:var(--type-caption)}.photo-viewer{padding:65px 41px 65px}.viewer-image{max-height:calc(100dvh - 150px)}.viewer-top{left:18px;right:14px}.viewer-prev,.viewer-next{width:32px;font-size:21px}.viewer-prev{left:3px}.viewer-next{right:3px}.viewer-caption{left:40px;right:40px;font-size:18px;bottom:18px}.viewer-caption .translation{font-size:var(--type-caption)}[data-language=hi] .hero .couple-title{font-size:72px;line-height:1.3}[data-language=hi] .hero .couple-title .name-join{margin:4px 0;font-size:17px}[data-language=hi] .hero-tagline{font-size:23px}[data-language=hi] h2{font-size:30px}[data-language=hi] .ceremony-body h3{font-size:23px}[data-language=en] .hero .couple-title{font-size:113px;line-height:.85;margin:26px 0}[data-language=en] .hero .couple-title .name-join{margin:10px 0;font-size:36px}[data-language=en] .hero-tagline{font-size:31px}.motion-photo{will-change:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-photo{transform:rotate(var(--photo-rotation))!important}.motion-ready .reveal{opacity:1;transform:none}.memory-section{height:auto}.memory-sticky{position:relative;top:auto;height:auto;min-height:0}.interlude-photo{transform:none!important}}
@media(max-width:800px){.hero{display:flex;flex-direction:column;align-items:center;gap:0;padding:51px 25px 77px}.hero-copy{display:contents}.hero .eyebrow{order:1;text-align:center;margin:0 0 22px}.hero .couple-title,[data-language=en] .hero .couple-title{order:2;flex-direction:row;justify-content:center;align-items:center;gap:7px;letter-spacing:-1.5px;font-size:clamp(49px,14vw,62px);line-height:1;margin:0 0 38px;width:100%}.hero .couple-title .translation{font-size:18px;line-height:1.7;margin-top:7px;letter-spacing:0}.hero .couple-title .name-join,[data-language=en] .hero .couple-title .name-join{font-size:24px;margin:0 2px;line-height:1}.hero-photos{order:3;width:310px;max-width:100%;padding:0 15px 22px 25px;margin:0 auto}.main-photo{max-width:255px}.main-photo p{font-size:20px}.main-photo p .translation{font-size:var(--type-caption)}.peek-photo{width:100px;left:-2px;bottom:120px}.photo-stamp{right:0;top:-17px;width:65px;height:65px;font-size:18px;padding-top:9px}.photo-stamp small{font-size:var(--type-caption)}.hero-tagline,[data-language=en] .hero-tagline{order:4;text-align:center;font-size:27px;line-height:1.15;margin:19px auto 0;max-width:340px}.hero-tagline .translation{font-size:var(--type-label);line-height:1.9;margin-top:9px}.hero-date,[data-language=en] .hero-date{order:5;text-align:center;font-size:var(--type-label);margin:20px 0}.hero-date .translation{font-size:var(--type-label)}.hero .button{order:6}.hero .scroll-note{order:7;margin-top:21px}.hero-end{bottom:20px}[data-language=hi] .hero .couple-title{font-size:40px;letter-spacing:0;line-height:1.6;gap:14px;margin-bottom:35px}[data-language=hi] .hero .couple-title .name-join{font:14px WeddingHindi,serif;margin:0}[data-language=hi] .hero-tagline{font-size:21px;line-height:1.9}}

/* Vivid palette: saturated colour fields and crisp photo mounts. */
.hero{background:linear-gradient(125deg,#ffdf00 0%,#ffce00 62%,#ffae00 100%);border-bottom-color:#ef8c00}.main-photo,.peek-photo{background:#fff;border-color:#fff;box-shadow:7px 10px 0 #ec8b1260}.main-photo{border:1px solid #fff}.masthead{background:#fff}.photo-stamp{background:#ff5400;color:#fff;border-color:#fff}.hero .eyebrow,.hero-end{color:#7f1735}.hero .couple-title{color:#b80737}.hero .couple-title .name-join{color:#e74200}.scroll-note{color:#16452d}.invitation{background:#fff}.ganesha-frame{background:#fff9df;border:2px solid #ffbd00;box-shadow:6px 6px 0 #ffce0040}.invitation-letter{border-color:#f2c64a}.memory-section{background:#006b45}.memory-header .eyebrow{color:#ffe24f}.gallery-card{background:#fff;box-shadow:0 9px 18px #003b3938}.gallery-card img{background:#fff}.flower-interlude:after{background:#6b260638}.ceremony-date{background:#bd123f}.ceremony-panel[data-event="0"] .ceremony-date{background:#00794b}.ceremony-panel[data-event="1"] .ceremony-date{background:#bf4300}.ceremony-panel[data-event="3"] .ceremony-date{background:#7334aa}.ceremony-body{background:#fff}.ceremony-body h3{color:#b80c3a}.countdown-section{background:#ff673d;color:#44182d}.countdown-colon{color:#963b35}.venue{background:#ffce00}.closing{background:#b40a3c}.closing>.eyebrow{color:#ffe665}.image-credits{color:#ffe0dc}.ganesha-frame[data-art="minimal"],.ganesha-frame[data-art="classic"],.ganesha-frame[data-art="colour"]{transform:none;background:#fff;border-color:#ffba00}.ganesha-frame[data-art="minimal"]>img{height:250px;object-fit:contain}.ganesha-frame[data-art="classic"]>img{height:250px;object-fit:contain}.ganesha-frame[data-art="colour"]>img{height:230px;object-fit:contain}.ganesha-frame[data-art="print"]{width:280px;max-width:100%}.ganesha-frame[data-art="print"]>img{height:auto;object-fit:contain}
