:root{--bg-outer:#f2eee5;--bg:#faf8f2;--surface:#fff;--text:#2e2a26;--muted:#6f6860;--accent:#9a8068;--accent-text:#7a6250;--accent-strong:#84694f;--line:#e8e1d7;--sun:#a9564b;--sat:#4f6788;--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", "Noto Sans KR", system-ui, sans-serif;--radius:12px;--shadow:0 1px 2px #2e2a260a, 0 4px 16px #2e2a260a;--gutter:clamp(20px, 6vw, 48px);--page-width:720px;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:var(--bg-outer);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html.is-locked{overflow:hidden}body{max-width:var(--page-width);background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom);margin:0 auto;font-size:17px;line-height:1.75;overflow-x:hidden}@media (width>=760px){body{box-shadow:0 0 0 1px var(--line), 0 0 40px #2e2a260d}}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--text);color:#fff;border-radius:8px;padding:10px 16px;text-decoration:none;transition:top .2s;position:absolute;top:-60px;left:12px}.skip-link:focus{top:calc(12px + env(safe-area-inset-top))}.music-btn{z-index:40;top:calc(28px + env(safe-area-inset-top));right:max(28px, calc((100vw - var(--page-width)) / 2 + 28px));border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:44px;height:44px;color:var(--accent-text);cursor:pointer;box-shadow:var(--shadow);-webkit-tap-highlight-color:transparent;transition:opacity .25s, transform .25s var(--ease), visibility .25s;background:#ffffffdb;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.music.is-hidden .music-btn{opacity:0;visibility:hidden;transform:translateY(-12px)}.music-btn svg{width:20px;height:20px}.music-btn .icon-on,.music-btn[aria-pressed=true] .icon-off{display:none}.music-btn[aria-pressed=true] .icon-on{animation:2.4s ease-in-out infinite sway;display:block}.music-btn[aria-pressed=true]{border-color:var(--accent)}@keyframes sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.hero{min-height:100svh;max-height:960px;padding:calc(48px + env(safe-area-inset-top)) var(--gutter) 72px;text-align:center;isolation:isolate;place-items:center;display:grid;position:relative}.hero:before,.hero:after{content:"";pointer-events:none;z-index:-1;border:1px solid var(--line);position:absolute}.hero:before{inset:max(16px, env(safe-area-inset-top)) 16px 16px}.hero:after{inset:calc(max(16px, env(safe-area-inset-top)) + 5px) 21px 21px;border-color:#9a806838}.hero.has-photo{grid-template-rows:auto auto;min-height:0;max-height:none;padding-top:0}.hero.has-photo:before,.hero.has-photo:after{display:none}.hero-photo{width:calc(100% + 2 * var(--gutter));margin:0 calc(-1 * var(--gutter)) 40px;aspect-ratio:4/5;object-fit:cover}.hero-label{letter-spacing:.28em;color:var(--accent-text);margin-bottom:28px;padding-left:.28em;font-size:13px}.hero-names{font-family:var(--font-sans);letter-spacing:.06em;justify-content:center;align-items:center;gap:.45em;font-size:clamp(31px,9.2vw,42px);font-weight:500;line-height:1.4;display:flex}.hero-dot{color:var(--accent);font-weight:400}.sprig{width:112px;height:34px;color:var(--accent);stroke-width:1px;margin:22px auto}.hero-headline{font-family:var(--font-sans);letter-spacing:.12em;color:var(--text);margin-bottom:36px;font-size:20px}.hero-date{font-size:19px;font-weight:500}.hero-date-en{letter-spacing:.14em;color:var(--muted);margin-top:4px;font-size:14px}.hero-scroll{place-items:center;width:44px;height:44px;margin-left:-22px;display:grid;position:absolute;bottom:36px;left:50%}.hero-scroll span[aria-hidden]{background:linear-gradient(var(--accent), transparent);width:1px;height:28px;animation:drip 2.4s var(--ease) infinite;transform-origin:top}.hero.has-photo .hero-scroll{display:none}@keyframes drip{0%{opacity:1;transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.page{display:block}.section{padding:72px var(--gutter);text-align:center;scroll-margin-top:16px}.section+.section{border-top:1px solid var(--line)}.eyebrow{letter-spacing:.26em;color:var(--accent-text);margin-bottom:6px;padding-left:.26em;font-size:13px}.section-title{font-family:var(--font-sans);letter-spacing:.04em;margin-bottom:32px;font-size:24px;font-weight:500}.muted{color:var(--muted)}.center{text-align:center}.greeting{color:var(--text);font-size:17px;line-height:2}.families{justify-content:center;gap:14px;display:grid}.family{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;font-size:17px;display:flex}.family-parent{color:var(--muted);white-space:nowrap}.family-rel{color:var(--muted)}.family-name{font-family:var(--font-sans);letter-spacing:.04em;font-size:21px;font-weight:500}.when-main{margin-bottom:28px;font-size:20px;font-weight:500;line-height:1.7}.calendar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:360px;box-shadow:var(--shadow);margin:0 auto 32px;padding:20px 14px 14px}.calendar table{border-collapse:collapse;table-layout:fixed;width:100%}.calendar caption{font-family:var(--font-sans);border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:12px;font-size:18px;font-weight:500}.calendar th{color:var(--muted);padding:12px 0 6px;font-size:14px;font-weight:500}.calendar abbr{text-decoration:none}.calendar td{text-align:center;font-variant-numeric:tabular-nums;height:46px;font-size:16px}.calendar .sun{color:var(--sun)}.calendar .sat{color:var(--sat)}.calendar .day{border-radius:50%;place-items:center;width:38px;height:38px;display:inline-grid}.calendar .is-wedding .day{background:var(--accent-strong);color:#fff;font-weight:700;box-shadow:0 0 0 4px #9a806829}.btn-group-label{color:var(--muted);margin-bottom:10px;font-size:15px}.btn-row{flex-wrap:wrap;justify-content:center;gap:8px;max-width:440px;margin:0 auto;display:flex}.btn{border:1px solid var(--line);background:var(--surface);min-width:max-content;min-height:48px;color:var(--text);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:16px;font-weight:500;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}.btn:hover{border-color:var(--accent);background:#fdfbf7}.btn:active{background:#f6f1e9}.btn-primary{background:var(--text);border-color:var(--text);color:#fff}.btn-primary:hover{background:#45403a;border-color:#45403a}.btn-kakao{color:#000000d9;background:#fee500;border-color:#fee500}.btn-kakao svg{fill:currentColor;stroke:none}.btn-kakao:hover{background:#f5dc00;border-color:#f5dc00}.btn-sm{flex:none;min-height:44px;padding:0 12px;font-size:15px}.venue{margin-bottom:24px}.venue-name{font-family:var(--font-sans);margin-bottom:4px;font-size:21px;font-weight:500}.venue-address{color:var(--text)}.venue-note{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:999px;margin-top:10px;padding:2px 12px;font-size:15px;display:inline-block}.info-list{text-align:left;max-width:480px;margin:0 auto}.info-row{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;gap:12px;padding:16px 0;display:grid}.info-row:first-child{border-top:1px solid var(--line)}.info-row dt{color:var(--accent-text);font-weight:600}.info-row dd{margin:0}.info-text{max-width:480px;margin:0 auto}.parking-note{margin-top:20px}.gallery{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.gallery{gap:8px}}.thumb{aspect-ratio:1;cursor:zoom-in;background:#efe9df;border:0;border-radius:6px;width:100%;padding:0;display:block;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease)}.thumb:hover img{transform:scale(1.03)}.lightbox{color:#fff;overscroll-behavior:contain;background:#12100ef0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0}.lightbox::backdrop{background:#12100e99}.lightbox-inner{width:100%;height:100%;padding:calc(64px + env(safe-area-inset-top)) 12px calc(64px + env(safe-area-inset-bottom));place-items:center;display:grid;position:relative}.lightbox-img{max-width:100%;max-height:calc(100vh - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;-webkit-user-select:none;user-select:none}.lightbox-count{top:calc(20px + env(safe-area-inset-top));text-align:center;letter-spacing:.08em;color:#ffffffd9;font-size:15px;position:absolute;left:0;right:0}.lightbox-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute}.lightbox-btn:hover{background:#ffffff38}.lightbox-btn svg{width:22px;height:22px}.lightbox-btn:focus-visible{outline-color:#fff}.lightbox-close{top:calc(10px + env(safe-area-inset-top));right:10px}.lightbox-prev,.lightbox-next{margin-top:-24px;top:50%}.lightbox-prev{left:10px}.lightbox-next{right:10px}.contact-groups{gap:28px;max-width:440px;margin:0 auto;display:grid}@media (width>=600px){.contact-groups{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:24px;max-width:600px}}.contact-side{color:var(--accent-text);margin-bottom:8px;font-size:15px;font-weight:600}.contact-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.contact{justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 18px;display:flex}.contact+.contact{border-top:1px solid var(--line)}.contact-role{color:var(--muted);margin-right:4px;font-size:15px}.contact-actions{gap:6px;display:flex}.icon-btn{border:1px solid var(--line);width:44px;height:44px;color:var(--accent-text);background:var(--bg);border-radius:50%;place-items:center;display:grid}.icon-btn svg{width:19px;height:19px}.icon-btn:hover{border-color:var(--accent)}.accordions{text-align:left;gap:10px;max-width:480px;margin:24px auto 0;display:grid}.accordion{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.accordion summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;font-weight:500;list-style:none;display:flex}.accordion summary::-webkit-details-marker{display:none}.chev{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:9px;height:9px;transition:transform .2s;transform:translateY(-2px)rotate(45deg)}.accordion[open] .chev{transform:translateY(2px)rotate(-135deg)}.account-list{border-top:1px solid var(--line);margin:0;padding:0 18px;list-style:none}.account{justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.account+.account{border-top:1px dashed var(--line)}.account-info{flex-wrap:wrap;column-gap:6px;min-width:0;display:flex}.account-bank{color:var(--muted)}.account-number{font-variant-numeric:tabular-nums;word-break:break-all}.account-holder{color:var(--muted);flex-basis:100%;font-size:15px}.footer{padding:56px var(--gutter) calc(120px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid var(--line)}.footer .sprig{margin-top:0}.footer-thanks{color:var(--muted)}.footer-credit{color:var(--muted);margin-top:28px;font-size:13px;line-height:1.6}.footer-sign{font-family:var(--font-sans);letter-spacing:.04em;margin-top:14px;font-size:19px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:50;color:#fff;text-align:center;opacity:0;width:max-content;max-width:calc(100vw - 32px);transition:opacity .2s, transform .2s var(--ease);pointer-events:none;background:#2e2a26f0;border-radius:10px;padding:12px 18px;font-size:16px;line-height:1.5;position:fixed;transform:translate(-50%,8px)}.toast:empty{padding:0}.toast.is-visible{opacity:1;transform:translate(-50%)}.reveal-ready .reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(14px)}.reveal-ready .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal-ready .reveal{opacity:1;transform:none}}@media print{html,body{box-shadow:none;background:#fff}.hero-scroll,.music,.btn-row,.btn-group,#share,.toast,.skip-link{display:none!important}.reveal-ready .reveal{opacity:1;transform:none}}
