@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Great+Vibes&display=swap";@font-face{font-family:Deluxe Edition;src:url(/assets/Deluxe%20Edition%20-%20Demo-C3rlF8R3.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MaruBuri;src:url(/assets/MaruBuri-ExtraLight-BZHUDwu7.ttf) format("truetype");font-weight:200;font-display:swap}@font-face{font-family:MaruBuri;src:url(/assets/MaruBuri-Light-BjOt7UbB.ttf) format("truetype");font-weight:300;font-display:swap}@font-face{font-family:MaruBuri;src:url(/assets/MaruBuri-Regular-Ckg3Z5tE.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:MaruBuri;src:url(/assets/MaruBuri-SemiBold-BlGRFl1G.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:MaruBuri;src:url(/assets/MaruBuri-Bold-DvjVjIB5.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:GangwonEducationModuche;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFLightA.woff) format("woff");font-weight:300;font-display:swap}@font-face{font-family:GangwonEducationModuche;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFLightA.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:GangwonEducationModuche;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFLightA.woff) format("woff");font-weight:500;font-display:swap}@font-face{font-family:GangwonEducationModuche;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFBoldA.woff) format("woff");font-weight:600;font-display:swap}@font-face{font-family:GangwonEducationModuche;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFBoldA.woff) format("woff");font-weight:700;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:17px}body{font-size:1.125rem;font-family:var(--font-body),"Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f5f5f5;color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}button{font-family:inherit}a{color:inherit;text-decoration:none}:root{--color-primary: #C3B49D;--color-secondary: #AB9C86;--color-accent: #8E7F6B;--color-bg: #FDFCF8;--color-bg-section: #F7F4E9;--color-text: #453F39;--color-text-light: #857D74;--font-heading: "GangwonEducationModuche", sans-serif;--font-body: "GangwonEducationModuche", sans-serif;--font-script: "Bilbo", cursive}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}::selection{background-color:var(--color-primary);color:#fff}::-moz-selection{background-color:var(--color-primary);color:#fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px;opacity:.5}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:12px 24px;border-radius:25px;font-size:.9em;z-index:9999;animation:toast-in .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.section-divider{width:40px;height:1px;background:var(--color-secondary);margin:0 auto;opacity:.4}.opening{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg);cursor:pointer;transition:opacity .8s ease-out,visibility .8s ease-out}.opening--fade-out{opacity:0;visibility:hidden;pointer-events:none}.opening__content{position:relative;display:inline-block;padding:20px}.opening__text{font-family:var(--font-heading),"Noto Serif KR",serif;font-size:clamp(2rem,11vw,3.5rem);font-weight:400;color:var(--color-primary);margin:0;letter-spacing:.05em;display:flex;align-items:center;white-space:nowrap}.opening__cursor{font-weight:200;color:var(--color-primary);opacity:1;animation:blink 1s step-end infinite;margin-left:2px}[data-theme=navy] .opening__text,[data-theme=burgundy] .opening__text,[data-theme=navy] .opening__cursor,[data-theme=burgundy] .opening__cursor{color:var(--color-text)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.opening--start{cursor:pointer;background-color:var(--color-bg)}.opening__envelope{text-align:center;animation:float 2s ease-in-out infinite}.opening__envelope-text{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-text);margin-bottom:12px}.opening__envelope-sub{font-family:var(--font-body);font-size:.95rem;color:var(--color-text-light);letter-spacing:.05em}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.hero{position:relative;width:100%;min-height:100vh;min-height:100svh;background-color:var(--color-bg);padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:hero-fade-in 1.5s ease-out forwards}.hero__poster{width:100%;max-width:400px;display:flex;flex-direction:column;position:relative}.hero__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;position:relative;z-index:2}.hero__title-area{flex:1}.hero__subtitle{font-family:Deluxe Edition,cursive;font-size:1.2rem;letter-spacing:.05em;color:var(--color-text-light);margin-bottom:8px;font-style:italic}.hero__name{font-family:"Noto Serif KR",serif}.hero__title{font-family:Deluxe Edition,cursive;font-size:4.2rem;line-height:.9;font-weight:400;color:var(--color-text);margin:0;text-shadow:1px 1px 2px rgba(255,255,255,.8)}.hero__title-indent{display:inline-block;margin-left:30px}.hero__info-area{text-align:right;font-family:var(--font-heading);display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.hero__info-item{font-size:.85rem;line-height:1.4;color:var(--color-text)}.hero__info-item p{margin:0;white-space:nowrap}.hero__info-label{display:block;font-size:.65rem;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:2px}.hero__image-wrapper{width:100%;aspect-ratio:3 / 4;position:relative;box-shadow:0 10px 30px #00000014;background-color:#eee;overflow:hidden;margin-bottom:30px}.hero__image{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 10s ease}.hero__poster:hover .hero__image{transform:scale(1.03)}.hero__decoration{position:absolute;bottom:-20px;right:-10px;width:60px;height:60px;z-index:3;animation:float 4s ease-in-out infinite;background:var(--color-bg);border-radius:50%;padding:5px;box-shadow:0 4px 10px #0000000d}.hero__footer{text-align:center;position:relative;z-index:2;margin-top:10px;padding-bottom:20px}.hero__couple-names{font-family:"Noto Serif KR",serif;font-size:1.6rem;font-weight:400;color:var(--color-text);letter-spacing:.2em;margin:0}.hero__and{font-family:"Noto Serif KR",serif;font-style:italic;font-size:1.4rem;color:var(--color-primary);margin:0 4px}.hero--parents .hero__couple-names{font-size:1.4rem}.hero__family-names{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-heading);font-size:1.1rem;color:var(--color-text)}.hero__family-title{font-size:.85rem;color:var(--color-text-light);margin-right:6px}.hero__divider-dot{color:var(--color-primary);opacity:.5;font-size:.8rem}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}@media (max-width: 360px){.hero__title{font-size:3.2rem}.hero__title-indent{margin-left:20px}.hero__info-item{font-size:.75rem}}.hero--lettering{position:relative;width:100%;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:60px 20px 50px;background-color:#fcfcfc;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");color:#222;overflow:hidden}.hero-lettering__typography{text-align:center;margin-bottom:-10px;z-index:1;display:flex;flex-direction:column;align-items:center}.hero-lettering__begins{font-family:Cormorant Garamond,serif;font-size:3.8rem;font-weight:500;line-height:1;letter-spacing:-.02em;margin:0;color:#2c2c2c}.hero-lettering__on-month{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-top:-2px}.hero-lettering__on{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:400;padding-bottom:6px;color:#2c2c2c}.hero-lettering__month{font-family:Cormorant Garamond,serif;font-size:4.8rem;font-weight:500;line-height:.85;color:#2c2c2c;letter-spacing:-.02em}.hero-lettering__image-container{position:relative;width:82%;max-width:320px;aspect-ratio:3/4;margin:0 auto 30px;z-index:2}.hero-lettering__image{width:100%;height:100%;object-fit:cover;box-shadow:0 4px 20px #0000000d}.hero-lettering__footer{text-align:center;width:100%;z-index:3;margin-top:10px}.hero-lettering__bottom-info{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:6px}.hero-lettering__names-ampersand{font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,6vw,1.4rem);letter-spacing:.1em;color:#111;font-weight:500;margin:0;white-space:nowrap}.hero-lettering__amp{font-family:Cormorant Garamond,serif;font-size:1.2rem;margin:0 8px;color:#333}.hero-lettering__date-time{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.9rem;letter-spacing:.03em;color:#111;font-weight:500;margin:0}@media (max-width: 360px){.hero-lettering__begins{font-size:3.2rem}.hero-lettering__month{font-size:4rem}.hero-lettering__on{font-size:1.2rem}.hero-lettering__image-container{width:90%}}.hero-overlay{position:relative;width:100%;min-height:100vh;min-height:100svh;overflow:hidden}.hero-overlay__bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0}.hero-overlay__bg-image{width:100%;height:100%;object-fit:cover;object-position:center;filter:blur(25px);transform:scale(1.1)}.hero-overlay__bg-tint{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#28231e26}.hero-overlay__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;min-height:100svh;padding:30px 24px 40px}.hero-overlay__date{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:16px}.hero-overlay__date-main{font-family:var(--font-heading);font-size:1.1rem;font-weight:300;letter-spacing:6px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.2)}.hero-overlay__date-time{font-family:var(--font-heading);font-size:.75rem;font-weight:300;letter-spacing:3px;color:#ffffffd9;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.2)}.hero-overlay__frame{position:relative;width:88%;max-width:400px;aspect-ratio:3 / 4;margin-bottom:28px}.hero-overlay__frame--tall{aspect-ratio:2 / 3}.hero-overlay__arch{width:100%;height:100%;border-radius:999px 999px 0 0;overflow:hidden}.hero-overlay__image{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-overlay__script-wrapper{position:absolute;bottom:8%;left:-10%;right:-10%;text-align:center;z-index:2;pointer-events:none}.hero-overlay__script{font-family:Deluxe Edition,cursive;font-size:3.8rem;font-weight:400;line-height:1;color:#fff;text-shadow:0 2px 15px rgba(0,0,0,.25);margin:0;white-space:nowrap;letter-spacing:5px;padding-left:5px;transform:rotate(-6deg)}.hero-overlay__names{display:flex;flex-direction:column;align-items:center;gap:4px}.hero-overlay__names-row{display:flex;align-items:center;gap:24px}.hero-overlay__name-block{display:flex;flex-direction:column;align-items:center;gap:3px}.hero-overlay__name-label{font-family:var(--font-heading);font-size:.6rem;font-weight:400;letter-spacing:3px;color:#ffffffd9;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.2)}.hero-overlay__name{font-family:"Noto Serif KR",serif;font-size:1.05rem;font-weight:400;color:#fff;letter-spacing:2px;text-shadow:0 1px 8px rgba(0,0,0,.2)}.hero-overlay__names-and{font-family:var(--font-script),cursive;font-size:1.1rem;color:#ffffffd9;font-style:italic;text-shadow:0 1px 8px rgba(0,0,0,.2)}.hero-parents{position:relative;width:100%;min-height:100vh;min-height:100svh;background-color:var(--color-bg);display:flex;flex-direction:column;align-items:center;padding-bottom:60px}.hero-parents__image-wrapper{width:100%;aspect-ratio:4 / 5;overflow:hidden;margin-bottom:40px;border-bottom-left-radius:30px;border-bottom-right-radius:30px;box-shadow:0 10px 30px #00000014}.hero-parents__image{width:100%;height:100%;object-fit:cover;object-position:center;animation:hero-image-zoom 15s infinite alternate ease-in-out}.hero-parents__content{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 20px;text-align:center}.hero-parents__title{font-family:var(--font-script),"Cormorant Garamond",cursive;font-size:2.6rem;color:var(--color-primary);margin-bottom:30px;font-weight:400;line-height:1}.hero-parents__date-block{display:flex;flex-direction:column;align-items:center;margin-bottom:15px}.hero-parents__date-row{display:flex;align-items:center;gap:15px}.hero-parents__date-month,.hero-parents__date-dayname{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-text-light)}.hero-parents__date-divider{width:1px;height:45px;background-color:var(--color-secondary);opacity:.5}.hero-parents__date-day{font-family:var(--font-heading);font-size:3rem;line-height:1;color:var(--color-text);font-weight:400;margin:0 5px}.hero-parents__date-year{font-family:var(--font-heading);font-size:1rem;color:var(--color-text-light);margin-top:8px;letter-spacing:2px}.hero-parents__names{font-family:"Noto Serif KR",serif;font-size:1.25rem;color:var(--color-text);margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:15px}.hero-parents__names-and{font-size:.9rem;color:var(--color-primary);font-family:var(--font-script),cursive}.hero-parents__venue{font-family:var(--font-heading);font-size:.95rem;color:var(--color-text-light);text-align:center;line-height:1.6;margin-bottom:40px}[data-theme=navy] .hero-parents__image-wrapper,[data-theme=burgundy] .hero-parents__image-wrapper{box-shadow:0 10px 30px #00000080}[data-theme=navy] .hero-parents__names-and,[data-theme=burgundy] .hero-parents__names-and{color:var(--color-secondary)}.hero-parents__contact-btn{margin-top:15px;margin-bottom:25px;background-color:var(--color-secondary);color:#fff;border:none;border-radius:8px;padding:10px 0;width:100%;max-width:260px;font-family:var(--font-body);font-size:1.05rem;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:opacity .2s}.hero-parents__contact-btn:hover{opacity:.8}@keyframes hero-image-zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}.greeting{padding:40px 24px;background:var(--color-bg);text-align:center}.greeting__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 32px}.greeting__text{font-family:var(--font-heading);font-size:.9rem;line-height:2.1;color:var(--color-text);white-space:pre-line;word-break:keep-all;max-width:360px;margin:0 auto;letter-spacing:.5px}.greeting--parents .greeting__text{font-size:1.05rem;line-height:2.2;font-weight:300}.greeting__divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:40px auto;max-width:200px}.greeting__divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.4}.greeting__divider-ornament{color:var(--color-accent);font-size:.8rem;opacity:.6}.greeting__family{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px}.greeting__family-line{font-family:var(--font-heading);font-size:.95rem;color:var(--color-text);letter-spacing:1px;line-height:1.6}.greeting__family-child-name,.greeting__family-name{font-weight:500;color:var(--color-text);font-family:"Noto Serif KR",serif;font-size:1.15em;margin-left:4px}.greeting__family-deceased{font-size:.85em;color:var(--color-text-light)}.greeting__family-deceased--text:before{content:"故 "}.greeting__family-deceased--flower:before{content:"🏵️ "}.greeting__family-bracket{color:var(--color-accent);opacity:.5;font-size:1.1em}.greeting__family-dot{width:3px;height:3px;border-radius:50%;background:var(--color-accent);opacity:.3}.greeting__contact-btn{margin-top:32px;background-color:var(--color-secondary);color:#fff;border:none;border-radius:8px;padding:10px 0;width:100%;max-width:280px;font-family:var(--font-body);font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:opacity .2s;margin-left:auto;margin-right:auto}.greeting__contact-btn:hover{opacity:.8}.section-title{text-align:center;margin-bottom:40px;display:flex;flex-direction:column;align-items:center;gap:12px}.section-title__en{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:500;color:var(--color-primary);margin:0;line-height:1}.section-title__ko{display:none}.app--parents .section-title__ko{display:block;font-family:var(--font-heading);font-size:1.05rem;font-weight:400;color:var(--color-text);margin:0;letter-spacing:2px}.calendar{padding:64px 24px;background:var(--color-bg);text-align:center}.calendar__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 16px;display:flex;align-items:center;justify-content:center;gap:8px}.calendar__date-text{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--color-text);margin-bottom:32px;letter-spacing:1px}.calendar__card{background:var(--color-bg);border-radius:16px;padding:32px 20px;max-width:360px;margin:0 auto;box-shadow:0 4px 24px #0000000f}.calendar__month-header{font-family:var(--font-heading);font-size:1.1rem;font-weight:400;color:var(--color-text);letter-spacing:2px;margin:0 0 20px}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar__weekday{font-family:var(--font-body);font-size:.75rem;color:var(--color-text-light);padding:8px 0;text-align:center}.calendar__weekday--sun{color:#e74c3c}.calendar__weekday--sat{color:#3498db}.calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar__day{position:relative;font-family:var(--font-body);font-size:.9rem;color:var(--color-text);padding:8px 0;text-align:center;border-radius:50%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;line-height:1}.calendar__day--empty{visibility:hidden}.calendar__day--sun{color:#e74c3c}.calendar__day--sat{color:#3498db}.calendar__day--wedding{background:var(--color-accent);color:#fff;font-weight:600;box-shadow:0 2px 12px color-mix(in srgb,var(--color-accent) 40%,transparent)}.calendar__datetime{font-family:var(--font-heading);font-size:1rem;color:var(--color-text);margin-top:24px;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--color-text-light) 20%,transparent);letter-spacing:1px;line-height:1.8}.calendar__countdown{display:flex;justify-content:center;gap:16px;margin-top:32px}.calendar__countdown-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px}.calendar__countdown-number{font-family:var(--font-heading);font-size:1.8rem;font-weight:300;color:var(--color-text);letter-spacing:-1px}.calendar__countdown-label{font-family:var(--font-body);font-size:.7rem;color:var(--color-text-light);letter-spacing:1px}.calendar__countdown-separator{font-family:var(--font-heading);font-size:1.6rem;color:var(--color-text-light);opacity:.3;align-self:flex-start;padding-top:4px}.calendar__dday-label{font-family:var(--font-body);font-size:.85rem;color:var(--color-accent);margin-top:16px;letter-spacing:1px}.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;overflow:hidden;z-index:var(--yarl__portal_zindex,9999);transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);pointer-events:auto}.yarl__portal_open{opacity:1}.yarl__container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:var(--yarl__controller_touch_action,none);overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain)}.yarl__carousel{display:flex;flex:0 0 auto;height:100%;align-content:center;justify-content:center;align-items:stretch;width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%));transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));opacity:var(--yarl__pull_opacity,1)}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{display:flex;justify-content:center;align-content:center;align-items:center}.yarl__slide{flex:1;position:relative;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%)}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);line-height:0}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)));animation:yarl__delayed_fadein 1s linear}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{width:var(--yarl__slide_icon_error_size,48px);height:var(--yarl__slide_icon_error_size,48px);color:var(--yarl__slide_icon_error_color,red)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{position:absolute;top:0;right:0;bottom:auto;left:auto;display:flex;justify-content:flex-end;padding:var(--yarl__toolbar_padding,8px)}[dir=rtl] .yarl__toolbar{top:0;right:auto;bottom:auto;left:0}.yarl__icon{width:var(--yarl__icon_size,32px);height:var(--yarl__icon_size,32px)}.yarl__button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);margin:var(--yarl__button_margin,0);outline:none;line-height:0;padding:var(--yarl__button_padding,8px);color:var(--yarl__color_button,hsla(0,0%,100%,.8));filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{position:absolute;top:50%;transform:translateY(-50%);padding:var(--yarl__navigation_button_padding,24px 16px)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.gallery{padding:64px 24px;background:var(--color-bg);text-align:center}.gallery__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 32px}.gallery__guide{font-family:var(--font-body);font-size:.85rem;color:var(--color-text-light);margin-bottom:24px;text-align:center}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:420px;margin:0 auto}.gallery__thumb{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;cursor:pointer;transition:transform .3s ease}.gallery__thumb:active{transform:scale(.96)}.gallery__thumb-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery__thumb:hover .gallery__thumb-img{transform:scale(1.05)}.gallery__thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.8rem;color:var(--color-text-light);background:linear-gradient(135deg,var(--color-bg-section),color-mix(in srgb,var(--color-secondary) 30%,var(--color-bg)))}.gallery__more{display:flex;justify-content:center;margin-top:30px}.gallery__more-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 30px;background-color:transparent;border:1px solid var(--color-secondary);border-radius:30px;color:var(--color-text);font-family:var(--font-body);font-size:1rem;cursor:pointer;transition:all .3s ease}.gallery__more-btn:active{background-color:var(--color-bg-section);transform:translateY(1px)}.video{padding:64px 24px;background:var(--color-bg-section);text-align:center}.video__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--color-text);letter-spacing:4px;margin:0 0 32px}.video__container{position:relative;width:100%;max-width:420px;margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px #00000014;background:#000}.video__ratio-wrapper{position:relative;width:100%;padding-bottom:56.25%}.video__player{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.video__play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;cursor:pointer;transition:background .3s ease;z-index:1}.video__play-overlay:hover{background:#0003}.video__play-overlay--hidden{opacity:0;pointer-events:none;transition:opacity .3s ease}.video__play-btn{width:64px;height:64px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0003;transition:transform .3s ease}.video__play-overlay:hover .video__play-btn{transform:scale(1.08)}.video__play-icon{width:0;height:0;border-style:solid;border-width:12px 0 12px 22px;border-color:transparent transparent transparent var(--color-accent);margin-left:4px}.video__poster{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.video__poster--hidden{opacity:0;transition:opacity .3s ease}.location{padding:60px 20px;background-color:var(--color-bg);display:flex;flex-direction:column;align-items:center}.location__info{text-align:center;margin-bottom:30px}.location__venue-name{font-family:var(--font-heading);font-size:1.3rem;color:#1a2a40;font-weight:500;margin-bottom:8px}.location__address{font-family:var(--font-body);font-size:1.1rem;color:#4a4a4a;margin:0}.location__map-container{width:100%;max-width:500px;margin-bottom:20px;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.location__map-image{width:100%;height:250px;display:block}.location__map-placeholder{width:100%;height:250px;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center;color:#888;font-size:.9rem;text-align:center;padding:20px}.location__map-placeholder.hidden{display:none!important}.location__map-buttons{width:100%;max-width:500px;display:flex;gap:10px;justify-content:center}.location__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 0;background-color:#fff;border:1px solid #dcdcdc;border-radius:8px;font-family:var(--font-body);font-size:.85rem;color:#333;text-decoration:none;white-space:nowrap;transition:background-color .2s,box-shadow .2s}.location__btn:hover{background-color:#fafafa;box-shadow:0 2px 5px #0000000d}.location__icon-img{width:22px;height:22px;object-fit:contain;border-radius:4px}.location__directions{width:100%;max-width:500px;margin-top:40px;text-align:left}.location__direction-item{margin-bottom:24px}.location__direction-item h4{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-primary);margin:0 0 8px;font-weight:600}.location__direction-item p{font-family:var(--font-body);font-size:.95rem;color:#444;margin:0;line-height:1.6;word-break:keep-all}.location__direction-note{font-size:.85rem;color:#888}.notice{padding:var(--section-padding);background-color:var(--color-bg)}.notice__card{background-color:var(--color-bg-section);border:1px solid rgba(0,0,0,.06);border-radius:var(--border-radius);padding:var(--card-padding);box-shadow:var(--shadow-sm);text-align:center}.notice__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto 16px;background-color:var(--color-bg);border-radius:50%;color:var(--color-primary)}.notice__icon svg{width:20px;height:20px}.notice__content{font-size:.9rem;color:var(--color-text);line-height:1.8;margin-bottom:16px;white-space:pre-line}.notice__link-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background-color:var(--color-primary);color:#fff;border-radius:24px;font-size:.85rem;text-decoration:none;transition:all var(--transition-base)}.notice__link-btn:hover{background-color:var(--color-accent);transform:translateY(-1px)}.notice__link-btn svg{width:16px;height:16px}.account{padding:var(--section-padding);background-color:var(--color-bg)}.account__subtitle{text-align:center;margin-bottom:32px;line-height:1.8;color:var(--color-text);font-size:.95rem}.account__group{margin:0 16px 16px;border-radius:8px;overflow:hidden;background-color:transparent}.account__group:last-child{margin-bottom:0}.account__group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 24px;background-color:var(--color-secondary);border:none;border-radius:8px;cursor:pointer;font-family:var(--font-heading);font-size:.95rem;font-weight:500;color:#fff;transition:background-color var(--transition-base),transform .2s}.account__group-header:active{background-color:#ebebeb}.account__toggle-icon{font-size:1.2rem;color:var(--color-text-light);transition:transform var(--transition-base);line-height:1}.account__toggle-icon--open{transform:rotate(45deg)}.account__group-body{max-height:0;overflow:hidden;transition:max-height .4s ease}.account__group-body--open{max-height:600px}.account__group-content{padding:0 20px 16px}.account__item{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.04)}.account__item:last-child{border-bottom:none;padding-bottom:0}.account__item-relation{font-size:.75rem;color:var(--color-text-light);margin-bottom:4px}.account__item-info{display:flex;align-items:center;justify-content:space-between;gap:8px}.account__item-details{flex:1;min-width:0}.account__bank{font-size:.8rem;color:var(--color-text-light)}.account__number{font-size:.9rem;color:var(--color-text);font-weight:500;word-break:break-all}.account__holder{font-size:.8rem;color:var(--color-text-light);margin-top:2px}.account__copy-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background-color:var(--color-bg);border:1px solid var(--color-secondary);border-radius:16px;font-size:.75rem;color:var(--color-text-light);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.account__copy-btn:active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.account__copy-btn svg{width:14px;height:14px}.account__pay-buttons{display:flex;gap:8px;margin-top:12px}.account__pay-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:500;text-decoration:none;transition:all var(--transition-base)}.account__pay-btn--kakao{background-color:#fee500;color:#191919}.account__pay-btn--kakao:active{background-color:#ffe812}.account__pay-btn--toss{background-color:#0064ff;color:#fff}.account__pay-btn--toss:active{background-color:#276de8}.account.parents-view .account__number{font-size:1rem}.account.parents-view .account__copy-btn{padding:8px 16px;font-size:.85rem}.guestbook{padding:60px 20px;background-color:var(--color-bg)}.guestbook--parents{font-size:1.25em}.guestbook__title{font-family:var(--font-heading);font-size:1.4em;color:var(--color-text);text-align:center;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px}.guestbook__subtitle{text-align:center;color:var(--color-text-light);font-size:.9em;margin-bottom:30px}.guestbook__form{max-width:400px;margin:0 auto 30px}.guestbook__form-row{display:flex;gap:10px;margin-bottom:10px}.guestbook__input{flex:1;min-width:0;padding:10px 12px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-family:var(--font-body);font-size:.85em;background:var(--color-bg-section);color:var(--color-text);outline:none;transition:border-color .3s;box-sizing:border-box}.guestbook__input:focus{border-color:var(--color-primary)}.guestbook__textarea{width:100%;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-family:var(--font-body);font-size:.85em;background:var(--color-bg-section);color:var(--color-text);outline:none;resize:none;margin-bottom:12px;transition:border-color .3s;box-sizing:border-box}.guestbook__textarea:focus{border-color:var(--color-primary)}.guestbook__submit{width:100%;padding:12px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-family:var(--font-body);font-size:.95em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:opacity .3s,transform .2s}.guestbook__submit:hover{opacity:.9}.guestbook__submit:active{transform:scale(.98)}.guestbook__submit:disabled{opacity:.6;cursor:not-allowed}.guestbook__list{max-width:400px;margin:0 auto}.guestbook__entry{background:var(--color-bg-section);border-radius:12px;padding:14px 16px;margin-bottom:10px;transition:transform .2s}.guestbook__entry:hover{transform:translateY(-1px)}.guestbook__entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.guestbook__entry-name{font-weight:600;color:var(--color-text);font-size:.9em}.guestbook__entry-meta{display:flex;align-items:center;gap:8px}.guestbook__entry-date{font-size:.7em;color:var(--color-text-light)}.guestbook__entry-delete{background:none;border:none;color:var(--color-text-light);cursor:pointer;padding:4px;border-radius:4px;transition:color .2s,background .2s;display:flex;align-items:center}.guestbook__entry-delete:hover{color:#e74c3c;background:#e74c3c1a}.guestbook__entry-message{color:var(--color-text);font-size:.85em;line-height:1.5;white-space:pre-wrap;word-break:break-word}.guestbook__load-more{width:100%;padding:12px;margin-top:10px;background-color:var(--color-bg-section);border:1px solid rgba(0,0,0,.05);border-radius:8px;color:var(--color-text);font-family:var(--font-body);font-size:.9em;cursor:pointer;transition:all .2s}.guestbook__load-more:hover{background-color:var(--color-bg);transform:translateY(-1px)}.guestbook__load-more:active{transform:translateY(0)}.guestbook__loading{text-align:center;padding:30px;color:var(--color-text-light)}.guestbook__spinner{width:30px;height:30px;border:3px solid var(--color-bg-section);border-top-color:var(--color-primary);border-radius:50%;animation:guestbook-spin .8s linear infinite;margin:0 auto 10px}@keyframes guestbook-spin{to{transform:rotate(360deg)}}.guestbook__empty{text-align:center;color:var(--color-text-light);padding:30px;font-size:.9em}.guestbook__notice{text-align:center;padding:30px;background:var(--color-bg-section);border-radius:12px;max-width:400px;margin:0 auto;color:var(--color-text-light)}.guestbook__notice-sub{font-size:.8em;margin-top:8px;opacity:.7}.footer{padding:40px 20px 60px;background-color:var(--color-bg);text-align:center;position:relative}.footer__share{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:30px}.footer__btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border:none;border-radius:25px;font-family:var(--font-body);font-size:.95em;cursor:pointer;transition:opacity .3s,transform .2s;min-width:200px;justify-content:center}.footer__btn:hover{opacity:.9}.footer__btn:active{transform:scale(.97)}.footer__btn--kakao{background:#fee500;color:#191919}.footer__btn--link{background:var(--color-primary);color:#fff}.footer__divider{width:40px;height:1px;background:var(--color-text-light);opacity:.3;margin:0 auto 20px}.footer__copyright{font-family:var(--font-heading);font-size:1em;color:var(--color-text);margin-bottom:6px;letter-spacing:1px}.footer__made-with{font-size:.8em;color:var(--color-text-light);opacity:.6}.floating-music{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;z-index:9990;display:flex;align-items:center;justify-content:center;color:var(--color-primary);background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #0000001a;transition:transform .3s ease,box-shadow .3s ease,color .3s ease;-webkit-tap-highlight-color:transparent;outline:none}.floating-music:not(.floating-music--playing){color:#a0a0a0}.floating-music:not(.floating-music--playing):after{content:"";position:absolute;top:50%;left:50%;width:26px;height:2px;background-color:#a0a0a0;transform:translate(-50%,-50%) rotate(45deg);border-radius:2px}.floating-music:hover{transform:scale(1.1);box-shadow:0 6px 25px #00000026}.floating-music:active{transform:scale(.95)}.floating-music--playing{animation:music-rotate 3s linear infinite;background:#ffffffe6;box-shadow:0 4px 20px #00000026}.floating-music--playing:hover{animation-play-state:paused}@keyframes music-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.floating-music--playing:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--color-primary);opacity:0;animation:music-pulse 2s ease-out infinite}@keyframes music-pulse{0%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1.3)}}.music-toast{position:fixed;top:40px;left:50%;transform:translate(-50%);background-color:#fffffff2;padding:10px 20px;border-radius:30px;display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:.9rem;color:#333;box-shadow:0 4px 12px #0000001a;z-index:9999;cursor:pointer;white-space:nowrap;animation:toast-slide-down .5s ease-out forwards}.music-toast:active{background-color:#f0f0f0}@keyframes toast-slide-down{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.scroll-reveal-wrapper{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out;will-change:opacity,transform}.scroll-reveal-wrapper--visible{opacity:1;transform:translateY(0)}.scroll-reveal-wrapper--delay-1{transition-delay:.1s}.scroll-reveal-wrapper--delay-2{transition-delay:.2s}.scroll-reveal-wrapper--delay-3{transition-delay:.3s}.scroll-reveal-wrapper--delay-4{transition-delay:.4s}.contact-modal__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.contact-modal__container{width:100%;max-width:360px;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0003;animation:modal-fade-in .2s ease-out}.contact-modal__header{background-color:var(--color-secondary);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;color:#fff}.contact-modal__title{font-family:var(--font-heading);font-size:1.15rem;font-weight:500;margin:0}.contact-modal__close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.contact-modal__body{padding:24px 20px}.contact-modal__row{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.contact-modal__info{display:flex;align-items:center;gap:24px;flex:1}.contact-modal__label{font-size:.95rem;color:#555;width:90px;white-space:nowrap;font-family:var(--font-body)}.contact-modal__name{font-size:1rem;color:#222;font-weight:500;font-family:var(--font-heading)}.contact-modal__actions{display:flex;gap:16px}.contact-modal__btn{color:#3f4756;text-decoration:none;display:flex;align-items:center;justify-content:center;padding:4px;transition:opacity .2s}.contact-modal__btn:hover{opacity:.7}.contact-modal__divider{height:1px;background-color:#f0f0f0;margin:16px 0}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app{max-width:480px;margin:0 auto;min-height:100vh;background-color:var(--color-bg);position:relative;overflow-x:hidden}.app--parents{font-size:1.15em}.app--parents h2{font-size:1.5em}.app__main{width:100%}@media (min-width: 481px){.app{box-shadow:0 0 40px #00000014;border-left:1px solid rgba(0,0,0,.05);border-right:1px solid rgba(0,0,0,.05)}}
