:root{color:#111;background:#ededed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}html{background:#ededed;min-width:320px}body{background:#ededed;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.serif,.cover-names strong,.cover-center h1,.section-script,.date-card strong,.scene-list h2,.friends-cover-copy h1,.generated-pass strong,.after-unlock-section h2{letter-spacing:0;font-family:Georgia,Times New Roman,Noto Serif KR,serif;font-weight:400}.home-shell{background:#f7f7f7;width:min(100%,390px);min-height:100vh;margin:0 auto;padding:74px 24px 32px}.eyebrow{color:#777;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.home-shell h1{letter-spacing:0;margin:18px 0;font-family:Georgia,Times New Roman,Noto Serif KR,serif;font-size:43px;font-weight:400;line-height:1.04}.home-copy{color:#555;word-break:keep-all;margin:0 0 38px;font-size:15px;line-height:1.85}.version-grid{gap:12px;display:grid}.version-card{background:#fff;border:1px solid #dedede;align-content:end;gap:11px;min-height:174px;padding:23px;display:grid}.version-card span{color:#888;font-size:12px;font-weight:600}.version-card strong{letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:400;line-height:1}.version-card small{color:#777;font-size:13px;line-height:1.55}.friends-link{color:#f6f6f6;background:#1c1c1c;border-color:#1c1c1c}.friends-link span,.friends-link small{color:#bdbdbd}.mcard{background:#fff;width:min(100%,390px);min-height:100vh;margin:0 auto;overflow:hidden}.sound-bar{z-index:20;color:#fff;background:#444;justify-content:center;align-items:center;gap:56px;height:38px;font-size:12px;font-weight:600;display:flex;position:sticky;top:0}.sound-bar.dark-bar{color:#e8e8e8;background:#171717}.cover{text-align:center;background:#fff;min-height:calc(100svh - 38px);display:grid;position:relative;overflow:hidden}.classic-cover{grid-template-rows:auto 1fr auto;padding:42px 0 34px}.cover-names{z-index:3;justify-items:center;gap:8px;display:grid;position:relative}.cover-names strong{color:#111;font-size:34px;line-height:.96}.cover-names span{color:#333;font-family:Georgia,Times New Roman,serif;font-size:27px;font-style:italic}.papillon-shape{clip-path:polygon(0 0,37% 0,50% 20%,63% 0,100% 0,100% 100%,0 100%);background:#e5e5e5;width:480px;height:252px;position:absolute;top:172px;left:50%;transform:translate(-50%)}.cover-center{z-index:2;align-content:center;justify-items:center;min-height:420px;padding-top:138px;display:grid;position:relative}.monogram{color:#111;margin-bottom:76px;font-family:Georgia,Times New Roman,serif;font-size:46px;line-height:1}.emboss-text{color:#f2f2f2;text-shadow:0 1px #fff,0 -1px #0000000f;margin:0;font-family:Georgia,Times New Roman,serif;font-size:62px;line-height:.94;position:absolute;top:270px}.cover-center h1{color:#161616;margin:126px 0 0;font-size:46px;font-style:italic;line-height:.98;position:relative}.cover-bottom{z-index:2;gap:7px;display:grid;position:relative}.cover-bottom p{color:#555;letter-spacing:.08em;margin:0;font-size:13px;font-weight:600}.photo-hero{background:#f7f7f7;height:520px;overflow:hidden}.photo-hero img{object-fit:cover;filter:grayscale(.08)saturate(.86)contrast(.96);width:100%;height:100%}.gallery-ribbon{background:#fff;gap:6px;padding:76px 15px;display:flex;overflow:hidden}.gallery-thumb{background:#ddd;border-radius:6px;flex:0 0 52px;height:52px;overflow:hidden}.gallery-thumb.main,.gallery-thumb.paper,.gallery-thumb.ring{background-image:url(/assets/classic-card-hero.png);background-size:150px}.gallery-thumb.main{background-position:50% 20%}.gallery-thumb.paper{background-position:48% 52%}.gallery-thumb.ring{background-position:58% 86%}.gallery-thumb.light,.gallery-thumb.portrait,.gallery-thumb.garden{background:linear-gradient(135deg,#ffffff8c,#d2d2d273),#cfd3cf}.gallery-thumb.portrait{background:linear-gradient(160deg,#ffffffe6,#aab2ab73),#d9d9d9}.gallery-thumb.garden{background:linear-gradient(135deg,#16442ab8,#f2f2f266),#dfe4dd}.white-section,.gray-section,.dark-section,.after-unlock-section{text-align:center;padding:80px 30px}.white-section{background:#fff}.gray-section{background:#f5f5f5}.dark-section{color:#f7f7f7;background:#171717}.section-script{color:#111;margin:0 0 34px;font-size:25px;line-height:1}.dark-section .section-script,.after-unlock-section .section-script{color:#f7f7f7}.invitation-copy{color:#111;word-break:keep-all;max-width:320px;margin:0 auto;font-size:16px;line-height:2}.small-note{color:#777;word-break:keep-all;max-width:310px;margin:26px auto 0;font-size:14px;line-height:1.9}.family-lines{color:#111;gap:8px;margin:38px auto 36px;font-size:17px;line-height:1.8;display:grid}.family-lines p{margin:0}.family-lines span{min-width:112px;font-weight:400;display:inline-block}.family-lines strong{font-weight:700}.soft-button,.contact-actions a,.map-buttons a,.copy-button,.mcard-footer button{color:#000;background:#e7e7e7;border:0;border-radius:0;justify-content:center;align-items:center;width:60%;min-height:54px;margin:0 auto;font-size:14px;font-weight:700;display:flex}.dark-button{color:#fff;background:#161616;width:100%}.calendar-section{justify-items:center;display:grid}.date-card{background:#fff;border:1px solid #e2e2e2;width:196px;padding:26px 18px 24px}.date-card span,.date-card small{color:#777;letter-spacing:.14em;font-size:12px;font-weight:700;display:block}.date-card strong{margin:8px 0 9px;font-size:58px;line-height:1;display:block}.date-caption{margin:24px 0 28px;font-size:15px;font-weight:600}.contact-section h2,.location-section h2,.rsvp-section h2,.picks-section h2{color:#111;margin:-10px 0 24px;font-size:18px;font-weight:700;line-height:1.6}.contact-actions{gap:10px;margin-bottom:26px;display:grid}.contact-actions a{width:72%}.account-box{color:#666;background:#f7f7f7;width:100%;padding:22px 20px;font-size:14px;line-height:1.8}.account-box p{margin:0}.address{color:#111;margin:0 0 10px;font-size:16px;line-height:1.8}.copy-button{color:#9ca3af;background:0 0;width:auto;min-height:28px;margin-bottom:34px;font-size:13px;font-weight:600}.map-canvas{background-color:#f0f0f0;background-image:linear-gradient(90deg,#0000 49%,#0000000d 50%,#0000 51%),linear-gradient(#0000 49%,#0000000d 50%,#0000 51%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:70px 70px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;height:300px;margin:0 -30px 40px;display:grid}.map-canvas span{color:#aaa;letter-spacing:.22em;font-size:12px;font-weight:800}.map-buttons{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:30px;display:grid}.map-buttons a{width:100%;min-height:44px;font-size:13px}.transport-list{color:#666;gap:8px;margin:0;padding:0;font-size:14px;line-height:1.75;list-style:none;display:grid}.mcard-footer{text-align:center;background:#f5f5f5;gap:16px;padding:70px 30px 44px;display:grid}.mcard-footer button{color:#333;background:0 0;width:72%;min-height:32px}.mcard-footer p{color:#b8b8b8;margin:32px 0 0;font-family:Georgia,Times New Roman,serif;font-size:18px}.friends-main{background:#fff}.friends-cover{background:#f7f7f7;align-content:start;min-height:calc(100svh - 38px);padding:36px 0 0}.friends-names strong{font-size:31px}.friends-names span{color:#777;font-size:18px}.friend-art-frame{background:#fff;border:1px solid #e4e4e4;width:78%;margin:48px auto 30px}.friend-art-frame img{width:100%;display:block}.friends-cover-copy{padding:0 30px 46px}.friends-cover-copy p{color:#777;letter-spacing:.18em;margin:0 0 14px;font-size:12px;font-weight:700}.friends-cover-copy h1{color:#111;margin:0 0 18px;font-size:45px;font-style:italic;line-height:.98}.friends-cover-copy span{color:#555;letter-spacing:.08em;font-size:13px;font-weight:700}.scene-board{padding-left:24px;padding-right:24px}.scene-list{gap:10px;display:grid}.scene-list article{text-align:left;background:#fff;padding:26px 20px 24px}.scene-list article.after-card{color:#fff;background:#1c1c1c}.scene-list span{color:#999;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.scene-list h2{margin:12px 0 16px;font-size:34px;font-style:italic}.scene-list p{color:#666;margin:0;font-size:14px}.scene-list .after-card p{color:#c8c8c8}.rsvp-section{text-align:left}.rsvp-section .section-script,.rsvp-section h2{text-align:center}.access-options{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 24px;display:grid}.access-options button{color:#111;background:#f7f7f7;border:1px solid #e2e2e2;border-radius:0;min-height:50px;font-size:13px;font-weight:700}.access-options button.is-selected{color:#fff;background:#111;border-color:#111}.rsvp-form{gap:14px;display:grid}.rsvp-form label{color:#111;gap:8px;font-size:13px;font-weight:700;display:grid}.rsvp-form input,.rsvp-form textarea{color:#111;background:#fff;border:1px solid #e2e2e2;border-radius:0;width:100%;padding:15px 14px}.pass-section{text-align:center}.generated-pass{border:1px solid #ffffff29;gap:10px;padding:28px 22px;display:grid}.generated-pass span,.generated-pass small{color:#aaa;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700}.generated-pass strong{color:#fff;font-size:38px;line-height:1}.after-unlock-section{color:#fff;background:#202020}.after-unlock-section h2{margin:-10px 0 20px;font-size:44px;font-style:italic;line-height:1}.after-unlock-section p:not(.section-script){color:#cfcfcf;max-width:310px;margin:0 auto;font-size:14px;line-height:1.85}.after-details{text-align:left;background:linear-gradient(135deg,#ffffff1f,#0000 45%),#111;border:1px solid #ffffff24;align-content:end;gap:8px;min-height:184px;margin-top:34px;padding:24px;transition:all .18s;display:grid}.after-unlock-section.locked .after-details{opacity:.58;filter:blur(1.4px)}.after-unlock-section.is-unlocked .after-details{opacity:1;filter:none}.after-details span,.after-details small{color:#aaa;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.after-details strong{font-family:Georgia,Times New Roman,serif;font-size:35px;font-style:italic;font-weight:400}.picks-section ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.picks-section li{color:#444;text-align:left;background:#f6f6f6;padding:15px 16px;font-size:14px;line-height:1.6}.dark-footer{background:#171717}.dark-footer button{color:#eee}.dark-footer p{color:#777}@media (min-width:720px){.mcard,.home-shell{box-shadow:0 28px 80px #00000024}}
