@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #FAF7F2;--ink: #3D2B1F;--rose: #C9A0A0;--gold: #C8A96E;--hair: rgba(200, 169, 110, .35);--soft: rgba( 61, 43, 31, .55);--field: rgba(255, 255, 255, .6);--card: rgba(255, 255, 255, .5);--serif: "Cormorant Garamond", "Times New Roman", serif;--sans: "Lato", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#1a1a1a;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.invitation{width:100%;background:var(--bg);overflow:hidden}.invitation__inner{max-width:720px;margin:0 auto}.invitation:not(.is-open) .section{display:none}h1,h2,h3,p,blockquote{margin:0}button{cursor:pointer;font-family:inherit}.kicker{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(var(--slide-dist, 20px))}to{opacity:1;transform:none}}@keyframes expandDivider{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulse{0%,to{box-shadow:0 0 #c9a0a066}50%{box-shadow:0 0 0 8px #c9a0a000}}.hero{position:relative;padding:32px 28px 56px;text-align:center;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.hero__corner{position:absolute;width:64px;height:64px;color:var(--gold);animation:fadeIn .5s ease-out both}.hero__corner--tl{top:14px;left:14px;animation-delay:0ms}.hero__corner--tr{top:14px;right:14px;transform:scaleX(-1);animation-delay:80ms}.hero__corner--bl{bottom:14px;left:14px;transform:scaleY(-1);animation-delay:.14s}.hero__corner--br{bottom:14px;right:14px;transform:scale(-1);animation-delay:.2s}.hero__corner--tr,.hero__corner--bl,.hero__corner--br{animation-name:fadeIn}.hero__overline{margin-top:28px;font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);--slide-dist: 16px;animation:slideUp .55s ease-out .3s both}.hero__name{font-family:var(--serif);font-weight:400;font-size:56px;line-height:1;color:var(--ink);animation:slideUp .6s ease-out .8s both}.hero__name--first{margin-top:20px;animation-delay:.5s}.hero__amp{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--rose);margin:4px 0;animation:fadeIn .4s ease-out .7s both}.hero .divider{animation:fadeIn .5s ease-out 1s both}.hero .divider__line{transform-origin:center;animation:expandDivider .5s ease-out 1s both}.hero .eyebrow{animation:fadeIn .5s ease-out 1.15s both}.recipient{display:inline-block;align-self:center;margin-top:28px;padding:10px 22px 8px;border:1px solid var(--gold);--slide-dist: 10px;animation:slideUp .45s ease-out 1.3s both}.recipient__label{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:2px}.recipient__name{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink)}.btn-primary{display:block;margin:26px auto 0;padding:12px 28px;border:none;background:var(--rose);color:#fff;font-size:11px;letter-spacing:3px;text-transform:uppercase;animation:fadeIn .5s ease-out 1.5s both,pulse 2.5s ease-in-out 2.2s infinite}@media (min-width: 600px){.hero{padding:40px 44px 64px}.hero__name{font-size:68px}.hero__overline{font-size:14px}.btn-primary{max-width:320px;font-size:12px}}@media (min-width: 1024px){.hero{padding:48px 64px 72px}.hero__name{font-size:80px}.hero__overline{font-size:16px}.hero__amp{font-size:34px}.recipient__name{font-size:22px}}.section{padding:44px 28px 36px;text-align:center;border-bottom:1px dashed var(--hair)}.section:last-child{border-bottom:none}.section__kicker{margin-bottom:6px;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;transition-delay:0s}.section__title{font-family:var(--serif);font-weight:400;font-style:italic;font-size:28px;letter-spacing:.5px;color:var(--ink);margin:0 0 20px;opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease;transition-delay:.1s}.section.is-visible .section__kicker,.section.is-visible .section__title{opacity:1;transform:none}.section__body{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;transition-delay:.2s}.section.is-visible .section__body{opacity:1;transform:none}.divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0}.divider__line{flex:0 0 40px;height:1px;background:var(--gold)}.divider--soft .divider__line{background:var(--hair)}.divider--soft .divider__glyph path,.divider--soft .divider__glyph circle{stroke:var(--hair);fill:var(--hair)}.divider__glyph{width:14px;height:14px}@media (min-width: 600px){.section{padding:52px 44px 44px}.section__title{font-size:32px}}@media (min-width: 1024px){.section{padding:64px 60px 56px}.section__title{font-size:36px}}.quote{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.7;color:var(--ink)}.quote__cite{margin-top:14px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.portrait{width:120px;height:130px;margin:0 auto 14px;border-radius:50%/8% 8% 50% 50%;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--soft)}.portrait--rose{background:repeating-linear-gradient(135deg,rgba(201,160,160,.25) 0 8px,transparent 8px 16px),#c9a0a014}.portrait--gold{background:repeating-linear-gradient(135deg,rgba(200,169,110,.25) 0 8px,transparent 8px 16px),#c8a96e14}.couple__person{display:flex;flex-direction:column;justify-content:stretch}.couple__name{font-family:var(--serif);font-size:30px;color:var(--ink)}.couple__parents{margin-top:4px;font-size:14px;line-height:1.6;color:var(--soft);justify-self:flex-end}.couple__handle{margin-top:8px;font-size:10px;letter-spacing:1.5px;color:var(--gold)}@media (min-width: 1024px){.couple__grid{display:flex;flex-direction:row;align-items:stretch}.couple__grid>.divider{display:none}.couple__grid .couple__person{flex:1;padding:0 32px}.couple__grid .couple__person:first-child{padding-left:0;border-right:1px solid var(--hair)}.couple__grid .couple__person:last-child{padding-right:0}.portrait{width:140px;height:160px}.couple__name{font-size:30px}}.event{margin:0 0 14px;padding:22px 18px 18px;background:var(--card);border:1px solid var(--hair);opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.event:nth-child(2){transition-delay:.12s}.section.is-visible .event{opacity:1;transform:none}.event__name{margin-bottom:14px;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--rose)}.event__when{font-size:14px;line-height:1.9;color:var(--ink)}.event__rule{width:24px;height:1px;margin:12px auto;background:var(--gold)}.event__venue{font-size:14px;font-weight:700;color:var(--ink)}.event__addr{margin-top:2px;font-size:14px;color:var(--soft)}.event__actions{display:flex;gap:6px;justify-content:center;margin-top:16px}.btn-ghost,.btn-solid{flex:1;padding:8px 0;border:1px solid var(--gold);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none}.btn-ghost{background:transparent;color:var(--ink)}.btn-solid{background:var(--gold);color:#fff}.countdown{display:flex;gap:6px}.countdown__box{flex:1;padding:12px 4px 8px;background:var(--card);border:1px solid var(--hair);opacity:0;transform:scale(.88);transition:opacity .5s ease,transform .5s ease}.countdown__box:nth-child(2){transition-delay:.08s}.countdown__box:nth-child(3){transition-delay:.16s}.countdown__box:nth-child(4){transition-delay:.24s}.section.is-visible .countdown__box{opacity:1;transform:none}.countdown__n{font-family:var(--serif);font-size:30px;line-height:1;color:var(--ink)}.countdown__label{margin-top:6px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}@media (min-width: 600px){.event__name{font-size:24px}.event__when,.event__venue{font-size:14px}}@media (min-width: 1024px){.countdown__n{font-size:36px}.countdown__label{font-size:10px}}.wish{text-align:left;padding:4px 0 4px 14px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.6;color:var(--ink);opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;transition-delay:.1s}.section.is-visible .wish{opacity:1;transform:none}.wishes-list .wish{opacity:1;transform:none;transition:none}.wish__author{margin-top:8px;font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--soft)}.form{margin-top:28px;padding-top:22px;border-top:1px dashed var(--hair);opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;transition-delay:.2s}.section.is-visible .form{opacity:1;transform:none}.form__title{margin-bottom:14px;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}.field{width:100%;padding:10px 12px;background:var(--field);border:1px solid var(--hair);border-radius:0;outline:none;color:var(--ink);text-align:left}.field--input{margin-bottom:8px;font-family:var(--sans);font-size:12px}.field--textarea{margin-bottom:12px;font-family:var(--serif);font-style:italic;font-size:14px;resize:none}.btn-block{width:100%;padding:12px 0;border:none;background:var(--rose);color:#fff;font-size:10px;letter-spacing:3px;text-transform:uppercase}.wishes-list{margin-bottom:24px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.wishes-list__state{padding:16px 0;font-size:12px;color:var(--soft);text-align:center}.wish-feedback{min-height:18px;margin-bottom:8px;font-size:11px;letter-spacing:1px;text-align:center}.wish-feedback--ok{color:var(--gold)}.wish-feedback--err{color:var(--rose)}.closing__hi{margin-bottom:14px;font-size:16px;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}.closing__body{margin:0 0 22px;font-size:16px;line-height:1.8;color:var(--soft)}.closing__salam{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--rose)}.closing__signature{margin-top:12px;font-family:var(--serif);font-size:30px;line-height:1.1;color:var(--ink)}.closing__signature em{font-style:italic;color:var(--rose)}
