*{margin:0;padding:0;box-sizing:border-box}ul{list-style:none}button{font:inherit;color:inherit;letter-spacing:inherit;background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}:root{--max-width: 480px;--color-bg: #ffffff;--color-ivory: #f7f5f2;--color-text: #1f1f1f;--color-sub: #625e5a;--color-accent: #7a6a58;--color-deco: #b9b1a7;--color-line: #e4dfd8;--font-body: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", sans-serif;--font-display: "Cormorant Garamond", "Times New Roman", serif}html{font-size:16px;scroll-behavior:smooth}html,body{background:#edebe8;color:var(--color-text);font-family:var(--font-body);line-height:1.75;letter-spacing:-.01em;word-break:keep-all}.page{position:relative;max-width:var(--max-width);margin:0 auto;background:var(--color-bg);min-height:100vh;overflow-x:hidden}.section{padding:88px 24px}.section--divided{margin:0 24px;padding-left:0;padding-right:0;border-top:1px solid var(--color-line)}.section__head{text-align:center;margin-bottom:32px}.section__subtitle{font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--color-accent)}.section__title{margin-top:8px;font-size:1.4rem;font-weight:500;letter-spacing:-.02em}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.is-visible{opacity:1;transform:none}.s-btn{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:6px 12px;border:1px solid var(--color-text);border-radius:4px;background:#fff;font-size:.85rem;font-weight:500}.s-btn:active{background:var(--color-ivory)}.s-btn--pay{border-color:#fee500;background:#fee500;color:#191919;font-weight:600}.info-list{border-top:1px solid var(--color-text)}.info-list__item{display:grid;grid-template-columns:64px 1fr;padding:18px 0;border-bottom:1px solid var(--color-line)}.info-list dt{grid-row:span 9;font-size:.9rem;font-weight:600;color:var(--color-accent)}.info-list dd{grid-column:2;font-size:.95rem}.footer{text-align:center;padding:24px 0 48px;font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:.2em;color:var(--color-sub)}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.account__panel,.account__list{transition:none!important}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#ffffff8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .7s ease}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.intro{background:#ffffffe0}}.intro--hide{opacity:0;pointer-events:none}.intro__label,.intro__names{animation:introUp .9s ease both}.intro__label{font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--color-accent)}.intro__names{display:flex;align-items:center;gap:14px;font-size:1.4rem;font-weight:500;letter-spacing:.08em;animation-delay:.2s}.intro__names i{width:24px;height:1px;background:var(--color-text)}@keyframes introUp{0%{opacity:0;transform:translateY(10px)}}.cover{padding:56px 0 64px;text-align:center}.cover__top{padding:0 24px 32px}.cover__date{font-family:var(--font-display);font-size:2.75rem;font-weight:500;line-height:1;letter-spacing:.04em}.cover__date span{margin:0 .18em;color:var(--color-accent)}.cover__day{margin-top:14px;font-size:.8rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--color-sub)}.cover__photo{width:100%;aspect-ratio:4 / 5;background:var(--color-ivory);overflow:hidden}.cover__photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.cover__names{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px;font-size:1.4rem;font-weight:500;letter-spacing:.08em}.cover__names i{width:28px;height:1px;background:var(--color-text)}.cover__info{margin-top:14px;font-size:.95rem;color:var(--color-sub)}.greeting{text-align:center}.greeting__text{white-space:pre-line;line-height:1.6}.family{display:grid;grid-template-columns:repeat(4,auto);justify-content:center;align-items:center;column-gap:8px;row-gap:14px;margin-top:48px;padding-top:40px;border-top:1px solid var(--color-line)}.family__line{display:contents}.family__parents{justify-self:end}.family__dot{margin:0 5px;color:var(--color-deco)}.family__rel{font-size:.9rem;color:var(--color-sub)}.family__name{font-size:1.05rem;font-weight:600;margin-left:2px}.family__tel{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:2px;border:1px solid var(--color-line);border-radius:50%;color:var(--color-accent)}.calendar{background:var(--color-ivory)}.calendar__info{text-align:center;font-weight:500}.calendar__box{max-width:340px;margin:40px auto 0;padding:24px 8px 16px;border-top:1px solid var(--color-text);border-bottom:1px solid var(--color-line)}.calendar__month{text-align:center;margin-bottom:12px;font-family:var(--font-display);font-size:1.1rem;font-weight:500;letter-spacing:.1em;color:var(--color-sub)}.calendar__month em{margin-right:4px;font-size:1.9rem;font-weight:500;letter-spacing:.02em;color:var(--color-text)}.calendar__table{width:100%;border-collapse:collapse;text-align:center;font-variant-numeric:tabular-nums}.calendar__table th{height:40px;font-size:.85rem;font-weight:500;color:var(--color-sub)}.calendar__table td{position:relative;height:46px;font-size:.95rem}.calendar__table .is-sun{color:var(--color-accent)}.calendar__table td span{position:relative;z-index:1}.calendar__table td.is-active{color:#fff;font-weight:500}.calendar__table td.is-active:before{content:"";position:absolute;top:50%;left:50%;width:36px;height:36px;border-radius:50%;background:var(--color-accent);transform:translate(-50%,-50%)}.countdown{display:flex;justify-content:center;margin-top:56px}.countdown__item{position:relative;display:flex;flex-direction:column;align-items:center;width:82px}.countdown__item+.countdown__item:before{content:":";position:absolute;top:0;left:-3px;font-family:var(--font-display);font-size:clamp(1.8rem,9vw,2.2rem);line-height:1.1;color:var(--color-deco)}.countdown__num{color:var(--color-accent);font-family:var(--font-display);font-size:clamp(2.1rem,10.5vw,2.6rem);font-weight:500;line-height:1.1;font-variant-numeric:lining-nums tabular-nums}.countdown__label{margin-top:8px;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.calendar__dday{margin-top:36px;text-align:center}.calendar__dday b{font-weight:600;color:var(--color-accent)}.gallery{padding-left:0;padding-right:0}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.gallery__item{display:block;width:100%;aspect-ratio:1;background:var(--color-ivory);overflow:hidden}.gallery__item img{width:100%;height:100%;object-fit:cover}.gallery__wrap{position:relative}.gallery__wrap.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--color-bg) 80%);pointer-events:none}.gallery__more{position:relative;display:flex;align-items:center;gap:6px;margin:16px auto 0;padding:8px 16px;font-size:.9rem;font-weight:500}.gallery__wrap.is-collapsed+.gallery__more{margin-top:-18px}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;background:#0f0f0ff7;color:#fff}.viewer__top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:.9rem;font-variant-numeric:tabular-nums}.viewer__top button{display:flex;padding:4px}.viewer__img{max-width:100%;max-height:80vh;object-fit:contain}.viewer__nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;padding:12px 6px;opacity:.8}.viewer__nav--prev{left:4px}.viewer__nav--next{right:4px}.location__info{text-align:center;margin-bottom:32px}.location__venue{font-size:1.15rem;font-weight:600}.location__hall{margin-bottom:8px;font-weight:500}.location__addr{font-size:.95rem;color:var(--color-sub)}.location__tel{display:inline-block;font-size:.95rem;color:var(--color-sub)}.location__map{width:calc(100% + 48px);margin:0 -24px;height:260px;background:var(--color-ivory);display:flex;align-items:center;justify-content:center;overflow:hidden}.location__map-placeholder{text-align:center;color:var(--color-sub);font-size:.85rem}.location__links{display:flex;gap:6px;margin-top:12px}.map-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 0;border:1px solid var(--color-line);border-radius:4px;font-size:.9rem;font-weight:500}.map-btn img{width:18px;height:18px;object-fit:contain}.transport{margin-top:40px}.notice__text{white-space:pre-line}.account{background:var(--color-ivory)}.account__desc{text-align:center;font-size:.95rem;color:var(--color-sub);margin-bottom:36px}.account__group{background:#fff;border:1px solid var(--color-line);border-radius:6px;overflow:hidden}.account__group+.account__group{margin-top:10px}.account__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;font-weight:500}.account__toggle svg{color:var(--color-sub);transition:transform .3s ease}.account__group.is-open .account__toggle svg{transform:rotate(180deg)}.account__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .35s ease,visibility 0s .35s}.account__group.is-open .account__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .35s ease,visibility 0s}.account__panel-inner{min-height:0;overflow:hidden}.account__list{padding:0 20px;border-top:1px solid var(--color-line);opacity:0;transition:opacity .25s ease}.account__group.is-open .account__list{opacity:1;transition:opacity .3s ease .08s}.account__row{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.account__row+.account__row{border-top:1px solid var(--color-line)}.account__role{font-size:.8rem;font-weight:500;color:var(--color-accent)}.account__number{font-size:1.05rem;font-weight:500;font-variant-numeric:tabular-nums}.account__owner{font-size:.9rem;color:var(--color-sub)}.account__owner span{margin-left:4px}.account__btns{display:flex;flex-direction:column;gap:6px}.ending{padding:0 24px 72px;text-align:center}.ending__photo{width:calc(100% + 48px);margin:0 -24px;aspect-ratio:3 / 4;overflow:hidden}.ending__photo img{width:100%;height:100%;object-fit:cover}.ending__title{padding-top:72px;font-family:var(--font-display);font-size:2.4rem;font-style:italic;font-weight:500;line-height:1.2}.ending__text{margin-top:16px;white-space:pre-line;color:var(--color-sub)}.floating{position:fixed;right:max(16px,calc(50% - var(--max-width) / 2 + 16px));bottom:calc(20px + env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;gap:8px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s ease}.floating.is-shown{opacity:1;visibility:visible;transform:none}.floating button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--color-line);border-radius:50%;background:#fffffff2;color:var(--color-text);box-shadow:0 2px 8px #0000000f}
