*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--gold:#c9a84c;--gold-light:#e2c878;--white:#fff;--white-80:#fffc;--white-50:#ffffff80;--brown-dark:#2a2018;--brown-mid:#6b5740;--ease-out:cubic-bezier(.22, 1, .36, 1);--col:min(92vw, 860px);--space-section-y:clamp(40px, 6vh, 72px);--space-page-x:clamp(20px, 4vw, 44px);--space-card:clamp(24px, 3.5vw, 44px);--space-block:clamp(18px, 2.5vh, 28px);--space-cal:6px;--space-timing-main:clamp(2px, .35vh, 5px);--font-scale:1.25}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}@media (hover:hover) and (pointer:fine){html{scroll-behavior:smooth}}body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:var(--white);-webkit-tap-highlight-color:transparent;scrollbar-width:none;-ms-overflow-style:none;background:#0a0a0a;font-family:Cormorant Garamond,serif;font-weight:400;overflow-x:hidden}body::-webkit-scrollbar{display:none}.section{justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.section--welcome{min-height:100dvh}.section--invitation,.section--timing,.section--tips{padding:var(--space-section-y) 0}.section--invitation{color:var(--brown-dark);background:#f5efe6;align-items:center}.section--timing{color:var(--brown-dark);background:#f0e9df;align-items:center}.section--tips{color:var(--brown-dark);background:#ebe5db;align-items:center}.bg-video{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bg-overlay{background:linear-gradient(#0000004d 0%,#00000080 60%,#000000a6 100%);position:absolute;inset:0}.welcome__content{z-index:1;align-items:center;gap:var(--space-block);text-align:center;padding:0 var(--space-page-x);width:var(--col);opacity:0;animation:fadeUp 1.2s var(--ease-out) .4s forwards;flex-direction:column;display:flex;position:relative;transform:translateY(20px)}.welcome__names{font-family:Great Vibes,cursive;font-size:calc(var(--font-scale) * clamp(3rem, 7.5vw, 6.75rem));letter-spacing:.05em;color:#fffffff0;text-shadow:0 1px 22px #00000052;-webkit-font-smoothing:antialiased;flex-direction:column;align-items:center;gap:4px;font-weight:400;line-height:1.1;display:flex}.welcome__date{font-family:Prata,serif;font-size:calc(var(--font-scale) * clamp(1.05rem, 2.15vw, 1.9rem));letter-spacing:.15em;color:var(--white-80);flex-direction:column;align-items:center;gap:2px;font-weight:400;display:flex}.names__amp{font-size:calc(var(--font-scale) * .5em)}.date__sep{display:none}.scroll-hint{bottom:var(--space-page-x);z-index:1;opacity:0;animation:fadeIn 1s var(--ease-out) 2s forwards;flex-direction:column;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-hint__line{background:linear-gradient(to bottom, transparent, var(--gold-light));width:1px;height:clamp(32px,5vh,52px);animation:2s ease-in-out infinite scrollPulse;display:block}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes scrollPulse{0%{transform-origin:top;opacity:0;transform:scaleY(0)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}51%{transform-origin:bottom;opacity:1;transform:scaleY(1)}to{transform-origin:bottom;opacity:0;transform:scaleY(0)}}.invitation__card{z-index:1;width:var(--col);padding:var(--space-card);gap:var(--space-block);text-align:center;background:#fdf8f2;border:1px solid #c9a84c4d;border-radius:4px;flex-direction:column;display:flex;position:relative;box-shadow:0 4px 32px #3c281414}.invitation__text{gap:var(--space-block);font-size:calc(var(--font-scale) * clamp(.9rem, 1.1vw, 1.25rem));letter-spacing:.02em;color:var(--brown-mid);z-index:1;flex-direction:column;font-weight:400;line-height:1.55;display:flex;position:relative}.invitation__dear{font-family:Great Vibes,cursive;font-size:calc(var(--font-scale) * clamp(1.75rem, 2.35vw, 2rem));color:var(--brown-dark);letter-spacing:.15em;line-height:1.25}.invitation__highlight{font-size:calc(var(--font-scale) * clamp(.9rem, 1.1vw, 1.25rem));letter-spacing:.02em;text-transform:uppercase;color:var(--gold);font-weight:400}.invitation__divider{z-index:1;background:linear-gradient(90deg,#0000,#c9a84c73,#0000);height:1px;position:relative}.invitation__calendar{z-index:1;width:100%;max-width:320px;margin:0 auto;padding-top:0;position:relative}.invitation__calendar .calendar-title{font-size:calc(var(--font-scale) * clamp(.9rem, 1.1vw, 1.25rem));letter-spacing:.02em;color:var(--brown-dark);text-align:center;margin-bottom:var(--space-block);font-weight:400}.invitation__calendar-grid{gap:var(--space-block);flex-direction:column;display:flex}.invitation__calendar-weekdays{gap:var(--space-cal);text-align:center;font-size:calc(var(--font-scale) * clamp(.8rem, 1.05vw, 1rem));letter-spacing:.02em;text-transform:uppercase;color:var(--gold);grid-template-columns:repeat(7,1fr);font-weight:400;display:grid}.invitation__calendar-days{gap:var(--space-cal);text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.invitation__cal-cell{aspect-ratio:1;max-height:44px;font-size:calc(var(--font-scale) * clamp(.9rem, 1.1vw, 1.25rem));color:var(--brown-mid);justify-content:center;align-items:center;font-weight:400;display:flex;position:relative}.invitation__cal-cell--empty{pointer-events:none}.invitation__cal-cell--heart{color:var(--brown-dark);font-weight:400}.invitation__cal-heart{width:calc(100% + 4px);height:calc(100% + 4px);color:var(--gold);pointer-events:none;transform-origin:50%;animation:1.35s ease-in-out infinite heartPulse;position:absolute;top:2px}.invitation__cal-num{z-index:1;position:relative}.invitation__card>.card-section-title,.tips__card.invitation__card .card-section-title{width:100%;max-width:min(100%,480px);margin-inline:auto}.card-section-title{font-family:Great Vibes,cursive;font-size:calc(var(--font-scale) * clamp(1.75rem, 2.35vw, 2rem));letter-spacing:.15em;color:var(--brown-dark);text-align:center;margin-top:0;font-weight:400}@keyframes heartPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(1.14)}}.timing__card.invitation__card{text-align:left;align-items:center;margin-inline:auto}.timing__content{align-items:center;gap:var(--space-block);width:var(--col);flex-direction:column;padding:0;display:flex}.timing__list{--timing-icon-w:40px;--timing-rail-w:14px;--timing-gap:var(--space-block);align-self:center;gap:var(--space-block);flex-direction:column;width:100%;max-width:min(100%,480px);padding-top:0;display:flex;position:relative}.timing__list:before{content:"";width:2px;top:clamp(36px,5vw,56px);bottom:clamp(36px,5vw,56px);left:calc(var(--timing-icon-w) + var(--timing-gap) + var(--timing-rail-w) / 2);background:linear-gradient(#c9a84c40,#c9a84cd9 15% 85%,#c9a84c40);border-radius:1px;position:absolute;transform:translate(-50%)}.timing__item{z-index:1;grid-template-columns:var(--timing-icon-w) var(--timing-rail-w) minmax(0, 1fr);align-items:center;gap:var(--timing-gap);display:grid;position:relative}.timing__icon{width:var(--timing-icon-w);height:var(--timing-icon-w);color:var(--gold);justify-content:center;align-items:center;display:flex}.timing__icon svg{width:clamp(66px,15vw,84px);height:clamp(66px,15vw,84px)}.timing__rail{justify-content:center;align-self:center;padding-top:0;display:flex}.timing__rail-dot{border:2px solid var(--gold);background:#fdf8f2;border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 0 2px #fdf8f2e6}.timing__main{gap:var(--space-timing-main);text-align:start;flex-direction:column;min-width:0;padding-top:0;display:flex}.timing__clock{font-size:calc(var(--font-scale) * clamp(.9rem, 1.1vw, 1.25rem));letter-spacing:.02em;color:var(--gold);margin:0;font-weight:600}.timing__desc{font-size:calc(var(--font-scale) * clamp(.8rem, 1.05vw, 1rem));letter-spacing:.02em;color:var(--brown-mid);text-transform:uppercase;margin:0;font-weight:400;line-height:1.55}.timing__desc:not(.sub):not(.location){font-weight:600}.timing__desc.sub{text-transform:capitalize;line-height:1.25}.timing__desc.location{text-transform:none;font-size:calc(var(--font-scale) * clamp(.5rem, 1.1vw, .75rem))}.dresscode__sub{font-size:calc(var(--font-scale) * clamp(.8rem, 1.05vw, 1rem));letter-spacing:.02em;color:var(--brown-mid);text-align:center;align-self:center;width:100%;max-width:520px;font-weight:400;line-height:1.55}.dresscode__palette{gap:var(--space-block);flex-wrap:wrap;justify-content:center;display:flex}.swatch{border-radius:50%;flex-shrink:0;width:clamp(50px,4.5vw,75px);height:clamp(50px,4.5vw,75px);display:block}span.swatch:not(.dresscode__swatch){background-color:var(--c);box-shadow:0 2px 12px #0000001f}.dresscode__swatch{cursor:default;overflow:hidden;box-shadow:0 1px 3px #2a201814,0 5px 16px #2a20181c,0 12px 36px #2a20181a,0 0 0 1px #c9a84c40,inset 0 1px #ffffff73}.dresscode__swatch img{object-fit:cover;object-position:center;transform-origin:50%;width:100%;height:100%;display:block;transform:scale(1.38)}.tips__content{align-items:center;gap:var(--space-block);width:var(--col);flex-direction:column;margin:0 auto;padding:0;display:flex}.tips__card.invitation__card{text-align:center;align-self:stretch;align-items:stretch;width:100%}.tips__block{gap:var(--space-block);flex-direction:column;display:flex}.tips__card-desc{font-size:calc(var(--font-scale) * clamp(.8rem, 1.05vw, 1rem));letter-spacing:.02em;color:var(--brown-mid);margin:0;font-weight:400;line-height:1.55}[data-reveal]{opacity:0;backface-visibility:hidden;transition:opacity .75s var(--ease-out), transform .75s var(--ease-out)}[data-reveal].is-visible{opacity:1;transform:translate(0,0)}[data-reveal=fade-up]{transform:translateY(22px)}[data-reveal=invite-lift]{transition:opacity .85s var(--ease-out), transform .85s var(--ease-out);transform:translateY(26px)}[data-reveal=pop]{transform:translate(0,0)scale(.72)}[data-reveal=pop].is-visible{transform:translate(0,0)scale(1)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.welcome__label,.welcome__content,.scroll-hint{opacity:1;animation:none;transform:none}.scroll-hint__line{opacity:.6;animation:none}[data-reveal]{opacity:1;filter:none;transition:none;transform:none}.invitation__cal-heart{opacity:1;animation:none;transform:none}}
