.home-screen{width:100%;display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f9f7f2;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px)}.home-container{background:transparent;padding:clamp(30px,8vw,60px) clamp(20px,5vw,40px);max-width:500px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(25px,5vw,40px)}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:20px}.at-logo{width:clamp(150px,40vw,200px);height:clamp(150px,40vw,200px);color:#8b0000}.home-title{font-size:clamp(2rem,8vw,3.5rem);color:#8b0000;margin-bottom:clamp(20px,5vw,40px);font-weight:400;letter-spacing:1px;font-family:Bobby Jones Soft,sans-serif}.home-subtitle{color:#8b0000;margin-bottom:clamp(30px,6vw,50px);font-size:clamp(1rem,3.5vw,1.4rem);font-weight:400;opacity:.8;font-family:Bobby Jones Soft,sans-serif}.code-form{display:flex;flex-direction:column;gap:30px}.input-group{width:100%;display:flex;align-items:center;justify-content:center;position:relative}.code-input{width:100%;max-width:300px;padding:clamp(12px,2vw,15px) 0;font-size:clamp(1rem,3vw,1.3rem);border:none;border-bottom:2px solid #8B0000;background:transparent;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;color:#8b0000;text-align:center}.code-input::placeholder{color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif}.code-input:focus{outline:none;border-bottom-color:#8b0000;border-bottom-width:3px}.code-input:disabled{opacity:.5;cursor:not-allowed}.heart-submit-button{background:transparent;border:none;cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:transform .3s ease,opacity .3s ease;margin-top:5px}.heart-submit-button:hover:not(:disabled){transform:scale(1.1)}.heart-submit-button:active:not(:disabled){transform:scale(.95)}.heart-submit-button:disabled{opacity:.3;cursor:not-allowed}.heart-submit-icon{width:clamp(24px,5vw,32px);height:clamp(24px,5vw,32px);display:block}.submit-text{font-family:Bobby Jones Soft,sans-serif;font-size:clamp(.7rem,2vw,.85rem);color:#8b0000;letter-spacing:.5px;line-height:1;margin:0}.submit-button{width:100%;padding:clamp(16px,2.5vw,18px);font-size:clamp(1.1rem,3.5vw,1.5rem);background:transparent;color:#8b0000;border:2px solid #8B0000;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;margin-top:clamp(15px,3vw,20px);min-height:44px}.heart-button-container{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vw,15px);margin-top:clamp(20px,4vw,30px)}.heart-button{width:auto;min-width:50px;max-width:70px;padding:clamp(8px,1.5vw,12px);border-radius:50%;border:none;background:transparent;margin:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.heart-icon{font-size:clamp(1.8rem,5vw,2.5rem);line-height:1;color:#8b0000;transition:all .3s ease;display:block}.heart-button:hover:not(:disabled) .heart-icon{transform:scale(1.15)}.heart-button:active:not(:disabled) .heart-icon{transform:scale(1.05)}.heart-button:disabled{opacity:.5;cursor:not-allowed}.heart-button:disabled .heart-icon{opacity:.5}.heart-hint{font-size:clamp(.65rem,1.8vw,.75rem);color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif;margin:0;text-align:center}.loading-message{color:#8b0000;font-size:clamp(.9rem,2.5vw,1.1rem);text-align:center;margin-top:-20px;font-family:Bobby Jones Soft,sans-serif;opacity:.6;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.9}}@media screen and (max-width:768px){.logo-container{display:none}}.email-screen{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f9f7f2;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);position:relative}.email-header{position:absolute;top:20px;left:20px;z-index:10}.back-button{background:transparent;border:none;color:#8b0000;font-size:clamp(1.2rem,3.5vw,1.5rem);width:clamp(40px,10vw,45px);height:clamp(40px,10vw,45px);min-width:44px;min-height:44px;cursor:pointer;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;display:flex;align-items:center;justify-content:center;border-radius:20px}.back-button:hover{background:#8b0000;color:#fff}.email-container{background:transparent;border-radius:0;padding:clamp(70px,15vw,100px) clamp(20px,5vw,40px) clamp(40px,8vw,60px) clamp(20px,5vw,40px);box-shadow:none;max-width:600px;width:100%;text-align:center;margin-top:clamp(30px,8vw,60px)}.email-title{font-size:clamp(2rem,8vw,3.5rem);color:#8b0000;margin-bottom:clamp(15px,3vw,20px);font-weight:400;letter-spacing:1px;font-family:Bobby Jones Soft,sans-serif}.email-subtitle{color:#8b0000;margin-bottom:clamp(30px,6vw,50px);font-size:clamp(1rem,3.5vw,1.4rem);font-weight:400;opacity:.8;font-family:Bobby Jones Soft,sans-serif}.email-form{display:flex;flex-direction:column;gap:30px}.input-group{width:100%;text-align:left}.input-label{display:block;margin-bottom:clamp(8px,2vw,10px);color:#8b0000;font-size:clamp(1rem,3vw,1.3rem);font-weight:400;font-family:Bobby Jones Soft,sans-serif}.email-input{width:100%;padding:clamp(12px,2vw,15px) 0;font-size:clamp(1rem,3vw,1.3rem);border:none;border-bottom:2px solid #8B0000;background:transparent;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;color:#8b0000;min-height:44px}.email-input::placeholder{color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif}.address-input{width:100%;padding:clamp(12px,2vw,15px) 0;font-size:clamp(1rem,3vw,1.3rem);border:none;border-bottom:2px solid #8B0000;background:transparent;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;resize:vertical;min-height:clamp(70px,12vw,80px);color:#8b0000}.address-input::placeholder{color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif}.email-input:focus,.address-input:focus{outline:none;border-bottom-color:#8b0000;border-bottom-width:3px}.email-input:disabled,.address-input:disabled{opacity:.5;cursor:not-allowed}.submit-button{width:100%;padding:clamp(10px,2vw,10px) clamp(15px,3vw,20px);font-size:clamp(1rem,3vw,1.3rem);background:transparent;color:#8b0000;border:1px solid #8B0000;border-radius:20px;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:.5px;margin-top:clamp(15px,3vw,20px);min-height:44px}.submit-button:hover:not(:disabled){background:#8b0000;color:#fff}.submit-button:active:not(:disabled){transform:scale(.98)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#8b0000;font-size:clamp(.9rem,2.5vw,1.1rem);text-align:center;margin-top:-20px;font-family:Bobby Jones Soft,sans-serif;opacity:.8}@font-face{font-family:Bobby Jones Soft;src:url(/fonts/bobby-jones-soft-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bobby Jones Soft Outline;src:url(/fonts/bobby-jones-soft-outline.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}.wedding-home-screen{width:100%;display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f9f7f2;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);position:relative;font-family:Bobby Jones Soft,sans-serif}.wedding-home-title{position:absolute;top:clamp(15px,3vw,20px);left:clamp(15px,3vw,20px);z-index:10;font-family:Bobby Jones Soft,sans-serif;font-size:clamp(1.2rem,4vw,1.8rem);color:#8b0000;letter-spacing:2px;font-weight:400;text-transform:uppercase;padding:clamp(8px,2vw,10px) clamp(15px,3vw,20px);cursor:pointer;transition:all .3s ease}.wedding-home-title:hover{opacity:.7}.wedding-home-container{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:800px;width:100%;gap:clamp(25px,5vw,40px)}.images-container{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:20px}.front-page-image-container{position:relative;width:100%;max-width:clamp(220px,52vw,320px)}.front-page-image{width:100%;height:auto;border-radius:20px;object-fit:cover;display:block}.love-image-overlay{position:absolute;bottom:0;right:0;width:clamp(85px,23vw,130px);height:clamp(85px,23vw,130px);z-index:2;transform:translate(20%,20%)}.love-image{width:100%;height:100%;object-fit:contain}.buttons-container{display:flex;flex-direction:column;gap:clamp(8px,2vw,14px);width:100%;align-items:center}.buttons-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;width:100%;justify-content:center}.buttons-row.second-row{justify-content:center}.wedding-button{flex:1;min-width:clamp(200px,55vw,240px);max-width:340px;padding:clamp(12px,2.5vw,16px) clamp(18px,3.5vw,24px);font-size:clamp(1.25rem,4vw,1.55rem);background:transparent;color:#8b0000;border:none;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;text-align:center;position:relative;min-height:44px}.rsvp-button,.schedule-button,.love-story-button{font-size:clamp(1.25rem,4vw,1.55rem)}.wedding-button:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:#8b0000;transition:all .3s ease;transform:translate(-50%)}.wedding-button:hover:after{width:100%}.wedding-button:active{transform:scale(.98)}.buttons-row--gift{margin-top:-4px}.honeymoon-button{font-size:clamp(.95rem,2.8vw,1.15rem);min-width:unset;max-width:200px;padding:clamp(8px,1.5vw,10px) clamp(12px,2.5vw,18px);color:#b0717199;flex:0 0 auto}.honeymoon-button:after{background:#b07171}.nav-link--dancy{display:inline-flex;gap:0;overflow:visible}.nav-link--dancy:after{display:none}.dancy-letter{display:inline-block;transition:transform .2s ease,opacity .2s ease}.nav-link--dancy:hover .dancy-letter{animation:letterBounce .5s ease forwards}@keyframes letterBounce{0%{transform:translateY(0)}30%{transform:translateY(-6px)}55%{transform:translateY(2px)}75%{transform:translateY(-3px)}to{transform:translateY(0)}}.floating-icons{position:fixed;bottom:24px;right:20px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;z-index:100}.floating-icon-btn{background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;opacity:.75;transition:opacity .2s ease,transform .2s ease}.floating-icon-btn:hover{opacity:1;transform:scale(1.12);background:transparent}.floating-icon-btn:hover svg{fill:#8b0000}.spotify-popup{border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000002e}.heart-cursor-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.heart-cursor{position:absolute;font-size:24px;color:#8b0000;transform:translate(-50%,-50%);pointer-events:none;animation:heartFade .6s ease-out forwards;font-family:Bobby Jones Soft,sans-serif;opacity:0}@keyframes heartFade{0%{opacity:.8;transform:translate(-50%,-50%) scale(1) rotate(0)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.2) rotate(10deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-10deg)}}.app{min-height:100vh;background:#f9f7f2}.page-transition{animation:page-fade-in .35s ease forwards}@keyframes page-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Bobby Jones Soft;src:url(/fonts/bobby-jones-soft-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bobby Jones Soft Outline;src:url(/fonts/bobby-jones-soft-outline.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bobby Jones Condensed;src:url(/fonts/bobby-jones-condensed.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}.wedding-nav{position:absolute;top:24px;right:clamp(15px,4vw,32px);z-index:10;display:flex;align-items:center;gap:clamp(12px,3vw,28px)}.nav-link{background:transparent;border:none;color:#8b0000;font-family:Bobby Jones Soft,sans-serif;font-size:clamp(.65rem,1.8vw,.85rem);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;opacity:.55;padding:4px 0;position:relative;transition:opacity .2s ease;white-space:nowrap}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:#8b0000;transition:width .25s ease}.nav-link:hover{opacity:1}.nav-link:hover:after{width:100%}@media(max-width:480px){.wedding-nav{gap:8px}.nav-link{font-size:.55rem;letter-spacing:.8px}}body{font-family:Bobby Jones Soft,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f9f7f2;min-height:100vh;color:#8b0000;font-size:clamp(16px,3vw,18px);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;-webkit-text-size-adjust:100%;text-size-adjust:100%}input,textarea,button,select{font-size:inherit;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media screen and (max-width:480px){body{font-size:clamp(16px,4.5vw,18px)}}
