@font-face{font-family:Cinzel;src:url(/savethedate-resources/crystal-chandelier/assets/cinzel.woff2) format("woff2");font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/savethedate-resources/crystal-chandelier/assets/cormorant.woff2) format("woff2");font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/savethedate-resources/crystal-chandelier/assets/cormorant-italic.woff2) format("woff2");font-style:italic;font-display:swap}@font-face{font-family:Jost;src:url(/savethedate-resources/crystal-chandelier/assets/jost.woff2) format("woff2");font-display:swap}:root{color:#4a2f1f;font-family:Cormorant Garamond,Georgia,serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:#e9d6bb;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.stage{--bronze: #7c512b;--bronze-deep: #4a2f1f;--gold: #b48a39;--rose: #a85b5d;position:relative;min-height:100svh;overflow-x:hidden;overflow-y:auto;color:var(--bronze-deep);background:#efe1cb url(/savethedate-resources/crystal-chandelier/assets/save-the-date-bg.webp) center top / cover no-repeat}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow:hidden;background:#080604;transition:opacity 1s ease}.intro video{width:100%;height:100%;display:block;object-fit:cover}.intro-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000047;transition:opacity .8s ease}.intro.is-playing .intro-veil{opacity:0}.tap-prompt{position:absolute;left:50%;top:82%;width:min(88vw,360px);padding:16px 20px;border:0;color:#f7e8bf;background:transparent;text-align:center;transform:translate(-50%,-50%);cursor:pointer;animation:breathe 2.6s ease-in-out infinite}.tap-prompt strong,.tap-prompt small{display:block}.tap-prompt strong{margin-top:9px;font-family:Cinzel,serif;font-size:clamp(15px,2vw,19px);font-weight:600;letter-spacing:.36em;text-transform:uppercase}.tap-prompt small{margin-top:9px;font-size:15px;font-style:italic;letter-spacing:.08em;opacity:.72}.intro-ornament,.eyebrow,.separator{display:inline-flex;align-items:center;justify-content:center;gap:11px}.intro-ornament i,.eyebrow i,.separator i{width:36px;height:1px;background:currentColor;opacity:.55}.intro-ornament b,.eyebrow b,.separator b{width:6px;height:6px;border:0;background:currentColor;box-shadow:0 0 8px #b8904a80;transform:rotate(45deg)}.invitation{position:relative;z-index:2;min-height:100svh;padding:calc(env(safe-area-inset-top,0px) + 158px) 18px calc(env(safe-area-inset-bottom,0px) + 48px);display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(16px);pointer-events:none}.invitation.is-open{opacity:1;transform:none;pointer-events:auto}.invitation.is-open .eyebrow{animation:rise 1.1s .18s cubic-bezier(.16,1,.3,1) both}.invitation.is-open h1{animation:rise 1.1s .3s cubic-bezier(.16,1,.3,1) both}.invitation.is-open .couple{animation:rise 1.2s .46s cubic-bezier(.16,1,.3,1) both}.invitation.is-open .reveal-help{animation:rise 1.1s .64s cubic-bezier(.16,1,.3,1) both}.invitation.is-open .medallions{animation:rise 1.3s .76s cubic-bezier(.16,1,.3,1) both}.invitation header{flex:none}.eyebrow{color:var(--gold);opacity:0}.invitation h1{margin:9px 0 0;font-family:Cinzel,serif;font-size:clamp(14px,1.25vw,17px);font-weight:600;letter-spacing:.36em;line-height:1.3;text-transform:uppercase;opacity:0}.couple{margin:6px 0 0;display:flex;align-items:baseline;justify-content:center;gap:.18em;font-size:clamp(40px,3.8vw,54px);font-style:italic;font-weight:600;line-height:1.05;opacity:0}.couple i{color:var(--rose);font-weight:400}.reveal-help{margin:9px 0 0;font-size:clamp(12px,1.05vw,15px);font-style:italic;letter-spacing:.02em;opacity:0;transition:opacity .45s ease}.reveal-help.gone{opacity:0!important}.medallions{width:min(100%,520px);margin-top:clamp(18px,4vh,34px);display:flex;align-items:flex-start;justify-content:center;gap:clamp(4px,1.5vw,12px);opacity:0}.medallion{flex:1 1 0;min-width:0;max-width:164px;display:flex;flex-direction:column;align-items:center}.med-box{position:relative;width:100%;aspect-ratio:1;animation:med-float 7s ease-in-out infinite}.med-box:before{content:"";position:absolute;top:-16%;right:-16%;bottom:-16%;left:-16%;z-index:0;border-radius:50%;background:radial-gradient(circle at 50% 46%,rgba(255,244,214,.72),rgba(232,202,142,.3) 46%,transparent 72%);filter:blur(5px);pointer-events:none}.medallion:nth-child(2) .med-box{animation-duration:6.2s;animation-delay:-1.4s}.medallion:nth-child(3) .med-box{animation-duration:6.8s;animation-delay:-2.6s}.med-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(80,55,20,.22)) drop-shadow(0 2px 5px rgba(80,55,20,.14))}.med-disc{position:absolute;z-index:2;left:27%;top:27%;width:46%;height:46%;overflow:hidden;border-radius:50%;display:grid;place-items:center;color:var(--bronze-deep);background:radial-gradient(circle at 38% 30%,#fff9e8,#f6ead1 70%,#e9d2a9);box-shadow:inset 0 0 12px #845b2329}.med-value{position:relative;z-index:1;font-family:Cinzel,serif;font-size:clamp(16px,1.65vw,23px);font-weight:700;opacity:.18;transform:translateY(4px) scale(.92)}.medallion.revealed .med-value{opacity:1;transform:none;animation:value-in 1.05s cubic-bezier(.16,1,.3,1) both}.med-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;border-radius:50%;background:radial-gradient(circle,#ffefaae6,#e7c06000 70%);opacity:0}.medallion.revealed .med-glow{opacity:1;animation:glow-pulse 3.6s .9s ease-in-out infinite}.scratch-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;width:100%;height:100%;border:0;border-radius:50%;background:#c79a45 url(/savethedate-resources/crystal-chandelier/assets/scratch-layer.webp) center / cover no-repeat;opacity:var(--scratch-opacity, 1);outline:none;cursor:grab;touch-action:none;transition:opacity .65s ease}.scratch-canvas:active{cursor:grabbing}.scratch-canvas:focus-visible{box-shadow:0 0 0 3px #7c512b73}.scratch-canvas.gone{opacity:0!important;pointer-events:none}.med-hint{position:absolute;z-index:6;left:50%;top:50%;width:12px;height:12px;border:1px solid rgba(95,62,30,.52);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:hint-pulse 2.2s ease-in-out infinite}.med-hint:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:#5f3e1e5c}.med-hint.hidden{display:none}.med-label{display:block;margin-top:3px;font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}.extras{max-height:0;margin-top:0;display:flex;flex-direction:column;align-items:center;opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none}.extras.show{max-height:330px;margin-top:28px;opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .75s ease,transform .75s ease}.separator{color:var(--gold)}.separator i{width:35px}.extras h2{margin:12px 0 0;font-size:clamp(19px,1.8vw,25px);font-weight:700;line-height:1.1}.city{margin:5px 0 0;font-family:Jost,sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.formal{margin:22px 0 0;font-size:clamp(16px,1.45vw,20px);font-style:italic}.formal span{color:var(--rose);font-size:10px}.formal span:first-child{margin-right:10px}.formal span:last-child{margin-left:10px}.action-stack{width:min(90vw,590px);margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rsvp-button,.calendar-button{width:100%;min-height:41px;margin-top:0;padding:10px 28px;border:1px solid rgba(227,198,132,.75);border-radius:999px;color:#fff8e9;background:linear-gradient(180deg,#bd9850,#9d7734);box-shadow:0 8px 20px #78551e38,inset 0 1px #fff7e166;font-family:Cinzel,serif;font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;cursor:pointer}.calendar-button{display:grid;place-items:center;color:var(--bronze-deep);border-color:#84572a9e;background:#fff8e8c7;text-decoration:none}.rsvp-button:active,.calendar-button:active{transform:scale(.97)}.invitation footer{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);width:100%;transform:translate(-50%);font-family:Jost,sans-serif;font-size:9px;color:#4a2f1fad}.invitation footer a{color:var(--bronze-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px}.petal-fall{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18;overflow:hidden;pointer-events:none}.golden-glitter{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}.petal-fall img{position:absolute;left:var(--petal-left);top:var(--petal-top);width:var(--petal-size);height:var(--petal-size);object-fit:contain;opacity:0;animation:petal-fall var(--petal-duration) var(--petal-delay) linear forwards;transform:rotate(var(--petal-rotation))}.music-button{position:fixed;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:60;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fbf4e3;background:#0a0a0a8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #00000040;cursor:pointer}.music-button span{width:2px;height:12px;margin:0 1px;border-radius:1px;background:currentColor;transform-origin:bottom;animation:music-bar 1s ease-in-out infinite}.music-button span:nth-child(2){animation-delay:.18s}.music-button span:nth-child(3){animation-delay:.36s}.music-button.is-muted span{animation-play-state:paused;transform:scaleY(.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;padding:18px;display:grid;place-items:center;overflow-y:auto;background:#20120a8a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:modal-fade .25s ease}.rsvp-modal{position:relative;width:min(100%,460px);max-height:calc(100svh - 36px);overflow-y:auto;padding:34px 30px 30px;border:1px solid rgba(180,138,57,.58);border-radius:20px;color:var(--bronze-deep);background:#fffaeff7;box-shadow:0 24px 70px #2d190c57;text-align:left;animation:modal-rise .32s cubic-bezier(.16,1,.3,1)}.modal-close{position:absolute;right:13px;top:12px;width:34px;height:34px;border:0;border-radius:50%;color:var(--bronze-deep);background:#b48a391f;font-size:22px;line-height:1;cursor:pointer}.rsvp-modal h2{margin:0;font-family:Cinzel,serif;font-size:26px;font-weight:600;letter-spacing:.14em}.rsvp-modal>p{margin:8px 0 22px;font-size:17px;font-style:italic}.rsvp-modal form{display:grid;gap:14px}.rsvp-modal label{display:grid;gap:6px;font-family:Jost,sans-serif;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.rsvp-modal input,.rsvp-modal textarea{width:100%;border:1px solid rgba(180,138,57,.42);border-radius:10px;padding:11px 12px;color:var(--bronze-deep);background:#ffffffad;font-family:Jost,sans-serif;font-size:14px;letter-spacing:0;text-transform:none;outline:none}.rsvp-modal textarea{resize:vertical}.rsvp-modal input:focus,.rsvp-modal textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b48a3924}.submit-button,.success-message button{min-height:44px;border:1px solid rgba(227,198,132,.7);border-radius:999px;color:#fff8e9;background:linear-gradient(180deg,#bd9850,#8e662a);font-family:Cinzel,serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}.form-error{margin:0;color:#8f1d2c;font-size:.9rem;line-height:1.45}.submit-button:disabled{cursor:wait;opacity:.68}.success-message{display:grid;gap:10px;text-align:center}.success-message h3{margin:8px 0 0;font-size:28px}.success-message p{margin:0 0 10px;font-size:17px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes breathe{0%,to{opacity:.72;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.025)}}@keyframes med-float{0%,to{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-4px) rotate(.4deg)}}@keyframes value-in{0%{opacity:0;transform:translateY(8px) scale(.9)}}@keyframes glow-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:.9;transform:scale(1.06)}}@keyframes hint-pulse{0%,to{opacity:.45;transform:translate(-50%,-50%) scale(.82)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}}@keyframes petal-fall{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(var(--petal-rotation))}10%{opacity:.82}to{opacity:0;transform:translate3d(70px,105vh,0) rotate(calc(var(--petal-rotation) + 450deg))}}@keyframes music-bar{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(18px) scale(.97)}}@media(max-width:600px){.stage{background-position:center top}.invitation{padding:calc(env(safe-area-inset-top,0px) + 195px) 10px calc(env(safe-area-inset-bottom,0px) + 48px)}.invitation h1{margin-top:9px;font-size:15px;letter-spacing:.29em}.couple{margin-top:8px;font-size:40px}.reveal-help{margin-top:11px;font-size:13px}.medallions{width:100%;margin-top:34px;gap:6px}.med-label{margin-top:3px;font-size:10px;letter-spacing:.3em}.extras.show{margin-top:34px}.extras h2{margin-top:11px;font-size:21px}.formal{margin-top:20px;font-size:18px}.action-stack{width:min(82vw,286px);margin-top:18px;grid-template-columns:1fr}.rsvp-button,.calendar-button{min-height:40px}.invitation footer{font-size:8px}.rsvp-modal{padding:31px 22px 24px;border-radius:17px}.tap-prompt{top:83%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
