@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Inter:wght@300;400;500;600&family=Outfit:wght@300;400;500;600&display=swap";html{scroll-behavior:smooth}*,:before,:after{box-sizing:border-box}:root{--text:#fff;--text-h:#fff;--bg:#050505;--border:#333;--sans:"Inter", system-ui, -apple-system, sans-serif;--heading:"Outfit", system-ui, -apple-system, sans-serif;--script:"Great Vibes", cursive}body{font-family:var(--sans);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.main-content{text-align:center;background:radial-gradient(circle,#1a1a1a 0%,#050505 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}h1,h2,h3{font-family:var(--heading);margin:0;font-weight:400}h1{letter-spacing:-.02em;margin-bottom:1rem;font-size:clamp(3rem,5vw,6rem)}p{opacity:.8;font-size:1.25rem;font-weight:300}.loading-container{z-index:9999;background-color:#000;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity 1s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden}.loading-container.fade-out{opacity:0;pointer-events:none}.loading-content{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:400px;display:flex;position:relative}.image-wrapper{aspect-ratio:3/4;justify-content:center;align-items:center;width:60%;display:flex;position:relative;overflow:hidden}.loading-image{object-fit:cover;opacity:0;filter:grayscale()contrast(1.2);width:100%;height:100%;transition:opacity .8s,transform .8s;position:absolute;top:0;left:0;transform:scale(1.05)}.loading-image.active{opacity:1;transform:scale(1)}@keyframes slow-zoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.image-wrapper{animation:7.5s ease-out forwards slow-zoom}.loading-title-overlay{color:#ffffffa6;font-family:var(--sans);letter-spacing:.15em;pointer-events:none;z-index:10;white-space:nowrap;text-transform:uppercase;font-size:1.2rem;font-weight:300;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.countdown-wrapper{background-color:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;padding:6rem 2rem;display:flex}.countdown-date{font-family:var(--sans);color:#fffc;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:300}.countdown-container{justify-content:center;align-items:center;gap:20px;display:flex}.countdown-item{flex-direction:column;align-items:center;min-width:90px;display:flex}.countdown-value{font-family:var(--heading);color:#dca1a1;font-size:clamp(2.5rem,6vw,5rem);font-weight:300;line-height:1}.countdown-label{font-family:var(--sans);text-transform:uppercase;letter-spacing:.15em;color:#ffffff80;margin-top:12px;font-size:clamp(.7rem,1.5vw,.9rem)}.countdown-separator{font-family:var(--heading);color:#fff3;margin-bottom:25px;font-size:clamp(2rem,5vw,4rem);font-weight:300}@media (width<=768px){.countdown-container{gap:8px}.countdown-item{min-width:50px}.countdown-value{font-size:2rem}.countdown-separator{margin-bottom:18px;font-size:1.5rem}.countdown-label{margin-top:6px;font-size:.65rem}.countdown-date{font-size:1rem}}.audio-toaster{-webkit-backdrop-filter:blur(20px);z-index:10000;width:180px;font-family:var(--sans);background:#ffffff26;border:1px solid #ffffff40;border-radius:12px;padding:.6rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) slideUp;position:fixed;bottom:15px;left:15px;box-shadow:0 8px 32px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(150%)}to{opacity:1;transform:translateY(0)}}.audio-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;font-size:.8rem;line-height:1;transition:color .3s;position:absolute;top:4px;right:4px}.audio-close:hover{color:#fff}.audio-info-row{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.audio-cover{object-fit:cover;border-radius:4px;width:32px;height:32px;box-shadow:0 2px 5px #0003}.audio-text{flex-direction:column;gap:0;width:calc(100% - 40px);display:flex}.audio-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0000004d;font-size:.75rem;font-weight:600;overflow:hidden}.audio-artist{color:#fffc;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0000004d;font-size:.6rem;font-weight:500;overflow:hidden}.audio-controls{flex-direction:column;gap:.3rem;display:flex}.audio-progress-container{background-color:#fff3;border-radius:2px;width:100%;height:4px;margin-bottom:.1rem;position:relative}.audio-progress{opacity:0;cursor:pointer;z-index:2;width:100%;height:14px;position:absolute;top:-5px;left:0}.audio-progress-fill{pointer-events:none;z-index:1;background-color:#dea193;border-radius:2px;height:100%;position:absolute;top:0;left:0}.audio-progress-fill:after{content:"";background-color:#dea193;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;right:-3px;transform:translateY(-50%);box-shadow:0 1px 2px #0000004d}.audio-time-row{justify-content:space-between;width:100%;display:flex}.audio-time{color:#ffffffd9;text-shadow:0 1px 2px #0000004d;font-size:.55rem;font-weight:600}.audio-buttons{justify-content:center;align-items:center;margin-top:.2rem;display:flex}.audio-play-btn{color:#fff;cursor:pointer;filter:drop-shadow(0 1px 2px #0000004d);background:0 0;border:none;justify-content:center;align-items:center;padding:.2rem;transition:transform .2s,color .2s;display:flex}.audio-play-btn svg{width:18px;height:18px}.audio-play-btn:hover{color:#dea193;transform:scale(1.1)}.audio-toaster{transition:all .5s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.audio-toaster.minimized{cursor:pointer;border-radius:24px;width:90px;padding:.4rem;box-shadow:0 4px 15px #0000001a}.audio-toaster.minimized:hover{background:#ffffff40}.audio-toaster.minimized .audio-info-row{justify-content:flex-start;gap:.3rem;margin:0}.audio-toaster.minimized .audio-cover{border-radius:13px;width:26px;height:26px;margin:0}.audio-toaster.minimized .audio-text,.audio-toaster.minimized .audio-progress-container,.audio-toaster.minimized .audio-time-row,.audio-toaster.minimized .audio-close{display:none}.audio-toaster.minimized .audio-controls{gap:0;margin:0;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.audio-toaster.minimized .audio-buttons{margin:0}.audio-toaster.minimized .audio-play-btn{padding:.4rem}@media (width<=768px){.audio-toaster{width:calc(100vw - 30px);bottom:15px;left:15px}.audio-toaster.minimized{width:90px}}.app-container{background-color:var(--bg);flex-direction:column;width:100vw;min-height:100vh;display:flex}.hero-header{justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.hero-image-wrapper{width:100%;height:100%;position:absolute;top:0;left:0}.hero-image{object-fit:cover;object-position:center;filter:grayscale()contrast(1.1);width:100%;height:100%}.hero-overlay{z-index:5;background:linear-gradient(#0000004d 0%,#0009 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-text-container{text-align:center;z-index:10;flex-direction:column;gap:8px;width:100%;display:flex;position:absolute;bottom:10vh;left:50%;transform:translate(-50%)}.hero-title{font-family:var(--script);color:#fff;text-shadow:0 4px 20px #000000b3;margin:0;font-size:clamp(2.5rem,5vw,5rem);font-weight:400;line-height:1.2}.hero-subtitle{font-family:var(--sans);color:#ffffffe6;text-transform:uppercase;letter-spacing:.25em;text-shadow:0 2px 10px #00000080;margin:0;font-size:clamp(.8rem,1.5vw,1.1rem);font-weight:300}.invitation-details{text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:50vh;padding:4rem 2rem;display:flex}.section-break{background-color:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:4rem 2rem;display:flex}.welcome-text{font-family:var(--script);color:#b46178;margin:0;font-size:clamp(3rem,6vw,5rem);font-weight:400}.to-text{font-family:var(--sans);color:#ffffffe6;text-transform:uppercase;letter-spacing:.25em;margin:0;font-size:clamp(.8rem,1.5vw,1.1rem);font-weight:300}.rsvp-text{font-family:var(--sans);color:#ffffffe6;letter-spacing:.05em;text-align:center;max-width:600px;margin:1.5rem 0 0;font-size:clamp(.9rem,1.5vw,1.2rem);font-weight:300;line-height:1.6}.couple-info-section{background-color:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:3rem;max-width:1200px;margin:0 auto;padding:2rem;display:flex}@media (width>=768px){.couple-info-section{flex-direction:row;justify-content:space-around;align-items:center;padding:4rem 2rem}.couple-image-container{justify-content:flex-start}}.couple-image-container{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.couple-image{object-fit:cover;border-radius:12px;width:100%;max-width:450px;height:auto;box-shadow:0 10px 30px #00000080}.couple-details-container{flex-direction:column;flex:1;justify-content:center;gap:3rem;display:flex}.person-details{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex}.person-name{font-family:var(--script);color:#fff;margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:400}.person-parents{font-family:var(--sans);color:#ffffffe6;letter-spacing:.1em;margin:0;font-size:clamp(.9rem,1.5vw,1.2rem);font-weight:300;line-height:1.6}.image-break-container{width:100vw;max-width:none;margin:4rem -50vw;padding:0;line-height:0;display:block;position:relative;left:50%;right:50%}.privacy-overlay{color:#fff;letter-spacing:.05em;pointer-events:none;font-size:.8rem;font-family:var(--sans);white-space:nowrap;background-color:#0006;border-radius:4px;padding:.4rem .8rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.image-break{object-fit:cover;width:100vw;height:100vh;box-shadow:none;border-radius:0;display:block}.gifts-container{flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:600px;margin:0 auto;display:flex}.gift-card{text-align:center;-webkit-backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;width:100%;padding:2.5rem 2rem;box-shadow:0 10px 30px #0003}.gift-card-title{font-family:var(--sans);color:#dea193;letter-spacing:.1em;text-transform:uppercase;margin:0 0 1.2rem;font-size:1.2rem;font-weight:400}.gift-card-text{font-family:var(--sans);color:#ffffffd9;margin:0;font-size:1rem;font-weight:300;line-height:1.8}.gift-detail-label{color:#b46178;margin-right:.5rem;font-weight:500}
