:root{--sand:#f3ece1;--paper:#fffaf5;--blush:#e9d3cb;--rose:#b56b5d;--burgundy:#6e1f2e;--burgundy-mid:#5a1825;--gold:#b08d57;--sage:#68735d;--ink:#2a2521;--line:#6e1f2e3d;--shadow:#400f1a1f}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--sand);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Jost,sans-serif}button,input,textarea{font:inherit}::selection{background:var(--burgundy);color:var(--sand)}.main{justify-content:center;align-items:center;min-height:100svh;padding:2.25rem;display:flex;position:relative;overflow:hidden}.sky{background:radial-gradient(circle at 50% 4%, #fffaf5b8, transparent 34rem), linear-gradient(180deg, var(--sand), #eadfd0 100%);z-index:0;position:absolute;inset:0}.content{text-align:center;z-index:1;width:100%;max-width:760px;position:relative}.reveal{opacity:0;animation:1.1s cubic-bezier(.22,1,.36,1) forwards rise;transform:translateY(18px)}.eyebrow{color:var(--rose);text-transform:uppercase;margin-bottom:2.2rem;font-size:.82rem;font-weight:500;animation-delay:.15s}.names{color:var(--ink);flex-direction:column;align-items:center;gap:.15rem;font-family:Cormorant Garamond,serif;font-size:4.2rem;font-weight:300;line-height:1.04;display:flex}.names>span{white-space:nowrap;min-height:1.04em;display:inline-block}.caret{position:relative}.caret:after{background:var(--burgundy);content:"";vertical-align:baseline;width:.04em;height:.8em;margin-left:.06em;animation:.9s step-end infinite blink;display:inline-block}.amp{background:linear-gradient(100deg, var(--burgundy) 0%, var(--burgundy) 38%, var(--gold) 50%, var(--burgundy) 62%, var(--burgundy) 100%);-webkit-text-fill-color:transparent;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;margin:.05em 0;font-size:.95em;font-style:italic;font-weight:400;line-height:1;animation:6s ease-in-out 2s infinite shimmer}.dateBlock{flex-direction:column;align-items:center;gap:.55rem;margin:2.8rem 0 2.4rem;animation-delay:4.5s;display:flex}.month{color:var(--burgundy);text-transform:uppercase;font-size:.95rem;font-weight:500}.dayRow{justify-content:center;align-items:center;gap:1.4rem;width:100%;display:flex}.rule{background:var(--rose);max-width:90px;height:1px;transform-origin:var(--origin,center);flex:1;animation:1.4s cubic-bezier(.22,1,.36,1) 4.85s forwards draw;transform:scaleX(0)}.ruleLeft{--origin:right}.ruleRight{--origin:left}.day{color:var(--burgundy);font-family:Cormorant Garamond,serif;font-size:4.4rem;font-weight:300;line-height:1}.year{color:var(--rose);text-transform:uppercase;font-size:.8rem;font-weight:400}.venue{flex-direction:column;gap:.35rem;animation-delay:4.75s;display:flex}.venueName{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.85rem;font-style:italic;font-weight:500}.venueCity{color:var(--burgundy);text-transform:uppercase;font-size:.82rem;font-weight:400}.footer{color:var(--rose);text-transform:uppercase;margin-top:3rem;font-size:.72rem;font-weight:400;animation-delay:5s}.contactForm{border:1px solid var(--line);box-shadow:0 24px 50px var(--shadow);text-align:left;background:#fffaf5b8;border-radius:8px;max-width:620px;margin:2rem auto 0;padding:1.1rem;animation-delay:5.15s}.fieldGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.contactForm label{color:var(--burgundy-mid);text-transform:uppercase;flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:500;display:flex}.contactForm .full{grid-column:1/-1}.contactForm input,.contactForm textarea{background:var(--paper);color:var(--ink);border:1px solid #6e1f2e42;border-radius:6px;outline:none;width:100%;min-height:2.8rem;padding:.75rem .85rem;transition:border-color .16s,box-shadow .16s,background .16s}.contactForm textarea{resize:vertical;min-height:5.5rem;line-height:1.45}.contactForm input:focus,.contactForm textarea:focus{border-color:var(--sage);background:#fffdf9;box-shadow:0 0 0 3px #68735d2e}.contactForm button{background:var(--burgundy);border:1px solid var(--burgundy);color:var(--paper);cursor:pointer;text-transform:uppercase;border-radius:999px;min-width:9.5rem;min-height:2.8rem;margin:1rem auto 0;padding:.72rem 1.25rem;font-size:.82rem;font-weight:500;transition:background .16s,border-color .16s,transform .16s;display:block}.contactForm button:hover:not(:disabled){background:var(--sage);border-color:var(--sage);transform:translateY(-1px)}.contactForm button:disabled{cursor:wait;opacity:.72}.formStatus{color:var(--burgundy-mid);text-align:center;min-height:1.35rem;padding-top:.75rem;font-size:.88rem}.formStatus.success{color:var(--sage)}.formStatus.error{color:var(--burgundy)}.honeypot{opacity:0;width:0;height:0;position:absolute;left:-10000px;overflow:hidden}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes draw{to{transform:scaleX(1)}}@keyframes shimmer{0%,to{background-position:150% 0}50%{background-position:-50% 0}}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (max-width:700px){.main{padding:1.5rem}.names{font-size:3.25rem}.day{font-size:3.75rem}.fieldGrid{grid-template-columns:1fr}}@media (max-width:480px){.main{align-items:flex-start;padding:1.25rem}.content{padding:1.25rem 0}.names{font-size:2.65rem}.rule{max-width:50px}.contactForm{padding:.9rem}}@media (prefers-reduced-motion:reduce){.amp,.reveal,.names>span,.rule{opacity:1;animation:none;transform:none}.amp{-webkit-text-fill-color:var(--burgundy);background:0 0}}
