:root{--bg:#fff;--ink:#2b2622;--ink-2:#5e554d;--ink-3:#968b80;--rule:#e6dfd5;--rule-2:#efe9df;--soft:#f6f1e9;--accent:#b08a5e;--accent-2:#c9a679;--blush:#d8b8a3;--serif-en:"Cormorant Garamond", "Nanum Myeongjo", serif;--serif-kr:"Nanum Myeongjo", "Noto Serif KR", serif;--serif-kr-2:"Noto Serif KR", "Nanum Myeongjo", serif;--sans-kr:"Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{color:var(--ink);font-family:var(--sans-kr);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#ece8e2;min-height:100vh}#shell{background:var(--bg);width:100%;max-width:430px;min-height:100vh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 8px 60px #3c322814}#shell:before{content:"";pointer-events:none;opacity:1;mix-blend-mode:multiply;z-index:50;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:240px 240px;position:absolute;inset:0}#shell:after{content:"";pointer-events:none;z-index:49;background:repeating-linear-gradient(90deg,#3c2d1e03 0 1px,#0000 1px 7px),repeating-linear-gradient(0deg,#3c2d1e03 0 1px,#0000 1px 11px);position:absolute;inset:0}img{max-width:100%;display:block}.serif-en{font-family:var(--serif-en);letter-spacing:.02em;font-weight:400}.serif-kr{font-family:var(--serif-kr);font-weight:400}.serif-kr-2{font-family:var(--serif-kr-2)}.sans-kr{font-family:var(--sans-kr)}.ink-2{color:var(--ink-2)}.ink-3{color:var(--ink-3)}.center{text-align:center}.block{padding:64px 28px;position:relative}.block-tight{padding:44px 28px}.eyebrow{font-family:var(--serif-en);color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:11px;font-style:italic}.kr-eyebrow{font-family:var(--serif-kr);color:var(--ink-2);letter-spacing:.6em;padding-left:.6em;font-size:12px}.section-title{font-family:var(--serif-kr);color:var(--ink);letter-spacing:.15em;margin:14px 0 0;font-size:22px;font-weight:400}.section-en{font-family:var(--serif-en);color:var(--accent);letter-spacing:.18em;font-size:14px;font-style:italic}.hr-thin{background:var(--rule);border:0;height:1px;margin:0}.hr-dot{justify-content:center;align-items:center;gap:8px;display:flex}.hr-dot:before,.hr-dot:after{content:"";background:var(--rule);flex:1;max-width:80px;height:1px}.hr-diamond{background:var(--accent);width:6px;height:6px;display:inline-block;transform:rotate(45deg)}button{cursor:pointer;font-family:inherit}.hero{padding:28px 28px 36px;position:relative}.hero-top{font-family:var(--serif-en);color:var(--ink-2);letter-spacing:.24em;text-transform:uppercase;justify-content:space-between;align-items:baseline;padding-bottom:14px;font-size:11px;display:flex}.hero-top .left{letter-spacing:.18em;text-transform:none;font-style:italic}.hero-stage{grid-template-columns:1fr auto;align-items:stretch;gap:18px;margin-top:6px;display:grid;position:relative}.hero-photo{aspect-ratio:3/4;background:var(--soft);position:relative;overflow:hidden}.hero-photo img{object-fit:cover;filter:saturate(.92)contrast(.98);width:100%;height:100%}.hero-photo:after{content:"";pointer-events:none;border:1px solid #ffffff59;position:absolute;inset:8px}.hero-dates{font-family:var(--serif-en);color:var(--ink);text-align:right;flex-direction:column;justify-content:flex-end;gap:6px;padding-bottom:6px;font-size:64px;font-weight:500;line-height:.92;display:flex}.hero-dates .yr,.hero-dates .mo,.hero-dates .dy{display:block}.hero-meta{text-align:center;margin-top:22px}.hero-meta .save{font-family:var(--serif-en);letter-spacing:.3em;color:var(--ink);margin:0;font-size:28px;font-weight:400}.hero-meta .save em{letter-spacing:.05em;padding:0 4px;font-style:italic;font-weight:300}.hero-meta .datetime{font-family:var(--serif-kr-2);letter-spacing:.18em;color:var(--ink-2);margin-top:14px;font-size:13px}.hero-meta .couple{font-family:var(--serif-kr);letter-spacing:.2em;color:var(--ink);margin-top:10px;font-size:22px}.hero-meta .couple .amp{font-family:var(--serif-en);color:var(--accent);margin:0 8px;font-style:italic;font-weight:400}.hero-meta .venue{letter-spacing:.18em;color:var(--ink-3);margin-top:8px;font-size:12px}.quote{text-align:center;padding:56px 36px;position:relative}.quote .mark{font-family:var(--serif-en);color:var(--accent);height:22px;margin-bottom:26px;font-size:56px;font-style:italic;line-height:1;display:block}.quote .mark.end{margin-top:26px;margin-bottom:0}.quote p{font-family:var(--serif-kr-2);letter-spacing:.05em;color:var(--ink);white-space:pre-line;margin:0;font-size:15px;font-weight:300;line-height:2.1}.quote .cite{font-family:var(--serif-en);color:var(--ink-3);letter-spacing:.16em;margin-top:24px;font-size:12px;font-style:italic}.invite{background:linear-gradient(0deg, var(--bg), var(--bg))}.invite p{font-family:var(--serif-kr-2);letter-spacing:.04em;color:var(--ink);white-space:pre-line;text-align:center;margin:0 0 18px;font-size:14.5px;font-weight:300;line-height:2.15}.invite p.last{color:var(--ink);font-family:var(--serif-kr);letter-spacing:.1em}.name-highlight{color:#8b5e3c;background:linear-gradient(#0000 55%,#8b5e3c33 55%);padding:0 2px;font-weight:700}.family-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;display:grid}.family-card{text-align:center}.family-photo{aspect-ratio:3/4;background:var(--soft);width:100%;margin-bottom:14px;overflow:hidden}.family-photo img{object-fit:cover;width:100%;height:100%}.family-role{font-family:var(--serif-en);color:var(--accent);letter-spacing:.2em;font-size:12px;font-style:italic}.family-name{font-family:var(--serif-kr);letter-spacing:.18em;color:var(--ink);margin-top:4px;font-size:18px}.family-parent{font-family:var(--serif-kr-2);color:var(--ink-2);letter-spacing:.04em;margin-top:10px;font-size:12px;line-height:1.7}.family-parent .role{color:var(--ink-3);margin-right:6px}.family-divider{justify-content:center;align-items:center;gap:14px;margin:26px 0 0;display:flex}.family-divider .line{background:var(--rule);flex:1;height:1px}.family-divider .amp{font-family:var(--serif-en);color:var(--accent);font-size:18px;font-style:italic}.cal-head{text-align:center}.cal-head .kr{font-family:var(--serif-kr);letter-spacing:.16em;color:var(--ink);margin-top:6px;font-size:20px}.cal-month{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:28px;padding:18px 4px}.cal-monthlabel{text-align:center;font-family:var(--serif-en);letter-spacing:.3em;color:var(--ink-2);margin-bottom:14px;font-size:14px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:8px 2px;display:grid}.cal-grid .h{font-family:var(--serif-en);letter-spacing:.2em;text-align:center;color:var(--ink-3);padding:6px 0 10px;font-size:11px}.cal-grid .h.sun{color:var(--blush)}.cal-grid .d{font-family:var(--serif-en);text-align:center;color:var(--ink);padding:8px 0;font-size:14px;position:relative}.cal-grid .d.muted{color:var(--rule)}.cal-grid .d.sun{color:#c69a8a}.cal-grid .d.today{color:var(--bg);font-weight:500}.cal-grid .d.today:before{content:"";background:var(--accent);z-index:-1;border-radius:50%;width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cal-grid .d{z-index:1}.countdown{text-align:center;margin-top:28px}.countdown .heart{color:var(--blush);font-family:var(--serif-en);letter-spacing:.18em;font-size:13px}.countdown .heart .h{font-style:italic}.countdown-boxes{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.countdown-boxes .b{border:1px solid var(--rule);padding:14px 0 12px}.countdown-boxes .num{font-family:var(--serif-en);color:var(--accent);letter-spacing:.04em;font-size:26px;font-weight:500}.countdown-boxes .lbl{font-family:var(--serif-en);letter-spacing:.2em;color:var(--ink-3);margin-top:2px;font-size:10px;font-style:italic}.countdown-line{font-family:var(--serif-kr-2);color:var(--ink);letter-spacing:.05em;margin-top:16px;font-size:13px}.countdown-line strong{color:var(--accent);font-weight:500}.gallery{padding:64px 0}.gallery .head{text-align:center;padding:0 28px 28px}.gallery-grid{grid-template-columns:repeat(6,1fr);gap:6px;padding:0 28px;display:grid}.gallery-grid .g{background:var(--soft);cursor:pointer;position:relative;overflow:hidden}.gallery-grid .g img{object-fit:cover;width:100%;height:100%}.gallery-grid .g1{aspect-ratio:4/3;grid-column:span 6}.gallery-grid .g2,.gallery-grid .g3{aspect-ratio:1;grid-column:span 3}.gallery-grid .g4{aspect-ratio:3/4;grid-column:span 2}.gallery-grid .g5{aspect-ratio:3/2;grid-column:span 4}.gallery-grid .g6{aspect-ratio:16/10;grid-column:span 6}.gallery-more{text-align:center;font-family:var(--serif-en);color:var(--ink-2);letter-spacing:.18em;margin-top:22px;font-size:12px;font-style:italic}.lightbox{z-index:1000;touch-action:none;background:#141210f0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox .img-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.lightbox img{object-fit:contain;max-width:92%;max-height:80vh}.lightbox .close{color:#fff;background:0 0;border:1px solid #fff6;border-radius:50%;width:36px;height:36px;font-size:18px;position:absolute;top:20px;right:20px}.lightbox .nav{color:#ffffffd9;font-family:var(--serif-en);background:0 0;border:none;padding:20px;font-size:36px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox .nav.prev{left:0}.lightbox .nav.next{right:0}.lightbox .count{text-align:center;color:#fff9;font-family:var(--serif-en);letter-spacing:.2em;font-size:13px;position:absolute;bottom:24px;left:0;right:0}.map-wrap{aspect-ratio:1;border:1px solid var(--rule);background:#f0ece6;width:100%;margin-top:24px;position:relative;overflow:hidden}.map-wrap iframe{border:0;width:100%;height:100%}.map-wrap .pin{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.venue-line{text-align:center}.venue-line .name{font-family:var(--serif-kr);letter-spacing:.18em;color:var(--ink);font-size:18px}.venue-line .addr{font-family:var(--sans-kr);color:var(--ink-2);letter-spacing:.02em;margin-top:8px;font-size:13px}.nav-btns{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.nav-btn{border:1px solid var(--rule);background:var(--bg);color:var(--ink);letter-spacing:.12em;font-size:12px;font-family:var(--sans-kr);justify-content:center;align-items:center;gap:6px;padding:12px 4px;text-decoration:none;transition:background .2s;display:flex}.nav-btn:hover{background:var(--soft)}.nav-btn .dot{border-radius:50%;width:8px;height:8px}.nav-btn.naver .dot{background:#03c75a}.nav-btn.kakao .dot{background:#fae100}.nav-btn.tmap .dot{background:#ff3a3a}.nav-icon{object-fit:contain;border-radius:4px;width:20px;height:20px}.transit{margin-top:36px}.transit-row{border-top:1px solid var(--rule);padding:18px 4px}.transit-row:last-of-type{border-bottom:1px solid var(--rule)}.transit-row .head{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.transit-row .head .l{font-family:var(--serif-kr);letter-spacing:.16em;color:var(--ink);align-items:center;gap:14px;font-size:15px;display:flex}.transit-row .head .l .num{font-family:var(--serif-en);color:var(--accent);letter-spacing:.1em;font-size:14px;font-style:italic}.transit-row .head .chev{color:var(--ink-3);font-size:14px;transition:transform .25s}.transit-row.open .head .chev{transform:rotate(180deg)}.transit-body{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.transit-row.open .transit-body{grid-template-rows:1fr}.transit-body>div{overflow:hidden}.transit-content{font-family:var(--sans-kr);color:var(--ink-2);padding:16px 6px 6px;font-size:13px;line-height:1.9}.transit-content .sub{font-family:var(--serif-kr);color:var(--ink);letter-spacing:.1em;margin-top:14px;font-size:13px}.transit-content .sub:first-child{margin-top:0}.transit-content .bus-line{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.transit-content .tag{font-family:var(--sans-kr);border:1px solid var(--rule);background:var(--bg);color:var(--ink-2);letter-spacing:.04em;align-items:center;gap:6px;padding:4px 9px;font-size:12px;display:inline-flex}.transit-content .tag .lbl{color:var(--ink-3);letter-spacing:.1em;font-size:10px}.transit-content .note{color:var(--ink-3);font-size:12px;line-height:1.7}.meal-card{border:1px solid var(--rule);text-align:center;padding:28px}.meal-card .label{font-family:var(--serif-en);color:var(--accent);letter-spacing:.2em;font-size:12px;font-style:italic}.meal-card .v{font-family:var(--serif-kr);letter-spacing:.16em;color:var(--ink);margin-top:8px;font-size:16px}.meal-card .v2{font-family:var(--sans-kr);color:var(--ink-2);letter-spacing:.04em;margin-top:4px;font-size:13px}.meal-card .div{background:var(--rule);width:30%;height:1px;margin:18px auto}.account-toggles{flex-direction:column;gap:12px;margin-top:28px;display:flex}.acct-toggle{border:1px solid var(--rule);background:var(--bg);font-family:var(--serif-kr);letter-spacing:.14em;color:var(--ink);justify-content:space-between;align-items:center;padding:16px 18px;font-size:14px;display:flex}.acct-toggle .role{font-family:var(--serif-en);color:var(--accent);letter-spacing:.18em;margin-right:12px;font-size:12px;font-style:italic}.acct-toggle .l{align-items:center;display:flex}.acct-toggle .chev{color:var(--ink-3);transition:transform .25s}.acct-toggle.open .chev{transform:rotate(180deg)}.acct-list{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.acct-list.open{grid-template-rows:1fr}.acct-list>div{overflow:hidden}.acct-row{border-top:1px dashed var(--rule);background:var(--bg);font-family:var(--sans-kr);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.acct-row .name{font-family:var(--serif-kr);letter-spacing:.1em;color:var(--ink);font-size:13px}.acct-row .bank{color:var(--ink-3);font-size:12px;font-family:var(--sans-kr);letter-spacing:.04em;margin-top:4px}.acct-row .num{font-family:var(--serif-en);color:var(--ink-2);letter-spacing:.04em;font-size:14px}.acct-row .copy-btn{border:1px solid var(--rule);background:var(--bg);letter-spacing:.14em;color:var(--ink-2);font-size:11px;font-family:var(--sans-kr);padding:6px 10px}.acct-row .copy-btn:hover{background:var(--soft)}.gb-form{gap:10px;margin-top:24px;display:grid}.gb-form input,.gb-form textarea{border:1px solid var(--rule);background:var(--bg);width:100%;font-family:var(--sans-kr);color:var(--ink);resize:none;outline:none;padding:12px 14px;font-size:13.5px}.gb-form input::placeholder,.gb-form textarea::placeholder{color:var(--ink-3)}.gb-form input:focus,.gb-form textarea:focus{border-color:var(--accent)}.gb-form .row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gb-form .submit{background:var(--ink);color:#fff;font-family:var(--serif-kr);letter-spacing:.2em;border:none;padding:13px;font-size:13px}.gb-list{flex-direction:column;gap:14px;margin-top:28px;display:flex}.gb-entry{border-top:1px solid var(--rule);padding:14px 4px 4px}.gb-entry .meta{justify-content:space-between;align-items:baseline;display:flex}.gb-entry .who{font-family:var(--serif-kr);letter-spacing:.1em;color:var(--ink);font-size:13px}.gb-entry .when{font-family:var(--serif-en);color:var(--ink-3);letter-spacing:.12em;font-size:11px;font-style:italic}.gb-entry .msg{font-family:var(--serif-kr-2);color:var(--ink);white-space:pre-line;margin-top:8px;font-size:13.5px;font-weight:300;line-height:1.85}.gb-entry .del{font-family:var(--sans-kr);color:var(--ink-3);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:11px;text-decoration:underline}.gb-empty{text-align:center;color:var(--ink-3);font-family:var(--serif-kr-2);letter-spacing:.04em;padding:24px 0;font-size:13px}.footer-photo{aspect-ratio:4/3;width:100%;overflow:hidden}.footer-photo img{object-fit:cover;width:100%;height:100%}.footer{text-align:center;padding:40px 28px 56px}.footer .end{font-family:var(--serif-en);letter-spacing:.3em;color:var(--ink-2);font-size:12px;font-style:italic}.footer .end-kr{font-family:var(--serif-kr);letter-spacing:.4em;color:var(--ink-3);margin-top:18px;font-size:12px}.fab{z-index:200;color:#181600;cursor:pointer;background:#fee500;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:fixed;bottom:22px;right:max(20px,50% - 199px);box-shadow:0 6px 20px #0000002e}.fab svg{width:26px;height:26px}.fab-tip{background:var(--ink);color:#fff;font-family:var(--sans-kr);z-index:200;letter-spacing:.04em;pointer-events:none;opacity:0;border-radius:18px;padding:8px 12px;font-size:12px;transition:opacity .25s,transform .25s;position:fixed;bottom:34px;right:max(82px,50% - 137px);transform:translate(4px)}.fab-tip.show{opacity:1;transform:translate(0)}.modal-back{z-index:900;background:#1e1a1699;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);width:100%;max-width:360px;padding:26px 22px 22px;position:relative}.modal h4{font-family:var(--serif-kr);letter-spacing:.16em;text-align:center;margin:0 0 14px;font-size:16px}.modal .close{color:var(--ink-2);background:0 0;border:none;font-size:18px;position:absolute;top:10px;right:12px}.toast{color:#fff;font-family:var(--sans-kr);letter-spacing:.04em;z-index:1100;background:#1e1a16eb;border-radius:24px;padding:10px 16px;font-size:12px;animation:2.4s forwards toastIn;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}15%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
