:root{--cream: #f9efdd;--cream-deep: #f2e1c6;--paper: #fdf6e9;--sand: #f6e8d2;--ink: #3f2f22;--ink-soft: #6b5847;--maroon: #71232f;--maroon-deep: #521823;--gold: #96692f;--gold-soft: #c9a05c;--gold-light: #e3c9a0;--sage: #8b9a74;--rose: #c4717f;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-sans: "Jost", "Helvetica Neue", Arial, sans-serif;--font-script: "Pinyon Script", "Cormorant Garamond", cursive;--font-deva: "Noto Serif Devanagari", "Cormorant Garamond", serif;--ease: cubic-bezier(.22, .61, .36, 1);--gutter: clamp(20px, 5vw, 64px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-weight:300;font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E")}img,svg{display:block;max-width:100%}a{color:inherit}::selection{background:var(--maroon);color:var(--cream)}.shell{width:min(1180px,100% - var(--gutter) * 2);margin-inline:auto}.eyebrow{margin:0;font-family:var(--font-sans);font-size:10.5px;font-weight:400;letter-spacing:.38em;text-transform:uppercase;color:var(--gold)}.eyebrow--light{color:var(--gold-light)}.h-serif{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4.2vw,3.15rem);line-height:1.12;letter-spacing:.005em;margin:0;color:var(--ink)}.h-serif.light{color:var(--paper)}.h-script{font-family:var(--font-script);font-weight:400;font-size:clamp(2.3rem,5.4vw,4rem);line-height:1.18;margin:0 0 .15em;color:var(--maroon)}.h-sub{font-family:var(--font-display);font-style:italic;font-size:clamp(1.15rem,2.1vw,1.55rem);color:var(--ink-soft);margin:0}.shloka{font-family:var(--font-deva);font-size:clamp(.8rem,1.5vw,.95rem);letter-spacing:.16em;color:var(--gold);margin:0 0 .9rem}.shloka--small{color:var(--maroon);opacity:.75}.divider{width:232px;max-width:70%;height:auto;margin:0 auto;color:var(--gold)}.divider--tight{margin:2rem auto 1.6rem;width:180px}.divider--light{color:var(--gold-light);margin:2.2rem 0}.divider--cover{width:260px;margin:0 auto 1.4rem;opacity:.85}.center{text-align:center}.muted{color:var(--ink-soft)}.link{display:inline-block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--maroon);text-decoration:none;border-bottom:1px solid rgba(113,35,47,.35);padding-bottom:3px;transition:border-color .3s var(--ease),color .3s var(--ease)}.link:hover{color:var(--gold);border-color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.9rem;border-radius:999px;border:1px solid transparent;font-family:var(--font-sans);font-size:10.5px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}.btn--solid{background:var(--maroon);border-color:var(--maroon);color:var(--paper);box-shadow:0 10px 24px -18px #521823e6}.btn--solid:hover{background:var(--maroon-deep);border-color:var(--maroon-deep);transform:translateY(-2px);box-shadow:0 16px 30px -18px #521823d9}.btn--ghost{background:transparent;border-color:#3f2f2247;color:var(--ink)}.btn--ghost:hover{border-color:var(--gold);color:var(--maroon);transform:translateY(-2px)}.btn--oncream{background:transparent}.btn--small{padding:.7rem 1.3rem;font-size:9.5px}.btn--wide{width:100%}.btn:disabled{opacity:.6;cursor:default;transform:none}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 95% at 50% 0%,#fdf7ea,#f8ead3 42%,#f0dcbd);transition:opacity 1s var(--ease) .75s,visibility 1s .75s}.intro.is-open{opacity:0;visibility:hidden;pointer-events:none}.intro__inner{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2.2vh,22px);text-align:center}.intro__eyebrow{margin:0;font-size:10px;letter-spacing:.46em;text-transform:uppercase;color:var(--gold)}.envelope{width:min(500px,84vw);padding:0;border:none;background:none;cursor:pointer;perspective:1200px;filter:drop-shadow(0 26px 38px rgba(94,55,24,.16));animation:envelope-float 8s ease-in-out infinite}.envelope__svg{width:100%;height:auto;overflow:visible}.envelope__letter{transition:transform 1s var(--ease) .3s}.envelope__flap{transform-box:fill-box;transform-origin:50% 100%;transition:transform .9s cubic-bezier(.6,0,.3,1),opacity .7s ease .25s}.envelope__seal{transform-box:fill-box;transform-origin:center;transition:transform .6s cubic-bezier(.5,0,.2,1),opacity .5s ease}.intro.is-open .envelope{animation:none}.intro.is-open .envelope__flap{transform:rotateX(-165deg) translateY(-6px);opacity:.12}.intro.is-open .envelope__letter{transform:translateY(-58px)}.intro.is-open .envelope__seal{transform:scale(.35) rotate(24deg);opacity:0}.intro__button{margin-top:4px}.intro__hint{margin:0;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);opacity:.7}@keyframes envelope-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:80;background:#a9793b14}.progress__bar{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold-soft),var(--maroon),var(--gold-soft));background-size:220% 100%;animation:progress-flow 8s linear infinite}@keyframes progress-flow{0%{background-position:0% 50%}to{background-position:220% 50%}}.nav{position:fixed;top:0;left:0;right:0;z-index:70;background:#f9efdde6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(169,121,59,.16);transform:translateY(-105%);transition:transform .6s var(--ease)}.nav.is-visible{transform:translateY(0)}.nav__inner{width:min(1180px,100% - var(--gutter) * 2);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:9px 0}.nav__brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--maroon)}.nav__monogram{width:38px;height:38px;flex:none}.nav__names{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.02em;color:var(--ink);white-space:nowrap}.nav__links{display:flex;gap:clamp(18px,3vw,38px)}.nav__links a{position:relative;font-size:10px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);transition:color .3s var(--ease)}.nav__links a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease)}.nav__links a:hover{color:var(--maroon)}.nav__links a:hover:after{transform:scaleX(1)}.cover{position:relative;min-height:100svh;display:grid;place-items:center;padding:clamp(78px,11vh,120px) var(--gutter) clamp(150px,24vh,240px);overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#fdf6e8,#faefd9 48%,#f3ddba)}.cover__wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(70% 50% at 50% 22%,rgba(255,249,236,.9),transparent 70%)}.cover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:clamp(90px,16vh,170px);z-index:2;pointer-events:none;background:linear-gradient(180deg,#f9efdd00,#f9efdd 82%)}.cover__scene{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(64vh,620px);z-index:1;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 58%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%,#000 58%,transparent 100%)}.cover__petals{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.flow-canvas{width:100%;height:100%}.cover__ornaments{position:absolute;inset:0 0 auto;height:0;z-index:3;pointer-events:none}.cover__ornament{position:absolute;top:-18px}.cover__ornament--left{left:clamp(8px,9vw,130px);width:clamp(40px,min(5vw,7vh),72px)}.cover__ornament--center{left:50%;width:clamp(74px,min(8.5vw,13vh),124px);transform:translate(-50%)}.cover__ornament--right{right:clamp(8px,9vw,130px);width:clamp(40px,min(5vw,7vh),72px)}.ornament__sway{transform-box:fill-box;transform-origin:50% 0;animation:sway 9s ease-in-out infinite alternate}.cover__ornament--right .ornament__sway{animation-duration:11s;animation-delay:-3s}.cover__ornament--center .ornament__sway{animation-duration:10s;animation-delay:-6s}@keyframes sway{0%{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}.cover__inner{position:relative;z-index:4;max-width:860px;text-align:center;padding-top:clamp(112px,19vh,180px)}.cover__inner>*{animation:rise 1.3s var(--ease) both}.cover__inner>*:nth-child(1){animation-delay:.15s}.cover__inner>*:nth-child(2){animation-delay:.25s}.cover__inner>*:nth-child(3){animation-delay:.4s}.cover__inner>*:nth-child(4){animation-delay:.5s}.cover__inner>*:nth-child(5){animation-delay:.62s}.cover__inner>*:nth-child(6){animation-delay:.74s}.cover__inner>*:nth-child(7){animation-delay:.86s}@keyframes rise{0%{opacity:0;transform:translateY(26px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}.cover__names{margin:.35rem 0 0;font-family:var(--font-display);font-weight:300;font-size:clamp(3.1rem,9.5vw,7.2rem);line-height:.94;letter-spacing:.005em;color:var(--maroon-deep);display:flex;flex-direction:column;align-items:center}.cover__name{display:block}.cover__amp{font-family:var(--font-script);font-size:.44em;line-height:.9;color:var(--gold);margin:.06em 0 .02em}.cover__script{margin:.9rem 0 0;font-family:var(--font-script);font-size:clamp(1.5rem,3.4vw,2.3rem);color:var(--ink-soft)}.cover__meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin-top:1.5rem;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink)}.cover__dot{color:var(--gold)}.cover__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:2rem}.scroll-cue{position:absolute;left:50%;bottom:clamp(18px,3.4vh,34px);transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--ink-soft)}.scroll-cue__label{font-size:9px;letter-spacing:.34em;text-transform:uppercase}.scroll-cue__line{width:1px;height:46px;background:linear-gradient(180deg,rgba(169,121,59,.7),transparent);position:relative;overflow:hidden}.scroll-cue__line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--maroon);animation:cue 2.6s cubic-bezier(.4,0,.2,1) infinite}@keyframes cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.section{position:relative;padding:clamp(84px,12vw,140px) 0;overflow:hidden}.section--sand{background:linear-gradient(180deg,#f9efdd,#f6e7cd 46%,#f9efdd)}.section--venue{background:linear-gradient(180deg,#f9efdd,#fdf6e8)}.section--maroon{background:radial-gradient(80% 60% at 20% 10%,rgba(201,160,92,.16),transparent 60%),radial-gradient(70% 60% at 90% 90%,rgba(196,113,127,.16),transparent 60%),linear-gradient(160deg,#6b1f2a,#571823 55%,#45131c);color:var(--paper)}.section__flora{position:absolute;width:clamp(150px,22vw,300px);opacity:.5;z-index:0;pointer-events:none}.section__flora--left{top:-10px;left:-40px;transform:rotate(6deg)}.section__flora--right{right:-50px;bottom:-30px;transform:rotate(-8deg)}.reveal{opacity:0;transform:translate3d(0,30px,0);filter:blur(5px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:none;filter:none}.invite{position:relative;z-index:1;max-width:760px;margin-inline:auto;text-align:center;padding:clamp(28px,5vw,64px) clamp(22px,5vw,60px);background:linear-gradient(180deg,#fdf6e9eb,#f9eedbcc);border:1px solid rgba(169,121,59,.22);box-shadow:0 40px 70px -60px #5d3a1bb3}.invite:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(169,121,59,.18);pointer-events:none}.invite__eyebrow{margin-top:2.2rem}.invite__lead{margin:.9rem 0 1.6rem;font-family:var(--font-display);font-style:italic;font-size:clamp(1rem,1.7vw,1.2rem);color:var(--ink-soft)}.invite__names{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(2.1rem,5.4vw,3.6rem);line-height:1.1;color:var(--maroon-deep)}.invite__names .amp{font-family:var(--font-script);color:var(--gold);font-size:.9em}.invite__date{margin:1.2rem 0 .35rem;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);line-height:1.9}.invite__venue{margin:0;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}.invite__note{max-width:480px;margin:0 auto;font-family:var(--font-display);font-size:clamp(1.02rem,1.9vw,1.18rem);line-height:1.85;color:var(--ink-soft)}.invite__mark{width:54px;margin:1.8rem auto 0;color:var(--gold)}.day__title{text-align:center}.day__title .h-serif{margin-top:.6rem}.day__countdown{margin:clamp(30px,5vw,48px) 0 clamp(38px,6vw,64px)}.countdown{display:flex;justify-content:center;align-items:flex-start;gap:clamp(4px,2vw,26px)}.countdown__unit{position:relative;min-width:clamp(58px,15vw,128px);text-align:center}.countdown__num{display:block;font-family:var(--font-display);font-weight:300;font-size:clamp(2.4rem,7.5vw,4.6rem);line-height:1;color:var(--maroon);font-variant-numeric:tabular-nums}.countdown__label{display:block;margin-top:.55rem;font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft)}.countdown__colon{position:absolute;top:clamp(4px,1vw,12px);right:clamp(-14px,-1.4vw,-6px);font-family:var(--font-display);font-size:clamp(1.4rem,4vw,2.6rem);line-height:1;color:var(--gold-soft);opacity:.7}.countdown__done{text-align:center;font-family:var(--font-script);font-size:clamp(2rem,4vw,3rem);color:var(--maroon)}.day__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}.day__calendar{max-width:440px;width:100%;justify-self:end}.day__details{max-width:420px;text-align:center}.day__time{font-family:var(--font-display);font-size:clamp(2.2rem,4.6vw,3.2rem);line-height:1.1;color:var(--maroon);margin:.5rem 0 .4rem}.day__time span{color:var(--gold-soft);padding:0 .1em}.day__time em{font-family:var(--font-sans);font-style:normal;font-size:11px;letter-spacing:.28em;color:var(--ink-soft);vertical-align:.5em}.day__date{margin:0;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink)}.day__place{margin:.4rem 0 1.4rem;font-family:var(--font-display);font-size:1.15rem;color:var(--ink-soft)}.day__links{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}.day__note{margin:0;font-family:var(--font-display);font-style:italic;font-size:1.05rem;line-height:1.8;color:var(--ink-soft)}.calendar{background:linear-gradient(180deg,#fdf7eb,#f8ecda);border:1px solid rgba(169,121,59,.28);padding:clamp(20px,3.4vw,34px);box-shadow:0 30px 60px -50px #5d3a1bcc;position:relative}.calendar:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(169,121,59,.18);pointer-events:none}.calendar__head{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:1.1rem;font-family:var(--font-display)}.calendar__month{font-size:clamp(1.35rem,2.6vw,1.7rem);letter-spacing:.16em;text-transform:uppercase;color:var(--maroon)}.calendar__year{font-size:.95rem;letter-spacing:.2em;color:var(--gold)}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:6px;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-align:center}.calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar__day{position:relative;display:grid;place-items:center;aspect-ratio:1;font-family:var(--font-display);font-size:clamp(.78rem,1.6vw,.95rem);color:var(--ink-soft);border-radius:50%}.calendar__day--empty{color:transparent}.calendar__day--wedding{color:var(--paper);font-weight:500;background:radial-gradient(circle at 50% 40%,var(--maroon) 0%,var(--maroon-deep) 100%);box-shadow:0 6px 16px -10px #521823e6}.calendar__ring{position:absolute;top:-16%;right:-16%;bottom:-16%;left:-16%;width:132%;height:132%;fill:none;stroke:var(--gold);stroke-width:1.2;opacity:.9;transform-origin:center;animation:seal-ring 4.5s ease-in-out infinite}.calendar__ring circle{stroke-dasharray:128;stroke-dashoffset:0}@keyframes seal-ring{0%,to{transform:scale(.94) rotate(0);opacity:.45}50%{transform:scale(1.02) rotate(4deg);opacity:.95}}.calendar__num{position:relative;z-index:1}.venue{display:grid;justify-items:center;text-align:center}.venue__body{max-width:600px}.venue__body .h-serif{margin:.7rem 0 1.6rem}.venue__name{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(1.2rem,2.2vw,1.5rem);letter-spacing:.02em;color:var(--maroon)}.venue__address{margin:.5rem auto 1.6rem;font-size:.95rem;line-height:1.8;color:var(--ink-soft);max-width:38ch}.venue__button{margin-bottom:2.2rem}.venue__notes{display:grid;gap:1.4rem;text-align:left;border-top:1px solid rgba(169,121,59,.25);padding-top:1.8rem}.note__label{margin:0 0 .35rem;font-family:var(--font-sans);font-size:9.5px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.note__text{margin:0;font-size:.9rem;line-height:1.8;color:var(--ink-soft)}.footer{position:relative;padding:clamp(80px,12vw,130px) var(--gutter) clamp(40px,6vw,64px);text-align:center;background:linear-gradient(180deg,#f9efdd,#f4e4c9);overflow:hidden}.footer__flora{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.28}.footer__flora svg{position:absolute;width:clamp(150px,24vw,300px)}.footer__flora svg:first-child{left:-30px;top:-10px}.footer__flora svg:last-child{right:-30px;bottom:-20px}.footer>*{position:relative;z-index:1}.footer__monogram{width:66px;margin:0 auto 1.4rem;color:var(--gold)}.footer__script{margin:0 0 .6rem;font-family:var(--font-script);font-size:clamp(1.6rem,3.4vw,2.4rem);color:var(--maroon)}.footer__names{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:.02em;color:var(--ink)}.footer__hash{margin:.9rem 0 0;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.footer__fine{margin:2rem 0 0;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#6b5847b3}.section>.shell{position:relative;z-index:1}.floral{width:100%;height:auto;overflow:visible}.floral__sway{transform-box:fill-box;transform-origin:20% 96%;animation:floral-sway 12s ease-in-out infinite alternate}.floral__bloom{transform-box:fill-box;transform-origin:center;animation:floral-bloom 6.8s ease-in-out infinite}@keyframes floral-sway{0%{transform:rotate(-1.7deg)}to{transform:rotate(1.7deg)}}@keyframes floral-bloom{0%,to{transform:scale(1)}50%{transform:scale(1.09)}}.petal-field{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.petal-field__petal{position:absolute;top:-8%;border-radius:62% 38% 55% 45%/64% 52% 48% 36%;background:linear-gradient(155deg,#c4717fb3,#c9a05c8c);opacity:0;animation-name:petal-fall;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity}@keyframes petal-fall{0%{opacity:0;transform:translate3d(0,-12px,0) rotate(var(--tilt, 0deg))}12%{opacity:.55}86%{opacity:.42}to{opacity:0;transform:translate3d(var(--drift, 18px),88vh,0) rotate(calc(var(--tilt, 0deg) + 210deg))}}.cover__flora{position:absolute;bottom:clamp(26px,7vh,84px);width:clamp(160px,22vw,290px);z-index:3;opacity:.5;pointer-events:none}.cover__flora--left{left:-48px;transform:rotate(9deg)}.cover__flora--right{right:-48px;transform:rotate(-9deg)}.section__flora--bloom{top:38%;right:-40px;width:clamp(96px,13vw,160px);opacity:.32;transform:rotate(-9deg)}.section__flora--venue{top:26px;right:-46px;width:clamp(130px,18vw,235px);opacity:.42}.invite__couple{width:clamp(198px,34vw,258px);height:auto;margin:1.4rem auto .5rem;overflow:visible}.couple__bob{transform-box:fill-box;transform-origin:50% 100%;animation:couple-bob 8s ease-in-out infinite}.couple__glow{transform-box:fill-box;transform-origin:center;animation:couple-glow 7s ease-in-out infinite}.couple__veil{transform-box:fill-box;transform-origin:50% 8%;animation:couple-veil 6.4s ease-in-out infinite}.couple__cloth{transform-box:fill-box;transform-origin:25% 0;animation:couple-cloth 5.6s ease-in-out infinite}.couple__cloth--groom{transform-origin:10% 0;animation-duration:7.2s;animation-delay:-2.2s}.couple__bloom{transform-box:fill-box;transform-origin:center;animation:floral-bloom 6.2s ease-in-out infinite}.couple__petal{transform-box:fill-box;transform-origin:center;animation:couple-petal 7.5s linear infinite}@keyframes couple-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes couple-glow{0%,to{opacity:.5}50%{opacity:.92}}@keyframes couple-veil{0%,to{transform:rotate(-.9deg)}50%{transform:rotate(1.7deg)}}@keyframes couple-cloth{0%,to{transform:rotate(-1.5deg) skew(.8deg)}50%{transform:rotate(2.3deg) skew(-1.6deg)}}@keyframes couple-petal{0%{opacity:0;transform:translate(0) rotate(0)}18%{opacity:.75}72%{opacity:.6}to{opacity:0;transform:translate(12px,78px) rotate(160deg)}}.scratch{margin:1rem auto 0;max-width:330px}.scratch__panel{position:relative;padding:clamp(14px,2.4vw,20px) clamp(18px,3vw,28px) clamp(20px,2.6vw,26px);border:1px solid rgba(169,121,59,.34);background:linear-gradient(180deg,#fdf7eb,#f7ead6);box-shadow:0 24px 48px -44px #5d3a1be6;cursor:grab;user-select:none;-webkit-user-select:none;outline-offset:6px;transition:border-color .6s var(--ease)}.scratch__panel:active{cursor:grabbing}.scratch__panel .eyebrow{margin-bottom:.45rem}.scratch__panel .day__time{margin:0}.scratch__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;opacity:1;transition:opacity .75s var(--ease),transform .75s var(--ease)}.scratch__hint{margin:.8rem 0 0;font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);transition:opacity .5s var(--ease),transform .5s var(--ease)}.scratch--revealed .scratch__panel{cursor:default;border-color:#a9793b80}.scratch--revealed .scratch__canvas{opacity:0;transform:scale(1.04);pointer-events:none}.scratch--revealed .scratch__hint{opacity:0;transform:translateY(-4px)}.scratch--revealed .day__time{animation:scratch-pop .9s var(--ease) both}@keyframes scratch-pop{0%{opacity:.35;transform:scale(.94)}60%{transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@media (max-width: 900px){.day__grid{grid-template-columns:minmax(0,1fr)}.day__calendar{justify-self:center;order:2}.day__details{max-width:none;order:1}.cover__ornament--left,.cover__ornament--right{opacity:.8}.nav__links{display:none}}@media (max-width: 640px){body{font-size:15px}.cover{padding-top:84px;padding-bottom:140px}.cover__inner{padding-top:clamp(104px,26vw,150px)}.cover__meta{gap:.5rem;letter-spacing:.22em;font-size:9px}.cover__amp{font-size:.5em}.cover__ornament--left{left:0;width:42px}.cover__ornament--right{right:0;width:42px}.cover__ornament--center{width:88px}.cover__script{margin-top:.5rem}.cover__actions .btn{padding:.8rem 1.4rem;font-size:9.5px}.field-row{grid-template-columns:minmax(0,1fr)}.invite{padding:30px 20px}.countdown{gap:2px}.countdown__colon{display:none}.section__flora{opacity:.3}.section__flora--bloom{display:none}.cover__flora{width:148px;bottom:92px;opacity:.42}.cover__flora--left{left:-44px}.cover__flora--right{right:-44px}.invite__couple{width:190px}.venue__stamp{width:54px;right:10px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none;filter:none}}.flourish{position:relative;display:inline-block;width:min-content;margin:0 0 0 18px}.flourish__svg{display:block;width:132px;height:78px;overflow:visible}.flourish__chat{position:relative;display:flex;align-items:center;gap:8px;margin:14px 0 0 150px;padding:8px 14px 8px 10px;border:1px solid rgba(169,121,59,.35);border-radius:999px;background:linear-gradient(180deg,#fdf7eb,#f7ead6);color:var(--ink);font-family:var(--font-sans);font-size:11px;letter-spacing:.02em;cursor:pointer;box-shadow:0 14px 30px -24px #521823e6;transition:border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}.flourish__chat:hover{border-color:var(--gold);color:var(--maroon);transform:translateY(-2px)}.flourish__chat:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.flourish__chat__dot{width:10px;height:10px;border-radius:50%;background:var(--rose);box-shadow:inset 0 1px 2px #ffffff59;transition:transform .4s var(--ease)}.flourish__chat__dot.is-open{background:#fff;box-shadow:0 0 0 2px var(--maroon),0 0 0 4px var(--gold);transform:scale(1.15)}.flourish__chat__label{white-space:nowrap;letter-spacing:.04em}.flourish__chat__arrow{font-size:11px;color:var(--gold);transition:transform .4s var(--ease)}.flourish__chat__dot.is-open+.flourish__chat__label+.flourish__chat__arrow{transform:translate(3px)}.rose-spray,.rose-garland{width:100%;height:auto;overflow:visible}.rose-spray__sway{transform-box:fill-box;transform-origin:22% 94%;animation:rose-sway 9s ease-in-out infinite alternate}@keyframes rose-sway{0%{transform:rotate(-1.4deg)}to{transform:rotate(1.8deg)}}.rose,.jasmine{transform-box:fill-box;transform-origin:center}.section__flora .rose-spray{position:absolute;width:88%;left:6%;bottom:-8%}.cover__roses{position:absolute;bottom:clamp(10px,3vh,40px);width:clamp(128px,17vw,210px);z-index:2;opacity:.88;pointer-events:none}.cover__roses--left{left:-14px;transform:rotate(7deg)}.cover__roses--right{right:-14px;transform:rotate(-7deg)}.cover__roses .rose-spray{width:100%}.section__flora--bloom .rose-spray{bottom:-2%;width:82%;left:12%}.invite__garland{display:block;width:min(360px,84%);margin:2rem auto .2rem;opacity:.95}.section--blessing{background:radial-gradient(70% 60% at 50% 0%,rgba(216,185,138,.35),transparent 65%),linear-gradient(180deg,#f9efdd,#fbefdb 42%,#f6e5cb)}.blessing__flora{opacity:.36}.blessing{max-width:780px;margin:0 auto;text-align:center}.blessing__card{position:relative;margin:1.5rem auto 0;padding:clamp(22px,3.4vw,44px) clamp(20px,4vw,56px) clamp(24px,3.4vw,42px);border:1px solid rgba(201,160,92,.45);border-radius:8px;background:radial-gradient(120% 90% at 50% -10%,rgba(255,250,240,.95),transparent 60%),linear-gradient(180deg,#fdf6e9f0,#f8ecd6cc);box-shadow:0 26px 60px -38px #71232f6b,inset 0 0 0 1px #ffffff73;overflow:hidden}.blessing__card:before,.blessing__card:after{content:"";position:absolute;width:46px;height:46px;border:1px solid rgba(201,160,92,.5);pointer-events:none}.blessing__card:before{top:10px;left:10px;border-right:0;border-bottom:0;border-top-left-radius:6px}.blessing__card:after{right:10px;bottom:10px;border-left:0;border-top:0;border-bottom-right-radius:6px}.blessing__garland{display:block;width:min(400px,92%);margin:-.4rem auto .9rem}.blessing__source{margin:0 0 1.1rem;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.blessing__mantra{margin:0;font-family:var(--font-deva);font-size:clamp(1.25rem,2.9vw,1.9rem);line-height:2;color:var(--maroon)}.blessing__line{display:block}.blessing__line--small{font-size:.82em;color:var(--maroon);opacity:.9}.blessing__translit{max-width:46ch;margin:1.1rem auto 0;font-family:var(--font-display);font-style:italic;font-size:clamp(.92rem,1.6vw,1.05rem);line-height:1.8;color:var(--ink-soft)}.blessing__toggle{display:inline-flex;align-items:center;gap:.6rem;margin:1.4rem 0 0;padding:.6rem 1.2rem;border:1px solid rgba(201,160,92,.7);border-radius:999px;background:#fffaf080;color:var(--maroon);font-family:var(--font-sans);font-size:10px;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}.blessing__toggle:hover,.blessing__toggle:focus-visible{background:var(--maroon);border-color:var(--maroon);color:var(--paper);transform:translateY(-1px)}.blessing__toggle__mark{font-size:13px;line-height:1;letter-spacing:0}.blessing__words{max-height:0;opacity:0;overflow:hidden;visibility:hidden;transition:max-height .6s var(--ease),opacity .5s var(--ease),visibility .6s}.blessing__words.is-open{max-height:260px;opacity:1;visibility:visible}.blessing__meaning{max-width:48ch;margin:1.1rem auto 0;font-family:var(--font-display);font-size:clamp(1.02rem,1.9vw,1.18rem);line-height:1.9;color:var(--ink)}.blessing__vedic{margin:.6rem 0 0;font-family:var(--font-deva);font-size:clamp(.95rem,2vw,1.2rem);line-height:1.95;color:var(--ink-soft)}.blessing__vedic-words{max-width:52ch;margin:.9rem auto 0;font-family:var(--font-display);font-size:clamp(.9rem,1.6vw,1.02rem);line-height:1.85;color:var(--ink-soft)}.blessing__cite{margin:.7rem 0 0;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#96692fbf}.footer__hash{display:inline-flex;flex-direction:column;align-items:center;gap:.3rem;margin:1rem auto 0;padding:.5rem .9rem;border:1px solid transparent;border-radius:999px;background:none;color:var(--gold);font-family:inherit;font-size:10px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:border-color .35s var(--ease),color .35s var(--ease),background .35s var(--ease)}.footer__hash:hover,.footer__hash:focus-visible{border-color:#c9a05c99;background:#fffaf080;color:var(--maroon)}.footer__hash.is-copied{border-color:#71232f73;color:var(--maroon)}.footer__hash__hint{font-size:7.5px;letter-spacing:.24em;color:#6b58479e}.footer__hash.is-copied .footer__hash__hint{color:var(--maroon)}.footer__roses{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5}.footer__rose{position:absolute;width:clamp(120px,18vw,230px)}.footer__rose--left{left:-36px;bottom:-30px}.footer__rose--right{right:-36px;top:-20px;transform:scaleX(-1)}.petal-trail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;overflow:hidden;pointer-events:none}.petal-trail__petal{position:absolute;margin:-5px 0 0 -4px;border-radius:62% 38% 58% 42%/60% 55% 45% 40%;background:radial-gradient(circle at 32% 28%,#e6939f,#b8344a 72%);opacity:0;animation:petal-trail-fall 1.5s var(--ease) forwards}@keyframes petal-trail-fall{0%{opacity:0;transform:translateZ(0) rotate(0) scale(.55)}14%{opacity:.85}to{opacity:0;transform:translate3d(var(--drift, 20px),118px,0) rotate(var(--spin, 90deg)) scale(1)}}@media (max-width: 900px){.blessing__garland{width:100%}.cover__roses{width:132px;bottom:6px;opacity:.8}.cover__roses--left{left:-30px}.cover__roses--right{right:-30px}.footer__rose{width:132px;opacity:.8}}@media (prefers-reduced-motion: reduce){.rose-spray__sway{animation:none}.petal-trail{display:none}}
