@font-face{font-family:Romie;src:url(/fonts/Romie-Regular.woff2) format("woff2"),url(/fonts/Romie-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#f5efe5;display:flex;justify-content:center;align-items:center;z-index:9999}.loading-content{text-align:center;max-width:300px;padding:40px 20px}.loading-logo{margin-bottom:40px;opacity:0;animation:fadeInPulse 2s ease-in-out infinite}.loading-logo-image{max-width:200px;height:auto;object-fit:contain}.loading-progress{width:100%}.loading-bar{width:100%;height:4px;background:#8fc0f033;border-radius:2px;overflow:hidden;margin-bottom:10px;position:relative}.loading-fill{height:100%;background:linear-gradient(90deg,var(--fg),#B8D4F1);border-radius:2px;transition:width .3s ease-out;position:relative}.loading-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s ease-in-out infinite}.loading-percentage{font-family:Poppins,sans-serif;font-size:14px;color:var(--fg);font-weight:500}@keyframes fadeInPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}[data-animation],.initials,.polaroid-container,.names-section,.wedding-date-text,.decorative-detail{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.polaroid-container{transform:translate(-50px)}.names-section{transform:translate(50px)}:root{--bg: #F9F5F1;--fg: #8FC0F0;--muted: #6b665f;--accent: #6c9dce;--accent-2: #b2d2f3}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--fg);background:url(/img/background.png);background-repeat:repeat-y;background-size:100% auto;background-position:top center;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:"Young Serif",ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.page{display:flex;flex-direction:column;min-height:100%}.nav{display:flex;justify-content:center;gap:40px;padding:20px;background:var(--bg)}.nav a{color:var(--fg);text-decoration:none;font-size:16px;transition:opacity .2s ease}.nav a:hover{opacity:.7}.hero{padding:60px 24px;text-align:center;background:transparent;position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px}.header-logo-image{max-width:80px;height:auto;object-fit:contain}.music-control-floating{position:fixed;bottom:20px;right:20px;z-index:1000}.music-btn-floating{background:none;border:none;width:50px;height:50px;cursor:pointer;transition:all .3s ease;padding:0}.music-btn-floating:hover{transform:scale(1.1)}.music-btn-floating:active{transform:scale(.95)}.music-icon-floating{width:100%;height:100%;object-fit:contain}.polaroid-container{margin:0}.polaroid-image{max-width:300px;width:100%;height:auto;object-fit:contain}.couple-names{text-align:right;margin:0}.couple-title-image{max-width:100%;height:auto;object-fit:contain}.name-line{font-family:Romie,serif;font-size:71px;color:var(--fg);font-weight:900;letter-spacing:1px;line-height:1.1;text-shadow:inset 0 3px 6px rgba(0,0,0,.3)}.wedding-date-text{font-family:Josefin Sans,sans-serif;font-size:16px;color:var(--fg);font-weight:400;letter-spacing:2px;text-transform:uppercase}.decorative-detail{margin-top:20px}.detail-image{max-width:200px;width:100%;height:auto;object-fit:contain}.player-controls{text-align:center}.progress-bar{width:100%;height:4px;background:#7aacdb33;border-radius:2px;position:relative;margin-bottom:20px}.progress-fill{width:25%;height:100%;background:var(--fg);border-radius:2px}.progress-scrubber{position:absolute;top:-6px;left:25%;width:16px;height:16px;background:#fff;border:2px solid var(--fg);border-radius:50%;transform:translate(-50%)}.control-buttons{display:flex;justify-content:center;align-items:center;gap:30px;margin-bottom:20px}.control-btn{width:60px;height:60px;border-radius:50%;border:none;background:#fff;color:var(--fg);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.control-btn:hover{background:var(--fg);color:#fff;transform:scale(1.05)}.control-btn.play{width:75px;height:75px;font-size:28px}.play-label{font-family:Poppins,sans-serif;font-size:11px;color:var(--muted);text-transform:lowercase}.bible-verse{padding:80px 24px;text-align:center;background:transparent;margin:20px 0}.verse-content{max-width:800px;margin:0 auto}.verse-text{font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:400;color:var(--fg);line-height:1.6;margin:0 0 20px}.verse-reference{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:900;color:var(--fg);margin:0}.countdown{padding:60px 24px;text-align:center;background:transparent;margin:20px 0}.countdown h2{font-family:"Young Serif",serif;font-size:24px;margin:0 0 40px;color:var(--fg)}.countdown-grid{display:flex;justify-content:center;gap:20px;flex-wrap:nowrap;max-width:800px;margin:0 auto}.countdown-card{background:var(--fg);border-radius:0;padding:30px 20px;min-width:120px;box-shadow:0 4px 8px #00000026;display:flex;flex-direction:column;align-items:center;justify-content:center}.countdown-number{font-family:Josefin Sans,sans-serif;font-size:48px;font-weight:700;color:#fff;line-height:1;margin-bottom:8px}.countdown-label{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:#fff;text-transform:lowercase}.new-section{padding:40px 24px;background:transparent;margin:20px 0}.section-content{max-width:800px;margin:0 auto}.section-title{font-family:Josefin Sans,sans-serif;font-size:32px;font-weight:900;color:var(--fg);text-align:center;line-height:1.2;margin:0 0 20px;text-transform:uppercase}.section-text{font-family:Josefin Sans,sans-serif;font-size:22px;font-weight:400;color:var(--fg);text-align:center;line-height:1.6}.childs-section{padding:40px 24px;text-align:center;background:transparent;margin:20px 0}.childs-image{max-width:100%;height:auto;object-fit:contain}.wedding-date-container{display:flex;justify-content:center;padding:40px 20px 60px;background:transparent}.elegant-date{display:flex;align-items:center;gap:30px}.date-element{display:flex;flex-direction:column;align-items:center;gap:4px}.date-line{width:100%;height:1px;background:var(--fg)}.date-text{font-family:Poppins,sans-serif;font-size:20px;font-weight:500;color:var(--fg);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.date-number{font-family:Poppins,sans-serif;font-size:4rem;font-weight:400;color:var(--fg);line-height:1}.photo{width:100%;margin:0}.couple-photo{width:100%;height:650px;object-fit:cover;display:block}.message{padding:80px 24px;text-align:center;background:transparent;max-width:800px;margin:0 auto}.dancing-illustration{margin:0 0 40px;height:125px;display:flex;align-items:center;justify-content:center}.dancing-image{max-width:350px;height:auto;object-fit:contain}.message h2{font-size:32px;margin:0 0 30px;color:var(--fg)}.invitation-text{font-size:16px;line-height:1.8;color:var(--fg);margin:0 0 40px}.date-section{margin:40px 0}.wedding-date{font-size:42px;color:var(--fg);display:block;margin:0 0 20px;font-family:Beth Ellen,cursive;font-weight:400;letter-spacing:2px}.confirm-btn{padding:16px 32px;border:1px solid var(--fg);background:transparent;color:var(--fg);font-family:"Young Serif",ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:16px;font-weight:400;cursor:pointer;transition:all .2s ease;margin:0 0 20px;letter-spacing:1px}.confirm-btn:hover{background:var(--fg);color:var(--bg)}.deadline{font-size:12px;color:var(--fg);max-width:300px;margin:0 auto;text-align:center}.couple-photo-section{padding:40px 0;text-align:center;background:transparent;margin:20px 0}.couple-photo-image{width:100%;height:auto;object-fit:cover;margin-bottom:30px}.photo-detail{margin:0 auto;text-align:center}.photo-detail .detail-image{max-width:200px;height:auto;object-fit:contain}.ceremony{padding:80px 24px;background:transparent;text-align:center;margin:20px 0}.ceremony-detail-top{display:flex;justify-content:center;margin-bottom:40px}.ceremony-card{max-width:600px;margin:0 auto;background:transparent}.ceremony-title{font-family:Josefin Sans,sans-serif;font-size:32px;font-weight:900;color:var(--fg);text-transform:uppercase;margin:0 0 20px}.ceremony-time{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:900;color:var(--fg);margin:0 0 30px}.ceremony-address{margin:0 0 40px}.ceremony-address p{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);margin:4px 0;line-height:1.2}.ceremony-btn{padding:16px 32px;border:1px solid var(--fg);background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:6px;letter-spacing:.5px;text-decoration:none;display:inline-block;margin-top:40px}.ceremony-btn:hover{background:var(--fg);color:var(--bg)}.church-illustration{margin-top:40px;width:100%;text-align:center}.church-image{margin-top:60px;max-width:100%;height:auto;object-fit:contain}.reception{padding:80px 24px;background:transparent;text-align:center;margin:20px 0}.reception-card{max-width:600px;margin:0 auto;background:transparent}.reception-detail-top{margin:0 0 50px;text-align:center}.reception-detail-bottom{margin:40px 0 0;text-align:center}.reception-detail-top .detail-image,.reception-detail-bottom .detail-image{max-width:200px;height:auto;object-fit:contain}.reception-title{font-family:Josefin Sans,sans-serif;font-size:32px;font-weight:900;color:var(--fg);text-transform:uppercase;margin:0 0 20px}.reception-time{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:900;color:var(--fg);margin:0 0 30px}.reception-address{margin:0 0 40px}.reception-address p{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);margin:4px 0;line-height:1.2}.reception-btn{padding:16px 32px;border:1px solid var(--fg);background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;cursor:pointer;transition:all .2s ease;border-radius:6px;letter-spacing:.5px;margin-bottom:40px;text-decoration:none}.reception-btn:hover{background:var(--fg);color:var(--bg)}.accommodation-title{font-family:Josefin Sans,sans-serif;font-size:20px;font-weight:900;color:var(--fg);text-transform:uppercase;margin:80px 0 20px}.accommodation-text{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);line-height:1.4;margin:15px auto 20px;max-width:500px}.accommodation-btn{padding:16px 32px;border:1px solid var(--fg);background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:6px;letter-spacing:.5px;text-decoration:none}.accommodation-btn:hover{background:var(--fg);color:var(--bg)}.couple-photo-2-section{padding:0;text-align:center;background:transparent;margin:20px 0}.couple-photo-2-image{width:100%;height:auto;object-fit:cover;display:block}.photo-slider-section{margin:20px 0;position:relative}.photo-slider-container{position:relative;width:100%}.photo-slider-wrapper{position:relative;width:100%;overflow:hidden}.photo-slider-image{width:100%;height:auto;object-fit:cover;object-position:center;display:block;transition:opacity .5s ease-in-out}.photo-slider-3-section{margin:20px 0;position:relative}.photo-slider-3-container{position:relative;width:100%}.photo-slider-3-wrapper{position:relative;width:100%;overflow:hidden}.photo-slider-3-image{width:100%;height:auto;object-fit:cover;object-position:center;display:block;transition:opacity .5s ease-in-out}.dress-code{padding:60px 24px;text-align:center;background:transparent;margin:20px 0}.dress-code-title{font-family:Josefin Sans,sans-serif;font-size:24px;font-weight:900;color:var(--fg);text-transform:uppercase;margin:0 0 20px}.dress-code-text{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);margin:0 0 40px;line-height:1.4}.palette-container{margin:0 auto;text-align:center}.dress-code-guidelines{margin-top:40px}.dress-code-ladies,.dress-code-gentlemen{font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:600;color:#8fc0f0;text-transform:uppercase;margin:20px 0;letter-spacing:1px}.dress-code-gentlemen-text{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:#8fc0f0;margin:10px auto 0;max-width:400px;line-height:1.4}.palette-image{max-width:100%;height:auto;object-fit:contain}.dress-code-btn{padding:16px 32px;border:1px solid var(--fg);background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:6px;letter-spacing:.5px;text-decoration:none;display:inline-block;margin-top:30px}.dress-code-btn:hover{background:var(--fg);color:var(--bg)}.gifts{padding:80px 24px;text-align:center;background:transparent;margin:20px 0}.gifts-card{max-width:600px;margin:0 auto;background:transparent}.gifts-detail-top,.gifts-detail-bottom{margin:20px 0;text-align:center}.gifts-detail-top .detail-image,.gifts-detail-bottom .detail-image{max-width:200px;height:auto;object-fit:contain}.gifts-illustration{margin:30px 0;text-align:center}.gift-image{max-width:120px;height:auto;object-fit:contain}.gifts-title{font-family:Josefin Sans,sans-serif;font-size:28px;font-weight:900;color:var(--fg);text-transform:uppercase;margin:0 0 30px;line-height:1.2}.gifts-text{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);line-height:1.4;margin:0 auto 40px;max-width:500px}.gifts-details{margin:0 auto;max-width:400px}.bank-group{margin-bottom:40px}.bank-info{margin-bottom:5px}.bank-name{font-family:Josefin Sans,sans-serif;font-size:14px;font-weight:400;color:var(--fg);margin:1px 0;line-height:1.1}.copy-text{background:transparent;border:none;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:inherit;cursor:pointer;padding:0;position:relative}.copy-text:after{content:attr(data-tooltip);position:absolute;left:50%;transform:translate(-50%);bottom:120%;background:#959595;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s ease}.copy-text.copied:after,.copy-text:hover:after{opacity:1}.account-name{font-family:Josefin Sans,sans-serif;font-size:14px;font-weight:600;color:var(--fg);margin:0;line-height:1.2}.couple-photo-3-section{padding:0;text-align:center;background:transparent;margin:20px 0}.couple-photo-3-image{width:100%;height:auto;object-fit:cover;display:block}.rsvp{padding:80px 24px;text-align:center;background:transparent;margin:20px 0;position:relative}.adult-only-notice{background:transparent;border:2px solid var(--fg);border-radius:8px;padding:16px 20px;margin:20px auto;max-width:500px}.adult-only-notice p{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);margin:0;line-height:1.4}.rsvp-detail-top{display:flex;justify-content:center;margin-bottom:100px}.rsvp-detail-bottom{display:flex;justify-content:center;margin-top:40px}.rsvp-card{max-width:600px;margin:0 auto;background:transparent}.rsvp-title{font-family:Josefin Sans,sans-serif;font-size:32px;font-weight:900;color:var(--fg);text-transform:uppercase;margin:0 0 40px;text-align:center;line-height:1.1}.reservation-info{margin:0 0 30px}.reservation-text{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);margin:0}.reservation-number{font-family:Josefin Sans,sans-serif;font-size:48px;font-weight:900;color:var(--fg);margin:10px auto;border:2px solid var(--fg);border-radius:3px;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.reservation-number span{margin-top:5px}.rsvp-message{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);line-height:1.4;margin:0 auto 40px;max-width:500px;text-align:left}.rsvp-message .guest-name{font-weight:900}.rsvp-form{margin:0 auto;max-width:400px}.radio-group{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.radio-option{display:flex;align-items:center;cursor:pointer;font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg)}.radio-option input[type=radio]{display:none}.radio-custom{width:20px;height:20px;border:2px solid var(--fg);border-radius:50%;margin-right:12px;position:relative;transition:all .2s ease}.radio-option input[type=radio]:checked+.radio-custom{background:var(--fg)}.radio-option input[type=radio]:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--bg);border-radius:50%}.radio-text{flex:1}.additional-section{margin-top:30px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}.checkbox-option{display:flex;align-items:center;cursor:pointer;font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg)}.checkbox-option input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid var(--fg);border-radius:4px;margin-right:12px;position:relative;transition:all .2s ease}.checkbox-option input[type=checkbox]:checked+.checkbox-custom{background:var(--fg)}.checkbox-option input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--bg);font-size:14px;font-weight:700}.checkbox-text{flex:1}.additional-input{width:100%;margin-top:10px}.additional-name-input{width:100%;padding:12px 16px;border:2px solid var(--fg);border-radius:8px;background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;transition:all .2s ease}.additional-name-input::placeholder{color:var(--muted)}.additional-name-input:focus{outline:none;border-color:var(--fg)}.step-indicator{display:flex;align-items:center;justify-content:center;margin:40px 0;gap:8px}.step-circle{width:40px;height:40px;border-radius:50%;border:2px solid var(--fg);display:flex;align-items:center;justify-content:center;background:transparent;transition:all .3s ease}.step-circle.active{background:var(--fg)}.step-number{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:500;color:var(--fg);transition:color .3s ease}.step-circle.active .step-number{color:var(--bg)}.step-line{width:40px;height:2px;background:var(--fg);opacity:.3}.step-content{text-align:center;padding:20px 0}.step-instruction{font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:400;color:var(--fg);margin-bottom:40px}.step-options{display:flex;flex-direction:column;gap:16px;margin-bottom:40px;width:100%;max-width:100%}.option-button{width:100%;max-width:100%;padding:16px;border:1px solid var(--fg);border-radius:8px;background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;cursor:pointer;transition:all .3s ease;text-align:center;box-shadow:0 2px 4px #0000001a}.option-button:hover{background:var(--fg);color:#fff;border-color:var(--fg)}.option-button.selected{background:var(--fg);color:var(--bg);border:none}.continue-button{padding:12px 24px;border:1px solid var(--fg);border-radius:8px;background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-left:auto;display:block;box-shadow:0 2px 4px #0000001a}.continue-button:hover{background:var(--fg);color:var(--bg)}.companion-name-input{margin-bottom:30px}.companion-input{width:100%;padding:16px;border:1px solid var(--fg);border-radius:8px;background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:18px;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;margin:20px auto;text-align:center}.companion-input::placeholder{color:#8fc0f0b3}.companion-input:focus{outline:none;border-color:var(--fg)}.step-buttons{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:40px}.back-button{padding:12px 24px;border:1px solid var(--fg);border-radius:8px;background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.back-button:hover{background:var(--fg);color:var(--bg)}.step-inputs{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.input-group{width:100%}.love-note-input{width:100%;padding:16px;border:1px solid var(--fg);border-radius:8px;background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;resize:vertical;min-height:100px;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.love-note-input::placeholder{color:#8fc0f0b3}.love-note-input:focus{outline:none;border-color:var(--fg)}.song-input{width:100%;padding:16px;border:1px solid var(--fg);border-radius:8px;background:transparent;color:var(--fg);font-family:Josefin Sans,sans-serif;font-size:16px;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.song-input::placeholder{color:#8fc0f0b3}.song-input:focus{outline:none;border-color:var(--fg)}.submit-button{padding:12px 24px;border:1px solid var(--fg);border-radius:8px;background:var(--fg);color:var(--bg);font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.submit-button:hover{background:var(--accent)}.footer{padding:60px 0 0;text-align:center;background:transparent;margin:20px 0 0;display:flex;flex-direction:column;align-items:center;gap:40px}.footer-logo{display:flex;justify-content:center;align-items:center}.logo-image{max-width:120px;height:auto;object-fit:contain}.footer-illustration{display:flex;justify-content:center;align-items:flex-end;width:100%;margin:0;padding:0}.footer-image{width:100%;height:auto;object-fit:cover;object-position:bottom;display:block}@media (min-width: 769px){.hero{padding:80px 40px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;text-align:center}.initials{order:1}.header-logo-image{max-width:120px}.music-control{top:40px;right:40px}.music-btn{width:60px;height:60px}.music-icon{width:100%;height:100%}.hero-content{display:flex;align-items:center;justify-content:center;gap:60px;order:2;width:100%;max-width:1000px}.polaroid-container{flex:0 0 auto;margin:0}.polaroid-image{max-width:400px}.names-section{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end}.couple-names{margin:0}.couple-title-image{max-width:500px;height:auto}.name-line{font-size:100px;line-height:1}.wedding-date-text{font-size:20px;margin-top:40px;text-align:right}.decorative-detail{order:3;margin:0}.detail-image{max-width:250px}.player-controls{display:none}.verse-text{font-size:24px}.verse-reference{font-size:20px}.childs-image{max-width:40%}.countdown{padding:20px 40px 80px}.countdown h2{font-size:32px;margin-bottom:50px}.countdown-grid{gap:30px;max-width:1000px}.countdown-card{padding:40px 25px;min-width:150px;border-radius:8px}.countdown-number{font-size:80px;font-weight:700}.countdown-label{font-size:24px}.section-title{font-size:36px}.section-text{font-size:26px}.ceremony{padding:60px 40px}.ceremony-title{font-size:36px}.ceremony-time{font-size:24px;margin-bottom:40px}.ceremony-address p{font-size:20px}.ceremony-btn{padding:16px 32px;font-size:16px}.church-image{max-width:100vw;width:100vw;margin-top:40px;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.reception-detail-top{margin:0 0 80px}.reception-detail-bottom{margin:80px 0 0}.reception-title{font-size:36px}.reception-time{font-size:20px;margin-bottom:40px}.reception-address p{font-size:20px}.accommodation-title{font-size:32px}.accommodation-text{font-size:20px;margin-bottom:40px}.accommodation-btn{padding:16px 32px;font-size:16px}.dress-code{margin-top:60px}.dress-code-title{font-size:36px}.dress-code-text{font-size:20px;margin-bottom:40px;max-width:800px;margin-left:auto;margin-right:auto}.dress-code-guidelines{margin-top:60px}.dress-code-ladies,.dress-code-gentlemen{font-size:24px;margin:30px 0}.dress-code-gentlemen-text{font-size:20px;max-width:600px;margin:15px auto 0}.palette-image{max-width:40%;width:40%}.dress-code-btn{padding:16px 32px;font-size:16px;margin-top:40px}.gifts-title{font-size:36px}.gifts-text{font-size:26px;margin-bottom:60px}.bank-group{margin-bottom:40px}.bank-info{margin-bottom:8px}.bank-name{font-size:18px;margin:1px 0;line-height:1.1}.account-name{font-size:18px;font-weight:600}.gifts-detail-top{margin:0 0 80px}.gifts-detail-bottom{margin:80px 0 0}.rsvp-title{font-size:36px}.reservation-text{font-size:20px}.reservation-number{font-size:60px;width:80px;height:80px;border-radius:15px}.rsvp-message{font-size:22px;margin-bottom:40px;text-align:center}.step-indicator{margin-bottom:40px}.step-circle{width:50px;height:50px;font-size:20px}.step-line{height:2px;width:60px}.step-title{font-size:22px;margin-bottom:30px}.option-button{width:100%;padding:20px;font-size:18px;margin:0;box-shadow:0 2px 4px #0000001a}.back-button,.continue-button,.submit-button{padding:20px 40px;font-size:18px}.step-input{padding:15px;font-size:18px;margin-bottom:20px}.step-textarea{padding:15px;font-size:18px;margin-bottom:20px;min-height:120px}}@media (max-width: 768px){body{background:url(/img/mobile_background.png);background-repeat:repeat-y;background-size:100% auto;background-position:top center}.nav{gap:20px;padding:15px}.nav a{font-size:14px}.hero{padding:30px 20px 60px;min-height:80vh;gap:10px}.header-logo-image{max-width:60px}.music-control{top:15px;right:15px}.music-btn{width:45px;height:45px}.music-icon{width:100%;height:100%}.polaroid-image{max-width:350px}.name-line{font:bold 150px;color:var(--fg)}.wedding-date-text{margin-top:40px;font-size:16px;font-weight:700;letter-spacing:1px}.detail-image{max-width:200px}.decorative-detail{margin-top:80px}.bible-verse{padding:60px 20px}.verse-text{font-size:18px;margin:0 20px 20px}.verse-reference{font-size:16px;margin:0 20px}.countdown{padding:10px 40px}.new-section{padding:10px 20px}.section-title{font-size:24px;margin-bottom:20px}.section-text{font-size:18px;font-weight:400;line-height:1.5}.childs-section{padding:30px 20px}.countdown h2{font-size:20px;margin-bottom:30px}.countdown-grid{gap:20px;flex-wrap:nowrap}.countdown-card{border-radius:5px;padding:12px 10px;min-width:60px;flex:1}.countdown-number{font-size:40px;font-weight:400;margin-bottom:0}.countdown-label{font-size:12px;font-weight:400}.wedding-date-container{padding:30px 15px 40px}.elegant-date{gap:20px}.date-element{gap:3px}.date-line{width:100%}.date-text{font-size:16px}.date-number{font-size:3rem}.couple-photo{height:400px}.message{padding:60px 20px}.dancing-illustration{height:100px;margin-bottom:30px}.dancing-image{max-width:250px}.message h2{font-size:28px;margin-bottom:20px}.invitation-text{font-size:15px;line-height:1.6}.wedding-date{font-size:36px;letter-spacing:1px}.confirm-btn{padding:14px 28px;font-size:14px}.deadline{font-size:11px;max-width:280px}.couple-photo-section{padding:30px 0}.couple-photo-image{margin-bottom:20px}.photo-detail .detail-image{max-width:200px}.photo-detail{margin-top:80px}.ceremony{padding:20px}.ceremony-detail-top{margin-bottom:20px}.ceremony-title{font-size:24px}.ceremony-time{font-size:18px;margin-top:15px;margin-bottom:5px}.ceremony-address p{font-size:18px}.ceremony-btn{padding:14px 28px;font-size:14px;margin-top:30px}.church-illustration{margin-top:15px;margin-left:-20px;margin-right:-20px;width:calc(100% + 40px)}.reception{padding:60px 20px}.reception-title{font-size:24px}.reception-time,.reception-address p{font-size:18px}.reception-btn{padding:14px 24px;font-size:14px;margin-bottom:30px}.accommodation-title{font-size:18px}.accommodation-text{font-size:18px;margin:0 auto 30px;max-width:400px;padding:0 20px}.accommodation-btn{padding:14px 28px;font-size:14px}.couple-photo-2-section{margin:20px 0}.gifts{padding:60px 20px}.gifts-title{font-size:22px}.gifts-text{font-size:18px;margin-bottom:50px}.gift-image{max-width:100px}.gifts-detail-top .detail-image,.gifts-detail-bottom .detail-image{max-width:200px}.gifts-detail-top{margin:0 0 80px}.gifts-detail-bottom{margin:80px 0 0}.bank-group{margin-bottom:30px}.bank-info{margin-bottom:4px}.bank-name{font-size:16px;margin:1px 0;line-height:1.1}.account-name{font-size:16px;font-weight:600}.couple-photo-3-section{margin:20px 0}.dress-code-title{font-size:24px}.dress-code-text{font-size:20px;margin:0 auto 30px;max-width:400px;padding:0 20px}.dress-code-guidelines{margin-top:30px}.dress-code-ladies,.dress-code-gentlemen{font-size:20px;margin:20px 0}.dress-code-ladies{margin-top:50px}.dress-code-gentlemen-text{font-size:18px;max-width:350px;margin:10px auto 0;padding:0 20px}.dress-code-btn{padding:14px 28px;font-size:14px;margin-top:25px}.reception h2{font-size:28px;margin-bottom:20px}.reception-details p{font-size:14px}.reception-detail-top{margin:0 0 80px}.reception-detail-bottom{margin:80px 0 0}.dress-code{padding:40px 20px}.dress-code h2{font-size:24px;margin-bottom:15px}.dress-code p{font-size:18px}.rsvp{padding:60px 40px}.rsvp-detail-top{margin-bottom:80px}.rsvp-detail-bottom{margin-top:60px}.rsvp-title{font-size:22px}.reservation-number{font-size:36px;font-weight:400;width:50px;height:50px;border-radius:12px}.reservation-text{font-size:18px}.rsvp-message{font-size:18px;margin-bottom:30px;text-align:center}.radio-option{font-size:18px}.radio-custom{width:18px;height:18px}.radio-option input[type=radio]:checked+.radio-custom:after{width:6px;height:6px}.checkbox-option{font-size:18px}.checkbox-custom{width:18px;height:18px}.checkbox-option input[type=checkbox]:checked+.checkbox-custom:after{font-size:12px}.additional-name-input{font-size:16px;padding:10px 14px}.step-indicator{margin:30px 0;gap:6px}.step-circle{width:36px;height:36px}.step-number{font-size:14px}.step-line{width:30px}.step-instruction{font-size:16px;margin-bottom:30px;color:var(--fg)}.step-options{gap:12px;margin-bottom:30px;width:100%;max-width:100%}.option-button{width:100%;padding:14px;font-size:15px;border:1px solid var(--fg);box-shadow:0 2px 4px #0000001a}.continue-button{padding:14px 24px;font-size:15px;margin-left:auto;width:auto;display:inline-block;max-width:200px}.companion-input{font-size:15px;padding:14px;width:100%}.step-buttons{flex-direction:row;gap:12px;margin-top:30px}.step-content .step-buttons{justify-content:flex-end}.step-content .step-buttons:has(.back-button){justify-content:space-between}.back-button,.continue-button,.submit-button{padding:14px 24px;font-size:15px;flex:0 0 auto;width:auto;border:1px solid var(--fg);box-shadow:0 2px 4px #0000001a}.step-inputs{gap:16px;margin-bottom:30px}.love-note-input{font-size:15px;padding:14px;min-height:80px}.song-input{font-size:15px;padding:14px}.submit-button{padding:14px 24px;font-size:15px;flex:0 0 auto;width:auto;border:1px solid var(--fg);box-shadow:0 2px 4px #0000001a}.footer{padding:40px 0 0;gap:30px;margin:20px 0 0}.logo-image{max-width:100px}.footer-image{width:100%;height:auto;object-fit:cover;object-position:bottom}}@media (max-width: 480px){.polaroid{width:240px;height:300px;padding:2px 2px 15px}.polaroid-photo{height:260px}.polaroid-caption{height:20px;padding:4px 4px 2px}.polaroid-text{font-size:12px}.polaroid-date{font-size:11px}.couple-names{font-size:32px;text-align:center}.couple-title-image{max-width:300px;height:auto;margin:0 auto}.names-section{text-align:center;align-items:center}.wedding-date-text{text-align:center}.music-player{padding:30px;max-width:350px}.control-btn{width:50px;height:50px;font-size:20px}.control-btn.play{width:65px;height:65px;font-size:24px}.countdown-timer{gap:15px}.time-unit .number{font-size:32px}.couple-photo{height:350px}.dancing-image{max-width:200px}.message h2{font-size:24px}.wedding-date{font-size:32px}.ceremony-text{right:15px;max-width:200px}.ceremony-text h2{font-size:20px}.ceremony-details p{font-size:13px}.rsvp-form{max-width:280px}}.rsvp-result{text-align:center;max-width:680px;margin:0 auto}.result-icon img{max-width:102px;height:auto;object-fit:contain;margin:10px auto 28px;display:block}.result-title{font-family:Josefin Sans,sans-serif;font-size:28px;font-weight:900;color:var(--fg);text-transform:uppercase;margin:10px 0 20px}.result-message{font-family:Josefin Sans,sans-serif;font-size:16px;font-weight:400;color:var(--fg);line-height:1.5;max-width:580px;margin:0 auto 30px}.result-block{margin:20px 0}.result-subtitle{font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:900;color:var(--fg);margin-bottom:6px}.result-value{font-family:Josefin Sans,sans-serif;font-size:16px;color:var(--fg)}@media (min-width: 769px){.result-title{font-size:32px}.result-message{font-size:18px}.result-icon img{max-width:119px;margin:10px auto 32px}}.step-instruction .relation-strong{font-weight:900}
