@import "https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Noto+Sans+KR:wght@400;500;700;800&display=swap";@font-face{font-family:TmoneyRoundWind;font-style:normal;font-weight:400;src:url(https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-07@1.0/TmoneyRoundWindRegular.woff)format("woff")}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:#111;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif}:root{--color-bg:#eee;--color-main-bg:#eee;--color-page-bg:#fff;--color-soft-blush:#fef0ec;--color-mint:#ebf7f2;--color-champagne-gold:#cfc0a3;--color-olive:#7c836f;--app-height:100vh;--app-height-unit:1vh;--poster-card-width:425px;--poster-card-height:667px;--poster-stage-height:1334px;--poster-frame-inset:clamp(10px, 3.3vw, 14px);--poster-frame-side-top:clamp(18px, 5.4vw, 23px);--poster-copy-top:57px;--poster-copy-start-offset:358px;--poster-copy-side-padding:16px;--poster-frame-copy-gap:10px;--poster-title-size:76px;--poster-script-size:34px;--poster-leads-gap:44px;--poster-lead-size:14px;--poster-credit-size:10px;--poster-save-size:20px;--poster-date-size:18px;--poster-day-size:10px;--poster-title-margin:3px;--poster-credit-margin:13px;--poster-save-margin:3px}.bgm-wrapper{z-index:1000;justify-content:flex-end;width:100%;padding:8px 10px;display:flex;position:absolute;top:0;left:0}.bgm-banner{justify-content:center;align-items:center;display:flex}.sound{width:auto;min-width:30px;height:24px;box-shadow:none;background:#a9a9a9;border:0;border-radius:999px;justify-content:center;align-items:center;gap:2px;padding:10px;display:inline-flex}.sound span{transform-origin:50%;background:#fff;border-radius:999px;width:2px;height:2px;transition:height .2s,transform .2s,opacity .2s;display:block}.sound .paused{opacity:1}.sound.playing span{animation-name:sound-wave;animation-duration:var(--bar-duration,.9s);animation-delay:var(--bar-delay,0s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.sound.paused span{height:2px;animation:none}@keyframes sound-wave{0%,to{height:2px;transform:translateY(0)}50%{height:var(--bar-max-height,10px);transform:translateY(0)}}.main{width:100%;min-height:var(--app-height);background:var(--color-bg);flex-direction:column;justify-content:flex-start;align-items:center;margin:0 auto;padding:0;display:flex}.page{width:100%;max-width:425px;min-height:var(--app-height);background:var(--color-page-bg);color:#5c5248;flex-direction:column;justify-content:flex-start;align-items:center;padding:0 0 24px;display:flex;position:relative}.page--notice{justify-content:center;padding:24px}.viewport-notice-card{width:100%}.viewport-notice-frame{background:linear-gradient(180deg, #ffffffd1, #fff7f2eb), var(--color-page-bg);min-height:320px;padding:32px 22px 24px;position:relative;overflow:hidden}.viewport-notice-frame:before,.viewport-notice-frame:after{content:"";top:var(--poster-frame-side-top);bottom:var(--poster-frame-inset);pointer-events:none;background:#cfc0a3cc;width:1px;position:absolute}.viewport-notice-frame:before{left:var(--poster-frame-inset)}.viewport-notice-frame:after{right:var(--poster-frame-inset)}.viewport-notice-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:264px;padding:54px 18px 28px;display:flex}.viewport-notice-eyebrow{letter-spacing:.12em;color:#9b8d79;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.viewport-notice-title{color:#4d443b;margin:0 0 10px;font-size:clamp(24px,5vw,28px);line-height:1.3}.viewport-notice-text{color:#6a6056;word-break:keep-all;margin:0;font-size:14px;line-height:1.6}.wedding-date-header{text-align:center;color:#49413a;letter-spacing:-.2px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:0;padding:50px 33px 24px;font-family:Crimson Pro,Noto Sans KR,serif;display:flex}.page-sections{width:100%;position:relative}.content-section{margin-bottom:100px}.page-sections>.content-section:nth-of-type(2n){background:#fdf9f3;box-shadow:0 100px #fdf9f3}.page-sections>.content-section:nth-of-type(odd){background:#fff;box-shadow:0 100px #fff}.page-sections>section:first-of-type{z-index:1}.page-sections>section:nth-of-type(2){z-index:2}.page-sections>section:nth-of-type(3){z-index:3}.page-sections>section:nth-of-type(4){z-index:4}.page-sections>section:nth-of-type(5){z-index:5}.page-sections>section:nth-of-type(6){z-index:6}.page-sections>section:nth-of-type(7){z-index:7}.page-sections>section:nth-of-type(8){z-index:8}.page-sections>section:nth-of-type(9){z-index:9}.page-sections>section:nth-of-type(10){z-index:10}.page-sections>.content-section:nth-of-type(2n){background:#fdf9f3}.page-sections>.content-section:nth-of-type(odd){background:#fff}.page-sections>.content-section:nth-of-type(2n) .content-section-title{color:#7c836f}.page-sections>.content-section:nth-of-type(odd) .content-section-title{color:#4d4c4c}.poster-stage{width:min(100%, var(--poster-card-width));height:var(--poster-stage-height);background:#000;margin:0 auto;position:relative}.poster-frame-shell{height:var(--poster-card-height);z-index:0;position:sticky;top:0;overflow:hidden}.poster-card-frame{height:var(--poster-card-height);background:#000;position:relative;overflow:hidden}.poster-image-dim{z-index:2;pointer-events:none;background:#fef0ec;position:absolute;inset:0}.poster-card-frame:before,.poster-card-frame:after{content:"";top:var(--poster-frame-side-top);bottom:var(--poster-frame-inset);z-index:3;pointer-events:none;background:#cfc0a3cc;width:1px;position:absolute}.poster-card-frame:before{left:var(--poster-frame-inset)}.poster-card-frame:after{right:var(--poster-frame-inset)}.poster-frame-bottom{left:var(--poster-frame-inset);right:var(--poster-frame-inset);bottom:var(--poster-frame-inset);z-index:4;pointer-events:none;background:#cfc0a3cc;height:1px;position:absolute}.poster-frame-top{top:var(--poster-frame-inset);left:var(--poster-frame-inset);right:var(--poster-frame-inset);z-index:4;align-items:center;gap:var(--poster-frame-copy-gap);display:flex;position:absolute}.poster-frame-line{background:#cfc0a3cc;flex:1;height:1px}.poster-frame-copy{white-space:nowrap;color:#f7f0e7;margin:0;font-family:Crimson Pro,Times New Roman,Noto Serif KR,Apple SD Gothic Neo,serif;font-size:15px;font-style:italic}.poster-image{object-fit:cover;width:100%;height:100%;display:block}.poster-copy-track{height:var(--poster-stage-height);z-index:2;pointer-events:none;position:absolute;inset:0}.poster-card-copy{height:293px;margin-top:var(--poster-copy-start-offset);z-index:4;position:sticky;top:0}.poster-copy-content{top:var(--poster-copy-top);left:var(--poster-frame-inset);right:var(--poster-frame-inset);padding:0 var(--poster-copy-side-padding);--poster-copy-text-color:#fffaf4;flex-direction:column;align-items:center;display:flex;position:absolute}.poster-title-wrap{text-align:center;margin-bottom:var(--poster-title-margin)}.poster-leads{justify-content:center;align-items:center;gap:var(--poster-leads-gap);display:flex}.poster-lead-name{color:var(--poster-copy-text-color);font-size:var(--poster-lead-size);letter-spacing:.08em;font-weight:700}.poster-script{font-family:Crimson Pro,Times New Roman,Noto Serif KR,Apple SD Gothic Neo,serif;font-size:var(--poster-script-size);color:var(--poster-copy-text-color);margin:0;font-style:italic}.poster-title{font-size:var(--poster-title-size);letter-spacing:-.05em;color:var(--poster-copy-text-color);margin:0;font-weight:800;line-height:.92}.poster-credit{margin:0 0 var(--poster-credit-margin);text-align:center;font-size:var(--poster-credit-size);letter-spacing:.08em;color:var(--poster-copy-text-color);font-weight:700}.poster-date-block{text-align:center;color:var(--poster-copy-text-color)}.poster-save{margin:0 0 var(--poster-save-margin);font-family:Crimson Pro,Times New Roman,Noto Serif KR,Apple SD Gothic Neo,serif;font-size:var(--poster-save-size);font-style:italic}.poster-date-text,.poster-day{margin:0}.poster-date-text{font-size:var(--poster-date-size);letter-spacing:.05em;font-weight:700}.poster-day{font-size:var(--poster-day-size);letter-spacing:.18em;margin-top:2px}.scroll-test-section{width:min(100%, var(--poster-card-width));background:#00f;min-height:1200px;margin:0 auto;position:relative}.interview-section{width:100%;min-height:500px;margin-top:calc(var(--poster-card-height) * -1);padding:10px 0 0;position:sticky;top:0;box-shadow:0 -10px 18px -14px #00000038}.interview-frame{width:100%;min-height:490px;position:relative}.interview-frame:before,.interview-frame:after{content:"";top:var(--poster-frame-side-top);bottom:var(--poster-frame-inset);pointer-events:none;background:#cfc0a3cc;width:1px;position:absolute}.interview-frame:before{left:var(--poster-frame-inset)}.interview-frame:after{right:var(--poster-frame-inset)}.interview-frame-copy{text-transform:uppercase;letter-spacing:.14em;color:#9b8d79;font-size:15px;font-style:normal}.interview-content{text-align:center;padding:59px 24px 24px}.interview-title{text-align:center;letter-spacing:-.03em;word-break:keep-all;margin:0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:1.35rem;font-weight:400;line-height:1.8rem}.interview-description{color:#4d4c4c;text-align:center;white-space:pre-wrap;letter-spacing:-.03em;word-break:keep-all;margin:20px 0 0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:.9rem;font-weight:400;line-height:1.5rem}.interview-image-card{aspect-ratio:360/200;background:#000;border-radius:9px;width:100%;max-width:330px;margin:25px auto 0;overflow:hidden;box-shadow:0 10px 24px #7c836f14}.interview-button{color:#7c836f;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #cfc0a3b3;border-radius:18px;justify-content:center;align-items:center;width:270px;height:50px;margin:32px auto 20px;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:.95rem;font-weight:400;line-height:1;display:flex}.invitation-section{width:100%;min-height:500px;padding:10px 0 0;position:sticky;top:0;box-shadow:0 -10px 18px -14px #00000038}.invitation-frame{width:100%;min-height:490px;position:relative}.invitation-frame:before,.invitation-frame:after{content:"";top:var(--poster-frame-side-top);bottom:var(--poster-frame-inset);pointer-events:none;background:#cfc0a3cc;width:1px;position:absolute}.invitation-frame:before{left:var(--poster-frame-inset)}.invitation-frame:after{right:var(--poster-frame-inset)}.invitation-frame-copy{text-transform:uppercase;letter-spacing:.14em;color:#9b8d79;font-size:15px;font-style:normal}.invitation-content{text-align:center;padding:59px 24px 36px}.invitation-title{letter-spacing:-.03em;margin:0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:1.35rem;font-weight:400;line-height:1.9rem}.invitation-message{margin-top:25px}.invitation-message p{color:#5d5b5b;white-space:pre-wrap;letter-spacing:-.03em;margin:0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:.9rem;font-weight:400;line-height:1.5rem}.invitation-message p+p{margin-top:22px}.invitation-divider{background:#cfc0a3e6;width:60px;height:1px;margin:20px auto 0}.invitation-family{margin-top:20px}.invitation-family p{color:#4d4c4c;letter-spacing:-.03em;margin:0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:1rem;font-weight:400;line-height:2rem}.invitation-family p+p{margin-top:6px}.invitation-family-line{text-align:center;white-space:nowrap}.invitation-family-muted{color:#9f9a93}.invitation-family-role-text{text-align:center;min-width:1.8em;display:inline-block}.invitation-button{color:#5d5b5b;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #cfc0a373;border-radius:18px;justify-content:center;align-items:center;width:220px;height:54px;margin:34px auto 0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:1rem;font-weight:400;line-height:1;display:flex}.gallery-section{width:100%;min-height:667px;padding:10px 0 0;position:sticky;top:0;box-shadow:0 -10px 18px -14px #00000038}.gallery-frame{width:100%;min-height:657px;position:relative;overflow:hidden}.gallery-frame:before,.gallery-frame:after{content:"";top:var(--poster-frame-side-top);bottom:var(--poster-frame-inset);pointer-events:none;background:#cfc0a3cc;width:1px;position:absolute}.gallery-frame:before{left:var(--poster-frame-inset)}.gallery-frame:after{right:var(--poster-frame-inset)}.gallery-frame-copy{text-transform:uppercase;letter-spacing:.14em;color:#9b8d79;font-size:15px;font-style:normal}.gallery-content{text-align:center;flex-direction:column;height:657px;padding:59px 24px 24px;display:flex;overflow:hidden}.gallery-title{text-align:center;letter-spacing:-.03em;word-break:keep-all;margin:0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:1.35rem;font-weight:400;line-height:1.8rem}.gallery-preview-area{flex:1;min-height:0;margin-top:25px;position:relative;overflow:hidden}.gallery-carousel{width:100%;margin:0 auto;position:relative}.gallery-carousel-viewport{overflow:hidden}.gallery-carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:12px;display:flex;overflow-x:auto}.gallery-carousel-track::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:center;flex:0 0 100%}.gallery-slide-image{border-radius:5px;width:100%;height:auto;display:block}.gallery-arrow{z-index:2;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:36px;height:36px;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow-left{left:8px}.gallery-arrow-right{right:8px}.gallery-arrow svg{fill:none;stroke:#ffffffb8;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.gallery-thumbnail-grid{grid-template-columns:repeat(5,1fr);gap:6px;width:100%;margin:14px auto 100px;display:grid}.gallery-preview-fade{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(#fdf9f300 0%,#fdf9f3b8 52%,#fdf9f3f0 82%,#fdf9f3 100%);justify-content:center;align-items:flex-end;height:60px;padding-bottom:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-expand-button{color:#7c836f;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffe0;border:1px solid #cfc0a373;border-radius:999px;width:34px;height:34px;padding:0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:18px;line-height:1;box-shadow:0 4px 14px #0000000f}.gallery-thumbnail{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;padding:0;overflow:hidden}.gallery-thumbnail.is-active{outline-offset:0;outline:2px solid #7c836f8c}.gallery-thumbnail-image{aspect-ratio:1;object-fit:cover;width:100%;display:block}.gallery-panel{z-index:30;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.gallery-panel-backdrop{background:#1815125c;position:absolute;inset:0}.gallery-panel-sheet{width:min(100%, var(--poster-card-width));background:#fdf9f3;border-radius:24px 24px 0 0;max-height:min(86vh,820px);position:relative;overflow:hidden;box-shadow:0 -18px 40px #00000029}.gallery-panel-close{color:#7c836f;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0 0 0 auto;padding:18px 18px 0;font-family:TmoneyRoundWind,Noto Sans KR,sans-serif;font-size:.95rem;display:block}.gallery-panel-body{scrollbar-width:none;-ms-overflow-style:none;max-height:calc(min(86vh,820px) - 48px);padding:12px 24px 24px;overflow-y:auto}.gallery-panel-body::-webkit-scrollbar{display:none}.gallery-thumbnail-grid--panel{margin:14px auto 24px}.scroll-test-section{width:min(100%, var(--poster-card-width));z-index:5;background:#00f;min-height:1200px;margin:0 auto;position:sticky;top:0}
