.kaca{--t-1:.78rem;--t-2:.86rem;--t-3:.95rem;--t-4:1.06rem;--t-5:1.25rem;--t-6:clamp(1.35rem, 4.4vw, 1.62rem);--t-7:clamp(1.6rem, 5.6vw, 2.1rem);--t-8:clamp(2rem, 7.4vw, 2.9rem);--t-9:clamp(2.6rem, 11vw, 4.4rem);--track-display:-.025em;--track-head:-.012em;--track-micro:.22em;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1.25rem;--s-5:2rem;--s-6:3.25rem;--s-7:clamp(3.5rem, 11vh, 6.5rem);--paper:#fafaf8;--ink:#0a0a0a;--grey:#6b6b68;--faint:#6f6f6a;--hair:#dcdcd8;--display:"Bodoni Moda", "Didot", Georgia, serif;--ui:"Archivo", ui-sans-serif, system-ui, sans-serif;background:var(--paper);color:var(--ink);font-family:var(--ui);line-height:1.7}[data-reveal]{opacity:0;transition:opacity 1.6s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1);transform:translateY(14px)}[data-reveal].is-in{opacity:1;transform:none}.veil{z-index:60;background:var(--paper);place-items:center;padding:clamp(1.5rem,6vw,4rem);transition:opacity 1.2s cubic-bezier(.16,1,.3,1),visibility 0s linear 1.3s;display:grid;position:fixed;inset:0}.veil[data-state=open]{opacity:0;visibility:hidden;pointer-events:none}.veil__inner{text-align:center;justify-items:center;gap:1.6rem;transition:transform 1.4s cubic-bezier(.16,1,.3,1);display:grid}.veil[data-state=open] .veil__inner{transform:translateY(-2rem)}.veil__rule{background:var(--ink);width:1px;height:4rem;animation:1.6s cubic-bezier(.16,1,.3,1) both grow}@keyframes grow{0%{height:0}}.veil__names{font-family:var(--display);font-weight:400;font-size:var(--t-9);letter-spacing:-.02em;gap:.1em;margin:0;line-height:1.05;display:grid}.veil__sep{color:var(--faint);font-size:.4em}.veil__date,.veil__to{font-size:var(--t-1);letter-spacing:.4em;text-transform:uppercase;color:var(--grey);margin:0}.veil__to{border-top:1px solid var(--hair);width:min(100%,18rem);color:var(--ink);padding-top:1.4rem}.veil__go{cursor:pointer;font-family:var(--ui);font-size:var(--t-1);letter-spacing:.4em;text-transform:uppercase;color:var(--ink);background:0 0;border:0;justify-items:center;gap:.7rem;margin-top:1rem;padding:.6rem 1rem;display:grid}.veil__line{background:var(--ink);width:5rem;height:1px;transition:width .5s cubic-bezier(.16,1,.3,1)}.veil__go:hover .veil__line{width:8rem}main{scroll-snap-type:y proximity}.screen{scroll-snap-align:start;border-bottom:1px solid var(--hair);grid-template-rows:auto 1fr auto;min-height:100svh;padding:clamp(2rem,7vh,4.5rem) clamp(1.25rem,7vw,6rem);display:grid;position:relative}.screen--tall{scroll-snap-align:none;min-height:auto}.screen__mid{align-content:center;justify-items:start;gap:1.6rem;max-width:62rem;display:grid}.screen__mid--form{justify-items:stretch;gap:3rem;width:min(100%,34rem);margin-inline:auto;padding-block:4rem}.num{font-size:var(--t-1);letter-spacing:.4em;color:var(--faint);margin:0}.foot{font-size:var(--t-1);letter-spacing:.28em;text-transform:uppercase;color:var(--faint);justify-content:space-between;align-items:center;gap:1.5rem;margin:0;display:flex}.cue{min-height:44px;color:var(--ink);font-size:var(--t-1);letter-spacing:.32em;align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.cue__line{background:var(--ink);transform-origin:0;width:2.4rem;height:1px;animation:2.6s ease-in-out infinite draw}@keyframes draw{0%,to{opacity:.4;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}}.cue__txt{white-space:nowrap}.colossal{font-family:var(--display);font-weight:400;font-size:var(--t-9);letter-spacing:-.035em;margin:0;line-height:.92;display:grid}.colossal__sep{color:var(--faint);font-size:.42em;line-height:1.6}.meta{font-size:var(--t-3);color:var(--grey);max-width:34rem;margin:0}.meta--faint{color:var(--faint);font-size:var(--t-2)}.label{font-size:var(--t-1);letter-spacing:.34em;text-transform:uppercase;color:var(--faint);margin:0}.name{font-family:var(--display);font-weight:400;font-size:var(--t-8);letter-spacing:-.02em;margin:.5rem 0 .4rem;line-height:1.15}.name--sm{font-size:var(--t-7)}.quiet{min-height:44px;font-size:var(--t-1);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.quiet span{border-bottom:1px solid var(--ink);padding-bottom:2px}.statement{font-family:var(--display);font-weight:400;font-size:var(--t-8);letter-spacing:-.025em;max-width:22ch;margin:0;line-height:1.35}.pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:clamp(2.5rem,8vw,6rem);width:100%;display:grid}.schedule{gap:2.4rem;width:100%;display:grid}.schedule__row{grid-template-columns:6rem 1fr;align-items:start;gap:clamp(1rem,4vw,3rem);display:grid}@media (width<=560px){.schedule__row{grid-template-columns:1fr;gap:.4rem}}.schedule__time{font-family:var(--display);font-size:var(--t-6);line-height:1.2}.schedule__links{gap:1.6rem;margin:.2rem 0 0;display:flex}.count{gap:clamp(1.2rem,5vw,3rem);margin-top:1.4rem;display:flex}.count__cell{gap:.2rem;display:grid}.count__cell b{font-family:var(--display);font-weight:400;font-size:var(--t-8);font-variant-numeric:tabular-nums;line-height:1}.count__cell i{font-style:normal;font-size:var(--t-1);letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}.years{gap:2rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.years li{border-bottom:1px solid var(--hair);grid-template-columns:3rem 10rem 1fr;align-items:baseline;gap:clamp(1rem,3vw,2.5rem);padding-bottom:1.6rem;display:grid}@media (width<=640px){.years li{grid-template-columns:1fr;gap:.3rem}}.years__n{font-size:var(--t-1);letter-spacing:.3em;color:var(--faint)}.years__y{font-family:var(--display);font-size:var(--t-6)}.years__b{color:var(--grey);font-size:var(--t-3)}.form{gap:1.6rem;display:grid}.f{gap:.5rem;display:grid}.f input,.f select,.f textarea{border:0;border-bottom:1px solid var(--hair);width:100%;color:var(--ink);font-family:var(--display);font-size:var(--t-5);background:0 0;padding:.6rem 0}.f textarea{resize:none;line-height:1.5}.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--ink);outline:none}.opts{border:0;gap:.2rem;margin:0;padding:0;display:grid}.opts legend{margin-bottom:.6rem}.opt input{opacity:0;position:absolute}.opt span{min-height:44px;font-family:var(--display);font-size:var(--t-5);color:var(--faint);cursor:pointer;border-bottom:1px solid #0000;align-items:center;transition:color .3s,border-color .3s;display:flex}.opt input:checked+span{color:var(--ink);border-color:var(--ink)}.opt input:focus-visible+span{outline:1px solid var(--ink);outline-offset:4px}[data-rsvp-form][data-attending=no] .row--conditional{display:none}.submit{border:1px solid var(--ink);min-height:48px;color:var(--ink);font-family:var(--ui);font-size:var(--t-1);letter-spacing:.36em;text-transform:uppercase;cursor:pointer;background:0 0;justify-self:start;padding:0 2.2rem;transition:background .4s,color .4s}.submit:hover{background:var(--ink);color:var(--paper)}.btn__busy,.btn__done,[data-state=sending] .btn__idle,[data-state=sent] .btn__idle{display:none}[data-state=sending] .btn__busy,[data-state=sent] .btn__done{display:inline}.status{font-size:var(--t-1);color:var(--grey);min-height:1.2em;margin:0}.gift{gap:.8rem;display:grid}.acct{text-align:left;border:0;border-top:1px solid var(--hair);color:var(--ink);cursor:pointer;background:0 0;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:1rem 0;display:grid}.acct__l{font-size:var(--t-1);letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}.acct__n{font-family:var(--display);font-size:var(--t-6);grid-column:1}.acct__h{font-size:var(--t-1);color:var(--grey);grid-column:1}.acct__c{font-size:var(--t-1);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);grid-area:1/2/span 3;align-self:center}.fineprint{font-size:var(--t-1);color:var(--faint);gap:.7rem;line-height:1.7;display:grid}.fineprint p{margin:0}.fineprint b{color:var(--grey);font-weight:500}.wishes{gap:1.2rem;display:grid}.wish{border-top:1px solid var(--hair);padding-top:1.2rem}.wish p{font-family:var(--display);font-size:var(--t-4);margin:0 0 .4rem}.wish footer{font-size:var(--t-1);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);justify-content:space-between;gap:1rem;display:flex}.end{text-align:center;border-top:1px solid var(--hair);gap:.8rem;padding-top:3rem;display:grid}.end__names{font-family:var(--display);font-size:var(--t-7);margin:0}.index{z-index:30;flex-direction:column;gap:.4rem;display:none;position:fixed;top:50%;right:clamp(.8rem,2vw,1.6rem);transform:translateY(-50%)}@media (width>=900px){.index{display:flex}}.index a{width:32px;height:32px;font-size:var(--t-1);letter-spacing:.14em;color:var(--faint);place-items:center;text-decoration:none;transition:color .3s;display:grid}.index a[data-active=true]{color:var(--ink)}.sound{z-index:40;border:1px solid var(--hair);background:var(--paper);cursor:pointer;min-height:44px;font-size:var(--t-1);letter-spacing:.3em;text-transform:uppercase;color:var(--ink);align-items:center;gap:.55rem;padding:0 1rem;display:flex;position:fixed;bottom:1rem;left:1rem}.sound__dot{border:1px solid var(--ink);border-radius:50%;width:7px;height:7px}.sound[data-playing=true] .sound__dot{background:var(--ink);animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.4;transform:scale(1.6)}}[data-countdown][data-elapsed=true]{letter-spacing:0;gap:0;font-size:0}[data-countdown][data-elapsed=true]>*{display:none}[data-countdown][data-elapsed=true]:after{content:attr(data-elapsed-label);text-align:center;width:100%;font-size:var(--t-3);letter-spacing:.02em;text-wrap:balance;line-height:1.5;display:block}.kaca :focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}.kaca ::selection{background:var(--ink);color:var(--paper)}.mono{width:var(--mono-size,4.6rem);aspect-ratio:1;flex:none;place-items:center;display:inline-grid;position:relative}.mono--lg{--mono-size:7rem}.mono--sm{--mono-size:3.2rem}.mono__frame{width:100%;height:100%;position:absolute;inset:0}.mono__letters{justify-content:center;align-items:baseline;line-height:1;display:flex;position:relative}.mono__amp{font-style:normal}.mono--kaca{color:var(--hair)}.mono--kaca .mono__letters{font-family:var(--display);font-size:calc(var(--mono-size) * .36);color:var(--ink);gap:calc(var(--mono-size) * .16);letter-spacing:0}.mono--kaca .mono__amp{display:none}.veil__inner .mono{margin-bottom:var(--s-2)}.kaca img{filter:grayscale()contrast(1.16)brightness(1.02)}[data-reveal]>:is(p,span,small)[class*=eyebrow],[data-reveal]>:is(p,span)[class*=kicker],[data-reveal]>:is(p,span)[class*=label],[data-reveal]>legend{transition-delay:0s}[data-reveal]>:is(h1,h2,h3,h4){transition-delay:90ms}[data-reveal]>:is(p,blockquote,dl,ul,ol){transition-delay:.17s}[data-reveal]>:is(a,button,.btn,[class*=action],[class*=__actions]){transition-delay:.26s}[data-wishes-empty],[class*=__empty]{padding:var(--s-5) var(--s-4);text-align:center;opacity:.62;border:1px dashed;border-radius:3px;position:relative}@media print{[data-envelope],[data-music-toggle],[data-chat-skip],.lightbox,[class*=dock],[class*=progressbar],[data-wishes]{display:none!important}[data-reveal]{opacity:1!important;filter:none!important;transform:none!important}*{transition:none!important;animation:none!important}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.kaca:after{content:"";z-index:50;transform-origin:0;background:var(--ink);pointer-events:none;width:100%;height:2px;animation:linear both scroll-progress scroll(root);position:fixed;inset:0 auto auto 0}}}@keyframes scroll-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.kaca{--state-hover:#0a0a0a0d;--state-active:#0a0a0a1a}.kaca :is(button,a,summary,label[class*=choice],label[class*=opt],label[class*=tick]){-webkit-tap-highlight-color:transparent}@media (hover:hover) and (pointer:fine){.kaca :is(button,a):not([disabled]):hover{background-image:linear-gradient(var(--state-hover), var(--state-hover))}}.kaca :is(button,a):not([disabled]):active{background-image:linear-gradient(var(--state-active), var(--state-active));transform:translateY(1px)}.kaca :is(.mono,[data-draggable],[data-envelope-open]):active{transform:none}.kaca .num{font-family:var(--display);letter-spacing:-.02em;color:var(--hair);font-size:clamp(1.6rem,5vw,2.4rem);line-height:1}.kaca .colossal{letter-spacing:-.045em;font-size:clamp(3.2rem,17vw,11rem)}.kaca #waktu .screen__mid,.kaca .schedule{gap:var(--s-6)}
