:root{--ivory:#f1efe5;--gold:#b29b58;--acid:#b6ca3c;--black:#020605}*{box-sizing:border-box}html,body{background:var(--black);color:var(--ivory);margin:0;font-family:Raleway,Arial,sans-serif}button{font:inherit}.intro,.invitation{background:#020605;position:fixed;inset:0;overflow:hidden}.intro{z-index:10;transition:opacity 1.1s cubic-bezier(.76,0,.24,1),visibility 1.1s}.intro--gone{opacity:0;visibility:hidden;pointer-events:none}.intro__video{object-fit:cover;width:100%;height:100%;animation:4s cubic-bezier(.32,.05,.3,1) forwards camera;transform:scale(1.035)}.intro__shade{background:radial-gradient(circle at 50% 46%,#0000 20%,#00090538 56%,#000402b8 100%);animation:4s ease-out forwards clear;position:absolute;inset:0}.welcome{opacity:0;justify-content:center;align-items:center;gap:clamp(12px,3vw,44px);display:flex;position:absolute;inset:0;transform:translateY(10px)}.welcome--visible{animation:1s cubic-bezier(.2,.7,.2,1) forwards reveal}.welcome p{text-transform:uppercase;letter-spacing:.42em;text-shadow:0 2px 30px #000;white-space:nowrap;font-size:clamp(15px,2.1vw,27px);font-weight:400}.welcome__line{background:linear-gradient(90deg,transparent,var(--gold));width:clamp(28px,11vw,150px);height:1px}.welcome__line:last-child{transform:rotate(180deg)}.loading{letter-spacing:.32em;text-transform:uppercase;white-space:nowrap;font-size:10px;position:absolute;bottom:8vh;left:50%;transform:translate(-50%)}.loading i{background:var(--gold);border-radius:50%;width:3px;height:3px;margin-left:5px;animation:1s infinite blink;display:inline-block}.loading i:nth-child(2){animation-delay:.2s}.loading i:nth-child(3){animation-delay:.4s}.skip,.replay{color:#ffffffbf;letter-spacing:.2em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #ffffff73;padding:6px 0;font-size:10px}.skip{position:absolute;bottom:20px;right:22px}.replay{z-index:2;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.invitation{isolation:isolate;place-items:center;display:grid}.invitation__image{z-index:-3;filter:saturate(.74)contrast(1.06)brightness(.69);background:url(/invitation.webp) 50% 37%/cover no-repeat;animation:16s ease-in-out infinite alternate breathe;position:absolute;inset:-3%}.invitation__grain{z-index:-1;opacity:.18;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");position:absolute;inset:0}.invitation:after{content:"";z-index:-2;background:linear-gradient(#00080494,#0008040f 36%,#0104032e 60%,#000000d1);position:absolute;inset:0}.invitation__frame{pointer-events:none;border:1px solid #b29b5873;position:absolute;inset:18px}.invitation__frame i{border-color:var(--gold);width:9px;height:9px;position:absolute}.invitation__frame i:first-child{border-top:2px solid;border-left:2px solid;top:-1px;left:-1px}.invitation__frame i:nth-child(2){border-top:2px solid;border-right:2px solid;top:-1px;right:-1px}.invitation__frame i:nth-child(3){border-bottom:2px solid;border-left:2px solid;bottom:-1px;left:-1px}.invitation__frame i:nth-child(4){border-bottom:2px solid;border-right:2px solid;bottom:-1px;right:-1px}.masthead{text-align:center;opacity:0;width:min(100% - 44px,1000px);transform:translateY(-4vh)}.invitation--visible .masthead{animation:1.3s cubic-bezier(.16,1,.3,1) .35s forwards rise}.eyebrow,.date,.edition,.location{text-transform:uppercase;letter-spacing:.32em}.eyebrow{margin-bottom:22px;font-size:clamp(10px,1.2vw,15px)}.title-wrap{position:relative}.title-wrap h1,.title-echo{letter-spacing:.08em;margin:0;font-size:clamp(39px,8.7vw,124px);font-weight:400;line-height:.88}.title-echo{color:#0000;-webkit-text-stroke:1px #a5c9a659;filter:blur(.3px);opacity:.7;font-family:Rubik Glitch,sans-serif;position:absolute;inset:-.06em 0 auto;transform:scaleX(1.015)}.date{margin:26px 0 30px;font-size:clamp(10px,1.3vw,14px)}.date span{color:var(--gold);padding:0 12px}.rsvp{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);letter-spacing:.3em;text-align:left;background:#020c0852;border:1px solid #f1efe5bf;min-width:164px;padding:15px 22px;font-size:11px;transition:all .3s}.rsvp span{float:right;color:var(--gold)}.rsvp:hover{background:var(--ivory);color:#07120c}.location{font-size:8px;line-height:1.9;position:absolute;bottom:40px;left:42px}.edition{font-size:8px;position:absolute;bottom:40px;right:42px}.invitation{opacity:.001}.invitation--visible{opacity:1;transition:opacity 1.2s}@keyframes camera{0%{transform:scale(1.035)}75%{transform:scale(1.11)}to{transform:scale(1.14)}}@keyframes clear{0%{opacity:.85}70%{opacity:.1}to{opacity:.75}}@keyframes reveal{to{opacity:1;transform:none}}@keyframes rise{to{opacity:1;transform:translateY(-4vh)}}@keyframes breathe{to{transform:scale(1.035)translateY(-.4%)}}@keyframes blink{50%{opacity:.2}}@media (max-width:650px){.invitation__frame{inset:10px}.invitation__image{background-position:52%}.masthead{transform:translateY(-12vh)}.invitation--visible .masthead{animation-name:riseMobile}.title-wrap h1,.title-echo{line-height:.93}.location{bottom:25px;left:24px}.edition{writing-mode:vertical-rl;bottom:25px;right:24px}.welcome p{letter-spacing:.25em}.skip{right:18px}.date{line-height:1.8}.date span{padding:0 5px}}@keyframes riseMobile{to{opacity:1;transform:translateY(-12vh)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.intro{display:none}.invitation{opacity:1}.masthead{opacity:1;transform:translateY(-4vh)}}.form-shell{z-index:30;color:var(--ivory);isolation:isolate;background:#020705;place-items:center;padding:28px;animation:.45s reveal;display:grid;position:fixed;inset:0}.form-shell:before{content:"";z-index:-2;filter:saturate(.78)contrast(1.06);background:url(/invitation.webp) 50%/cover no-repeat;animation:18s ease-in-out infinite alternate breathe;position:absolute;inset:-2%;transform:scale(1.025)}.form-shell:after{content:"";z-index:-1;background:#000704a6;position:absolute;inset:0}.form-top{z-index:1;text-transform:uppercase;letter-spacing:.25em;color:#f1efe5c7;justify-content:space-between;font-size:9px;display:flex;position:absolute;top:24px;left:28px;right:28px}.form-top button{color:inherit;text-transform:uppercase;letter-spacing:inherit;background:0 0;border:0}.form-progress{z-index:1;background:#ffffff1a;height:2px;position:absolute;top:0;left:0;right:0}.form-progress i{background:var(--gold);height:100%;transition:width .45s;display:block}.form-card{text-shadow:0 2px 24px #000000d9;width:min(720px,100%);padding:20px;position:relative}.form-kicker{text-transform:uppercase;letter-spacing:.3em;color:#d0b969;font-size:10px}.form-card h2,.form-success h2{margin:18px 0 40px;font-size:clamp(30px,5vw,58px);font-weight:300;line-height:1.08}.form-card input,.form-card textarea{width:100%;color:var(--ivory);background:#0108051f;border:0;border-bottom:1px solid #f1efe5ad;border-radius:0;outline:none;padding:12px 0;font:300 clamp(24px,4vw,42px)/1.2 Raleway,sans-serif}.form-card input::placeholder,.form-card textarea::placeholder{color:#f1efe594}.form-card textarea{resize:none;min-height:140px}.form-card input:focus,.form-card textarea:focus{border-color:var(--gold)}.form-options{gap:12px;display:grid}.form-options button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);text-align:left;background:#010a0694;border:1px solid #f1efe580;padding:18px 20px;font-size:16px;transition:all .25s}.form-options button:hover{border-color:var(--gold);background:#b29b5833}.form-actions{align-items:center;gap:18px;margin-top:34px;display:flex}.form-primary{border:1px solid var(--gold);background:var(--gold);color:#07100a;text-transform:uppercase;letter-spacing:.16em;padding:14px 20px;font-size:11px}.form-primary small{text-transform:none;letter-spacing:0;opacity:.65;margin-left:14px}.form-secondary,.card-preview{color:var(--ivory);text-transform:uppercase;letter-spacing:.12em;background:0 0;border:0;border-bottom:1px solid #f1efe58c;margin:18px 10px 0;padding:10px 2px;font-size:10px}.card-preview{margin:16px 0 0}.form-back{color:#f1efe5c2;background:0 0;border:0;padding:14px 0}.form-error{color:#f0b49f;font-size:13px}.form-review{background:#0005033d;border-top:1px solid #ffffff3d;max-height:42vh;overflow:auto}.form-review div{border-bottom:1px solid #ffffff1f;grid-template-columns:1fr 2fr;gap:20px;padding:12px 0;display:grid}.form-review span{letter-spacing:.14em;text-transform:uppercase;color:#d0b969;font-size:10px}.form-review strong{font-weight:400}.form-success{text-align:center;text-shadow:0 2px 24px #000;max-width:600px;position:relative}.form-success p{line-height:1.7}.form-success .form-primary{margin-top:22px}@media (max-width:650px){.form-shell{padding:18px}.form-shell:before{filter:saturate(.75)contrast(1.08);background-position:52%}.form-card{padding:12px}.form-top{top:20px;left:18px;right:18px}.form-card h2{margin-bottom:30px}.form-actions{margin-top:28px}.form-primary small{display:none}.form-review div{grid-template-columns:1fr;gap:4px}}.archive-status{color:#f1efe5bd;font-size:12px}.archive-status--failed{color:#f0b49f}.form-hint{color:#f1efe5ad;margin:10px 0 0;font-size:12px;line-height:1.5}.tap-to-enter{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;background:#020c0885;border:1px solid #f1efe5b3;padding:14px 18px;font-size:10px;position:absolute;bottom:8vh;left:50%;transform:translate(-50%)}.tap-to-enter span{color:var(--gold);margin-left:8px}
