@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{--ivory:#f3efe5;--gold:#d9bd78;--stone:#28312e;--deep:#101714}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{background:#101714;width:100%;min-height:100%;margin:0}body{color:var(--ivory);font-family:Noto Sans KR,sans-serif}button,a{color:inherit;font:inherit}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline-offset:-3px;outline:2px solid #f1d99c}.experience{background:#101714;width:100%}.curtain-screen{z-index:40;background:linear-gradient(#1c1514,#0f1311 72%);position:fixed;inset:0;overflow:hidden}.curtain-panel{background:radial-gradient(circle at 50% 20%,#ffffff14,#0000 28%),linear-gradient(#6f1c1f,#3f0f12 58%,#221112);width:50%;height:100%;transition:transform 1.2s cubic-bezier(.22,.8,.22,1);position:absolute;top:0;box-shadow:inset 0 0 0 1px #ffffff0a}.curtain-left{left:0}.curtain-right{right:0}.curtain-screen.is-open .curtain-left{transform:translate(-104%)}.curtain-screen.is-open .curtain-right{transform:translate(104%)}.curtain-handle{z-index:2;cursor:grab;-webkit-user-select:none;user-select:none;justify-items:center;gap:10px;display:grid;position:absolute;top:18%;left:50%;transform:translate(-50%)}.curtain-rope{background:linear-gradient(#ffffff59,#ffffff0d);border-radius:999px;width:3px;height:140px}.curtain-ring{background:#ffffff0f;border:1px solid #ffffff52;border-radius:50%;width:62px;height:62px}.curtain-copy{color:#f3efe5;letter-spacing:.18em;text-align:center;font-size:12px}.curtain-screen.is-open{pointer-events:none}.curtain-screen.is-open .curtain-handle{opacity:0;transition:opacity .3s}.content-shell{opacity:0;transition:opacity .45s,transform .45s;transform:translateY(16px)}.content-shell.is-visible{opacity:1;transform:none}.invitation-details{z-index:2;color:#222a25;background:#eee9de;position:relative}.detail-intro{text-align:center;background:radial-gradient(circle at 50% 25%,#d7bb7724,#0000 35%);padding:95px 28px 80px}.detail-intro small{color:#a28b55;letter-spacing:.25em;font:700 7px/1 Courier New,monospace}.detail-intro h2{color:#1f2722;margin:23px 0 28px;font:400 clamp(34px,10vw,50px)/1 DM Serif Display,Georgia,serif}.detail-intro h2 i{color:#9b8a64;margin:11px 0;font:italic 400 13px/1 Georgia,serif;display:block}.detail-intro p{color:#657069;margin:0;font-size:12px;line-height:2.1}.ceremony-block{text-align:center;color:#f4eee1;background:#233029;padding:70px 25px}.ceremony-block span{color:#d8bf7b;letter-spacing:.24em;font:700 7px/1 Courier New,monospace}.ceremony-block strong{letter-spacing:-.07em;margin:15px 0 14px;font:400 clamp(72px,22vw,110px)/.9 DM Serif Display,Georgia,serif;display:block}.ceremony-block p{color:#bdc6bf;margin:0;font-size:11px;line-height:1.8}.ceremony-block a{color:#e7d39c;border:1px solid #e7d39c59;margin-top:23px;padding:12px 18px;font-size:9px;text-decoration:none;display:inline-block}.scratch-section,.gallery-section,.video-section,.location-section,.family-section{width:min(100%,520px);margin:0 auto;padding:80px 20px}.scratch-section>small,.gallery-section>small,.video-section>small,.location-section>small,.family-section>small{color:#a28b55;letter-spacing:.2em;font:700 7px/1 Courier New,monospace}.scratch-section>h2,.gallery-section>h2,.video-section>h2,.location-section>h2,.family-section>h2{color:#263029;margin:13px 0 28px;font:400 31px/1.15 DM Serif Display,Georgia,serif}.scratch-section{color:#222a25;background:#eee9de}.scratch-section>p{color:#4c574f;margin:0 0 22px;font-size:11px;line-height:1.8}.scratch-grid{gap:14px;display:grid}.scratch-card{cursor:pointer;text-align:left;background:#d8d0c1;border:1px solid #323d361f;min-height:180px;padding:22px;position:relative;overflow:hidden}.scratch-copy{z-index:2;max-width:84%;display:block;position:relative}.scratch-copy small{color:#a28b55;letter-spacing:.2em;font:700 7px/1 Courier New,monospace;display:block}.scratch-copy h3{color:#263029;margin:12px 0 10px;font:400 28px/1.12 DM Serif Display,Georgia,serif}.scratch-copy p{color:#4c574f;margin:0;font-size:12px;line-height:1.8}.scratch-copy em{color:#758076;margin-top:10px;font-size:9px;font-style:normal;line-height:1.6;display:block}.scratch-overlay{background:linear-gradient(135deg,#fff6,#0000001f),repeating-linear-gradient(25deg,#ffffff47 0 10px,#ffffff14 10px 20px);transition:opacity .35s,transform .35s;position:absolute;inset:0}.scratch-overlay i{border:1px dashed #ffffff8c;border-radius:18px;position:absolute;inset:18px}.scratch-overlay i:nth-child(2){inset:26px 22px;transform:rotate(1deg)}.scratch-overlay i:nth-child(3){inset:34px 28px;transform:rotate(-1.5deg)}.scratch-card.is-revealed .scratch-overlay{opacity:0;pointer-events:none;transform:translateY(10px)}.scratch-hint{z-index:2;color:#a46c47;background:#ffffffd9;border-radius:999px;padding:7px 10px;font-size:12px;position:absolute;bottom:18px;right:18px}.scratch-footer{color:#6d726b;text-align:center;margin-top:12px;font-size:13px}.ore-emerald{background:linear-gradient(145deg,#edf8f0,#dff3e3)}.ore-amethyst{background:linear-gradient(145deg,#f4eff9,#e7dcf5)}.ore-gold{background:linear-gradient(145deg,#fff9ea,#f7ead0)}.ore-lapis{background:linear-gradient(145deg,#eef5ff,#dce8fb)}.ore-ruby{background:linear-gradient(145deg,#fff0f0,#f8dddd)}.ore-diamond{background:linear-gradient(145deg,#eefaf8,#ddf3f0)}.gallery-section{color:#222a25;background:#eee9de;padding-inline:12px}.gallery-viewport{--side-width:calc((100% - 7px)/3);--main-width:calc(100% - var(--side-width) - 7px);--side-height:calc((334px - 7px)/2);touch-action:pan-y;background:#d8d0c1;border:1px solid #323d361f;height:350px;position:relative;overflow:hidden}.gallery-item{cursor:zoom-in;opacity:1;background:#d6cdbd;border:1px solid #323d361f;padding:0;transition:left .58s cubic-bezier(.22,.8,.22,1),top .58s cubic-bezier(.22,.8,.22,1),width .58s cubic-bezier(.22,.8,.22,1),height .58s cubic-bezier(.22,.8,.22,1),opacity .35s,transform .58s cubic-bezier(.22,.8,.22,1),box-shadow .58s;position:absolute;overflow:hidden}.gallery-item.is-main{z-index:2;width:var(--main-width);height:334px;top:8px;left:0;box-shadow:0 15px 34px #252d2829}.gallery-item.is-side-top,.gallery-item.is-side-bottom{z-index:2;left:calc(var(--main-width) + 7px);width:var(--side-width);height:var(--side-height)}.gallery-item.is-side-top{top:8px}.gallery-item.is-side-bottom{top:calc(8px + var(--side-height) + 7px)}.gallery-item.is-before{width:var(--main-width);opacity:0;pointer-events:none;height:334px;top:8px;left:-72%;transform:scale(.92)}.gallery-item.is-after{left:calc(100% + 9px);top:calc(8px + var(--side-height) + 7px);width:var(--side-width);height:var(--side-height);opacity:0;pointer-events:none;transform:scale(.88)}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .7s,filter .7s;display:block}.gallery-controls{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.gallery-controls button{background:#eee9de;border:1px solid #323d361f;border-radius:50%;width:44px;height:44px}.gallery-controls span{color:#6d726b;font-size:13px}.film-strip{margin-top:14px;overflow:hidden}.film-track{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.film-track button{aspect-ratio:1;opacity:.45;border:0;border-radius:12px;padding:0;overflow:hidden}.film-track button.is-active{opacity:1}.video-section,.location-section,.family-section{color:#222a25;background:#eee9de}.video-frame{aspect-ratio:16/9;background:#d8d0c1;border-radius:24px;overflow:hidden}.video-placeholder{color:#fff;text-align:center;text-shadow:0 2px 10px #00000073;background-position:50%;background-size:cover;place-items:center;gap:8px;height:100%;display:grid}.video-placeholder i{background:#0000006b;border-radius:50%;place-items:center;width:64px;height:64px;font-size:22px;font-style:normal;display:grid}.location-address{white-space:pre-line;margin-bottom:18px}.map-placeholder{background:#d8d0c1;border:1px solid #323d361f;border-radius:24px;align-items:center;gap:16px;min-height:130px;padding:18px;display:flex}.map-placeholder i{background:radial-gradient(circle at 30% 30%,#ffffffe6,#fff0 38%),linear-gradient(135deg,#d9b58c,#9b6a43);border-radius:22px;width:80px;height:80px}.map-placeholder span{color:#a28b55;letter-spacing:.2em;font:700 10px/1 Courier New,monospace;display:block}.map-placeholder strong{color:#263029;margin-top:8px;font-size:22px;display:block}.location-actions{flex-wrap:wrap;gap:10px;margin:16px 0 18px;display:flex}.location-actions button,.closing-actions button{color:#e7d39c;background:#233029;border:1px solid #e7d39c59;border-radius:999px;min-width:120px;height:44px}.location-section ul{color:#6d726b;margin:0;padding-left:18px;line-height:1.8}.family-section>div{background:#d8d0c1;border:1px solid #323d361f;border-radius:24px;gap:12px;padding:18px;display:grid}.family-section article{background:#fbf6ed;border:1px solid #323d361f;border-radius:18px;padding:16px 14px}.family-section article span{color:#a28b55;letter-spacing:.18em;font:700 10px/1 Courier New,monospace;display:block}.family-section article b{color:#222a25;margin-top:8px;font-size:18px;display:block}.closing-actions{background:#eee9de;border:1px solid #323d361f;border-radius:24px;justify-content:center;width:min(100%,520px);margin:0 auto 28px;padding:20px;display:flex;box-shadow:0 18px 50px #342c221f}footer{text-align:center;color:#222a25;background:#eee9de;border:1px solid #323d361f;border-radius:20px;width:min(100%,520px);margin:0 auto 60px;padding:20px;box-shadow:0 18px 50px #342c221f}footer span{color:#a28b55;letter-spacing:.2em;font:700 11px/1 Courier New,monospace;display:block}footer p{color:#6d726b;margin:10px 0 0;line-height:1.8}.lightbox{z-index:50;background:#0f0e0ce6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;background:#111;border-radius:20px;width:min(100%,980px);max-height:calc(100vh - 120px)}.lightbox-close,.lightbox-prev,.lightbox-next{color:#fff;background:#ffffff24;border:0;position:absolute}.lightbox-close{border-radius:50%;width:44px;height:44px;font-size:28px;top:20px;right:20px}.lightbox-prev,.lightbox-next{border-radius:50%;width:48px;height:48px;font-size:20px;top:50%;transform:translateY(-50%)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-count{color:#fff;letter-spacing:.16em;font:700 12px/1 Courier New,monospace;position:absolute;bottom:22px}.toast{z-index:60;color:#fff;background:#0f0e0ce0;border-radius:999px;padding:12px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=640px){.scratch-section,.gallery-section,.video-section,.location-section,.family-section{padding-inline:14px}.detail-intro,.ceremony-block,.scratch-card,.gallery-viewport,.video-frame,.map-placeholder,.family-section>div,.closing-actions,footer{border-radius:18px}.gallery-viewport{height:280px}.gallery-item.is-main{width:60%}.gallery-item.is-side-top,.gallery-item.is-side-bottom{width:38%}.scratch-copy{max-width:78%}.map-placeholder{flex-direction:column;align-items:flex-start}.lightbox-prev{left:12px}.lightbox-next{right:12px}}
