.cover{position:relative;width:100%;height:100svh;min-height:680px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:72px}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.06)}}.cover__photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;animation:kenBurns 16s ease-in-out infinite alternate;transition:filter .5s ease}.cover__photo--bw{filter:grayscale(100%) brightness(.8) contrast(1.05)}.cover__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#1e1e1e}.cover__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000006b,#0000 28%,#0000 60%,#00000047)}@keyframes fadeDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.cover__header{position:absolute;top:0;left:0;right:0;padding:44px 28px 0;display:flex;flex-direction:column;align-items:center;gap:10px;animation:fadeDown .9s cubic-bezier(.16,1,.3,1) .3s both}.cover__datebar{display:flex;align-items:center;gap:14px;width:100%}.cover__datebar-md,.cover__datebar-dow{font-family:var(--font-display);font-size:13px;font-weight:400;letter-spacing:.14em;color:#ffffffeb;white-space:nowrap}.cover__datebar-rule{flex:1;height:1px;background:#ffffff6b}.cover__couple{font-family:var(--font-serif);font-size:16px;font-weight:300;letter-spacing:.16em;color:#ffffffe0;display:flex;align-items:center;gap:10px}.cover__heart{color:#ffffff8c;font-size:10px}@keyframes scriptIn{0%{opacity:0}to{opacity:1}}.cover__script{position:absolute;font-size:76px;line-height:1;pointer-events:none;animation:scriptIn 1.1s cubic-bezier(.16,1,.3,1) .6s both}@keyframes coverItemIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cover__bgm{position:fixed;bottom:24px;right:20px;z-index:100;display:flex;align-items:center;gap:6px;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:999px;cursor:pointer;padding:6px 12px 6px 10px;color:#ffffff8c;transition:color .2s,background .2s;animation:coverItemIn .7s cubic-bezier(.16,1,.3,1) 1s both}.cover__bgm:hover{background:#0000008c;color:#ffffffe6}.cover__bgm-icon{font-size:13px;line-height:1}.cover__bgm-name{font-family:var(--font-display);font-style:italic;font-size:9px;letter-spacing:.18em;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}@keyframes bgmPulse{0%,to{color:#ffffff80}50%{color:#ffffffe6}}@keyframes bgmWaiting{0%,to{opacity:.5}50%{opacity:1}}.cover__bgm--playing{animation:bgmPulse 2.4s ease-in-out infinite}.cover__bgm--waiting{animation:bgmWaiting 1.6s ease-in-out infinite}@keyframes scrollHintIn{0%{opacity:0}to{opacity:.4}}.cover__scroll{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:scrollHintIn .7s cubic-bezier(.16,1,.3,1) 1.4s forwards,coverScroll 2.4s ease-in-out 2.1s infinite}.cover__scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,#fff0,#ffffff73)}.cover__scroll-text{font-size:8px;letter-spacing:.4em;color:#ffffff4d;text-transform:uppercase}@keyframes coverScroll{0%,to{opacity:.4;transform:translate(-50%) translateY(0)}50%{opacity:.85;transform:translate(-50%) translateY(7px)}}@media (prefers-reduced-motion: reduce){.cover__photo{animation:none;transform:scale(1.02)}.cover__bgm--playing{animation:none}.cover__scroll{animation:none;opacity:.4}}.invitation{padding:var(--section-v) var(--section-h);background:var(--color-surface);text-align:center}.invitation__body{font-family:var(--font-serif);font-size:14px;font-weight:300;line-height:2.4;color:var(--color-ink-3);letter-spacing:.04em;white-space:pre-line;margin-bottom:52px}.invitation__families{border-top:1px solid var(--color-border);padding-top:36px;display:flex;flex-direction:column;gap:0}.invitation__family-block{padding:20px 0;border-bottom:1px solid var(--color-border)}.invitation__family-side{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--color-muted);margin-bottom:10px;font-family:var(--font-display);font-style:italic}.invitation__family-row{display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-serif);font-size:14px;font-weight:400;color:var(--color-ink-2)}.invitation__family-sep{width:1px;height:10px;background:var(--color-border-dark);display:inline-block;margin:0 4px}.invitation__family-role{font-size:11px;color:var(--color-muted);margin-right:2px}.invitation__groom-name,.invitation__bride-name{font-weight:600;color:var(--color-ink)}.dday{display:flex;flex-direction:column;gap:0;background:var(--color-dark-bg, #252525);padding:0;text-align:center}.dday__cal-block{padding:52px var(--section-h) 40px;background:var(--color-dark-bg, #252525)}.dday__cal-month{font-family:var(--font-display);font-style:italic;font-size:11px;letter-spacing:.5em;color:var(--color-dday-text, rgba(255,255,255,.32));text-transform:uppercase;margin-bottom:32px}.dday__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:4px;max-width:280px;margin:0 auto}.dday__cal-dow{font-size:8px;letter-spacing:.14em;color:var(--color-dday-text, rgba(255,255,255,.18));opacity:.65;text-transform:uppercase;text-align:center;padding-bottom:14px}.dday__cal-day{font-family:var(--font-display);font-size:13px;font-weight:300;color:var(--color-dday-text, rgba(255,255,255,.22));text-align:center;height:32px;display:flex;align-items:center;justify-content:center;position:relative;letter-spacing:0}.dday__cal-day--wedding{color:var(--color-point, #d4b896);font-weight:400}.dday__cal-day--wedding:before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--color-point, #d4b896) 45%,transparent)}.dday__count-block{padding:40px var(--section-h) 52px;background:var(--color-dark-bg, #252525)}.dday__eyebrow{font-family:var(--font-display);font-size:9px;font-style:italic;letter-spacing:.5em;color:var(--color-dday-text, rgba(255,255,255,.28));text-transform:uppercase;margin-bottom:40px}.dday__counter{display:flex;justify-content:center;align-items:flex-start;gap:0}.dday__unit{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:68px}.dday__number{font-family:var(--font-display);font-size:52px;font-weight:300;color:var(--color-dday-number, #ffffff);line-height:1;letter-spacing:-.02em}.dday__unit-label{font-size:7px;letter-spacing:.42em;color:var(--color-dday-text, rgba(255,255,255,.25));text-transform:uppercase;font-weight:300}.dday__colon{font-family:var(--font-display);font-size:30px;font-weight:300;color:var(--color-dday-number, #ffffff);opacity:.2;padding-top:9px;letter-spacing:0;min-width:20px}.dday__message{margin-top:48px;font-family:var(--font-serif);font-size:11px;font-weight:300;letter-spacing:.22em;color:var(--color-dday-text, rgba(255,255,255,.3));line-height:2}.dday__past{font-family:var(--font-serif);font-size:15px;font-weight:300;color:#ffffffa6;letter-spacing:.1em}.gallery{padding:var(--section-v) 0;background:var(--color-bg)}.gallery__header{text-align:center;padding:0 var(--section-h);margin-bottom:32px}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-border)}.gallery__item{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;background:var(--color-fill)}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}.gallery__item:hover img{transform:scale(1.04)}.gallery__item--wide{grid-column:span 2;aspect-ratio:2 / 1}.gallery__placeholder{width:100%;height:100%;background:var(--color-fill);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;font-size:12px;color:var(--color-border-dark);letter-spacing:.05em}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxImgIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.gallery__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f5;z-index:9999;display:flex;align-items:center;justify-content:center;padding:68px 60px 52px;box-sizing:border-box;animation:lightboxIn .22s ease;touch-action:none}.gallery__lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;animation:lightboxImgIn .3s cubic-bezier(.16,1,.3,1)}.gallery__lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:none;border:1px solid rgba(255,255,255,.25);color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;letter-spacing:0;transition:border-color .2s,color .2s}.gallery__lightbox-close:hover{border-color:#fffc;color:#fff}.gallery__lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff73;font-family:var(--font-display);font-size:40px;font-weight:300;cursor:pointer;padding:16px 18px;line-height:1;transition:color .2s}.gallery__lightbox-nav:hover{color:#ffffffe6}.gallery__lightbox-nav--prev{left:0}.gallery__lightbox-nav--next{right:0}.gallery__lightbox-index{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.25em;color:#ffffff59}.location{padding:var(--section-v) var(--section-h) 40px;background:var(--color-surface);text-align:center}.location__map{width:100%;min-height:180px;overflow:hidden;background:var(--color-fill);margin-bottom:28px;border:1px solid var(--color-border)}.location__map iframe{width:100%;height:100%;border:none;display:block}.location__map-script{width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}.location__map-script>div{width:100%!important;height:100%!important}.root_daum_roughmap{margin:0 auto}.location__map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-style:italic;font-size:13px;letter-spacing:.1em;color:var(--color-border-dark)}.location__venue{margin-bottom:28px}.location__venue-name{font-family:var(--font-serif);font-size:18px;font-weight:400;letter-spacing:.06em;color:var(--color-ink);margin-bottom:10px}.location__address{font-size:12px;font-weight:300;color:var(--color-ink-3);line-height:1.9;letter-spacing:.04em}.location__actions{display:flex;gap:8px;margin-bottom:12px}.transport__heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.transport__heading-label{font-family:var(--font-display);font-style:italic;font-size:11px;letter-spacing:.3em;color:var(--color-muted);white-space:nowrap}.transport__heading-rule{flex:1;height:1px;background:var(--color-border)}.transport__section{text-align:left;margin-top:28px}.transport__item{margin-bottom:8px}.transport__item:last-child{margin-bottom:0}.transport__btn{width:100%;padding:13px 20px;background:#3d3d3d;border:1px solid #3d3d3d;color:#fff;font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.14em;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.transport__btn:hover:not(.active){background:#4a4a4a}.transport__btn.active{background:#4a4a4a;color:#fff;border-color:#4a4a4a;border-bottom:none}.transport__arrow{font-size:16px;line-height:1}.transport__panel-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.transport__panel-wrapper.open{grid-template-rows:1fr}.transport__panel-inner{overflow:hidden}.transport__panel{border:1px solid var(--color-border);border-top:none;padding:18px 20px;font-size:12px;line-height:1.9;letter-spacing:.02em;white-space:pre-line;color:var(--color-muted);text-align:left;opacity:0;transform:translateY(-4px);transition:opacity .3s ease .08s,transform .3s ease .08s}.transport__panel-wrapper.open .transport__panel{opacity:1;transform:translateY(0)}@keyframes transport-idle-pulse{0%,to{background:#3d3d3d;border-color:#3d3d3d}50%{background:#555;border-color:#555}}.transport__section.idle .transport__btn{animation:transport-idle-pulse 2s ease-in-out infinite}.transport__section.idle .transport__item:nth-child(2) .transport__btn{animation-delay:.4s}.transport__section.idle .transport__item:nth-child(3) .transport__btn{animation-delay:.8s}.transport__section.idle .transport__item:nth-child(4) .transport__btn{animation-delay:1.2s}.transport__section.idle .transport__item:nth-child(5) .transport__btn{animation-delay:1.6s}.location__btn{flex:1;padding:13px 0;border:1px solid var(--color-icon-hover, #2c2c2c);background:transparent;color:var(--color-icon-hover, #2c2c2c);font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.1em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.location__btn:hover{background:var(--color-icon-hover, #2c2c2c);color:#fff}.location__calendar-btn{display:none}@media (pointer: coarse){.location__calendar-btn{display:block;width:100%;margin-top:8px;padding:13px 0;border:1px solid #4d6b47;background:#4d6b47;color:#f0f4ef;font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.14em;cursor:pointer;transition:background .2s,border-color .2s}.location__calendar-btn:active{background:#3a5235;border-color:#3a5235}}.contact{padding:var(--section-v) var(--section-h);background:var(--color-surface);text-align:center}.contact__wrap{margin-bottom:0}.contact__two-col{display:grid;grid-template-columns:1fr 1fr}.contact__two-col>*:first-child{border-right:1px solid var(--color-border)}.contact__two-col--parents>div:first-child{border-right:1px solid var(--color-border)}.contact__person{padding:28px 16px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}.contact__role{font-size:9px;letter-spacing:.3em;color:var(--color-muted);font-family:var(--font-display);font-style:italic;margin-bottom:6px}.contact__name{font-family:var(--font-serif);font-size:15px;font-weight:400;color:var(--color-ink);letter-spacing:.06em;margin-bottom:14px}.contact__btns{display:flex;gap:6px;justify-content:center}.contact__icon-btn{width:34px;height:34px;border:1px solid var(--color-border);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;color:var(--color-icon, #616161);transition:background .18s,color .18s,border-color .18s}.contact__icon-btn:hover{background:var(--color-icon-hover, #2c2c2c);color:#fff;border-color:var(--color-icon-hover, #2c2c2c)}.contact__parents-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 0;background:transparent;border:none;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;font-family:var(--font-sans);transition:opacity .15s}.contact__parents-toggle:hover{opacity:.7}.contact__parents-label{font-size:10px;letter-spacing:.2em;color:var(--color-muted)}.contact__toggle-arrow{font-size:9px;color:var(--color-muted);transition:color .2s}.contact__parents-toggle.open .contact__toggle-arrow{color:var(--color-ink-3)}.contact__parents-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.4,0,.2,1)}.contact__parents-wrapper.open{grid-template-rows:1fr}.contact__parents-inner{overflow:hidden}.contact__two-col--parents .contact__person{padding-top:20px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.contact__two-col--parents>div>.contact__person:last-child{border-bottom:none}.contact__side-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.contact__side-label{font-family:var(--font-display);font-style:italic;font-size:11px;letter-spacing:.3em;color:var(--color-muted);white-space:nowrap}.contact__side-rule{flex:1;height:1px;background:var(--color-border)}.account__section{text-align:left}.account__tabs{display:flex;margin-top:16px;margin-bottom:0}.account__tab{flex:1;padding:13px 0;background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.14em;color:var(--color-muted);transition:background .2s,color .2s,border-color .2s;display:flex;align-items:center;justify-content:center;gap:5px}.account__tab:first-child{border-right:none}.account__tab.active{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.account__tab:not(.active):hover{border-color:var(--color-ink);color:var(--color-ink)}.account__tab-arrow{font-size:16px;line-height:1}@keyframes tab-idle-pulse{0%,to{border-color:var(--color-border);color:var(--color-muted)}50%{border-color:var(--color-ink);color:var(--color-ink)}}.account__tabs.idle .account__tab{animation:tab-idle-pulse 2.2s ease-in-out infinite}.account__tabs.idle .account__tab:first-child{animation-delay:0s}.account__tabs.idle .account__tab:last-child{animation-delay:1.1s}.account__panel-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.account__panel-wrapper.open{grid-template-rows:1fr}.account__panel-inner{overflow:hidden}.account__panel{border:1px solid var(--color-border);border-top:none;opacity:0;transform:translateY(-4px);transition:opacity .3s ease .08s,transform .3s ease .08s}.account__panel-wrapper.open .account__panel{opacity:1;transform:translateY(0)}.account__item{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--color-border)}.account__item:last-child{border-bottom:none}.account__left{text-align:left}.account__role{font-size:9px;letter-spacing:.3em;color:var(--color-muted);font-family:var(--font-display);font-style:italic;margin-bottom:3px}.account__holder{font-size:14px;font-weight:400;color:var(--color-ink);letter-spacing:.04em;margin-bottom:4px}.account__bank{font-size:10px;color:var(--color-muted);letter-spacing:.05em;margin-bottom:2px}.account__number{font-size:12px;font-weight:300;color:var(--color-ink-3);letter-spacing:.06em}.account__copy-btn{padding:8px 16px;border:1px solid var(--color-icon-hover, #2c2c2c);background:transparent;color:var(--color-icon-hover, #2c2c2c);font-family:var(--font-sans);font-size:10px;letter-spacing:.12em;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s;text-transform:uppercase}.account__copy-btn:hover,.account__copy-btn.copied{background:var(--color-icon-hover, #2c2c2c);color:#fff}.account__empty{padding:28px 20px;font-size:12px;color:var(--color-muted);letter-spacing:.05em;text-align:center}.acct{padding:40px var(--section-h) var(--section-v);background:var(--color-surface);text-align:center}.acct__desc{font-family:var(--font-serif);font-size:15px;font-weight:300;color:var(--color-ink-3);letter-spacing:.06em;line-height:1.8;margin-bottom:36px}.acct__subdesc{display:block;font-family:var(--font-sans);font-size:11px;font-weight:300;color:var(--color-muted);letter-spacing:.06em;margin-top:8px}.acct__groups{display:flex;flex-direction:column;gap:12px}.acct__group{border:1px solid var(--color-border);border-radius:50px;overflow:hidden;transition:border-radius .32s cubic-bezier(.4,0,.2,1),border-color .2s}.acct__group.open{border-radius:18px;border-color:var(--color-border-dark)}.acct__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 26px;background:transparent;border:none;cursor:pointer;transition:background .18s}.acct__toggle:hover{background:var(--color-fill)}.acct__toggle-label{font-family:var(--font-sans);font-size:13px;font-weight:400;letter-spacing:.1em;color:var(--color-ink)}.acct__toggle-icon{font-size:20px;line-height:1;color:var(--color-muted);font-weight:300;-webkit-user-select:none;user-select:none}.acct__panel-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.4,0,.2,1)}.acct__group.open .acct__panel-wrap{grid-template-rows:1fr}.acct__panel-inner{overflow:hidden}.acct__item{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--color-border)}.acct__info{display:flex;flex-direction:column;gap:3px;text-align:left}.acct__role{font-family:var(--font-display);font-style:italic;font-size:9px;letter-spacing:.3em;color:var(--color-muted)}.acct__holder{font-family:var(--font-serif);font-size:14px;font-weight:400;color:var(--color-ink);letter-spacing:.04em}.acct__banknum{font-size:11px;font-weight:300;color:var(--color-ink-3);letter-spacing:.04em}.acct__copy{flex-shrink:0;padding:7px 14px;border:1px solid var(--color-border-dark);border-radius:4px;background:transparent;color:var(--color-ink-3);font-family:var(--font-sans);font-size:10px;letter-spacing:.1em;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s,border-color .18s;text-transform:uppercase}.acct__copy:hover{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}.acct__copy.copied{background:#5ab87a;color:#fff;border-color:#5ab87a}.rsvp{padding:var(--section-v) var(--section-h);background:var(--color-bg);text-align:center}.rsvp__desc{font-size:12px;font-weight:300;color:var(--color-muted);line-height:2;letter-spacing:.04em;margin-top:10px}.rsvp__form{margin-top:40px;display:flex;flex-direction:column;gap:24px;text-align:left}.rsvp__field{display:flex;flex-direction:column;gap:8px}.rsvp__label{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);font-family:var(--font-display);font-style:italic}.rsvp__input,.rsvp__select,.rsvp__textarea{width:100%;padding:10px 0;border:none;border-bottom:1px solid var(--color-border-dark);border-radius:0;background:transparent;font-family:var(--font-sans);font-size:14px;font-weight:300;color:var(--color-ink);outline:none;transition:border-color .2s;-webkit-appearance:none}.rsvp__input:focus,.rsvp__select:focus,.rsvp__textarea:focus{border-bottom-color:var(--color-ink)}.rsvp__input::placeholder,.rsvp__textarea::placeholder{color:var(--color-muted);font-weight:300}.rsvp__textarea{resize:none;height:80px;line-height:1.9;padding-top:8px}.rsvp__radio-group{display:flex;gap:8px}.rsvp__radio-option{flex:1;position:relative}.rsvp__radio-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.rsvp__radio-label{display:flex;align-items:center;justify-content:center;padding:11px;border:1px solid var(--color-border);font-size:12px;font-weight:300;letter-spacing:.05em;color:var(--color-muted);cursor:pointer;transition:all .18s;background:var(--color-surface)}.rsvp__radio-option input:checked+.rsvp__radio-label{border-color:var(--color-ink);background:var(--color-ink);color:#fff}.rsvp__submit{width:100%;padding:16px;background:var(--color-ink);color:#fff;border:none;font-family:var(--font-sans);font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;margin-top:8px;transition:opacity .2s}.rsvp__submit:hover{opacity:.78}.rsvp__submit:disabled{opacity:.35;cursor:not-allowed}.rsvp__char-count{font-size:10px;color:var(--color-muted);text-align:right;align-self:flex-end;margin-top:-4px;letter-spacing:.04em}.rsvp__error{font-size:11px;color:#c0504a;letter-spacing:.04em;text-align:center;padding:8px 0 0}.rsvp__success{padding:40px 0}.rsvp__success p{font-family:var(--font-serif);font-size:15px;font-weight:300;line-height:2.2;color:var(--color-ink-3);letter-spacing:.05em}.guestbook{padding:var(--section-v) var(--section-h);background-color:var(--color-guestbook-bg, #faf6f0);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");text-align:center}.guestbook__desc{font-size:12px;font-weight:300;color:var(--color-muted);line-height:2;letter-spacing:.04em;margin-top:10px}.guestbook__list{margin-bottom:32px}.guestbook__empty{padding:32px 0;font-size:12px;color:var(--color-muted);letter-spacing:.05em}.guestbook__entry{background:#fff;border-radius:8px;box-shadow:0 2px 10px #00000012,0 0 0 1px #00000008;padding:20px 22px 18px;margin-bottom:12px;text-align:left}.guestbook__entry-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.guestbook__author{font-size:14px;font-weight:600;color:var(--color-ink);letter-spacing:.02em;flex:1}.guestbook__date{font-size:11px;color:var(--color-muted);font-family:var(--font-sans);font-style:normal;letter-spacing:.02em;flex-shrink:0}.guestbook__delete-btn{flex-shrink:0;background:transparent;border:none;color:var(--color-muted);font-size:17px;line-height:1;cursor:pointer;padding:0;margin-left:2px;transition:color .15s}.guestbook__delete-btn:hover{color:#c44}.guestbook__message{font-size:13px;font-weight:300;color:var(--color-ink-3);line-height:1.9;letter-spacing:.02em;white-space:pre-wrap;word-break:break-word}.guestbook__delete-form{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.guestbook__delete-input{flex:1;padding:8px 10px;border:1px solid var(--color-border-dark);background:var(--color-fill);font-family:var(--font-sans);font-size:12px;color:var(--color-ink);outline:none;transition:border-color .2s;border-radius:4px}.guestbook__delete-input:focus{border-color:var(--color-ink)}.guestbook__delete-confirm{padding:8px 14px;background:var(--color-ink);color:#fff;border:none;border-radius:4px;font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;cursor:pointer;white-space:nowrap;transition:opacity .18s}.guestbook__delete-confirm:hover{opacity:.78}.guestbook__delete-confirm:disabled{opacity:.35;cursor:not-allowed}.guestbook__form{text-align:left;display:flex;flex-direction:column;gap:20px;background:#fff;border-radius:8px;box-shadow:0 2px 10px #00000012,0 0 0 1px #00000008;padding:24px 22px}.guestbook__form-heading{display:flex;align-items:center;gap:12px}.guestbook__form-row{display:flex;gap:16px}.guestbook__form-row .guestbook__field{flex:1;min-width:0}.guestbook__field{display:flex;flex-direction:column;gap:8px;position:relative}.guestbook__label{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--color-muted);font-family:var(--font-sans);font-style:normal;font-weight:500}.guestbook__input,.guestbook__textarea{width:100%;padding:10px 0;border:none;border-bottom:1px solid var(--color-border-dark);border-radius:0;background:transparent;font-family:var(--font-sans);font-size:14px;font-weight:300;color:var(--color-ink);outline:none;transition:border-color .2s;-webkit-appearance:none}.guestbook__input:focus,.guestbook__textarea:focus{border-bottom-color:var(--color-ink)}.guestbook__input::placeholder,.guestbook__textarea::placeholder{color:var(--color-muted);font-weight:300}.guestbook__textarea{resize:none;height:80px;line-height:1.9;padding-top:8px}.guestbook__char-count{font-size:10px;color:var(--color-muted);text-align:right;align-self:flex-end;margin-top:-4px;letter-spacing:.04em}.guestbook__submit{width:100%;padding:16px;background:#4daaff;color:#fff;border:none;border-radius:4px;font-family:var(--font-sans);font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s,opacity .2s}.guestbook__submit:hover{background:#3a9bff}.guestbook__submit:disabled{opacity:.35;cursor:not-allowed}.guestbook__error{font-size:11px;color:#c0504a;letter-spacing:.04em;text-align:center;padding:4px 0 0}.guestbook__delete-error{width:100%;font-size:11px;color:#c0504a;letter-spacing:.04em;padding:6px 0 0;flex-basis:100%}.guestbook__pagination{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:32px}.guestbook__page-btn{min-width:32px;height:32px;padding:0 6px;background:transparent;border:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-display);font-size:12px;font-style:italic;letter-spacing:.04em;cursor:pointer;border-radius:4px;transition:background .15s,color .15s,border-color .15s}.guestbook__page-btn:hover:not(:disabled):not(.active){border-color:var(--color-ink);color:var(--color-ink)}.guestbook__page-btn.active{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.guestbook__page-btn:disabled{opacity:.25;cursor:not-allowed}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.scroll-reveal--visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.scroll-reveal{transition:none;opacity:1;transform:none;will-change:auto}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f9f9f7;--color-surface: #ffffff;--color-ink: #2c2c2c;--color-ink-2: #3d3d3d;--color-ink-3: #616161;--color-muted: #a0a0a0;--color-border: #e4e4e4;--color-border-dark: #c8c8c8;--color-fill: #f4f4f2;--color-dark-bg: #252525;--color-point: #c8784a;--color-icon: #616161;--color-icon-hover: #2c2c2c;--color-dday-text: rgba(255,255,255,.32);--color-dday-number: #ffffff;--font-display: "Cormorant Garamond", "Noto Serif KR", serif;--font-serif: "Noto Serif KR", serif;--font-sans: "Noto Sans KR", sans-serif;--max-width: 480px;--section-v: 60px;--section-h: 32px}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-ink);-webkit-font-smoothing:antialiased}#root{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;width:100%}.page-wrapper{width:100%;max-width:var(--max-width);background:var(--color-surface);min-height:100vh;overflow-x:hidden;box-shadow:0 0 60px #0000000f}.section-header{text-align:center;margin-bottom:44px}.section-eyebrow{display:block;font-family:var(--font-display);font-size:11px;font-style:italic;letter-spacing:.35em;color:var(--color-muted);text-transform:uppercase;margin-bottom:14px}.section-title{font-family:var(--font-serif);font-size:21px;font-weight:400;letter-spacing:.12em;color:var(--color-ink)}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 20px;color:var(--color-border-dark)}.ornament:before,.ornament:after{content:"";display:block;width:48px;height:1px;background:currentColor}.ornament-icon{font-size:9px;letter-spacing:4px;color:var(--color-muted)}
