@import"https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{font-family:"Noto Serif KR",serif;line-height:1.8;font-weight:500;color:#000;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:#fff}#root{width:100%;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-weight:600}p{margin:0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#ccc}@media(max-width:480px){html{font-size:16px}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;background:#fff;position:relative}.hero-content{text-align:center;max-width:400px;position:relative;z-index:1}.hero-subtitle{font-size:14px;color:#000;letter-spacing:2px;margin-bottom:50px;font-weight:500}.hero-flower-container{display:flex;justify-content:center;margin-bottom:50px}.small-flower{width:50px;height:70px;opacity:.9}.wedding-day-label{font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic;color:#d4a574;letter-spacing:4px;margin-bottom:20px;font-weight:400}.hero-names{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:50px;font-size:26px;color:#000;font-weight:600;letter-spacing:2px}.ampersand{font-family:Cormorant Garamond,serif;font-size:34px;font-style:italic;color:#d4a574;font-weight:500}.main-flower-container{display:flex;justify-content:center;margin-bottom:60px}.watercolor-flower{width:140px;height:200px;opacity:.95}.hero-date-section{padding:50px 20px;background:#f9f9f9;margin:0 -20px;border-top:1px solid #f0f0f0}.hero-date{font-family:Cormorant Garamond,serif;font-size:38px;font-weight:400;color:#d4a574;margin-bottom:15px;letter-spacing:3px}.hero-message{font-size:15px;color:#000;line-height:1.8;font-weight:500;letter-spacing:.5px}@media(max-width:480px){.hero-names{font-size:22px;gap:15px}.ampersand{font-size:28px}.watercolor-flower{width:120px;height:170px}.hero-date{font-size:32px}}.couple{padding:80px 20px;background:#fff;position:relative}.couple-content{max-width:400px;margin:0 auto;text-align:center;position:relative;z-index:1}.flower-decor{width:70px;height:35px;margin-bottom:40px;opacity:.8}.invitation-text{margin-bottom:60px;padding:0 10px;text-align:left}.invitation-text p{font-size:16px;color:#000;line-height:2.4;font-weight:500;letter-spacing:.3px}.invitation-text p strong{font-weight:900;color:#000;text-shadow:.3px .3px .3px rgba(0,0,0,.1)}.couple-info{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.person{padding:0}.parents-line{font-size:16px;color:#000;font-weight:500;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}.parent-name{color:#000;font-weight:600}.parent-name.single-char .char-first{margin-right:1em}.table-spacer{height:15px}.relation{color:#000;font-weight:500;margin-left:2px}.person-name{font-size:18px;color:#000;font-weight:700;margin-left:10px}.wedding-datetime{padding:35px 20px;background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee;text-align:center;margin-bottom:40px}.datetime-text{font-size:16px;color:#000;margin-bottom:8px;font-weight:500;letter-spacing:.5px}.venue-text{font-size:15px;color:#000;font-weight:500}.contact-section{margin-top:20px}.contact-title{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:400;font-style:italic;color:#d4a574;margin-bottom:25px;letter-spacing:2px}.contact-group{margin-bottom:20px}.contact-group:last-child{margin-bottom:0}.contact-group-title{font-size:15px;color:#000;font-weight:500;padding:12px 0;border-bottom:1px solid #eee;margin-bottom:0}.contact-list{border:1px solid #eee;border-top:none}.contact-item{display:flex;align-items:center;padding:15px 20px;border-bottom:1px solid #f5f5f5}.contact-item:last-child{border-bottom:none}.contact-role{font-size:14px;color:#000;font-weight:500;min-width:45px;text-align:left}.contact-name{flex:1;font-size:16px;color:#000;font-weight:500;text-align:left}.contact-name.single-char .char-first{margin-right:1em}.contact-buttons{display:flex;gap:8px}.contact-btn{padding:6px 12px;font-size:13px;border:1px solid #eee;background:#fff;color:#000;cursor:pointer;border-radius:2px;transition:all .2s ease}.contact-btn:hover{background:#fafafa;border-color:#ddd}.contact-btn.call{border-color:#d4a574;color:#d4a574}.contact-btn.call:hover{background:#d4a574;color:#fff}.contact-btn.sms{border-color:#ddd;color:#000}.contact-btn.sms:hover{background:#f5f5f5}.parents-table{margin:0 auto;border-collapse:collapse}.parents-table td{padding:0 3px;text-align:center;vertical-align:baseline}.parents-table .table-dot{padding:0 2px}.parents-table .person-name{margin-left:0;padding-left:7px}.baptismal-row td{font-size:14px;color:#000;font-weight:400;padding-top:4px}.baptismal-row td:last-child{padding-left:9px}.divider{display:none}.wedding-info{padding:60px 20px 80px;background:#fff;position:relative}.wedding-info-content{max-width:400px;margin:0 auto;text-align:center;position:relative;z-index:1}.calendar-container{background:#fff;padding:30px 20px;margin-bottom:30px;border:1px solid #f0f0f0}.calendar-month{font-size:16px;color:#000;margin-bottom:25px;font-weight:500;letter-spacing:1px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:15px;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.weekday{font-size:13px;color:#000;padding:8px 0;font-weight:500;text-transform:uppercase}.weekday.sunday{color:#d4a574}.weekday.saturday{color:#7a9eb8}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{display:flex;justify-content:center;align-items:center;height:38px;font-size:15px;color:#000;font-weight:500}.calendar-day.empty{visibility:hidden}.calendar-day.wedding-day{background:#d4a574;color:#fff;border-radius:50%;font-weight:500;width:38px;margin:0 auto}.countdown{margin-bottom:30px;padding:25px 20px;border:1px solid #f0f0f0}.countdown-label{font-size:13px;color:#000;margin-bottom:10px;font-weight:500;letter-spacing:1px;text-transform:uppercase}.countdown-days{display:inline-block}.days-number{font-family:Cormorant Garamond,serif;font-size:30px;color:#d4a574;letter-spacing:3px;font-weight:500}.info-details{background:#fff;padding:0;border:1px solid #f0f0f0}.info-item{display:flex;align-items:flex-start;gap:15px;padding:20px;border-bottom:1px solid #f0f0f0;text-align:left}.info-item:last-child{border-bottom:none}.info-icon{font-size:18px;flex-shrink:0;opacity:.6;width:24px;text-align:center}.info-text{font-size:15px;color:#000;line-height:1.8;font-weight:500}.location{padding:60px 20px 80px;background:#fff;position:relative}.location-content{max-width:450px;margin:0 auto;text-align:center;position:relative;z-index:1}.location-main{display:flex;gap:20px;margin-bottom:25px;border:1px solid #eee;padding:20px;align-items:flex-start}.map-area{flex:1;min-width:0}.map-image{width:100%;height:auto}.transport-area{flex:1;text-align:left;min-width:0}.transport-item{margin-bottom:20px}.transport-item:last-of-type{margin-bottom:15px}.transport-item h4{font-size:15px;color:#d4a574;font-weight:400;margin-bottom:8px;letter-spacing:1px}.transport-item p{font-size:14px;color:#000;line-height:1.8;font-weight:500}.transport-note{font-size:13px;color:#000;line-height:1.6;font-weight:500}.map-buttons{display:flex;justify-content:center;gap:8px;margin-bottom:30px}.map-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid #e5e5e5;background:#fff;font-size:13px;color:#000;cursor:pointer;border-radius:2px;transition:all .2s ease}.map-btn .btn-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff;border-radius:2px}.map-btn.naver .btn-icon{background:#1ec800}.map-btn.kakao .btn-icon{background:#fee500;color:#000}.map-btn.tmap .btn-icon{background:#e4002b}.map-btn:hover{background:#fafafa;border-color:#ccc}.location-footer-info{padding:25px 20px;border:1px solid #eee;margin-bottom:25px;text-align:center}.location-footer-info p{font-size:15px;color:#000;line-height:1.8;font-weight:500}.flower-note{padding:20px;background:#fafafa;border:1px solid #f0f0f0}.flower-note p{font-size:14px;color:#000;line-height:1.8;font-weight:500;text-align:left}@media(max-width:480px){.location-main{flex-direction:column;gap:25px}.map-area,.transport-area{width:100%}.map-buttons{flex-wrap:wrap}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-slide,.swiper-cube-shadow{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top,.swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible{.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color));&.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}&.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled &{display:none!important}svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto;.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-next,~.swiper-button-next,&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon{transform:rotate(0)}}}.swiper-vertical{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-button-prev,~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto;.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto;.swiper-navigation-icon{transform:rotate(90deg)}}}.gallery{padding:60px 20px 80px;background:#fff;position:relative}.gallery-content{max-width:400px;margin:0 auto;text-align:center;position:relative;z-index:1}.gallery-swiper{margin-bottom:20px;padding-bottom:35px}.gallery-swiper .swiper-slide{transition:transform .3s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.gallery-swiper .swiper-slide-active{transform:scale(1)}.gallery-swiper .swiper-slide:not(.swiper-slide-active){transform:scale(.95);opacity:.6}.gallery-slide{position:relative;overflow:hidden;background:#fff}.gallery-slide img{width:100%;height:400px;object-fit:cover;pointer-events:none}.gallery-slide-btn{position:absolute;top:0;left:0;width:100%;height:100%;border:none;background:transparent;cursor:pointer;padding:0;margin:0;z-index:2;-webkit-tap-highlight-color:transparent}.gallery-swiper .swiper-pagination-bullet{background:#ddd;width:6px;height:6px;opacity:1}.gallery-swiper .swiper-pagination-bullet-active{background:#d4a574;width:20px;border-radius:3px}.gallery-swiper .swiper-button-prev,.gallery-swiper .swiper-button-next{color:#d4a574;background:#ffffffe6;width:36px;height:36px;border-radius:50%;box-shadow:0 2px 8px #0000001a}.gallery-swiper .swiper-button-prev:after,.gallery-swiper .swiper-button-next:after{font-size:16px;font-weight:500}.gallery-counter{font-size:14px;color:#000;text-align:center;margin:12px 0;font-weight:500;letter-spacing:1px}.gallery-thumb-strip{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;padding:4px 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#d4a574 #f0f0f0}.gallery-thumb-strip::-webkit-scrollbar{height:6px}.gallery-thumb-strip::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.gallery-thumb-strip::-webkit-scrollbar-thumb{background:#d4a574;border-radius:3px}.gallery-thumb-strip::-webkit-scrollbar-thumb:hover{background:#c49464}.gallery-thumb-item{flex-shrink:0;width:60px;height:60px;overflow:hidden;cursor:pointer;background:#f5f5f5;border:2px solid transparent;padding:0;margin:0;border-radius:2px;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,opacity .2s ease;opacity:.5}.gallery-thumb-item.active{border-color:#d4a574;opacity:1}.gallery-thumb-item:hover{opacity:.8}.gallery-thumb-item img{width:100%;height:100%;object-fit:cover;pointer-events:none}.lightbox{position:fixed;inset:0;z-index:9999;display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent}.lightbox-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000f2;border:none;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.lightbox-inner{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1}.lightbox-swiper{width:100%;height:auto;max-height:80vh}.lightbox-slide{display:flex;justify-content:center;align-items:center;height:100%;overflow:hidden;touch-action:none}.lightbox-image{max-width:100%;max-height:80vh;object-fit:contain;user-select:none;-webkit-user-select:none;transform-origin:center center;will-change:transform}.lightbox-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:#fff;font-size:30px;cursor:pointer;padding:8px 12px;opacity:.8;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent;z-index:10}.lightbox-close:hover{opacity:1}.lightbox-reset-zoom{position:absolute;top:16px;left:16px;background:#fff3;border:none;color:#fff;font-size:15px;cursor:pointer;padding:6px 14px;border-radius:16px;z-index:10;-webkit-tap-highlight-color:transparent}.lightbox-counter{text-align:center;color:#fff9;font-size:15px;margin-top:16px;letter-spacing:1px}.account{padding:60px 20px 80px;background:#fff;position:relative}.account-content{max-width:400px;margin:0 auto;text-align:center;position:relative;z-index:1}.account-desc{font-size:15px;color:#000;line-height:1.8;margin-bottom:30px;font-weight:500}.account-groups{display:flex;flex-direction:column;gap:12px}.account-group{border:1px solid #eee}.account-group-title{padding:14px 20px;background:#fafafa;font-size:16px;font-weight:500;color:#000}.account-group-list{display:flex;flex-direction:column}.account-item-simple{display:flex;align-items:center;gap:15px;padding:16px 20px;border-top:1px solid #f0f0f0;text-align:left}.account-role{font-size:15px;color:#d4a574;font-weight:500;min-width:40px}.account-details{flex:1}.account-bank-name{font-size:13px;color:#000;margin-bottom:4px;font-weight:500}.account-number-simple{font-size:16px;color:#000;font-weight:500;letter-spacing:.5px}.copy-account-btn{padding:8px 16px;background:#fff;border:1px solid #ddd;font-size:13px;color:#000;cursor:pointer;border-radius:2px;transition:all .2s ease;flex-shrink:0;font-family:inherit;-webkit-tap-highlight-color:transparent}.copy-account-btn:hover{background:#fafafa;border-color:#ccc}.mass-order{padding:60px 20px 80px;background:#fafafa;position:relative}.mass-order-content{max-width:400px;margin:0 auto;text-align:center;position:relative;z-index:1}.mass-steps{background:#fff;border:1px solid #f0f0f0}.mass-step{display:flex;align-items:flex-start;gap:15px;padding:20px;border-bottom:1px solid #f0f0f0;text-align:left}.mass-step:last-child{border-bottom:none}.step-number{width:24px;height:24px;border-radius:50%;background:#d4a574;color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:500}.step-content{flex:1}.step-title{font-size:16px;color:#000;font-weight:500;margin-bottom:4px}.step-desc{font-size:14px;color:#000;font-weight:500;line-height:1.6}.mass-note{margin-top:25px;padding:20px;background:#fff;border:1px solid #f0f0f0}.mass-note p{font-size:14px;color:#000;font-weight:500}.footer{padding:60px 20px 40px;background:#fff;text-align:center;position:relative;border-top:1px solid #f0f0f0}.footer-content{max-width:400px;margin:0 auto;position:relative;z-index:1}.share-buttons{display:flex;justify-content:center;gap:12px;margin-bottom:50px}.share-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:1px solid #eee;font-size:14px;cursor:pointer;transition:all .2s ease;border-radius:2px;background:#fff}.share-icon{font-size:18px}.share-btn.kakao{background:#fee500;border-color:#fee500;color:#000}.share-btn.kakao:hover{background:#f5dc00}.share-btn.link{background:#fff;color:#000}.share-btn.link:hover{background:#fafafa;border-color:#ddd}.footer-message{padding:40px 20px;margin-bottom:30px;background:#fafafa;margin-left:-20px;margin-right:-20px}.footer-message p{font-size:15px;color:#000;line-height:2;font-weight:500}.copyright{font-size:13px;color:#000;letter-spacing:1px;font-weight:500}.wedding-invitation{min-height:100vh;width:100%;max-width:100%;overflow-x:hidden;background:#fff}.section-title{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:500;font-style:italic;color:#d4a574;margin-bottom:35px;letter-spacing:3px;display:inline-block;text-transform:lowercase}.section-title:after{display:none}
