:root{--container-width: 480px;--section-padding: 4rem 0;--content-padding: 0 2rem;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #8a8a8a;--text-inverse: #ffffff;--text-accent: #8B7355;--primary-color: #1a1a1a;--secondary-color: #4a4a4a;--background: #faf8f5;--background-secondary: #f5f1eb;--background-outer: #ebe7e0;--white: #ffffff;--sunday-color: #e74c3c;--saturday-color: #3498db;--btn-share-bg: #3b82f6;--footer-credits-bg: #6b7280}@font-face{font-family:Cafe24Oneprettynight;src:url(../fonts/Cafe24Oneprettynight-v2.0.woff2) format("woff2"),url(../fonts/Cafe24Oneprettynight-v2.0.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cafe24LovingU;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2405-3@1.1/Cafe24Lovingu.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:LuxuriousScript;src:url(../fonts/LuxuriousScript-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}*,button,input,select,textarea{margin:0;padding:0;box-sizing:border-box;font-family:inherit}html{background:var(--background-outer)}body{font-family:Cafe24Oneprettynight,"Noto Serif KR",serif;background-color:var(--background);color:var(--text-primary);line-height:1.6;overflow-x:hidden;max-width:var(--container-width);margin:0 auto;touch-action:pan-y;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(139,115,85,.015) 2px,rgba(139,115,85,.015) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(139,115,85,.015) 2px,rgba(139,115,85,.015) 4px);background-size:100% 100%}.flex-center{display:flex;align-items:center;justify-content:center}.flex-column{display:flex;flex-direction:column}.flex-between{display:flex;justify-content:space-between;align-items:center}section{width:100%;padding:var(--section-padding)}.section-title{text-align:center;font-size:1.7rem;font-weight:600;color:var(--primary-color);margin-bottom:1.5rem;position:relative;display:inline-block;width:100%}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:2px;background:var(--primary-color)}.invitation-section .section-title:after,.gallery-section .section-title:after,#location .section-title:after,.gift-section .section-title:after{display:none}.invitation-section .section-title,.gallery-section .section-title,#location .section-title,.gift-section .section-title,.wedding-date-text{font-size:1.45rem;color:#d8c1aa}.divider{width:60px;height:2px;background:var(--primary-color);margin:3rem auto}.btn{display:inline-block;padding:.8rem 2rem;background:#f0f0f0;color:var(--primary-color);text-decoration:none;font-weight:600;border:none;border-radius:999px;margin:.5rem;cursor:pointer;font-size:1rem}.btn-share{display:block;width:100%;background:var(--btn-share-bg);color:var(--white);border:0}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.scroll-reveal.visible{opacity:1;transform:translateY(0)}.scroll-reveal.delay-1{transition-delay:.1s}.scroll-reveal.delay-2{transition-delay:.2s}.scroll-reveal.delay-3{transition-delay:.3s}@media (prefers-reduced-motion: reduce){.scroll-reveal{opacity:1;transform:none;transition:none}}.toast-container{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:3000;pointer-events:none}.toast{background:#000000d9;color:#fff;padding:12px 24px;border-radius:24px;font-size:.9rem;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease;white-space:nowrap}.toast.show{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{opacity:0;animation:fadeInUp 1s ease-out forwards}.fade-in-delay-1{animation-delay:.3s}.fade-in-delay-2{animation-delay:.6s}.fade-in-delay-3{animation-delay:.9s}.fade-in-delay-4{animation-delay:1.2s}.hero{min-height:85vh;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding:0;position:relative;overflow:hidden;background:none;z-index:0;isolation:isolate;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%)}.hero-sparkles{position:absolute;top:0;left:0;width:100vw;height:100%;z-index:1;pointer-events:none;overflow:hidden;will-change:transform;transform:translateZ(0);backface-visibility:hidden;contain:paint;clip-path:inset(0 0 0 0)}@media (max-width: 768px){.hero{overflow:clip}}.hero-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden;will-change:transform;transform:translateZ(0);contain:paint}.hero-sparkles .petal{position:absolute;top:-12vh;left:50%;width:var(--petal-size, 14px);height:var(--petal-size, 14px);opacity:var(--petal-opacity, .75);transform:translate3d(var(--petal-x, 0px),-20vh,0) rotate(var(--petal-rot, 0deg));animation:petal-fall var(--petal-duration, 20s) linear infinite,petal-sway var(--petal-sway-duration, 4s) ease-in-out infinite,petal-spin var(--petal-spin-duration, 6s) linear infinite}.hero-sparkles .petal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:radial-gradient(circle at 50% 50%,#fff 0,#fff 12%,#ffffff73 26%,#fff0 52%),linear-gradient(45deg,#fff0 0,#fff0 42%,#ffffff8c 48.5%,#ffffff8c 51.5%,#fff0 58%,#fff0),linear-gradient(-45deg,#fff0 0,#fff0 42%,#ffffff8c 48.5%,#ffffff8c 51.5%,#fff0 58%,#fff0);filter:drop-shadow(0 0 7px rgba(255,255,255,.85)) drop-shadow(0 0 14px rgba(200,220,255,.26))}.hero-sparkles .petal:before{content:"";position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:linear-gradient(90deg,#fff0 0,#fff0 49%,#fffffff2 49.7%,#fffffff2 50.3%,#fff0 51%,#fff0),linear-gradient(0deg,#fff0 0,#fff0 49%,#fffffff2 49.7%,#fffffff2 50.3%,#fff0 51%,#fff0);filter:blur(.6px);opacity:.9}@keyframes petal-fall{0%{transform:translate3d(var(--petal-x, 0px),-20vh,0) rotate(var(--petal-rot, 0deg))}to{transform:translate3d(calc(var(--petal-x, 0px) + var(--petal-drift, 60px)),120vh,0) rotate(calc(var(--petal-rot, 0deg) + 90deg))}}@keyframes petal-sway{0%,to{margin-left:calc(var(--petal-sway, 22px) * -1)}50%{margin-left:var(--petal-sway, 22px)}}@keyframes petal-spin{0%{filter:brightness(.95)}40%{filter:brightness(1.35)}to{filter:brightness(.98)}}@keyframes subtitle-twinkle{0%,to{text-shadow:0 0 6px rgba(255,255,255,.35),0 0 14px rgba(255,255,255,.25),0 0 22px rgba(255,255,255,.15);filter:brightness(1)}50%{text-shadow:0 0 10px rgba(255,255,255,.6),0 0 24px rgba(255,255,255,.35),0 0 36px rgba(255,255,255,.22);filter:brightness(1.08)}}@keyframes heart-twinkle{0%,to{text-shadow:0 0 4px rgba(255,255,255,.25),0 0 10px rgba(255,255,255,.15);filter:brightness(1)}50%{text-shadow:0 0 8px rgba(255,255,255,.55),0 0 18px rgba(255,255,255,.3);filter:brightness(1.15)}}@media (prefers-reduced-motion: reduce){.hero-sparkles .petal{animation:none;opacity:0}}.hero:before,.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(../images/wedding/optimized/full/IMG_4261.webp);background-position:35% center;background-attachment:scroll;pointer-events:none;z-index:0}.hero:before{background-size:cover;filter:blur(18px);transform:scale(1.08);opacity:.75}.hero:after{background-size:cover;background-repeat:no-repeat;filter:none;opacity:1}.hero-top{padding-top:0;color:var(--white);position:relative;z-index:2}.hero-bottom{padding-bottom:0;color:var(--white);position:relative;z-index:2;transform:translateY(-20px)}.subtitle{font-family:LuxuriousScript,Cafe24LovingU,cursive;font-size:3.8rem;font-weight:200;color:#ffffffe0;line-height:1;margin-top:1.85rem;position:relative;text-shadow:0 0 6px rgba(255,255,255,.25);animation:none}.subtitle-kr{font-size:1rem;color:var(--white);margin-top:-.25rem;display:inline-block;transform:skew(-8deg)}.names{font-size:1.7rem;font-weight:400;color:var(--white);margin-top:24px;margin-bottom:.6rem;line-height:1.2;transform:translateY(-32px)}.names .heart{display:inline-block;color:var(--white);margin:0 .5rem;font-size:.5em;text-shadow:0 0 6px rgba(255,255,255,.3);animation:none}.date-location{position:relative;display:inline-block;margin:0 auto 3rem;padding:.2rem .6rem;transform:translateY(-32px)}.date-location:before{content:none;display:none}.date,.location{font-size:1.1rem;color:var(--white);font-weight:400;display:block;text-align:center;text-shadow:none}.date{margin-bottom:.55rem}.location{margin-bottom:0}.music-toggle{position:fixed;top:1rem;right:1rem;width:48px;height:48px;border-radius:0;background:transparent;border:none;cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;box-shadow:none}.music-icon{width:24px;height:24px}.invitation-section{padding-bottom:1rem}.invitation{background:transparent;padding:3rem;text-align:center;line-height:2}..invitation p{font-size:1rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.9}.invitation-text{display:inline-block;transform:translateY(-20px)}.invitation-couple-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}.invitation-couple-item{margin:0;position:relative}.invitation-couple-item img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:14px;display:block}.invitation-couple-caption{position:absolute;z-index:2;margin:0;padding:.5rem .7rem;border-radius:12px;background:#f8f5f2bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text-secondary);pointer-events:none}.invitation-couple-item--groom .invitation-couple-caption{left:12px;bottom:12px;text-align:left;border-radius:999px;background:#ffffffc7;box-shadow:0 10px 26px #00000014,0 0 26px #ffffff8c}.invitation-couple-item--bride .invitation-couple-caption{right:12px;bottom:12px;text-align:right;border-radius:999px;background:#ffffffc7;box-shadow:0 10px 26px #00000014,0 0 26px #ffffff8c}.invitation-couple-item--groom .invitation-couple-caption:before,.invitation-couple-item--bride .invitation-couple-caption:before{content:"";position:absolute;top:-34px;right:-34px;bottom:-34px;left:-34px;z-index:-1;border-radius:999px;background:radial-gradient(circle at 50% 20%,#ffffffbf 0,#ffffffbf 42%,#fff0 60%),radial-gradient(circle at 80% 35%,#ffffffb3 0,#ffffffb3 40%,#fff0 60%),radial-gradient(circle at 80% 70%,#ffffffb3 0,#ffffffb3 40%,#fff0 60%),radial-gradient(circle at 50% 85%,#ffffffbf 0,#ffffffbf 42%,#fff0 62%),radial-gradient(circle at 20% 70%,#ffffffb3 0,#ffffffb3 40%,#fff0 60%),radial-gradient(circle at 20% 35%,#ffffffb3 0,#ffffffb3 40%,#fff0 60%);filter:blur(10px)}.invitation-couple-item--groom .invitation-couple-caption:after,.invitation-couple-item--bride .invitation-couple-caption:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;z-index:-1;border-radius:999px;background:radial-gradient(circle at 30% 30%,#ffffffa6,#fff0 60%);filter:blur(12px)}.family-info{margin-top:.75rem;color:var(--text-secondary);font-size:1.1rem;line-height:1.7}.family-relation{font-size:.7em;letter-spacing:-.01em}.family-name{color:var(--text-accent);font-weight:600}.contact-btn-container{margin-top:2rem;text-align:center}.gallery-section{padding:var(--section-padding);padding-bottom:2.5rem;width:100%}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:0 1rem}.gallery-grid-item{position:relative;aspect-ratio:1 / 1;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}.gallery-grid-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease,opacity .2s ease}.gallery-grid-item--hidden{display:none}.gallery-grid-item--revealing{opacity:0;transform:translateY(8px);animation:galleryReveal .35s ease forwards}@keyframes galleryReveal{to{opacity:1;transform:translateY(0)}}.gallery-more{display:flex;justify-content:center;margin-top:1.2rem}.btn-gallery-more{padding:.9rem 1.4rem;font-size:1rem;font-weight:500;white-space:nowrap}.gallery-grid-item:active img{transform:scale(.95)}.gallery-grid-item:focus-visible{outline:2px solid var(--text-accent);outline-offset:-2px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;display:none;align-items:center;justify-content:center;z-index:2000;opacity:0;transition:opacity .3s ease}.lightbox.active{display:flex;opacity:1}.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px}.lightbox-counter{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);padding:.35rem .75rem;border-radius:999px;background:#00000073;color:#ffffffd9;font-size:.9rem;letter-spacing:.02em;z-index:2001}.lightbox-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:1.5rem;cursor:pointer;z-index:2001}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;font-size:2rem;cursor:pointer;z-index:2001}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-nav:active,.lightbox-close:active{background:#fff3}@media (prefers-reduced-motion: reduce){.gallery-grid-item img{transition:none}}.wedding-date-text{text-align:center;font-weight:600;margin-bottom:.5rem}.wedding-time-text{text-align:center;font-size:1.1rem;color:var(--text-secondary);margin-bottom:2rem}.wedding-date-text,.wedding-time-text,.calendar-container{transform:translateY(-32px)}.calendar-container{width:100%;padding:var(--content-padding);text-align:center}@media (max-width: 768px){.calendar-container{padding:0 1rem}}.calendar{width:100%;border-collapse:collapse;font-size:1rem}.calendar th,.calendar td{padding:.8rem 0;text-align:center}.calendar th{font-weight:600;font-size:.9rem;color:var(--text-secondary);padding-bottom:1rem}.calendar td{font-size:1rem;color:var(--text-primary)}.calendar .sunday{color:var(--sunday-color)}.calendar .saturday{color:var(--saturday-color)}.calendar .wedding-day{position:relative;font-weight:700;color:var(--text-primary)!important}.calendar .wedding-day:before{content:"♥";position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);font-size:3.6rem;line-height:1;color:#e79090;opacity:.6;z-index:-1;animation:wedding-heart-glow 3s ease-in-out infinite}@keyframes wedding-heart-glow{0%,to{transform:translate(-50%,-50%) scale(.98);opacity:.5;filter:drop-shadow(0 0 2px rgba(231,144,144,.35)) drop-shadow(0 0 6px rgba(231,144,144,.22))}50%{transform:translate(-50%,-50%) scale(1.02);opacity:.75;filter:drop-shadow(0 0 5px rgba(231,144,144,.55)) drop-shadow(0 0 12px rgba(231,144,144,.32))}}.dday-counter{margin-top:1.5rem;padding-top:1.5rem;border-top:0}.dday-counter{position:relative}.dday-overlay{position:absolute;top:5rem;left:0;right:0;width:100%;font-size:1.1rem;color:var(--white);font-weight:400;text-align:right;padding:0 32px 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.35);z-index:2;-webkit-text-size-adjust:100%;text-size-adjust:100%}#dday-count{color:#fff7f0}.dday-overlay #dday-count{color:#ffd1d1;font-weight:700;font-size:1.5rem}.dday-photo{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;object-position:center 100%;margin:.9rem auto 0;border-radius:18px;box-shadow:0 4px 14px #0000000f}#location{padding-bottom:2.5rem}.map-container{background:transparent;padding:1rem 0}#kakao-map{width:100%;height:240px}.address-info{text-align:center;padding:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:.5rem}.address-line{display:flex;align-items:center;justify-content:center;gap:.5rem}.address-text{font-size:1rem;color:var(--text-primary);font-weight:400}.address-text-second{font-size:1rem;color:var(--text-primary);margin:0}.copy-address-btn{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer}.copy-address-icon{width:20px;height:20px;cursor:pointer;flex-shrink:0}.copy-address-icon:hover{opacity:.7}.copy-address-icon:active{opacity:.5}.phone-line{gap:.4rem}.phone-call-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:0;text-decoration:none;font-size:.95rem;line-height:1}.phone-call-btn:hover{opacity:.8}.phone-call-btn:active{opacity:.6}.app-nav-section{text-align:center;background:#f0f0f0;padding:.5rem 0}.app-nav-title{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:600}.app-nav-buttons{display:flex;justify-content:space-between;align-items:center;width:100%}.app-nav-btn{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--text-primary);cursor:pointer;flex:1;padding:.5rem 0}.app-nav-btn:not(:last-child){border-right:1px solid #ccc}.app-nav-btn span{font-size:.75rem;margin-top:.3rem;font-weight:600}.app-icon{width:30px;height:30px;object-fit:cover}.transport-info{padding:1.2rem 1.5rem;display:flex;flex-direction:column;gap:.8rem}.transport-item{display:flex;gap:.8rem;align-items:baseline}.transport-dot{display:inline-block;width:8px;height:8px;margin-right:.35rem;border-radius:50%;background:#f59e0b;vertical-align:middle}.transport-dot--red{background:#dc2626}.transport-item strong{font-size:1rem;color:var(--text-accent);min-width:3rem;flex-shrink:0}.transport-item p{font-size:1rem;color:var(--text-secondary);margin:0;line-height:1.5}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.modal.active{display:block}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;cursor:pointer;opacity:0;transition:opacity .3s ease}.modal.active .modal-overlay{opacity:1}.modal-content{position:fixed;bottom:0;left:50%;transform:translate(-50%) translateY(100%);width:100%;max-width:var(--container-width);background:var(--white);padding:1rem 1.5rem 2rem;max-height:80vh;overflow-y:auto;z-index:1001;border-radius:20px 20px 0 0;transform:translateY(100%);transition:transform .3s ease-out}.modal.active .modal-content{transform:translate(-50%) translateY(0)}.modal-content:before{content:"";display:block;width:40px;height:4px;background:#ddd;border-radius:2px;margin:0 auto 1rem}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:active{background:var(--background-secondary)}.modal-title{text-align:center;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.contact-section{margin-bottom:1.5rem}.contact-section:last-of-type{margin-bottom:0}.contact-section-title{color:var(--text-accent);margin-bottom:.8rem;font-size:1rem;font-weight:600;text-align:left}.contact-list{display:flex;flex-direction:column;gap:.5rem}.contact-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:var(--background-secondary);border-radius:10px}.contact-label{color:var(--text-secondary);font-size:.95rem;font-weight:500}.contact-account{font-size:.85rem;color:var(--text-muted);flex:1;text-align:right;margin-right:.5rem}.contact-btn{font-size:1.2rem;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--white);border:none;border-radius:50%;box-shadow:0 1px 3px #0000001a}.contact-btn .copy-icon{width:18px;height:18px}.contact-btn:active{background:var(--background-secondary)}.account-notice{word-break:keep-all;overflow-wrap:break-word;font-size:clamp(14px,3.8vw,16px);line-height:1.65;text-align:center;max-width:360px;margin:0 auto;padding:0 20px;-webkit-text-size-adjust:100%;text-size-adjust:100%;white-space:pre-line}@media (max-width: 430px){.account-notice{font-size:15px;max-width:340px}}@media (max-width: 390px){.account-notice{font-size:14px;max-width:320px}}.gift-buttons{display:flex;gap:1rem;justify-content:center;align-items:center;margin-top:-1.5rem}.gift-container{width:100%;padding:var(--content-padding)}.gift-description{text-align:center;color:var(--text-secondary);font-size:.95rem;line-height:1.8;margin-bottom:2rem}.gift-accounts{display:flex;flex-direction:column;gap:2rem}.gift-section{background:transparent;padding:1.5rem}.gift-section-title{color:var(--primary-color);font-size:1.1rem;font-weight:600;margin-bottom:1rem;text-align:center}.account-list{display:flex;flex-direction:column;gap:.8rem}.account-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem;background:transparent;border:1px solid var(--primary-color)}.account-label{color:var(--text-primary);font-size:.95rem;font-weight:500}.account-copy-btn{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);padding:.4rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer}.account-copy-btn:hover{background:var(--primary-color);color:transparent}footer{text-align:center;padding:3rem 0 0;background:transparent;color:var(--primary-color);position:relative;min-height:620px}footer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(../images/wedding/optimized/full/IMG_4265.webp);background-size:cover;background-position:70% 30%;background-repeat:no-repeat;z-index:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%)}.footer-text-overlay{position:absolute;left:1.5rem;right:auto;bottom:4.2rem;top:auto;z-index:2;color:var(--white);text-shadow:0 2px 12px rgba(0,0,0,.35);text-align:left}footer p{margin-bottom:.5rem}.footer-heart{color:var(--secondary-color);display:inline-block}.share-section{text-align:center;padding:0}.share-section .btn-share{margin:0;border-radius:0;padding:1.1rem 1.5rem;font-size:1rem;letter-spacing:-.01em;background:transparent;color:var(--text-muted)}.kakao-icon{width:18px;height:18px;vertical-align:middle;margin-right:.3rem}.share-icon{width:18px;height:18px;vertical-align:middle;margin-left:.3rem;filter:brightness(0) invert(1)}.footer-credits{display:block;width:100%;margin-top:0;padding:1.1rem 1.5rem;font-size:.95rem;background:transparent;color:var(--text-muted);border:0;border-radius:0}@media (max-width: 768px){.names{font-size:1.9rem}.date{font-size:1.1rem;font-weight:500;letter-spacing:.01em}.location{font-size:1.1rem}.section-title,.invitation-section .section-title,.gallery-section .section-title,#location .section-title,.gift-section .section-title,.wedding-date-text{font-size:1.3rem}.modal-title,.contact-section-title{font-weight:500}.invitation{padding:2rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.btn{display:none}body{background:#fff}section{page-break-inside:avoid}}
